UNPKG

holyfills

Version:

No more "Holy Sxxt!!" when writting ES5/ES6

26 lines (24 loc) 523 B
"use strict"; var isPrimitive = require("./isPrimitive"); var isFunction = require("./isFunction"); module.exports = function (input) { var val, valueOf, toStr; if (isPrimitive(input)) { return input; } valueOf = input.valueOf; if (isFunction(valueOf)) { val = valueOf.call(input); if (isPrimitive(val)) { return val; } } toStr = input.toString; if (isFunction(toStr)) { val = toStr.call(input); if (isPrimitive(val)) { return val; } } throw new TypeError(); };