UNPKG

sys-prettier-json

Version:
1 lines 1.69 kB
{"mappings":"AAAA,yBAAyB;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AASF,OAAO,MAAM,mBACH,MAAM,YACH,iBAAiB,WAwB7B,CAAC","sources":["src/src/index.ts","src/index.ts"],"sourcesContent":[null,"type ColorOptionsProps = {\n jsonNumber?: string;\n jsonBoolean?: string;\n jsonNull?: string;\n jsonKey?: string;\n jsonValue?: string;\n};\nconst colorOptions: ColorOptionsProps = {\n jsonNumber: \"#0CBB52\",\n jsonKey: \"#EB2013\",\n jsonValue: \"#097BED\",\n jsonBoolean: \"blue\",\n jsonNull: \"magenta\",\n};\n\nexport const prettyJson = (\n json: string,\n options: ColorOptionsProps = colorOptions\n) => {\n json = json\n .replace(/&/g, \"&amp;\")\n .replace(/</g, \"&lt;\")\n .replace(/>/g, \"&gt;\");\n return json.replace(\n /(\"(\\\\u[a-zA-Z0-9]{4}|\\\\[^u]|[^\\\\\"])*\"(\\s*:)?|\\b(true|false|null)\\b|-?\\d+(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)/g,\n function (match: string) {\n let color = options.jsonNumber;\n if (/^\"/.test(match)) {\n if (/:$/.test(match)) {\n color = options.jsonKey;\n } else {\n color = options.jsonValue;\n }\n } else if (/true|false/.test(match)) {\n color = options.jsonBoolean;\n } else if (/null/.test(match)) {\n color = options.jsonNull;\n }\n return `<span style=\"color: ${color}\">${match}</span>`;\n }\n );\n};\n"],"names":[],"version":3,"file":"types.d.ts.map"}