UNPKG

@stryke/json

Version:

A package containing JSON parsing/stringify utilities used by Storm Software.

34 lines (32 loc) 1.01 kB
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); const require_utils_code_frames = require('./code-frames.cjs'); let jsonc_parser = require("jsonc-parser"); let lines_and_columns = require("lines-and-columns"); //#region src/utils/parse-error.ts /** * Nicely formats a JSON error with context * * @param input - JSON content as string * @param parseError - jsonc ParseError * @returns Formatted error message with context */ function formatParseError(input, parseError) { const { error, offset, length } = parseError; const result = new lines_and_columns.LinesAndColumns(input).locationForIndex(offset); let line = result?.line ?? 0; let column = result?.column ?? 0; line++; column++; return `${(0, jsonc_parser.printParseErrorCode)(error)} in JSON at ${line}:${column}\n${require_utils_code_frames.codeFrameColumns(input, { start: { line, column }, end: { line, column: column + length } })}\n`; } //#endregion exports.formatParseError = formatParseError;