Skip to content
ECMAScript "ToPrimitive" algorithm. Provides ES5 and ES6 versions.
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
helpers [Tests] remove `jscs` Dec 31, 2018
test
.eslintrc
.gitignore
.npmrc Only apps should have lockfiles Jun 27, 2017
.travis.yml
CHANGELOG.md
LICENSE Initial commit Mar 17, 2015
Makefile Add `make release` Mar 17, 2015
README.md
es2015.js [New] create ES2015 entry point/property, to replace ES6 Sep 21, 2018
es5.js [Fix] Ensure optional arguments are not part of the length. Dec 28, 2017
es6.js
index.js [New] create ES2015 entry point/property, to replace ES6 Sep 21, 2018
package.json

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

You can’t perform that action at this time.