expand-string

Range based string expansion

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
expand-string
001.1.18 years ago8 years agoMinified + gzip package size for expand-string in KB

Readme

expand-string
!npm Versionnpm-imagenpm-url !npm Downloadsdownloads-imagedownloads-url !Test Statustravis-imagetravis-url !Test Coveragecoveralls-imagecoveralls-url !MIT Licensedlicense-imagelicense-url
Range based string expansion.
const expandString = require('expand-string');

let expanded = expandString('a-f9-0_-');
// => 'abcdef9876543210_-'

const generateRange = expandString.generateRange;

let range = generateRange('s', 'z');
// => 'stuvwxyz'

Installation

npm install expand-string

Features

  • Expand arbitrary character ranges.
  • Specify ranges using any ellipsis (default is '-').
  • Full Unicode support.

API

const expandString = require('expand-string');
const generateRange = expandString.generateRange;

expandString(str, options)

Expands all ranges found in a string.

str

string (default = '')
The string to expand. If str is undefined or null an empty result is returned ('' or [], depending on options.returnArray).

options

object, string (default = {})
expandString accepts these properties in the options object:
Note: If options is a string it's treated as ellipsis.
ellipsis
string (default = '-')
The ellipsis used to indicated a range.
expandString('ac-f9-5_-');
// => 'acdef98765_-'

expandString('z..u', {ellipsis: '..'});
// => 'zyxwvu'

expandString('z..u', '..'); // shortcut
// => 'zyxwvu'
returnArray
boolean (default = false)
If false the return value is a string. If true the return value is an Array with one Unicode character per element.
expandString('a-f');
// => 'abcdef'

expandString('a-f', {returnArray: true});
// => ['a', 'b', 'c', 'd', 'e', 'f']

generateRange(begin, end, options)

Generates a range from begin to end.

begin

string (single character)
The begin of the range (inclusive).

end

string (single character)
The end of the range (inclusive).

options

object (default = {})
generateRange accepts these properties in the options object:
returnArray
boolean (default = false)
If false the return value is a string. If true the return value is an Array with one Unicode character per element.
generateRange('a', 'f');
// => 'abcdef'

generateRange('a', 'f', {returnArray: true});
// => ['a', 'b', 'c', 'd', 'e', 'f']

Tests

To run the test suite, install dependencies, then run npm test:
npm install
npm test

Coverage reports are generated by running npm run coverage.
Linting is done with npm run lint.