Files
book-test/node_modules/concurrently/dist/lib/jsonc.js
T
chris a7524412f0
CI/CD Pipeline / test (push) Failing after 2m38s
CI/CD Pipeline / deploy-internal (push) Has been skipped
Add web front-end and fix API issues
2026-08-28 21:47:05 -04:00

25 lines
744 B
JavaScript

/*
ORIGINAL https://www.npmjs.com/package/tiny-jsonc
BY Fabio Spampinato
MIT license
Copied due to the dependency not being compatible with CommonJS
*/
const stringOrCommentRe = /("(?:\\?[\s\S])*?")|(\/\/.*)|(\/\*[\s\S]*?\*\/)/g;
const stringOrTrailingCommaRe = /("(?:\\?[\s\S])*?")|(,\s*)(?=\]|\})/g;
const JSONC = {
parse: (text) => {
text = String(text); // To be extra safe
try {
// Fast path for valid JSON
return JSON.parse(text);
}
catch {
// Slow path for JSONC and invalid inputs
return JSON.parse(text.replace(stringOrCommentRe, '$1').replace(stringOrTrailingCommaRe, '$1'));
}
},
stringify: JSON.stringify,
};
export default JSONC;