{"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,aAAgBC,GAAAA,KAAAA,CAAMF,SAAS,CAACF,QAAQ;AAC9C,MAAMK,cAAiBC,GAAAA,MAAAA,CAAOJ,SAAS,CAACF,QAAQ;AAChD,MAAMO,cAAAA,GAAiB,OAAOC,MAAW,KAAA,WAAA,GAAcA,OAAON,SAAS,CAACF,QAAQ,GAAG,IAAM,EAAA;AAEzF,MAAMS,aAAgB,GAAA,sBAAA;AAEtB,SAASC,YAAYC,GAAW,EAAA;;IAE9B,IAAIA,GAAAA,IAAO,CAACA,GAAAA,EAAK,OAAO,KAAA;AACxB,IAAA,MAAMC,cAAiBD,GAAAA,GAAAA,KAAQ,CAAK,IAAA,CAAA,GAAIA,GAAM,GAAA,CAAA;AAC9C,IAAA,OAAOC,cAAiB,GAAA,IAAA,GAAO,CAAC,EAAED,IAAI,CAAC;AACzC;AAEA,SAASE,gBAAiBF,CAAAA,GAAY,EAAEG,YAAAA,GAAe,KAAK,EAAA;IAC1D,IAAIH,GAAAA,IAAO,IAAQA,IAAAA,GAAAA,KAAQ,IAAQA,IAAAA,GAAAA,KAAQ,OAAO,OAAO,CAAC,EAAEA,GAAAA,CAAI,CAAC;AAEjE,IAAA,IAAI,OAAOA,GAAAA,KAAQ,QAAU,EAAA,OAAOD,WAAYC,CAAAA,GAAAA,CAAAA;IAChD,IAAI,OAAOA,GAAQ,KAAA,QAAA,EAAU,OAAOG,YAAAA,GAAe,CAAC,CAAC,EAAEH,GAAAA,CAAI,CAAC,CAAC,GAAGA,GAAAA;AAChE,IAAA,IAAI,OAAOA,GAAAA,KAAQ,UAAY,EAAA,OAAO,CAAC,UAAU,EAAEA,GAAAA,CAAII,IAAI,IAAI,WAAY,CAAA,CAAC,CAAC;IAC7E,IAAI,OAAOJ,GAAQ,KAAA,QAAA,EAAU,OAAOJ,cAAAA,CAAeS,IAAI,CAACL,GAAAA,CAAAA,CAAKM,OAAO,CAACR,aAAe,EAAA,YAAA,CAAA;IAEpF,MAAMS,GAAAA,GAAMlB,SAASgB,IAAI,CAACL,KAAKQ,KAAK,CAAC,GAAG,CAAC,CAAA,CAAA;AAEzC,IAAA,IAAID,QAAQ,MAAQ,EAAA;AAClB,QAAA,MAAME,CAAIT,GAAAA,GAAAA;AACV,QAAA,OAAOU,MAAOC,CAAAA,KAAK,CAACF,CAAAA,CAAEG,OAAO,EAAA,CAAA,GAAM,CAAC,EAAEH,CAAE,CAAA,CAAC,GAAGA,CAAAA,CAAEI,WAAW,EAAA;AAC3D;AACA,IAAA,IAAIN,GAAQ,KAAA,OAAA,IAAWP,GAAeP,YAAAA,KAAAA,EAAO,OAAO,CAAC,CAAC,EAAED,aAAca,CAAAA,IAAI,CAACL,GAAAA,CAAAA,CAAK,CAAC,CAAC;AAClF,IAAA,IAAIO,GAAQ,KAAA,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,KAAOZ,EAAAA,YAAAA,CAAAA;IACvC,IAAIa,MAAAA,KAAW,MAAM,OAAOA,MAAAA;IAE5B,OAAOC,IAAAA,CAAKC,SAAS,CACnBH,KAAAA,EACA,SAASI,QAASC,CAAAA,GAAG,EAAEL,KAAK,EAAA;AAC1B,QAAA,MAAMC,MAASd,GAAAA,gBAAAA,CAAiB,IAAI,CAACkB,IAAI,EAAEjB,YAAAA,CAAAA;QAC3C,IAAIa,MAAAA,KAAW,MAAM,OAAOA,MAAAA;QAC5B,OAAOD,KAAAA;KAET,EAAA,CAAA,CAAA;AAEJ;;;;"}