/* MIT License http://www.opensource.org/licenses/mit-license.php Author Tobias Koppers @sokra, Zackary Jackson @ScriptedAlchemy, Marais Rossouw @maraisr */ "use strict"; const ModuleFactory = require("../ModuleFactory"); const FallbackModule = require("./FallbackModule"); /** @typedef {import("../ModuleFactory").ModuleFactoryCreateData} ModuleFactoryCreateData */ /** @typedef {import("../ModuleFactory").ModuleFactoryResult} ModuleFactoryResult */ /** @typedef {import("./FallbackDependency")} FallbackDependency */ module.exports = class FallbackModuleFactory extends ModuleFactory { /** * @param {ModuleFactoryCreateData} data data object * @param {function(Error=, ModuleFactoryResult=): void} callback callback * @returns {void} */ create({ dependencies: [dependency] }, callback) { const dep = /** @type {FallbackDependency} */ (dependency); callback(null, { module: new FallbackModule(dep.requests) }); } };