expand-range

Fast, bash-like range expansion. Expand a range of numbers or letters, uppercase or lowercase. See the benchmarks. Used by micromatch.
Install
Install with npm:
$ npm install expand-range --save
Wraps [fill-range] to do range expansion using .. separated strings. See [fill-range] for the full list of options and features.
Example usage
var expand = require('expand-range');
Params
expand(start, stop, increment);
start: the number or letter to start with
end: the number or letter to end with
increment: optionally pass the increment to use. works for letters or numbers
Examples
expand('a..e')
expand('a..e..2')
expand('A..E..2')
expand('1..3')
expand('0..-5')
expand('-9..9..3')
expand('-1..-10..-2')
expand('1..10..2')
Custom function
Optionally pass a custom function as the second argument:
expand('a..e', function (val, isNumber, pad, i) {
if (!isNumber) {
return String.fromCharCode(val) + i;
}
return val;
});
Benchmarks
brace-expansion x 145,653 ops/sec ±0.89% (87 runs sampled)
expand-range x 453,213 ops/sec ±1.66% (85 runs sampled)
minimatch x 152,193 ops/sec ±1.17% (86 runs sampled)
brace-expansion x 149,975 ops/sec ±1.10% (88 runs sampled)
expand-range x 459,390 ops/sec ±1.27% (84 runs sampled)
minimatch x 155,253 ops/sec ±1.25% (88 runs sampled)
brace-expansion x 14,694 ops/sec ±1.37% (85 runs sampled)
expand-range x 169,393 ops/sec ±1.76% (80 runs sampled)
minimatch x 15,052 ops/sec ±1.15% (88 runs sampled)
brace-expansion x 142,968 ops/sec ±1.35% (86 runs sampled)
expand-range x 465,579 ops/sec ±1.43% (86 runs sampled)
minimatch x 126,872 ops/sec ±1.18% (90 runs sampled)
Related projects
You might also be interested in these projects:
- braces: Fastest brace expansion for node.js, with the most complete support for the Bash 4.3 braces… more | homepage
- fill-range: Fill in a range of numbers or letters, optionally passing an increment or multiplier to… more | homepage
- micromatch: Glob matching for javascript/node.js. A drop-in replacement and faster alternative to minimatch and multimatch. | homepage
Contributing
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.
Building docs
Generate readme and API documentation with verb:
$ npm install verb && npm run docs
Or, if verb is installed globally:
$ verb
Running tests
Install dev dependencies:
$ npm install -d && npm test
Author
Jon Schlinkert
License
Copyright © 2016, Jon Schlinkert.
Released under the MIT license.
This file was generated by verb, v0.9.0, on May 05, 2016.