A few seconds.


ECMAScript “ToPrimitive” algorithm. Provides ES5 and ES6 versions.

es-to-primitive Version Badge

Build Status dependency status dev dependency status License Downloads

npm badge

browser support

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

Pincer is a project which aims to provide best library discovery tools for developers. We're growing day by day. We have only npm platform for now but we will add the others as much as we can.