diff options
| author | littleblack111 <littleblack11111@gmail.com> | 2026-05-18 23:10:59 +0800 |
|---|---|---|
| committer | littleblack111 <littleblack11111@gmail.com> | 2026-05-18 23:41:44 +0800 |
| commit | fc87c009806dcc98867f6b58efe29b042aa01dee (patch) | |
| tree | 8f59b3f4a5b66e9dfef2d40c8d318e258a521228 /node_modules/webpack/lib/json/JsonParser.js | |
| parent | 3336b2356ee6152d9c6ae59bd9b87ccbc0958407 (diff) | |
node: updatemain
Diffstat (limited to 'node_modules/webpack/lib/json/JsonParser.js')
| -rw-r--r-- | node_modules/webpack/lib/json/JsonParser.js | 71 |
1 files changed, 0 insertions, 71 deletions
diff --git a/node_modules/webpack/lib/json/JsonParser.js b/node_modules/webpack/lib/json/JsonParser.js deleted file mode 100644 index 77f9fb8f..00000000 --- a/node_modules/webpack/lib/json/JsonParser.js +++ /dev/null @@ -1,71 +0,0 @@ -/* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Tobias Koppers @sokra -*/ - -"use strict"; - -const Parser = require("../Parser"); -const JsonExportsDependency = require("../dependencies/JsonExportsDependency"); -const memoize = require("../util/memoize"); -const JsonData = require("./JsonData"); - -/** @typedef {import("../../declarations/plugins/JsonModulesPluginParser").JsonModulesPluginParserOptions} JsonModulesPluginParserOptions */ -/** @typedef {import("../Module").BuildInfo} BuildInfo */ -/** @typedef {import("../Module").BuildMeta} BuildMeta */ -/** @typedef {import("../Parser").ParserState} ParserState */ -/** @typedef {import("../Parser").PreparsedAst} PreparsedAst */ -/** @typedef {import("./JsonModulesPlugin").RawJsonData} RawJsonData */ - -const getParseJson = memoize(() => require("json-parse-even-better-errors")); - -class JsonParser extends Parser { - /** - * @param {JsonModulesPluginParserOptions} options parser options - */ - constructor(options) { - super(); - this.options = options || {}; - } - - /** - * @param {string | Buffer | PreparsedAst} source the source to parse - * @param {ParserState} state the parser state - * @returns {ParserState} the parser state - */ - parse(source, state) { - if (Buffer.isBuffer(source)) { - source = source.toString("utf-8"); - } - - /** @type {NonNullable<JsonModulesPluginParserOptions["parse"]>} */ - const parseFn = - typeof this.options.parse === "function" - ? this.options.parse - : getParseJson(); - /** @type {Buffer | RawJsonData | undefined} */ - let data; - try { - data = - typeof source === "object" - ? source - : parseFn(source[0] === "\uFEFF" ? source.slice(1) : source); - } catch (err) { - throw new Error( - `Cannot parse JSON: ${/** @type {Error} */ (err).message}` - ); - } - const jsonData = new JsonData(/** @type {Buffer | RawJsonData} */ (data)); - const buildInfo = /** @type {BuildInfo} */ (state.module.buildInfo); - buildInfo.jsonData = jsonData; - buildInfo.strict = true; - const buildMeta = /** @type {BuildMeta} */ (state.module.buildMeta); - buildMeta.exportsType = "default"; - buildMeta.defaultObject = - typeof data === "object" ? "redirect-warn" : false; - state.module.addDependency(new JsonExportsDependency(jsonData)); - return state; - } -} - -module.exports = JsonParser; |
