Commit 4a319a34 authored by Mathias Chouet's avatar Mathias Chouet :spaghetti:
Browse files

Add dependency ckecking method, required for nghyd#212

Showing with 21 additions and 0 deletions
+21 -0
...@@ -578,6 +578,27 @@ export abstract class Nub extends ComputeNode implements IObservable { ...@@ -578,6 +578,27 @@ export abstract class Nub extends ComputeNode implements IObservable {
return requiredNubs; return requiredNubs;
} }
/**
* Returns all Nubs whose parameters or results are targettes
* by the given one.
* (used for dependencies checking at session saving time)
*/
public getTargettedNubs(visited: string[] = []) {
const targettedNubs: Nub[] = [];
// prevent loops
if (! visited.includes(this.uid)) {
visited.push(this.uid);
// inspect all target Nubs
for (const p of this.parameterIterator) {
if (p.valueMode === ParamValueMode.LINK && p.isReferenceDefined()) {
targettedNubs.push(p.referencedValue.nub);
}
}
}
return targettedNubs;
}
/** /**
* Returns true if * Returns true if
* - this Nub * - this Nub
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment