You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
50 lines
1.4 KiB
50 lines
1.4 KiB
/* |
|
MIT License http://www.opensource.org/licenses/mit-license.php |
|
Author Tobias Koppers @sokra |
|
*/ |
|
|
|
"use strict"; |
|
|
|
/** @typedef {import("../declarations/WebpackOptions").ResolveOptions} ResolveOptions */ |
|
/** @typedef {import("./Dependency")} Dependency */ |
|
/** @typedef {import("./Module")} Module */ |
|
|
|
/** |
|
* @typedef {Object} ModuleFactoryResult |
|
* @property {Module=} module the created module or unset if no module was created |
|
* @property {Set<string>=} fileDependencies |
|
* @property {Set<string>=} contextDependencies |
|
* @property {Set<string>=} missingDependencies |
|
* @property {boolean=} cacheable allow to use the unsafe cache |
|
*/ |
|
|
|
/** |
|
* @typedef {Object} ModuleFactoryCreateDataContextInfo |
|
* @property {string} issuer |
|
* @property {string | null=} issuerLayer |
|
* @property {string} compiler |
|
*/ |
|
|
|
/** |
|
* @typedef {Object} ModuleFactoryCreateData |
|
* @property {ModuleFactoryCreateDataContextInfo} contextInfo |
|
* @property {ResolveOptions=} resolveOptions |
|
* @property {string} context |
|
* @property {Dependency[]} dependencies |
|
*/ |
|
|
|
class ModuleFactory { |
|
/* istanbul ignore next */ |
|
/** |
|
* @abstract |
|
* @param {ModuleFactoryCreateData} data data object |
|
* @param {function(Error=, ModuleFactoryResult=): void} callback callback |
|
* @returns {void} |
|
*/ |
|
create(data, callback) { |
|
const AbstractMethodError = require("./AbstractMethodError"); |
|
throw new AbstractMethodError(); |
|
} |
|
} |
|
|
|
module.exports = ModuleFactory;
|
|
|