@loopback/core 6.0.2 → 6.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -392,6 +392,11 @@ class Application extends context_1.Context {
392
392
  defaultScope: context_1.BindingScope.SINGLETON,
393
393
  ...toOptions(nameOrOptions),
394
394
  });
395
+ // Check if the component is already bound
396
+ const found = this.registry.get(binding.key);
397
+ if ((found === null || found === void 0 ? void 0 : found.valueConstructor) === binding.valueConstructor) {
398
+ return binding;
399
+ }
395
400
  if ((0, lifecycle_1.isLifeCycleObserverClass)(componentCtor)) {
396
401
  binding.apply(lifecycle_1.asLifeCycleObserver);
397
402
  }
@@ -1 +1 @@
1
- {"version":3,"file":"application.js","sourceRoot":"","sources":["../src/application.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,8BAA8B;AAC9B,+CAA+C;AAC/C,gEAAgE;;;;AAEhE,+CAe2B;AAC3B,4DAA4B;AAC5B,0DAAiC;AACjC,mCAA4B;AAC5B,2CAAsD;AACtD,iCAA8C;AAC9C,2CAIqB;AACrB,6DAA+D;AAE/D,uCAA+D;AAC/D,MAAM,KAAK,GAAG,IAAA,eAAY,EAAC,2BAA2B,CAAC,CAAC;AACxD,MAAM,aAAa,GAAG,IAAA,eAAY,EAAC,oCAAoC,CAAC,CAAC;AACzE,MAAM,YAAY,GAAG,IAAA,eAAY,EAAC,mCAAmC,CAAC,CAAC;AAEvE;;;;GAIG;AACH,SAAS,oBAAoB,CAC3B,cAA4C,EAC5C,MAAgB;IAEhB,IAAI,IAAwB,CAAC;IAC7B,IAAI,SAA8B,CAAC;IAEnC,IAAI,cAAc,YAAY,iBAAO,EAAE;QACrC,SAAS,GAAG,cAAc,CAAC;QAC3B,IAAI,GAAG,SAAS,CAAC;KAClB;SAAM;QACL,SAAS,GAAG,MAAM,CAAC;QACnB,IAAI,GAAG,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,IAAI,CAAC;KAC7B;IACD,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AAC3B,CAAC;AAED;;;;GAIG;AACH,MAAa,WAAY,SAAQ,iBAAO;IAiBtC;;;;;;;;;;;;;;;;;;OAkBG;IACH,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAcD,YAAY,cAA4C,EAAE,MAAgB;QACxE,sDAAsD;QACtD,KAAK,CAAC,GAAG,oBAAoB,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC;QAnDzD;;WAEG;QACK,oBAAe,GAAG,KAAK,CAAC;QAIxB,iBAAY,GAAG,KAAK,CAAC;QAE7B;;WAEG;QACK,WAAM,GAAG,SAAS,CAAC;QAwCzB,IAAI,CAAC,KAAK,GAAG,sBAAY,CAAC,WAAW,CAAC;QAEtC,IAAI,CAAC,OAAO;YACV,cAAc,YAAY,iBAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,aAAd,cAAc,cAAd,cAAc,GAAI,EAAE,CAAC;QAEhE,kBAAkB;QAClB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QAEpB,wCAAwC;QACxC,IAAI,CAAC,IAAI,CAAC,mBAAY,CAAC,4BAA4B,CAAC;aACjD,OAAO,CAAC,8CAAyB,CAAC;aAClC,OAAO,CAAC,sBAAY,CAAC,SAAS,CAAC,CAAC;QACnC,2EAA2E;QAC3E,IAAI,CAAC,IAAI,CAAC,mBAAY,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QACtD,mDAAmD;QACnD,IAAI,CAAC,IAAI,CAAC,mBAAY,CAAC,kBAAkB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAE5D,6DAA6D;QAC7D,IAAI,CAAC,SAAS,CAAC,mBAAY,CAAC,oBAAoB,CAAC,CAAC,OAAO,CACvD,mBAAY,CAAC,kBAAkB,CAChC,CAAC;QAEF,IAAI,CAAC,gBAAgB,GAAG,EAAC,OAAO,EAAE,CAAC,SAAS,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAC,CAAC;IAC3E,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,UAAU,CACR,cAAkC,EAClC,aAAgD;QAEhD,IAAI,CAAC,KAAK,CAAC,sBAAsB,EAAE,aAAa,aAAb,aAAa,cAAb,aAAa,GAAI,cAAc,CAAC,IAAI,CAAC,CAAC;QACzE,MAAM,OAAO,GAAG,IAAA,gCAAsB,EAAC,cAAc,EAAE;YACrD,SAAS,EAAE,mBAAY,CAAC,WAAW;YACnC,IAAI,EAAE,eAAQ,CAAC,UAAU;YACzB,YAAY,EAAE,sBAAY,CAAC,SAAS;YACpC,GAAG,SAAS,CAAC,aAAa,CAAC;SAC5B,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAClB,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACI,MAAM,CACX,IAAoB,EACpB,aAAgD;QAEhD,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,aAAa,aAAb,aAAa,cAAb,aAAa,GAAI,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3D,MAAM,OAAO,GAAG,IAAA,gCAAsB,EAAC,IAAI,EAAE;YAC3C,SAAS,EAAE,mBAAY,CAAC,OAAO;YAC/B,IAAI,EAAE,eAAQ,CAAC,MAAM;YACrB,YAAY,EAAE,sBAAY,CAAC,SAAS;YACpC,GAAG,SAAS,CAAC,aAAa,CAAC;SAC5B,CAAC,CAAC,KAAK,CAAC,+BAAmB,CAAC,CAAC;QAC9B,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAClB,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACI,OAAO,CAAmB,KAAuB;QACtD,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9C,CAAC;IAED;;;;;;;;OAQG;IACI,KAAK,CAAC,SAAS,CACpB,MAA+B;QAE/B,IAAI,GAAW,CAAC;QAChB,4CAA4C;QAC5C,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;YAC9B,GAAG,GAAG,GAAG,mBAAY,CAAC,OAAO,IAAI,MAAM,EAAE,CAAC;SAC3C;aAAM;YACL,MAAM,IAAI,GAAG,MAAwB,CAAC;YACtC,GAAG,GAAG,GAAG,mBAAY,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;SAC9C;QACD,OAAO,IAAI,CAAC,GAAG,CAAI,GAAG,CAAC,CAAC;IAC1B,CAAC;IAED;;;;;OAKG;IACO,kBAAkB,CAAC,EAAU;QACrC,IAAA,gBAAM,EACJ,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAC5B,UAAU,EAAE,6BAA6B,IAAI,CAAC,MAAM,GAAG,CACxD,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACO,cAAc,CAAC,EAAU,EAAE,GAAG,MAAgB;QACtD,IAAA,gBAAM,EACJ,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAC5B,UAAU,EAAE,6BAA6B,IAAI,CAAC,MAAM,sBAAsB,MAAM,GAAG,CACpF,CAAC;IACJ,CAAC;IAED;;;OAGG;IACO,QAAQ,CAAC,KAAa;QAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,QAAQ,KAAK,KAAK,EAAE;YACtB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,CAAC,MAAM,EAAC,CAAC,CAAC;YAC7D,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAClB;IACH,CAAC;IAES,KAAK,CAAC,UAAU,CAAC,KAAa;QACtC,MAAM,IAAA,aAAI,EAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC1B,CAAC;IAED;;;;;;;;OAQG;IACI,KAAK,CAAC,IAAI;QACf,IAAI,IAAI,CAAC,YAAY;YAAE,OAAO;QAC9B,IAAI,IAAI,CAAC,MAAM,KAAK,cAAc;YAAE,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QAC1E,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;QACtC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QAE9B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,4BAA4B,EAAE,CAAC;QAC3D,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACtB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IAC/B,CAAC;IAED;;;;;;;;;OASG;IACI,MAAM,CAAC,EAA8B;QAC1C,MAAM,GAAG,GAAG;YACV,mBAAY,CAAC,oBAAoB;YACjC,EAAE,CAAC,IAAI,IAAI,UAAU;YACrB,IAAA,0BAAgB,GAAE;SACnB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEZ,OAAO,IAAI,CAAC,IAAI,CAAoB,GAAG,CAAC;aACrC,EAAE,CAAC,EAAC,IAAI,EAAE,EAAE,EAAC,CAAC;aACd,KAAK,CAAC,+BAAmB,CAAC,CAAC;IAChC,CAAC;IAED;;;;;;;;;OASG;IACI,KAAK,CAAC,KAAK;QAChB,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAC1C,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU;YAAE,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAClE,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QACjC,wBAAwB;QACxB,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;YAAE,OAAO;QACtC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC1B,IAAI,CAAC,aAAa,EAAE,CAAC;QAErB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,4BAA4B,EAAE,CAAC;QAC3D,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAC;QACvB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC3B,CAAC;IAED;;;;;;;;;OASG;IACI,OAAO,CAAC,EAA8B;QAC3C,MAAM,GAAG,GAAG;YACV,mBAAY,CAAC,oBAAoB;YACjC,EAAE,CAAC,IAAI,IAAI,WAAW;YACtB,IAAA,0BAAgB,GAAE;SACnB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEZ,OAAO,IAAI,CAAC,IAAI,CAAoB,GAAG,CAAC;aACrC,EAAE,CAAC,EAAC,KAAK,EAAE,EAAE,EAAC,CAAC;aACf,KAAK,CAAC,+BAAmB,CAAC,CAAC;IAChC,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,IAAI;QACf,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU;YAAE,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAClE,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAChC,mCAAmC;QACnC,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,aAAa;YAAE,OAAO;QACvE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;YACzB,kEAAkE;YAClE,uCAAuC;YACvC,IAAI,CAAC,oBAAoB,EAAE,CAAC;SAC7B;QACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,4BAA4B,EAAE,CAAC;QAC3D,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACtB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC3B,CAAC;IAED;;;;;;;;;OASG;IACI,MAAM,CAAC,EAA8B;QAC1C,MAAM,GAAG,GAAG;YACV,mBAAY,CAAC,oBAAoB;YACjC,EAAE,CAAC,IAAI,IAAI,UAAU;YACrB,IAAA,0BAAgB,GAAE;SACnB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACZ,OAAO,IAAI,CAAC,IAAI,CAAoB,GAAG,CAAC;aACrC,EAAE,CAAC,EAAC,IAAI,EAAE,EAAE,EAAC,CAAC;aACd,KAAK,CAAC,+BAAmB,CAAC,CAAC;IAChC,CAAC;IAEO,KAAK,CAAC,4BAA4B;QACxC,OAAO,IAAI,CAAC,GAAG,CAAC,mBAAY,CAAC,4BAA4B,CAAC,CAAC;IAC7D,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACI,SAAS,CACd,aAA6B,EAC7B,aAAgD;QAEhD,IAAI,CAAC,KAAK,CAAC,sBAAsB,EAAE,aAAa,aAAb,aAAa,cAAb,aAAa,GAAI,aAAa,CAAC,IAAI,CAAC,CAAC;QACxE,MAAM,OAAO,GAAG,IAAA,gCAAsB,EAAC,aAAa,EAAE;YACpD,SAAS,EAAE,mBAAY,CAAC,UAAU;YAClC,IAAI,EAAE,eAAQ,CAAC,SAAS;YACxB,YAAY,EAAE,sBAAY,CAAC,SAAS;YACpC,GAAG,SAAS,CAAC,aAAa,CAAC;SAC5B,CAAC,CAAC;QACH,IAAI,IAAA,oCAAwB,EAAC,aAAa,CAAC,EAAE;YAC3C,OAAO,CAAC,KAAK,CAAC,+BAAmB,CAAC,CAAC;SACpC;QACD,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAClB,wDAAwD;QACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAY,OAAO,CAAC,GAAG,CAAC,CAAC;QACtD,IAAA,0BAAc,EAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC/B,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;OAKG;IACI,WAAW,CAAC,QAA6B;QAC9C,IAAI,CAAC,IAAI,CAAC,mBAAY,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;IAC5D,CAAC;IAED;;;;OAIG;IACI,iBAAiB,CACtB,IAAoB,EACpB,aAAgD;QAEhD,IAAI,CAAC,KAAK,CAAC,+BAA+B,EAAE,aAAa,aAAb,aAAa,cAAb,aAAa,GAAI,IAAI,CAAC,IAAI,CAAC,CAAC;QACxE,MAAM,OAAO,GAAG,IAAA,gCAAsB,EAAC,IAAI,EAAE;YAC3C,SAAS,EAAE,mBAAY,CAAC,oBAAoB;YAC5C,IAAI,EAAE,eAAQ,CAAC,mBAAmB;YAClC,YAAY,EAAE,sBAAY,CAAC,SAAS;YACpC,GAAG,SAAS,CAAC,aAAa,CAAC;SAC5B,CAAC,CAAC,KAAK,CAAC,+BAAmB,CAAC,CAAC;QAC9B,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAClB,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAyCG;IACI,OAAO,CACZ,GAA8B,EAC9B,aAAuC;QAEvC,MAAM,OAAO,GAAG,SAAS,CAAC,aAAa,CAAC,CAAC;QACzC,MAAM,OAAO,GAAG,IAAA,8BAAoB,EAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACnD,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAClB,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;OAIG;IACI,WAAW,CAChB,WAA6D,EAC7D,aAAkD;QAElD,MAAM,OAAO,GAAG,SAAS,CAAC,aAAa,CAAC,CAAC;QACzC,OAAO,IAAA,6BAAmB,EAAC,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;IACzD,CAAC;IAED;;OAEG;IACO,aAAa;QACrB,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,EAAE;YAChC,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC,eAAe,CAAC;SAC7B;QACD,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC;QACtD,IAAI,CAAC,eAAe,GAAG,KAAK,EAAE,MAAc,EAAE,EAAE;YAC9C,MAAM,IAAI,GAAG,GAAG,EAAE;gBAChB,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBAC5B,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YACpC,CAAC,CAAC;YACF,aAAa,CACX,wCAAwC,EACxC,IAAI,CAAC,IAAI,EACT,MAAM,EACN,OAAO,CAAC,GAAG,CACZ,CAAC;YACF,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;gBACzB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;gBAC5B,IAAI,KAAK,CAAC;gBACV,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE;oBAC1D,KAAK,GAAG,UAAU,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;iBACvC;gBACD,IAAI;oBACF,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;iBACnB;wBAAS;oBACR,IAAI,KAAK,IAAI,IAAI;wBAAE,YAAY,CAAC,KAAK,CAAC,CAAC;oBACvC,IAAI,EAAE,CAAC;iBACR;aACF;QACH,CAAC,CAAC;QACF,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAEO,sBAAsB;QAC5B,MAAM,EAAC,OAAO,GAAG,EAAE,EAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAC7C,aAAa,CACX,qDAAqD,EACrD,IAAI,CAAC,IAAI,EACT,OAAO,CAAC,GAAG,EACX,OAAO,CACR,CAAC;QACF,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YACpB,IAAI,OAAO,CAAC,eAAe,EAAE,IAAI,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE;gBAC3D,IAAI,YAAY,CAAC,OAAO,EAAE;oBACxB,YAAY,CACV,8CAA8C,EAC9C,IAAI,CAAC,IAAI,EACT,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,EAC1B,GAAG,EACH,OAAO,CAAC,GAAG,EACX,IAAI,KAAK,CAAC,6BAA6B,CAAC,CACzC,CAAC;iBACH;aACF;YACD,kEAAkE;YAClE,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,oBAAoB;QAC1B,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI;YAAE,OAAO;QACzC,MAAM,EAAC,OAAO,GAAG,EAAE,EAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAC7C,aAAa,CACX,kDAAkD,EAClD,IAAI,CAAC,IAAI,EACT,OAAO,CAAC,GAAG,EACX,OAAO,CACR,CAAC;QACF,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QACpB,kEAAkE;QAClE,OAAO,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,eAAe,CAAC,CAClD,CAAC;IACJ,CAAC;CACF;AA9kBD,kCA8kBC;AAED;;;GAGG;AACH,SAAS,SAAS,CAAC,aAAgD;IACjE,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE;QACrC,OAAO,EAAC,IAAI,EAAE,aAAa,EAAC,CAAC;KAC9B;IACD,OAAO,aAAa,aAAb,aAAa,cAAb,aAAa,GAAI,EAAE,CAAC;AAC7B,CAAC"}
1
+ {"version":3,"file":"application.js","sourceRoot":"","sources":["../src/application.ts"],"names":[],"mappings":"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"}
@@ -66,6 +66,10 @@ export interface Component {
66
66
  * ```
67
67
  */
68
68
  bindings?: Binding[];
69
+ /**
70
+ * An array of component classes
71
+ */
72
+ components?: Constructor<Component>[];
69
73
  /**
70
74
  * Other properties
71
75
  */
package/dist/component.js CHANGED
@@ -54,6 +54,13 @@ function mountComponent(app, component) {
54
54
  app.service(service);
55
55
  }
56
56
  }
57
+ if (component.components) {
58
+ for (const c of component.components) {
59
+ if (c === component)
60
+ continue;
61
+ app.component(c);
62
+ }
63
+ }
57
64
  }
58
65
  exports.mountComponent = mountComponent;
59
66
  //# sourceMappingURL=component.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"component.js","sourceRoot":"","sources":["../src/component.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,8BAA8B;AAC9B,+CAA+C;AAC/C,gEAAgE;;;AAEhE,+CAM2B;AAyF3B;;;;;GAKG;AACH,SAAgB,cAAc,CAAC,GAAgB,EAAE,SAAoB;IACnE,IAAI,SAAS,CAAC,OAAO,EAAE;QACrB,KAAK,MAAM,QAAQ,IAAI,SAAS,CAAC,OAAO,EAAE;YACxC,MAAM,OAAO,GAAG,IAAA,gCAAsB,EAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAClE,GAAG,EAAE,QAAQ;aACd,CAAC,CAAC;YACH,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;SAClB;KACF;IAED,IAAI,SAAS,CAAC,SAAS,EAAE;QACvB,KAAK,MAAM,WAAW,IAAI,SAAS,CAAC,SAAS,EAAE;YAC7C,MAAM,OAAO,GAAG,IAAA,gCAAsB,EAAC,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE;gBACvE,GAAG,EAAE,WAAW;aACjB,CAAC,CAAC;YACH,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;SAClB;KACF;IAED,IAAI,SAAS,CAAC,QAAQ,EAAE;QACtB,KAAK,MAAM,OAAO,IAAI,SAAS,CAAC,QAAQ,EAAE;YACxC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;SAClB;KACF;IAED,IAAI,SAAS,CAAC,WAAW,EAAE;QACzB,KAAK,MAAM,cAAc,IAAI,SAAS,CAAC,WAAW,EAAE;YAClD,GAAG,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;SAChC;KACF;IAED,IAAI,SAAS,CAAC,OAAO,EAAE;QACrB,KAAK,MAAM,SAAS,IAAI,SAAS,CAAC,OAAO,EAAE;YACzC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC;SACrD;KACF;IAED,IAAI,SAAS,CAAC,kBAAkB,EAAE;QAChC,KAAK,MAAM,QAAQ,IAAI,SAAS,CAAC,kBAAkB,EAAE;YACnD,GAAG,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;SACjC;KACF;IAED,IAAI,SAAS,CAAC,QAAQ,EAAE;QACtB,KAAK,MAAM,OAAO,IAAI,SAAS,CAAC,QAAQ,EAAE;YACxC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;SACtB;KACF;AACH,CAAC;AAhDD,wCAgDC"}
1
+ {"version":3,"file":"component.js","sourceRoot":"","sources":["../src/component.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,8BAA8B;AAC9B,+CAA+C;AAC/C,gEAAgE;;;AAEhE,+CAM2B;AA8F3B;;;;;GAKG;AACH,SAAgB,cAAc,CAAC,GAAgB,EAAE,SAAoB;IACnE,IAAI,SAAS,CAAC,OAAO,EAAE;QACrB,KAAK,MAAM,QAAQ,IAAI,SAAS,CAAC,OAAO,EAAE;YACxC,MAAM,OAAO,GAAG,IAAA,gCAAsB,EAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAClE,GAAG,EAAE,QAAQ;aACd,CAAC,CAAC;YACH,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;SAClB;KACF;IAED,IAAI,SAAS,CAAC,SAAS,EAAE;QACvB,KAAK,MAAM,WAAW,IAAI,SAAS,CAAC,SAAS,EAAE;YAC7C,MAAM,OAAO,GAAG,IAAA,gCAAsB,EAAC,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE;gBACvE,GAAG,EAAE,WAAW;aACjB,CAAC,CAAC;YACH,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;SAClB;KACF;IAED,IAAI,SAAS,CAAC,QAAQ,EAAE;QACtB,KAAK,MAAM,OAAO,IAAI,SAAS,CAAC,QAAQ,EAAE;YACxC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;SAClB;KACF;IAED,IAAI,SAAS,CAAC,WAAW,EAAE;QACzB,KAAK,MAAM,cAAc,IAAI,SAAS,CAAC,WAAW,EAAE;YAClD,GAAG,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;SAChC;KACF;IAED,IAAI,SAAS,CAAC,OAAO,EAAE;QACrB,KAAK,MAAM,SAAS,IAAI,SAAS,CAAC,OAAO,EAAE;YACzC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC;SACrD;KACF;IAED,IAAI,SAAS,CAAC,kBAAkB,EAAE;QAChC,KAAK,MAAM,QAAQ,IAAI,SAAS,CAAC,kBAAkB,EAAE;YACnD,GAAG,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;SACjC;KACF;IAED,IAAI,SAAS,CAAC,QAAQ,EAAE;QACtB,KAAK,MAAM,OAAO,IAAI,SAAS,CAAC,QAAQ,EAAE;YACxC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;SACtB;KACF;IAED,IAAI,SAAS,CAAC,UAAU,EAAE;QACxB,KAAK,MAAM,CAAC,IAAI,SAAS,CAAC,UAAU,EAAE;YACpC,IAAI,CAAC,KAAK,SAAS;gBAAE,SAAS;YAC9B,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;SAClB;KACF;AACH,CAAC;AAvDD,wCAuDC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@loopback/core",
3
3
  "description": "Define and implement core constructs such as Application and Component",
4
- "version": "6.0.2",
4
+ "version": "6.1.0",
5
5
  "license": "MIT",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
@@ -35,16 +35,16 @@
35
35
  "!*/__tests__"
36
36
  ],
37
37
  "dependencies": {
38
- "@loopback/context": "^7.0.2",
39
- "debug": "^4.3.4",
40
- "tslib": "^2.6.2"
38
+ "@loopback/context": "^7.0.3",
39
+ "debug": "^4.3.5",
40
+ "tslib": "^2.6.3"
41
41
  },
42
42
  "devDependencies": {
43
- "@loopback/build": "^11.0.2",
44
- "@loopback/eslint-config": "^15.0.2",
45
- "@loopback/testlab": "^7.0.2",
43
+ "@loopback/build": "^11.0.3",
44
+ "@loopback/eslint-config": "^15.0.3",
45
+ "@loopback/testlab": "^7.0.3",
46
46
  "@types/debug": "^4.1.12",
47
- "@types/node": "^16.18.96"
47
+ "@types/node": "^16.18.98"
48
48
  },
49
- "gitHead": "06b27e1b47cea48b54280e5590bb165e11fbeb10"
49
+ "gitHead": "b0e4a869679b8bb4ca2c48c233348d582dd4752a"
50
50
  }
@@ -470,6 +470,11 @@ export class Application extends Context implements LifeCycleObserver {
470
470
  defaultScope: BindingScope.SINGLETON,
471
471
  ...toOptions(nameOrOptions),
472
472
  });
473
+ // Check if the component is already bound
474
+ const found = this.registry.get(binding.key);
475
+ if (found?.valueConstructor === binding.valueConstructor) {
476
+ return binding;
477
+ }
473
478
  if (isLifeCycleObserverClass(componentCtor)) {
474
479
  binding.apply(asLifeCycleObserver);
475
480
  }
package/src/component.ts CHANGED
@@ -91,6 +91,11 @@ export interface Component {
91
91
  */
92
92
  bindings?: Binding[];
93
93
 
94
+ /**
95
+ * An array of component classes
96
+ */
97
+ components?: Constructor<Component>[];
98
+
94
99
  /**
95
100
  * Other properties
96
101
  */
@@ -152,4 +157,11 @@ export function mountComponent(app: Application, component: Component) {
152
157
  app.service(service);
153
158
  }
154
159
  }
160
+
161
+ if (component.components) {
162
+ for (const c of component.components) {
163
+ if (c === component) continue;
164
+ app.component(c);
165
+ }
166
+ }
155
167
  }