{"version":3,"file":"print-value.mjs","sources":["../src/print-value.ts"],"sourcesContent":["// Code copied from the yup library (https://github.com/jquense/yup)\n// https://github.com/jquense/yup/blob/2778b88bdacd5260d593c6468793da2e77daf21f/src/util/printValue.ts\n\nconst { toString } = Object.prototype;\nconst errorToString = Error.prototype.toString;\nconst regExpToString = RegExp.prototype.toString;\nconst symbolToString = typeof Symbol !== 'undefined' ? Symbol.prototype.toString : () => '';\n\nconst SYMBOL_REGEXP = /^Symbol\\((.*)\\)(.*)$/;\n\nfunction printNumber(val: number) {\n  // eslint-disable-next-line eqeqeq\n  if (val != +val) return 'NaN';\n  const isNegativeZero = val === 0 && 1 / val < 0;\n  return isNegativeZero ? '-0' : `${val}`;\n}\n\nfunction printSimpleValue(val: unknown, quoteStrings = false) {\n  if (val == null || val === true || val === false) return `${val}`;\n\n  if (typeof val === 'number') return printNumber(val);\n  if (typeof val === 'string') return quoteStrings ? `\"${val}\"` : val;\n  if (typeof val === 'function') return `[Function ${val.name || 'anonymous'}]`;\n  if (typeof val === 'symbol') return symbolToString.call(val).replace(SYMBOL_REGEXP, 'Symbol($1)');\n\n  const tag = toString.call(val).slice(8, -1);\n\n  if (tag === 'Date') {\n    const v = val as Date;\n    return Number.isNaN(v.getTime()) ? `${v}` : v.toISOString();\n  }\n  if (tag === 'Error' || val instanceof Error) return `[${errorToString.call(val)}]`;\n  if (tag === 'RegExp') return regExpToString.call(val);\n\n  return null;\n}\n\nfunction printValue(value: unknown, quoteStrings: boolean) {\n  const result = printSimpleValue(value, quoteStrings);\n  if (result !== null) return result;\n\n  return JSON.stringify(\n    value,\n    function replacer(key, value) {\n      const result = printSimpleValue(this[key], quoteStrings);\n      if (result !== null) return result;\n      return value;\n    },\n    2\n  );\n}\n\nexport { printValue };\n"],"names":["toString","Object","prototype","errorToString","Error","regExpToString","RegExp","symbolToString","Symbol","SYMBOL_REGEXP","printNumber","val","isNegativeZero","printSimpleValue","quoteStrings","name","call","replace","tag","slice","v","Number","isNaN","getTime","toISOString","printValue","value","result","JSON","stringify","replacer","key"],"mappings":"AAAA;AACA;AAEA,MAAM,EAAEA,QAAQ,EAAE,GAAGC,OAAOC,SAAS;AACrC,MAAMC,aAAAA,GAAgBC,KAAAA,CAAMF,SAAS,CAACF,QAAQ;AAC9C,MAAMK,cAAAA,GAAiBC,MAAAA,CAAOJ,SAAS,CAACF,QAAQ;AAChD,MAAMO,cAAAA,GAAiB,OAAOC,MAAAA,KAAW,WAAA,GAAcA,OAAON,SAAS,CAACF,QAAQ,GAAG,IAAM,EAAA;AAEzF,MAAMS,aAAAA,GAAgB,sBAAA;AAEtB,SAASC,YAAYC,GAAW,EAAA;;IAE9B,IAAIA,GAAAA,IAAO,CAACA,GAAAA,EAAK,OAAO,KAAA;AACxB,IAAA,MAAMC,cAAAA,GAAiBD,GAAAA,KAAQ,CAAA,IAAK,CAAA,GAAIA,GAAAA,GAAM,CAAA;IAC9C,OAAOC,cAAAA,GAAiB,IAAA,GAAO,CAAA,EAAGD,GAAAA,CAAAA,CAAK;AACzC;AAEA,SAASE,gBAAAA,CAAiBF,GAAY,EAAEG,YAAAA,GAAe,KAAK,EAAA;IAC1D,IAAIH,GAAAA,IAAO,QAAQA,GAAAA,KAAQ,IAAA,IAAQA,QAAQ,KAAA,EAAO,OAAO,GAAGA,GAAAA,CAAAA,CAAK;AAEjE,IAAA,IAAI,OAAOA,GAAAA,KAAQ,QAAA,EAAU,OAAOD,WAAAA,CAAYC,GAAAA,CAAAA;IAChD,IAAI,OAAOA,GAAAA,KAAQ,QAAA,EAAU,OAAOG,YAAAA,GAAe,CAAC,CAAC,EAAEH,GAAAA,CAAI,CAAC,CAAC,GAAGA,GAAAA;AAChE,IAAA,IAAI,OAAOA,GAAAA,KAAQ,UAAA,EAAY,OAAO,CAAC,UAAU,EAAEA,GAAAA,CAAII,IAAI,IAAI,WAAA,CAAY,CAAC,CAAC;IAC7E,IAAI,OAAOJ,GAAAA,KAAQ,QAAA,EAAU,OAAOJ,cAAAA,CAAeS,IAAI,CAACL,GAAAA,CAAAA,CAAKM,OAAO,CAACR,aAAAA,EAAe,YAAA,CAAA;IAEpF,MAAMS,GAAAA,GAAMlB,SAASgB,IAAI,CAACL,KAAKQ,KAAK,CAAC,GAAG,EAAC,CAAA;AAEzC,IAAA,IAAID,QAAQ,MAAA,EAAQ;AAClB,QAAA,MAAME,CAAAA,GAAIT,GAAAA;QACV,OAAOU,MAAAA,CAAOC,KAAK,CAACF,CAAAA,CAAEG,OAAO,MAAM,CAAA,EAAGH,CAAAA,CAAAA,CAAG,GAAGA,CAAAA,CAAEI,WAAW,EAAA;AAC3D,IAAA;AACA,IAAA,IAAIN,GAAAA,KAAQ,OAAA,IAAWP,GAAAA,YAAeP,KAAAA,EAAO,OAAO,CAAC,CAAC,EAAED,aAAAA,CAAca,IAAI,CAACL,GAAAA,CAAAA,CAAK,CAAC,CAAC;AAClF,IAAA,IAAIO,GAAAA,KAAQ,QAAA,EAAU,OAAOb,cAAAA,CAAeW,IAAI,CAACL,GAAAA,CAAAA;IAEjD,OAAO,IAAA;AACT;AAEA,SAASc,UAAAA,CAAWC,KAAc,EAAEZ,YAAqB,EAAA;IACvD,MAAMa,MAAAA,GAASd,iBAAiBa,KAAAA,EAAOZ,YAAAA,CAAAA;IACvC,IAAIa,MAAAA,KAAW,MAAM,OAAOA,MAAAA;IAE5B,OAAOC,IAAAA,CAAKC,SAAS,CACnBH,KAAAA,EACA,SAASI,QAAAA,CAASC,GAAG,EAAEL,KAAK,EAAA;AAC1B,QAAA,MAAMC,MAAAA,GAASd,gBAAAA,CAAiB,IAAI,CAACkB,IAAI,EAAEjB,YAAAA,CAAAA;QAC3C,IAAIa,MAAAA,KAAW,MAAM,OAAOA,MAAAA;QAC5B,OAAOD,KAAAA;IACT,CAAA,EACA,CAAA,CAAA;AAEJ;;;;"}