cmy 02a04f55a0 2023-3-15 3 年之前
..
.github 02a04f55a0 2023-3-15 3 年之前
helpers 02a04f55a0 2023-3-15 3 年之前
test 02a04f55a0 2023-3-15 3 年之前
.eslintrc 02a04f55a0 2023-3-15 3 年之前
.travis.yml 02a04f55a0 2023-3-15 3 年之前
CHANGELOG.md 02a04f55a0 2023-3-15 3 年之前
LICENSE 02a04f55a0 2023-3-15 3 年之前
Makefile 02a04f55a0 2023-3-15 3 年之前
README.md 02a04f55a0 2023-3-15 3 年之前
es2015.js 02a04f55a0 2023-3-15 3 年之前
es5.js 02a04f55a0 2023-3-15 3 年之前
es6.js 02a04f55a0 2023-3-15 3 年之前
index.js 02a04f55a0 2023-3-15 3 年之前
package.json 02a04f55a0 2023-3-15 3 年之前

README.md

es-to-primitive Version Badge

Build Status dependency status dev dependency status License Downloads

npm badge

ECMAScript “ToPrimitive” algorithm. Provides ES5 and ES2015 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/es2015 exported property if you require a specific version.

Example

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);

Tests

Simply clone the repo, npm install, and run npm test