expand-string
v1.1.1
Published
Range based string expansion
Downloads
673
Readme
expand-string
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
.