forked from zhurui/management
66 lines
1.9 KiB
JavaScript
66 lines
1.9 KiB
JavaScript
|
/** @typedef {import("./Chunk")} Chunk */
|
||
|
/** @typedef {import("./ChunkGroup")} ChunkGroup */
|
||
|
/** @typedef {import("./Module")} Module */
|
||
|
/** @typedef {import("./DependenciesBlock")} DependenciesBlock */
|
||
|
/** @typedef {import("./AsyncDependenciesBlock")} AsyncDependenciesBlock */
|
||
|
|
||
|
/**
|
||
|
* @param {ChunkGroup} chunkGroup the ChunkGroup to connect
|
||
|
* @param {Chunk} chunk chunk to tie to ChunkGroup
|
||
|
* @returns {void}
|
||
|
*/
|
||
|
const connectChunkGroupAndChunk = (chunkGroup, chunk) => {
|
||
|
if (chunkGroup.pushChunk(chunk)) {
|
||
|
chunk.addGroup(chunkGroup);
|
||
|
}
|
||
|
};
|
||
|
|
||
|
/**
|
||
|
* @param {ChunkGroup} parent parent ChunkGroup to connect
|
||
|
* @param {ChunkGroup} child child ChunkGroup to connect
|
||
|
* @returns {void}
|
||
|
*/
|
||
|
const connectChunkGroupParentAndChild = (parent, child) => {
|
||
|
if (parent.addChild(child)) {
|
||
|
child.addParent(parent);
|
||
|
}
|
||
|
};
|
||
|
|
||
|
/**
|
||
|
* @param {Chunk} chunk Chunk to connect to Module
|
||
|
* @param {Module} module Module to connect to Chunk
|
||
|
* @returns {void}
|
||
|
*/
|
||
|
const connectChunkAndModule = (chunk, module) => {
|
||
|
if (module.addChunk(chunk)) {
|
||
|
chunk.addModule(module);
|
||
|
}
|
||
|
};
|
||
|
|
||
|
/**
|
||
|
* @param {Chunk} chunk Chunk being disconnected
|
||
|
* @param {Module} module Module being disconnected
|
||
|
* @returns {void}
|
||
|
*/
|
||
|
const disconnectChunkAndModule = (chunk, module) => {
|
||
|
chunk.removeModule(module);
|
||
|
module.removeChunk(chunk);
|
||
|
};
|
||
|
|
||
|
/**
|
||
|
* @param {AsyncDependenciesBlock} depBlock DepBlock being tied to ChunkGroup
|
||
|
* @param {ChunkGroup} chunkGroup ChunkGroup being tied to DepBlock
|
||
|
* @returns {void}
|
||
|
*/
|
||
|
const connectDependenciesBlockAndChunkGroup = (depBlock, chunkGroup) => {
|
||
|
if (chunkGroup.addBlock(depBlock)) {
|
||
|
depBlock.chunkGroup = chunkGroup;
|
||
|
}
|
||
|
};
|
||
|
|
||
|
exports.connectChunkGroupAndChunk = connectChunkGroupAndChunk;
|
||
|
exports.connectChunkGroupParentAndChild = connectChunkGroupParentAndChild;
|
||
|
exports.connectChunkAndModule = connectChunkAndModule;
|
||
|
exports.disconnectChunkAndModule = disconnectChunkAndModule;
|
||
|
exports.connectDependenciesBlockAndChunkGroup = connectDependenciesBlockAndChunkGroup;
|