// 7.1.1 ToPrimitive(input [, PreferredType])varisObject=require('./_is-object');// instead of the ES6 spec version, we didn't implement @@toPrimitive case// and the second argument - flag - preferred type is a stringmodule.exports=function(it,S){if(!isObject(it))returnit;varfn,val;if(S&&typeof(fn=it.toString)=='function'&&!isObject(val=fn.call(it)))returnval;if(typeof(fn=it.valueOf)=='function'&&!isObject(val=fn.call(it)))returnval;if(!S&&typeof(fn=it.toString)=='function'&&!isObject(val=fn.call(it)))returnval;throwTypeError("Can't convert object to primitive value");};