ng-packagr
Version:
Compile and package Angular libraries in Angular Package Format (APF)
49 lines • 1.31 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Node = exports.STATE_DONE = exports.STATE_PENDING = exports.STATE_IN_PROGRESS = exports.STATE_ERROR = void 0;
exports.STATE_ERROR = 'error';
exports.STATE_IN_PROGRESS = 'in-progress';
exports.STATE_PENDING = 'pending';
exports.STATE_DONE = 'done';
/**
* A Node in the {@link BuildGraph}.
*/
class Node {
url;
constructor(url) {
this.url = url;
}
type;
data;
state = '';
filter(by) {
return [...this._dependents].filter(by);
}
find(by) {
return [...this._dependents].find(by);
}
some(by) {
return [...this._dependents].some(by);
}
get dependents() {
return this._dependents;
}
get dependees() {
return this._dependees;
}
_dependents = new Set();
_dependees = new Set();
dependsOn(dependent) {
const newDeps = Array.isArray(dependent) ? dependent : [dependent];
for (const newDep of newDeps) {
if (newDep._dependees.has(this)) {
// nodes already depends on each other
continue;
}
newDep._dependees.add(this);
this._dependents.add(newDep);
}
}
}
exports.Node = Node;
//# sourceMappingURL=node.js.map