public needsUpdate()

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;
    }