fill-range
Fill in a range of numbers or letters, optionally passing an increment or multiplier to use.
Install with npm
npm i fill-range --save
Run tests
npm test
Usage
var range = require('fill-range');
Params
range(start, stop, increment);
start
: the number or letter to start withend
: the number or letter to end withstep
: optionally pass the increment to use. works for letters or numbers
Examples
range(1, 3)
range('1', '3')
range('0', '-5')
range(-9, 9, 3)
range('-1', '-10', '-2')
range('1', '10', '2')
range('a', 'e')
range('a', 'e', 2)
range('A', 'E', 2)
Custom function
Optionally pass a custom function as the third or fourth argument:
range('a', 'e', function (val, isNumber, pad, i) {
if (!isNumber) {
return String.fromCharCode(val) + i;
}
return val;
});
Special characters
A special character may be passed as the third arg instead of a step increment. These characters can be pretty useful for brace expansion, creating file paths, test fixtures and similar use case.
range('a', 'z', SPECIAL_CHARACTER_HERE);
Supported characters
+
: repeat the given string n
times|
: create a regex-ready string, instead of an array>
: collapse/join values to single array element?
: randomize the given pattern using randomatic
+
Repeat the first argument the number of times passed on the second argument.
Examples:
range('a', 3, '+');
range('abc', 2, '+');
|
Creates a regex-ready string from the expanded arguments.
Examples:
range('a', 'c', '|');
range('a', 'z', '|5');
>
Collapses all values in the returned array to a single value.
Examples:
range('a', 'e', '>');
range('5', '8', '>');
range('2', '20', '2>');
?
Uses randomatic to generate randomized alpha, numeric, or alpha-numeric patterns based on the provided arguments.
Examples:
(actual results would obviously be randomized)
Generate a 5-character, uppercase, alphabetical string:
range('A', 5, '?');
Generate a 5-digit random number:
range('0', 5, '?');
Generate a 10-character alpha-numeric string:
range('A0', 10, '?');
See the randomatic repo for all available options and or to create issues or feature requests related to randomization.
Contributing
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue
Author
Jon Schlinkert
License
Copyright (c) 2014-2015 Jon Schlinkert
Released under the MIT license
This file was generated by verb on January 11, 2015.