GraphHelpers.js 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. /*
  2. MIT License http://www.opensource.org/licenses/mit-license.php
  3. Author Tobias Koppers @sokra
  4. */
  5. "use strict";
  6. /** @typedef {import("./Chunk")} Chunk */
  7. /** @typedef {import("./ChunkGroup")} ChunkGroup */
  8. /** @typedef {import(".").Entrypoint} Entrypoint */
  9. /**
  10. * Connects chunk group and chunk.
  11. * @param {ChunkGroup} chunkGroup the ChunkGroup to connect
  12. * @param {Chunk} chunk chunk to tie to ChunkGroup
  13. * @returns {void}
  14. */
  15. const connectChunkGroupAndChunk = (chunkGroup, chunk) => {
  16. if (chunkGroup.pushChunk(chunk)) {
  17. chunk.addGroup(chunkGroup);
  18. }
  19. };
  20. /**
  21. * Connects chunk group parent and child.
  22. * @param {ChunkGroup} parent parent ChunkGroup to connect
  23. * @param {ChunkGroup} child child ChunkGroup to connect
  24. * @returns {void}
  25. */
  26. const connectChunkGroupParentAndChild = (parent, child) => {
  27. if (parent.addChild(child)) {
  28. child.addParent(parent);
  29. }
  30. };
  31. /**
  32. * Connects entrypoint and depend on.
  33. * @param {Entrypoint} entrypoint the entrypoint
  34. * @param {Entrypoint} dependOnEntrypoint the dependOnEntrypoint
  35. * @returns {void}
  36. */
  37. const connectEntrypointAndDependOn = (entrypoint, dependOnEntrypoint) => {
  38. entrypoint.addDependOn(dependOnEntrypoint);
  39. };
  40. module.exports.connectChunkGroupAndChunk = connectChunkGroupAndChunk;
  41. module.exports.connectChunkGroupParentAndChild =
  42. connectChunkGroupParentAndChild;
  43. module.exports.connectEntrypointAndDependOn = connectEntrypointAndDependOn;