aws-cdk-lib
Version:
Version 2 of the AWS Cloud Development Kit library
2 lines (1 loc) • 1.31 kB
JavaScript
Object.defineProperty(exports,"__esModule",{value:!0}),exports.PROPERTY_INJECTORS_SYMBOL=void 0,exports.applyInjectors=applyInjectors,exports.findInjectorFromConstruct=findInjectorFromConstruct;var constructs_1=()=>{var tmp=require("constructs");return constructs_1=()=>tmp,tmp},prop_injectors_1=()=>{var tmp=require("./prop-injectors");return prop_injectors_1=()=>tmp,tmp};exports.PROPERTY_INJECTORS_SYMBOL=Symbol.for("@aws-cdk/core.PropertyInjectors");function applyInjectors(uniqueId,originalProps,context){const injector=findInjectorFromConstruct(context.scope,uniqueId);return injector===void 0?originalProps:injector.inject(originalProps,{scope:context.scope,id:context.id})}function findInjectorFromConstruct(scope,uniqueId){const result=_lookup(scope);if(result===void 0)return;const propsInjector=_getInjectorsFromConstruct(result).for(uniqueId);if(!propsInjector){const parent=constructs_1().Node.of(scope).scope;if(parent)return findInjectorFromConstruct(parent,uniqueId)}return propsInjector;function _getInjectorsFromConstruct(c){const k=exports.PROPERTY_INJECTORS_SYMBOL;return c[k]}function _lookup(c){if(prop_injectors_1().PropertyInjectors.hasPropertyInjectors(c))return c;const n=constructs_1().Node.of(c);if(n===void 0)return;const _scope=n.scope;if(_scope)return _lookup(_scope)}}
;