diff options
Diffstat (limited to 'node_modules/webpack/lib/dependencies/JsonExportsDependency.js')
| -rw-r--r-- | node_modules/webpack/lib/dependencies/JsonExportsDependency.js | 111 |
1 files changed, 0 insertions, 111 deletions
diff --git a/node_modules/webpack/lib/dependencies/JsonExportsDependency.js b/node_modules/webpack/lib/dependencies/JsonExportsDependency.js deleted file mode 100644 index 39ce927e..00000000 --- a/node_modules/webpack/lib/dependencies/JsonExportsDependency.js +++ /dev/null @@ -1,111 +0,0 @@ -/* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Tobias Koppers @sokra -*/ - -"use strict"; - -const makeSerializable = require("../util/makeSerializable"); -const NullDependency = require("./NullDependency"); - -/** @typedef {import("../ChunkGraph")} ChunkGraph */ -/** @typedef {import("../Dependency").ExportSpec} ExportSpec */ -/** @typedef {import("../Dependency").ExportsSpec} ExportsSpec */ -/** @typedef {import("../Dependency").UpdateHashContext} UpdateHashContext */ -/** @typedef {import("../ModuleGraph")} ModuleGraph */ -/** @typedef {import("../json/JsonData")} JsonData */ -/** @typedef {import("../json/JsonData").RawJsonData} RawJsonData */ -/** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext} ObjectDeserializerContext */ -/** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext} ObjectSerializerContext */ -/** @typedef {import("../util/Hash")} Hash */ - -/** - * @param {RawJsonData} data data - * @returns {TODO} value - */ -const getExportsFromData = data => { - if (data && typeof data === "object") { - if (Array.isArray(data)) { - return data.length < 100 - ? data.map((item, idx) => ({ - name: `${idx}`, - canMangle: true, - exports: getExportsFromData(item) - })) - : undefined; - } - const exports = []; - for (const key of Object.keys(data)) { - exports.push({ - name: key, - canMangle: true, - exports: getExportsFromData(data[key]) - }); - } - return exports; - } - return undefined; -}; - -class JsonExportsDependency extends NullDependency { - /** - * @param {JsonData} data json data - */ - constructor(data) { - super(); - this.data = data; - } - - get type() { - return "json exports"; - } - - /** - * Returns the exported names - * @param {ModuleGraph} moduleGraph module graph - * @returns {ExportsSpec | undefined} export names - */ - getExports(moduleGraph) { - return { - exports: getExportsFromData( - this.data && /** @type {RawJsonData} */ (this.data.get()) - ), - dependencies: undefined - }; - } - - /** - * Update the hash - * @param {Hash} hash hash to be updated - * @param {UpdateHashContext} context context - * @returns {void} - */ - updateHash(hash, context) { - this.data.updateHash(hash); - } - - /** - * @param {ObjectSerializerContext} context context - */ - serialize(context) { - const { write } = context; - write(this.data); - super.serialize(context); - } - - /** - * @param {ObjectDeserializerContext} context context - */ - deserialize(context) { - const { read } = context; - this.data = read(); - super.deserialize(context); - } -} - -makeSerializable( - JsonExportsDependency, - "webpack/lib/dependencies/JsonExportsDependency" -); - -module.exports = JsonExportsDependency; |
