feat: use go tool
This commit is contained in:
+22
@@ -0,0 +1,22 @@
|
||||
// @ts-check
|
||||
|
||||
import { parse, printParseErrorCode } from "jsonc-parser";
|
||||
|
||||
/**
|
||||
* Parses a JSONC string, returning the corresponding object.
|
||||
* @type {import("markdownlint").ConfigurationParser}
|
||||
*/
|
||||
const jsoncParse = (text) => {
|
||||
/** @type {import("jsonc-parser").ParseError[]} */
|
||||
const errors = [];
|
||||
const result = parse(text, errors, { "allowTrailingComma": true });
|
||||
if (errors.length > 0) {
|
||||
const aggregate = errors.map(
|
||||
(error) => `${printParseErrorCode(error.error)} (offset ${error.offset}, length ${error.length})`
|
||||
).join(", ");
|
||||
throw new Error(`Unable to parse JSONC content, ${aggregate}`);
|
||||
}
|
||||
return result;
|
||||
};
|
||||
|
||||
export default jsoncParse;
|
||||
Reference in New Issue
Block a user