nav tabs on admin dashboard
This commit is contained in:
95
node_modules/webpack/lib/DependenciesBlock.js
generated
vendored
95
node_modules/webpack/lib/DependenciesBlock.js
generated
vendored
@@ -6,75 +6,118 @@
|
||||
|
||||
const DependenciesBlockVariable = require("./DependenciesBlockVariable");
|
||||
|
||||
function disconnect(i) {
|
||||
i.disconnect();
|
||||
}
|
||||
|
||||
function unseal(i) {
|
||||
i.unseal();
|
||||
}
|
||||
/** @typedef {import("./ChunkGroup")} ChunkGroup */
|
||||
/** @typedef {import("./Dependency")} Dependency */
|
||||
/** @typedef {import("./AsyncDependenciesBlock")} AsyncDependenciesBlock */
|
||||
/** @typedef {import("./DependenciesBlockVariable")} DependenciesBlockVariable */
|
||||
/** @typedef {(d: Dependency) => boolean} DependencyFilterFunction */
|
||||
/** @typedef {import("./util/createHash").Hash} Hash */
|
||||
|
||||
class DependenciesBlock {
|
||||
constructor() {
|
||||
/** @type {Dependency[]} */
|
||||
this.dependencies = [];
|
||||
/** @type {AsyncDependenciesBlock[]} */
|
||||
this.blocks = [];
|
||||
/** @type {DependenciesBlockVariable[]} */
|
||||
this.variables = [];
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds a DependencyBlock to DependencyBlock relationship.
|
||||
* This is used for when a Module has a AsyncDependencyBlock tie (for code-splitting)
|
||||
*
|
||||
* @param {AsyncDependenciesBlock} block block being added
|
||||
* @returns {void}
|
||||
*/
|
||||
addBlock(block) {
|
||||
this.blocks.push(block);
|
||||
block.parent = this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {string} name name of dependency
|
||||
* @param {string} expression expression string for variable
|
||||
* @param {Dependency[]} dependencies dependency instances tied to variable
|
||||
* @returns {void}
|
||||
*/
|
||||
addVariable(name, expression, dependencies) {
|
||||
for(let v of this.variables) {
|
||||
if(v.name === name && v.expression === expression) {
|
||||
for (let v of this.variables) {
|
||||
if (v.name === name && v.expression === expression) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
this.variables.push(new DependenciesBlockVariable(name, expression, dependencies));
|
||||
this.variables.push(
|
||||
new DependenciesBlockVariable(name, expression, dependencies)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {Dependency} dependency dependency being tied to block.
|
||||
* This is an "edge" pointing to another "node" on module graph.
|
||||
* @returns {void}
|
||||
*/
|
||||
addDependency(dependency) {
|
||||
this.dependencies.push(dependency);
|
||||
}
|
||||
|
||||
updateHash(hash) {
|
||||
function updateHash(i) {
|
||||
i.updateHash(hash);
|
||||
/**
|
||||
* @param {Dependency} dependency dependency being removed
|
||||
* @returns {void}
|
||||
*/
|
||||
removeDependency(dependency) {
|
||||
const idx = this.dependencies.indexOf(dependency);
|
||||
if (idx >= 0) {
|
||||
this.dependencies.splice(idx, 1);
|
||||
}
|
||||
}
|
||||
|
||||
this.dependencies.forEach(updateHash);
|
||||
this.blocks.forEach(updateHash);
|
||||
this.variables.forEach(updateHash);
|
||||
/**
|
||||
* @param {Hash} hash the hash used to track dependencies
|
||||
* @returns {void}
|
||||
*/
|
||||
updateHash(hash) {
|
||||
for (const dep of this.dependencies) dep.updateHash(hash);
|
||||
for (const block of this.blocks) block.updateHash(hash);
|
||||
for (const variable of this.variables) variable.updateHash(hash);
|
||||
}
|
||||
|
||||
disconnect() {
|
||||
this.dependencies.forEach(disconnect);
|
||||
this.blocks.forEach(disconnect);
|
||||
this.variables.forEach(disconnect);
|
||||
for (const dep of this.dependencies) dep.disconnect();
|
||||
for (const block of this.blocks) block.disconnect();
|
||||
for (const variable of this.variables) variable.disconnect();
|
||||
}
|
||||
|
||||
unseal() {
|
||||
this.blocks.forEach(unseal);
|
||||
for (const block of this.blocks) block.unseal();
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {DependencyFilterFunction} filter filter function for dependencies, gets passed all dependency ties from current instance
|
||||
* @returns {boolean} returns boolean for filter
|
||||
*/
|
||||
hasDependencies(filter) {
|
||||
if(filter) {
|
||||
if(this.dependencies.some(filter)) {
|
||||
return true;
|
||||
if (filter) {
|
||||
for (const dep of this.dependencies) {
|
||||
if (filter(dep)) return true;
|
||||
}
|
||||
} else {
|
||||
if(this.dependencies.length > 0) {
|
||||
if (this.dependencies.length > 0) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return this.blocks.concat(this.variables).some(item => item.hasDependencies(filter));
|
||||
for (const block of this.blocks) {
|
||||
if (block.hasDependencies(filter)) return true;
|
||||
}
|
||||
for (const variable of this.variables) {
|
||||
if (variable.hasDependencies(filter)) return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
sortItems() {
|
||||
this.blocks.forEach(block => block.sortItems());
|
||||
for (const block of this.blocks) block.sortItems();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user