diff options
Diffstat (limited to 'assets/node_modules/parse-json/index.js')
-rw-r--r-- | assets/node_modules/parse-json/index.js | 50 |
1 files changed, 0 insertions, 50 deletions
diff --git a/assets/node_modules/parse-json/index.js b/assets/node_modules/parse-json/index.js deleted file mode 100644 index 4d96c59..0000000 --- a/assets/node_modules/parse-json/index.js +++ /dev/null @@ -1,50 +0,0 @@ -'use strict'; -const errorEx = require('error-ex'); -const fallback = require('json-parse-better-errors'); -const {default: LinesAndColumns} = require('lines-and-columns'); -const {codeFrameColumns} = require('@babel/code-frame'); - -const JSONError = errorEx('JSONError', { - fileName: errorEx.append('in %s'), - codeFrame: errorEx.append('\n\n%s\n') -}); - -module.exports = (string, reviver, filename) => { - if (typeof reviver === 'string') { - filename = reviver; - reviver = null; - } - - try { - try { - return JSON.parse(string, reviver); - } catch (error) { - fallback(string, reviver); - throw error; - } - } catch (error) { - error.message = error.message.replace(/\n/g, ''); - const indexMatch = error.message.match(/in JSON at position (\d+) while parsing near/); - - const jsonError = new JSONError(error); - if (filename) { - jsonError.fileName = filename; - } - - if (indexMatch && indexMatch.length > 0) { - const lines = new LinesAndColumns(string); - const index = Number(indexMatch[1]); - const location = lines.locationForIndex(index); - - const codeFrame = codeFrameColumns( - string, - {start: {line: location.line + 1, column: location.column + 1}}, - {highlightCode: true} - ); - - jsonError.codeFrame = codeFrame; - } - - throw jsonError; - } -}; |