in lib/object-context.ts [251:287]
public needsUpdate(namedObject: NamedObject, depth: number): boolean {
if (this._parent == null) {
// Current scope is top scope, override never happens.
return false;
}
let def = namedObject.def;
// Object context override from request happened.
let overrides = this._def;
if (this._def.typeDefs.length != 0) {
let typeDeps = def.dependencies.typeDependencies;
for (let typeDep of typeDeps) {
if (overrides.getTypeDef(typeDep, depth - 1) != null) {
return true;
}
}
}
if (this._def.providerDefs.length != 0) {
let providerDeps = def.dependencies.protocolDependencies;
for (let providerDep of providerDeps) {
// Provide override happened.
if (overrides.getProviderDef(providerDep, depth - 1) != null) {
return true;
}
};
}
if (this._def.namedObjectDefs.length != 0) {
let objectDeps = def.dependencies.objectDependencies;
for (let objectDep of objectDeps) {
// Dependent named object override happened.
if (overrides.getNamedObjectDef(objectDep, depth - 1) != null) {
return true;
}
}
}
return false;
}