/* 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"); /** * @import { * ModuleFactoryCallback, * ModuleFactoryCreateData * } from "../ModuleFactory" */ /** @import FallbackDependency from "./FallbackDependency" */ module.exports = class FallbackModuleFactory extends ModuleFactory { /** * Processes the provided data. * @param {ModuleFactoryCreateData} data data object * @param {ModuleFactoryCallback} callback callback * @returns {void} */ create({ dependencies: [dependency] }, callback) { const dep = /** @type {FallbackDependency} */ (dependency); callback(null, { module: new FallbackModule(dep.requests) }); } };