@alterior/runtime 3.7.2 → 3.7.4

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.
@@ -1,5 +1,5 @@
1
1
  import { Annotation, AnnotationDecorator } from '@alterior/annotations';
2
- import { Provider } from '@alterior/di';
2
+ import { Injector, Provider } from '@alterior/di';
3
3
  export interface ApplicationOptions {
4
4
  /**
5
5
  * Specify a human readable name for your application.
@@ -45,6 +45,11 @@ export interface ApplicationOptions {
45
45
  * Additional dependency injection providers to include in the application's injector.
46
46
  */
47
47
  providers?: Provider[];
48
+ /**
49
+ * An injector to use as the parent of the application injector. Optional, useful when doing more complex
50
+ * application bootstrapping.
51
+ */
52
+ parentInjector?: Injector;
48
53
  }
49
54
  /**
50
55
  * Used to attach an ApplicationOptions object onto a class definition.
@@ -1 +1 @@
1
- {"version":3,"file":"app-options.d.ts","sourceRoot":"","sources":["../src/app-options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAgB,MAAM,uBAAuB,CAAC;AACtF,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,MAAM,WAAW,kBAAkB;IAElC;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAEhB,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;CACvB;AAED;;GAEG;AACH,qBACa,oBAAqB,SAAQ,UAAU;IACvC,QAAQ,CAAC,OAAO,CAAC,EAAE,kBAAkB;gBAA5B,OAAO,CAAC,EAAE,kBAAkB;CAGjD;AAED;;;GAGG;AACH,eAAO,MAAM,UAAU,qDAErB,CAAC"}
1
+ {"version":3,"file":"app-options.d.ts","sourceRoot":"","sources":["../src/app-options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAgB,MAAM,uBAAuB,CAAC;AACtF,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAElD,MAAM,WAAW,kBAAkB;IAElC;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAEhB,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IAEvB;;;OAGG;IACH,cAAc,CAAC,EAAE,QAAQ,CAAC;CAC1B;AAED;;GAEG;AACH,qBACa,oBAAqB,SAAQ,UAAU;IACvC,QAAQ,CAAC,OAAO,CAAC,EAAE,kBAAkB;gBAA5B,OAAO,CAAC,EAAE,kBAAkB;CAGjD;AAED;;;GAGG;AACH,eAAO,MAAM,UAAU,qDAErB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"app-options.js","sourceRoot":"","sources":["../src/app-options.ts"],"names":[],"mappings":";;;;AAAA,uDAAsF;AA6DtF;;GAEG;AAEI,IAAM,oBAAoB,GAA1B,MAAM,oBAAqB,SAAQ,wBAAU;IACnD,YAAqB,OAA4B;QAChD,KAAK,EAAE,CAAC;QADY,YAAO,GAAP,OAAO,CAAqB;IAEjD,CAAC;CACD,CAAA;AAJY,oBAAoB;IADhC,IAAA,0BAAY,EAAC,0BAA0B,CAAC;;GAC5B,oBAAoB,CAIhC;AAJY,oDAAoB;AAMjC;;;GAGG;AACU,QAAA,UAAU,GAAG,oBAAoB,CAAC,SAAS,CAAC;IACxD,YAAY,EAAE,CAAC,OAAO,CAAC;CACvB,CAAC,CAAC"}
1
+ {"version":3,"file":"app-options.js","sourceRoot":"","sources":["../src/app-options.ts"],"names":[],"mappings":";;;;AAAA,uDAAsF;AAmEtF;;GAEG;AAEI,IAAM,oBAAoB,GAA1B,MAAM,oBAAqB,SAAQ,wBAAU;IACnD,YAAqB,OAA4B;QAChD,KAAK,EAAE,CAAC;QADY,YAAO,GAAP,OAAO,CAAqB;IAEjD,CAAC;CACD,CAAA;AAJY,oBAAoB;IADhC,IAAA,0BAAY,EAAC,0BAA0B,CAAC;;GAC5B,oBAAoB,CAIhC;AAJY,oDAAoB;AAMjC;;;GAGG;AACU,QAAA,UAAU,GAAG,oBAAoB,CAAC,SAAS,CAAC;IACxD,YAAY,EAAE,CAAC,OAAO,CAAC;CACvB,CAAC,CAAC"}
@@ -138,7 +138,7 @@ let Application = Application_1 = class Application {
138
138
  runtime.providers = providers;
139
139
  let injector;
140
140
  try {
141
- injector = di_1.ReflectiveInjector.resolveAndCreate(providers);
141
+ injector = di_1.ReflectiveInjector.resolveAndCreate(providers, options.parentInjector);
142
142
  }
143
143
  catch (e) {
144
144
  console.error(`Failed to resolve injector:`);
@@ -1 +1 @@
1
- {"version":3,"file":"application.js","sourceRoot":"","sources":["../src/application.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"application.js","sourceRoot":"","sources":["../src/application.ts"],"names":[],"mappings":";;;;;AAAA,4BAA0B;AAE1B,6CAAqD;AACrD,qCAMsB;AACtB,+CAAyE;AACzE,iCAAyC;AACzC,uCAAoC;AACpC,mDAA+C;AAE/C,MAAa,qBAAqB;IACjC,YACC,OAA2B;QAE3B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;CAGD;AARD,sDAQC;AAED;;;;GAIG;AACH,MAAa,gBAAgB;IAA7B;QACC;;;WAGG;QACI,gBAAW,GAAgB,IAAI,CAAC;IAoCxC,CAAC;IAhCA;;OAEG;IACI,MAAM,KAAK,OAAO;QACxB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;IAC3D,CAAC;IAED;;;OAGG;IACU,GAAG,CAAI,QAA0B;;YAC7C,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;gBAC5B,IAAI,EAAE,0BAA0B;gBAChC,UAAU,EAAE;oBACX,CAAC,gBAAgB,CAAC,eAAe,CAAC,EAAE,IAAI;iBACxC;aACD,CAAC,CAAC;YAEH,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;QACzC,CAAC;KAAA;IAEM,OAAO,CAAI,QAAiB;QAClC,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YAC5B,IAAI,EAAE,0BAA0B;YAChC,UAAU,EAAE;gBACX,CAAC,gBAAgB,CAAC,eAAe,CAAC,EAAE,IAAI;aACxC;SACD,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;IACnC,CAAC;;AAxCF,4CAyCC;AAlCgB,gCAAe,GAAI,oCAAoC,CAAC;AAoCzE;;GAEG;AAEI,IAAM,WAAW,mBAAjB,MAAM,WAAW;IAAjB;QACG,YAAO,GAAG,IAAA,WAAM,EAAC,iBAAO,CAAC,CAAC;QAC3B,gBAAW,GAAG,IAAA,WAAM,EAAC,qBAAqB,CAAC,CAAC;QAC5C,UAAK,GAAG,IAAA,WAAM,EAAC,sBAAe,CAAC,CAAC;IA8HzC,CAAC;IA5HO,KAAK;QACX,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;IAEM,IAAI;QACV,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IACrB,CAAC;IAED,IAAI,QAAQ;QACX,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;IAC9B,CAAC;IAED,MAAM,CAAI,IAAyB,EAAE,aAAiB;QACrD,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IAC/C,CAAC;IAED,IAAI,IAAI;QACP,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;IACzB,CAAC;IAED,IAAI,OAAO;QACV,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;IACjC,CAAC;IAEO,MAAM,CAAC,WAAW,CAAC,WAAqB,EAAE,gBAAoC;QACrF,uEAAuE;QACvE,kCAAkC;QAElC,IAAI,oBAAoB,GAAG,kCAAoB,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QACzE,IAAI,kBAAkB,GAAuB,oBAAoB,CAAC,CAAC,CAAC,oBAAoB,CAAC,OAAO,CAAA,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;QAE3G,OAAO,MAAM,CAAC,MAAM,CACC;YACnB,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,KAAK;YACb,SAAS,EAAE,IAAI;YACf,SAAS,EAAE,EAAE;SACb,EACD,kBAAkB,EAClB,gBAAgB,CAChB,CAAC;IACH,CAAC;IAEO,MAAM,CAAC,mBAAmB,CAAC,MAAgB;QAClD,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE;YACjC,MAAM,IAAI,KAAK,CACd,sDAAsD;kBACpD,gCAAgC;kBAChC,GAAG,OAAO,MAAM,gBAAgB,MAAM,GAAG,CAC3C,CAAC;SACF;QAED,IAAI,cAAc,GAAG,qBAAgB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC1D,IAAI,CAAC,cAAc;YAClB,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACzE,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,SAAS,CAAC,WAAqB,EAAE,OAA4B;QAC1E,IAAI,gBAAgB,GAAG,IAAI,gBAAgB,EAAE,CAAC;QAC9C,OAAO,gBAAgB,CAAC,OAAO,CAAC,GAAG,EAAE;;YACpC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;YAEtC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;YAEjD,IAAI,OAAO,GAAG,IAAI,iBAAO,CAAC,WAAW,CAAC,CAAC;YAEvC,IAAI,SAAS,GAAe;gBAC3B,sBAAe;gBACf,4BAAY;gBACZ,oBAAW;gBACX,aAAI;aACJ,CAAC;YAEF,OAAO,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;YACvC,SAAS,CAAC,IAAI,CACb;gBACC,OAAO,EAAE,qBAAqB;gBAC9B,QAAQ,EAAE,IAAI,qBAAqB,CAAC,OAAO,CAAC;aAC5C,CACD,CAAC;YACF,SAAS,CAAC,IAAI,CAAC,aAAW,CAAC,CAAC;YAC5B,SAAS,CAAC,IAAI,CAAC,MAAA,OAAO,CAAC,SAAS,mCAAI,EAAE,CAAC,CAAC;YAExC,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;YAE9B,IAAI,QAA4B,CAAC;YACjC,IAAI;gBACH,QAAQ,GAAG,uBAAkB,CAAC,gBAAgB,CAAC,SAAS,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;aAClF;YAAC,OAAO,CAAC,EAAE;gBACX,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;gBAC7C,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACjB,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gBAC5B,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBACvB,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;gBAC1B,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;gBACjC,MAAM,CAAC,CAAC;aACR;YAEc,QAAQ,CAAC,GAAG,CAAC,4BAAY,CAAE,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAEnE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACvB,gBAAgB,CAAC,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,aAAW,CAAC,CAAC;YAE/D,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YAC5B,OAAO,CAAC,SAAS,EAAE,CAAC;YAEpB,IAAI,OAAO,CAAC,QAAQ,EAAE;gBACrB,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;gBACzC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aAChB;YAED,IAAI,OAAO,CAAC,SAAS;gBACpB,OAAO,CAAC,KAAK,EAAE,CAAC;YAEjB,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;YAEhC,OAAO,gBAAgB,CAAC,WAAW,CAAC;QACrC,CAAC,CAAC,CAAC;IACJ,CAAC;CAED,CAAA;AAjIY,WAAW;IADvB,IAAA,eAAU,GAAE;GACA,WAAW,CAiIvB;AAjIY,kCAAW"}
@@ -1,5 +1,5 @@
1
1
  import { Annotation, AnnotationDecorator } from '@alterior/annotations';
2
- import { Provider } from '@alterior/di';
2
+ import { Injector, Provider } from '@alterior/di';
3
3
  export interface ApplicationOptions {
4
4
  /**
5
5
  * Specify a human readable name for your application.
@@ -45,6 +45,11 @@ export interface ApplicationOptions {
45
45
  * Additional dependency injection providers to include in the application's injector.
46
46
  */
47
47
  providers?: Provider[];
48
+ /**
49
+ * An injector to use as the parent of the application injector. Optional, useful when doing more complex
50
+ * application bootstrapping.
51
+ */
52
+ parentInjector?: Injector;
48
53
  }
49
54
  /**
50
55
  * Used to attach an ApplicationOptions object onto a class definition.
@@ -1 +1 @@
1
- {"version":3,"file":"app-options.d.ts","sourceRoot":"","sources":["../src/app-options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAgB,MAAM,uBAAuB,CAAC;AACtF,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,MAAM,WAAW,kBAAkB;IAElC;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAEhB,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;CACvB;AAED;;GAEG;AACH,qBACa,oBAAqB,SAAQ,UAAU;IACvC,QAAQ,CAAC,OAAO,CAAC,EAAE,kBAAkB;gBAA5B,OAAO,CAAC,EAAE,kBAAkB;CAGjD;AAED;;;GAGG;AACH,eAAO,MAAM,UAAU,qDAErB,CAAC"}
1
+ {"version":3,"file":"app-options.d.ts","sourceRoot":"","sources":["../src/app-options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAgB,MAAM,uBAAuB,CAAC;AACtF,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAElD,MAAM,WAAW,kBAAkB;IAElC;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAEhB,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IAEvB;;;OAGG;IACH,cAAc,CAAC,EAAE,QAAQ,CAAC;CAC1B;AAED;;GAEG;AACH,qBACa,oBAAqB,SAAQ,UAAU;IACvC,QAAQ,CAAC,OAAO,CAAC,EAAE,kBAAkB;gBAA5B,OAAO,CAAC,EAAE,kBAAkB;CAGjD;AAED;;;GAGG;AACH,eAAO,MAAM,UAAU,qDAErB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"app-options.js","sourceRoot":"","sources":["../src/app-options.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAuB,YAAY,EAAE,MAAM,uBAAuB,CAAC;AA6DtF;;GAEG;AAEI,IAAM,oBAAoB,GAA1B,MAAM,oBAAqB,SAAQ,UAAU;IACnD,YAAqB,OAA4B;QAChD,KAAK,EAAE,CAAC;QADY,YAAO,GAAP,OAAO,CAAqB;IAEjD,CAAC;CACD,CAAA;AAJY,oBAAoB;IADhC,YAAY,CAAC,0BAA0B,CAAC;;GAC5B,oBAAoB,CAIhC;SAJY,oBAAoB;AAMjC;;;GAGG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,oBAAoB,CAAC,SAAS,CAAC;IACxD,YAAY,EAAE,CAAC,OAAO,CAAC;CACvB,CAAC,CAAC"}
1
+ {"version":3,"file":"app-options.js","sourceRoot":"","sources":["../src/app-options.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAuB,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAmEtF;;GAEG;AAEI,IAAM,oBAAoB,GAA1B,MAAM,oBAAqB,SAAQ,UAAU;IACnD,YAAqB,OAA4B;QAChD,KAAK,EAAE,CAAC;QADY,YAAO,GAAP,OAAO,CAAqB;IAEjD,CAAC;CACD,CAAA;AAJY,oBAAoB;IADhC,YAAY,CAAC,0BAA0B,CAAC;;GAC5B,oBAAoB,CAIhC;SAJY,oBAAoB;AAMjC;;;GAGG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,oBAAoB,CAAC,SAAS,CAAC;IACxD,YAAY,EAAE,CAAC,OAAO,CAAC;CACvB,CAAC,CAAC"}
@@ -133,7 +133,7 @@ let Application = Application_1 = class Application {
133
133
  runtime.providers = providers;
134
134
  let injector;
135
135
  try {
136
- injector = ReflectiveInjector.resolveAndCreate(providers);
136
+ injector = ReflectiveInjector.resolveAndCreate(providers, options.parentInjector);
137
137
  }
138
138
  catch (e) {
139
139
  console.error(`Failed to resolve injector:`);
@@ -1 +1 @@
1
- {"version":3,"file":"application.js","sourceRoot":"","sources":["../src/application.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"application.js","sourceRoot":"","sources":["../src/application.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alterior/runtime",
3
- "version": "3.7.2",
3
+ "version": "3.7.4",
4
4
  "description": "Core runtime for Alterior apps",
5
5
  "author": "The Alterior Project (https://github.com/alterior-mvc)",
6
6
  "license": "MIT",
@@ -47,5 +47,5 @@
47
47
  "zone.js": "^0.14.3"
48
48
  },
49
49
  "lernaKick": 1,
50
- "gitHead": "efb60f8ec439f11ce6fc0494f3fa1aa11a96c3f8"
50
+ "gitHead": "a88b37fe17d9827248d91fbeb9150d2e8dcefc32"
51
51
  }
@@ -1,5 +1,5 @@
1
1
  import { Annotation, AnnotationDecorator, MetadataName } from '@alterior/annotations';
2
- import { Provider } from '@alterior/di';
2
+ import { Injector, Provider } from '@alterior/di';
3
3
 
4
4
  export interface ApplicationOptions {
5
5
 
@@ -57,6 +57,12 @@ export interface ApplicationOptions {
57
57
  * Additional dependency injection providers to include in the application's injector.
58
58
  */
59
59
  providers?: Provider[];
60
+
61
+ /**
62
+ * An injector to use as the parent of the application injector. Optional, useful when doing more complex
63
+ * application bootstrapping.
64
+ */
65
+ parentInjector?: Injector;
60
66
  }
61
67
 
62
68
  /**
@@ -171,7 +171,7 @@ export class Application {
171
171
 
172
172
  let injector: ReflectiveInjector;
173
173
  try {
174
- injector = ReflectiveInjector.resolveAndCreate(providers);
174
+ injector = ReflectiveInjector.resolveAndCreate(providers, options.parentInjector);
175
175
  } catch (e) {
176
176
  console.error(`Failed to resolve injector:`);
177
177
  console.error(e);