Initial project import
This commit is contained in:
24
node_modules/concurrently/dist/lib/jsonc.js
generated
vendored
Normal file
24
node_modules/concurrently/dist/lib/jsonc.js
generated
vendored
Normal file
@@ -0,0 +1,24 @@
|
||||
/*
|
||||
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;
|
||||
Reference in New Issue
Block a user