https://github.com/youfoundron/range-life
A range utility that no one asked for.
https://github.com/youfoundron/range-life
Last synced: over 1 year ago
JSON representation
A range utility that no one asked for.
- Host: GitHub
- URL: https://github.com/youfoundron/range-life
- Owner: youfoundron
- License: gpl-3.0
- Created: 2017-04-14T18:54:32.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2017-04-18T00:59:57.000Z (over 9 years ago)
- Last Synced: 2025-03-16T15:45:36.574Z (over 1 year ago)
- Language: JavaScript
- Homepage:
- Size: 104 KB
- Stars: 1
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Range Life
A range utility that no one asked for.
Supports stepped ranges of integers, decimals, letters, and even a supplied array of values.
> "If I had a range life, then I could settle down." - Stephen Malkmus
[](https://travis-ci.org/rongierlach/range-life) [](https://david-dm.org/rongierlach/range-life) [](https://david-dm.org/rongierlach/range-life#info=devDependencies) [](https://standardjs.com) [](http://commitizen.github.io/cz-cli/)
## Installation
`$ npm install range-life`
## Usage
### Inclusion
All examples are supported by the default module.
However, you may submodule for specific methods like so.
```javascript
import rangeNum from 'range-life/standard'
import rangeAlpha from 'range-life/alpha'
import rangeValues from 'range-life/values'
```
### Examples
```javascript
import range from 'range-life'
range(0) // => []
range(4) // => [0, 1, 2, 3]
range(-4) // => [0, -1, -2, -3]
range(1, 5) // => [1, 2, 3, 4]
range(0, 20, 5) // => [0, 5, 10, 15]
range(0, -4, -1) // => [0, -1, -2, -3]
range(1, 4, 0) // => [1, 1, 1]
range(1, 4, 0.5) // => [1, 1.5, 2, 2.5, 3, 3.5]
// letters are inclusive
range('a', 'e') // => ['a', 'b', 'c', 'd', 'e']
range('A', 'E') // => ['A', 'B', 'C', 'D', 'E']
range('A', 'E', 2) // => ['A', 'C', 'E']
// values are exclusive
const values = ['Zero', 'One', 'Two', 'Three']
range(0, 3, values) // => ['Zero', 'One', 'Two']
range(0, Infinity, 2, values) // => ['Zero', 'Two']
```
## API Reference
### range-life/standard
**Parameters**
- `start` **[number](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number)**
- `end` **[number](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number)**
- `step` **[number](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number)**
**Examples**
```javascript
import range from 'range-life/standard'
range(1, 5) // => [1, 2, 3, 4]
range(0, 20, 5) // => [0, 5, 10, 15]
```
Returns **[Array](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array)<[number](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number)>**
### range-life/alpha
**Parameters**
- `start` **[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)**
- `end` **[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)**
- `step` **[number](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number)**
**Examples**
```javascript
import range from 'range-life/alpha'
range('A', 'E') // => ['A', 'B', 'C', 'D', 'E']
range('A', 'E', 2) // => ['A', 'C', 'E']
```
Returns **[Array](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array)<[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)>**
### range-life/values
**Parameters**
- `start` **[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)**
- `end` **[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)**
- `values | step` **([Array](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array)<any> | [number](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number))**
- `values` **[Array](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array)<any>**
**Examples**
```javascript
import range from 'range-life/values'
const values = ['Zero', 'One', 'Two', 'Three']
range(1, 3, values) // => ['One', 'Two']
range(1, Infinity, 2, values) // => ['Zero', 'Two']
```
Returns **[Array](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array)<any>**