toPrimitive.js 453 B

1234567891011
  1. import _typeof from "./typeof.js";
  2. export default function _toPrimitive(input, hint) {
  3. if (_typeof(input) !== "object" || input === null) return input;
  4. var prim = input[Symbol.toPrimitive];
  5. if (prim !== undefined) {
  6. var res = prim.call(input, hint || "default");
  7. if (_typeof(res) !== "object") return res;
  8. throw new TypeError("@@toPrimitive must return a primitive value.");
  9. }
  10. return (hint === "string" ? String : Number)(input);
  11. }