vlad 6f123ff03e 18.07 | 6 年之前 | |
---|---|---|
.. | ||
helpers | 6 年之前 | |
test | 6 年之前 | |
.eslintrc | 6 年之前 | |
.jscs.json | 6 年之前 | |
.npmignore | 6 年之前 | |
.travis.yml | 6 年之前 | |
CHANGELOG.md | 6 年之前 | |
LICENSE | 6 年之前 | |
Makefile | 6 年之前 | |
README.md | 6 年之前 | |
es5.js | 6 年之前 | |
es6.js | 6 年之前 | |
index.js | 6 年之前 | |
package.json | 6 年之前 |
ECMAScript “ToPrimitive” algorithm. Provides ES5 and ES6 versions.
When different versions of the spec conflict, the default export will be the latest version of the abstract operation.
Alternative versions will also be available under an es5
/es6
/es7
exported property if you require a specific version.
var toPrimitive = require('es-to-primitive');
var assert = require('assert');
assert(toPrimitive(function () {}) === String(function () {}));
var date = new Date();
assert(toPrimitive(date) === String(date));
assert(toPrimitive({ valueOf: function () { return 3; } }) === 3);
assert(toPrimitive(['a', 'b', 3]) === String(['a', 'b', 3]));
var sym = Symbol();
assert(toPrimitive(Object(sym)) === sym);
Simply clone the repo, npm install
, and run npm test