summaryrefslogtreecommitdiff
path: root/node_modules/webpack/lib/json/JsonParser.js
diff options
context:
space:
mode:
authorlittleblack111 <littleblack11111@gmail.com>2023-11-01 20:49:36 +0800
committerlittleblack111 <littleblack11111@gmail.com>2023-11-01 20:49:36 +0800
commite99f950f5018cfe737c0d1150e50d97c6e6a4823 (patch)
tree16f329a1b22128ed67f3fcae15a9b0a030f2ccbf /node_modules/webpack/lib/json/JsonParser.js
parentc5d8a744dd584749e0b920119b42e731e37e5f62 (diff)
update
Diffstat (limited to 'node_modules/webpack/lib/json/JsonParser.js')
-rw-r--r--node_modules/webpack/lib/json/JsonParser.js69
1 files changed, 0 insertions, 69 deletions
diff --git a/node_modules/webpack/lib/json/JsonParser.js b/node_modules/webpack/lib/json/JsonParser.js
deleted file mode 100644
index a68662e7..00000000
--- a/node_modules/webpack/lib/json/JsonParser.js
+++ /dev/null
@@ -1,69 +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 (e) {
- throw new Error(`Cannot parse JSON: ${/** @type {Error} */ (e).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;