A number utility package based on the Ruby Integer class.
Differences with number
- Doesn't modify the prototype chain!
- Modernized version, provides both es6 and umd
- Not extendible
- Some variation on the original Ruby names
- Handle upTo/downTo edge cases instead of looping infinitely
Install it via npm:
npm install number-plus
import n from 'number-plus'
n(5).times((i) => console.log(i)) // sequentially logs: 1, 2, 3, 4, 5
// Create a range
const tenToSix = n(10).downTo(6);
// Use the range
tenToSix((i) => console.log(i)) // sequentially logs: 10, 9, 8, 7, 6
// Or use it all in one line
n(6).upTo(10)((i) => console.log(i)) // sequentially logs: 6, 7, 8, 9, 10
Returns true if the number is even
Returns true if the number is odd
Returns the next number. Note: this does increment the internal number representation. For example:
const number = n(40);
number.next(); // 41
number.next(); // 42
Returns the previous number. Note: this does decrement the internal number representation. For example:
const number = n(40);
number.prev(); // 39
number.prev(); // 38
Returns the absolute value of the number. A shortcut for Math.abs
.
Type: function
- passed the current internal number to the function
Runs the given function a number of times equal to the internal representation of the number.
Type: number
Returns a range function, when executed will run the difference in the range number of times.
Note: Passes the current internal number to the function.
Note 2: Will throw if the range is invalid (e.g. n(1).downTo(100)
)
Type: number
Returns a range function, when executed will run the difference in the range number of times.
Note: Passes the current internal number to the function.
Note 2: Will throw if the range is invalid (e.g. n(10).upTo(1)
)