Bound Native Methods
This library exports a collection of bound native virtual methods - static methods of JavaScript standard built-in objects in their bound form - so that they can be used together with the proposed bind operator.
Install
$ npm install bound-native-methods
Usage
import * from 'bound-native-methods';
import {assign, keys} from 'bound-native-methods/object';
0::isInteger();
[3, 6, 9]::max()::is(9);
{'2015-06-01T15:30:00.000Z': 300}::assign({'2015-07-01T15:30:00.000Z': 42})
::keys()
.map(x => x::toUnixOffset())
::toJSON();
API
Most static methods have been exported as is, but a few have been renamed or excluded to better fit the context:
Object
Native Form |
Bound Form |
Object.getPrototypeOf() |
::getPrototype() |
Object.setPrototypeOf() |
::setPrototype() |
Symbol
Native Form |
Bound Form |
Symbol.for() |
::toSymbol() [1] |
Symbol.keyFor() |
::key() |
Number
Native Form |
Bound Form |
Number.parseFloat() |
::toFloat() [1] |
Number.parseInt() |
::toInt() [1] |
Math
Native Form |
Bound Form |
Math.pow() [2] |
× |
Math.random() |
× |
Date
Native Form |
Bound Form |
Date.UTC() |
× |
Date.now() |
× |
Date.parse() |
::toUnixOffset() [1] |
Array
Native Form |
Bound Form |
Array.from() |
× |
Array.of() |
× |
ArrayBuffer
JSON
Native Form |
Bound Form |
JSON.parse() |
::toObject() [1] |
JSON.stringify() |
::toJSON() [1] |
Notes:
- Bound methods whose names start with "to..." are to be applied to strings (with the exception of
::toJSON()
which can be applied to a variety of data types)
- Please use the exponentiation operator
**
instead
License
MIT © G. Kay Lee