DllModuleFactory.js 1023 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. /*
  2. MIT License http://www.opensource.org/licenses/mit-license.php
  3. Author Tobias Koppers @sokra
  4. */
  5. "use strict";
  6. const DllModule = require("./DllModule");
  7. const ModuleFactory = require("./ModuleFactory");
  8. /** @typedef {import("./ModuleFactory").ModuleFactoryCallback} ModuleFactoryCallback */
  9. /** @typedef {import("./ModuleFactory").ModuleFactoryCreateData} ModuleFactoryCreateData */
  10. /** @typedef {import("./dependencies/DllEntryDependency")} DllEntryDependency */
  11. class DllModuleFactory extends ModuleFactory {
  12. constructor() {
  13. super();
  14. this.hooks = Object.freeze({});
  15. }
  16. /**
  17. * Processes the provided data.
  18. * @param {ModuleFactoryCreateData} data data object
  19. * @param {ModuleFactoryCallback} callback callback
  20. * @returns {void}
  21. */
  22. create(data, callback) {
  23. const dependency = /** @type {DllEntryDependency} */ (data.dependencies[0]);
  24. callback(null, {
  25. module: new DllModule(
  26. data.context,
  27. dependency.dependencies,
  28. dependency.name
  29. )
  30. });
  31. }
  32. }
  33. module.exports = DllModuleFactory;