{"version":3,"file":"safeJSONParse.cjs","sources":["../src/safeJSONParse.ts"],"sourcesContent":["/**\n * Safe JSON parse\n * If the param string is valid JSON, safeJSONParse returns the parsed JSON and null for the error value\n *\n * If the param string is *not* valid JSON, safeJSONParse returns the original string and an error message to let the consumer know it is not valid JSON\n */\ntype SafeJSONParseReturn = [Record<any, any> | any[] | string, Error | null]\n\nexport function safeJSONParse(str: string): SafeJSONParseReturn {\n\ttry {\n\t\tif (str.constructor === Number) {\n\t\t\treturn [\n\t\t\t\tstr,\n\t\t\t\t{\n\t\t\t\t\tname: \"#89754824\",\n\t\t\t\t\tmessage: 'Input type \"number\" is not valid JSON',\n\t\t\t\t},\n\t\t\t]\n\t\t}\n\t\treturn [JSON.parse(str), null]\n\t} catch (err) {\n\t\treturn [\n\t\t\tstr,\n\t\t\t{\n\t\t\t\tname: \"#48975824\",\n\t\t\t\tmessage: `String passed was not valid JSON and may result in unexpected behavior\\n${err}`,\n\t\t\t},\n\t\t]\n\t}\n}\n"],"names":[],"mappings":";;;;AAQM,SAAU,aAAa,CAAC,GAAW,EAAA;IACxC,IAAI;AACH,QAAA,IAAI,GAAG,CAAC,WAAW,KAAK,MAAM,EAAE;YAC/B,OAAO;gBACN,GAAG;AACH,gBAAA;AACC,oBAAA,IAAI,EAAE,WAAW;AACjB,oBAAA,OAAO,EAAE,uCAAuC;AAChD,iBAAA;aACD,CAAA;AACD,SAAA;QACD,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAA;AAC9B,KAAA;AAAC,IAAA,OAAO,GAAG,EAAE;QACb,OAAO;YACN,GAAG;AACH,YAAA;AACC,gBAAA,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,CAA2E,wEAAA,EAAA,GAAG,CAAE,CAAA;AACzF,aAAA;SACD,CAAA;AACD,KAAA;AACF;;;;"}