ProvideSharedModuleFactory.js 980 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. /*
  2. MIT License http://www.opensource.org/licenses/mit-license.php
  3. Author Tobias Koppers @sokra and Zackary Jackson @ScriptedAlchemy
  4. */
  5. "use strict";
  6. const ModuleFactory = require("../ModuleFactory");
  7. const ProvideSharedModule = require("./ProvideSharedModule");
  8. /**
  9. * @import {
  10. * ModuleFactoryCallback,
  11. * ModuleFactoryCreateData
  12. * } from "../ModuleFactory"
  13. */
  14. /** @import ProvideSharedDependency from "./ProvideSharedDependency" */
  15. class ProvideSharedModuleFactory extends ModuleFactory {
  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 dep =
  24. /** @type {ProvideSharedDependency} */
  25. (data.dependencies[0]);
  26. callback(null, {
  27. module: new ProvideSharedModule(
  28. dep.shareScope,
  29. dep.name,
  30. dep.version,
  31. dep.request,
  32. dep.eager
  33. )
  34. });
  35. }
  36. }
  37. module.exports = ProvideSharedModuleFactory;