@rhtml/di 0.0.125 → 0.0.127

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.
package/dist/index.d.ts CHANGED
@@ -9,6 +9,7 @@ export declare type ObjectUnion<T = any> = T | ObjectType<T> | InjectionToken<T>
9
9
  export interface Options {
10
10
  before?: (...args: any[]) => any[];
11
11
  after?: (...args: any[]) => any[];
12
+ meta?: (this: any) => any;
12
13
  }
13
14
  export declare class InjectionToken<T> {
14
15
  }
package/dist/index.js CHANGED
@@ -93,6 +93,9 @@ const createDecorator = (options) => (Base) => class extends Base {
93
93
  }
94
94
  super(...args);
95
95
  const e = this;
96
+ if (options && options.meta) {
97
+ options.meta.call(this);
98
+ }
96
99
  if (e.OnInit) {
97
100
  e.OnInit();
98
101
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ export declare const Module: <T>(entries?: {
9
9
  providers?: any[] | T | {
10
10
  provide: unknown;
11
11
  deps?: unknown[];
12
- useFactory: (...args: any[]) => Promise<unknown>;
12
+ useFactory: (...args: any[]) => any;
13
13
  }[];
14
14
  components?: T | ObjectType<unknown>[];
15
15
  bootstrap?: ObjectUnion[];
@@ -21,13 +21,13 @@ export declare const Module: <T>(entries?: {
21
21
  export declare type WithProviders<T = unknown> = ObjectUnion<T> & {
22
22
  provide: T | (string & InjectionToken<unknown>);
23
23
  deps?: (T | (string & InjectionToken<unknown>))[];
24
- useFactory: (...args: any[]) => Promise<unknown>;
24
+ useFactory: (...args: any[]) => any;
25
25
  };
26
26
  export interface ModuleWithProviders<T = any> {
27
- module: ExtendedFunction;
27
+ module: ExtendedFunction<T>;
28
28
  providers: WithProviders<T>[];
29
29
  }
30
- export interface ExtendedFunction {
31
- forRoot?: () => ModuleWithProviders;
30
+ export interface ExtendedFunction<T> {
31
+ forRoot?: (...args: any[]) => ModuleWithProviders<T>;
32
32
  }
33
33
  export declare function Bootstrap<T>(app: T): Promise<void>;
@@ -31,13 +31,14 @@ const Module = (entries = {}) => (0, index_1.createDecorator)({
31
31
  for (const entry of filterNonNull((entries.imports || []))) {
32
32
  setImport(entry);
33
33
  }
34
- for (const entry of filterNonNull((entries.providers || []))) {
35
- if (typeof entry.useFactory === 'function') {
36
- ProvidersMetadata.set(entry, entry);
37
- }
38
- else {
39
- (0, index_1.set)(entry);
40
- }
34
+ const providers = (entries.providers || []);
35
+ const factories = filterNonNull(providers).filter(v => !!v.useFactory);
36
+ const services = filterNonNull(providers).filter(v => !v.useFactory);
37
+ for (const entry of factories) {
38
+ ProvidersMetadata.set(entry, entry);
39
+ }
40
+ for (const entry of services) {
41
+ (0, index_1.set)(entry);
41
42
  }
42
43
  for (const entry of filterNonNull((entries.bootstrap || []))) {
43
44
  BootstrapsMetadata.set(entry, entry);
@@ -1 +1 @@
1
- {"version":3,"file":"module.js","sourceRoot":"","sources":["../../src/module/module.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,uDAAuD;AACvD,oCAOkB;AAElB,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAA8B,CAAC;AAChE,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAA4B,CAAC;AAE/D,MAAM,aAAa,GAAG,CAAI,CAAM,EAAO,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAE/D,MAAM,SAAS,GAAG,CAAC,KAA0B,EAAE,EAAE;IAC/C,IAAI,KAAK,CAAC,MAAM,EAAE;QAChB,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACxD,IAAA,WAAG,EAAC,KAAK,CAAC,MAAM,CAAC,CAAC;KACnB;SAAM;QACL,IAAA,WAAG,EAAC,KAAK,CAAC,CAAC;KACZ;AACH,CAAC,CAAC;AAEK,MAAM,SAAS,GAAG,CAAC,OAAiB,EAAE,EAAE,CAAC,IAAA,uBAAe,EAAC,OAAO,CAAC,CAAC;AAA5D,QAAA,SAAS,aAAmD;AAElE,MAAM,MAAM,GAAG,CACpB,UAKI,EAAE,EACN,EAAE,CACF,IAAA,uBAAe,EAAC;IACd,MAAM,CAAC,IAAI;QACT,KAAK,MAAM,KAAK,IAAI,aAAa,CAC/B,CAAE,OAAO,CAAC,OAAmB,IAAI,EAAE,CAA0B,CAC9D,EAAE;YACD,SAAS,CAAC,KAAK,CAAC,CAAC;SAClB;QAED,KAAK,MAAM,KAAK,IAAI,aAAa,CAC/B,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,CAAoB,CAC7C,EAAE;YACD,IAAI,OAAO,KAAK,CAAC,UAAU,KAAK,UAAU,EAAE;gBAC1C,iBAAiB,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;aACrC;iBAAM;gBACL,IAAA,WAAG,EAAC,KAAK,CAAC,CAAC;aACZ;SACF;QAED,KAAK,MAAM,KAAK,IAAI,aAAa,CAC/B,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,CAAkB,CAC3C,EAAE;YACD,kBAAkB,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;SACtC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAC,CAAC;AAlCQ,QAAA,MAAM,UAkCd;AAiBL,SAAsB,SAAS,CAAI,GAAM;;QACvC,SAAS,CAAC,GAAqC,CAAC,CAAC;QACjD,MAAM,OAAO,CAAC,GAAG,CACf,CAAC,GAAG,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAO,KAAK,EAAE,EAAE,gDAClD,OAAA,IAAA,WAAG,EAAC,MAAM,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,WAAG,CAAC,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA,GAAA,CAC3E,CACF,CAAC;QACF,CAAC,GAAG,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,WAAG,EAAC,KAAK,CAAC,CAAC,CAAC;IAC9D,CAAC;CAAA;AARD,8BAQC"}
1
+ {"version":3,"file":"module.js","sourceRoot":"","sources":["../../src/module/module.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,uDAAuD;AACvD,oCAOkB;AAElB,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAA8B,CAAC;AAChE,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAA4B,CAAC;AAE/D,MAAM,aAAa,GAAG,CAAI,CAAM,EAAO,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAE/D,MAAM,SAAS,GAAG,CAAC,KAA0B,EAAE,EAAE;IAC/C,IAAI,KAAK,CAAC,MAAM,EAAE;QAChB,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACxD,IAAA,WAAG,EAAC,KAAK,CAAC,MAAM,CAAC,CAAC;KACnB;SAAM;QACL,IAAA,WAAG,EAAC,KAAK,CAAC,CAAC;KACZ;AACH,CAAC,CAAC;AAEK,MAAM,SAAS,GAAG,CAAC,OAAiB,EAAE,EAAE,CAAC,IAAA,uBAAe,EAAC,OAAO,CAAC,CAAC;AAA5D,QAAA,SAAS,aAAmD;AAElE,MAAM,MAAM,GAAG,CACpB,UAKI,EAAE,EACN,EAAE,CACF,IAAA,uBAAe,EAAC;IACd,MAAM,CAAC,IAAI;QACT,KAAK,MAAM,KAAK,IAAI,aAAa,CAC/B,CAAE,OAAO,CAAC,OAAmB,IAAI,EAAE,CAA0B,CAC9D,EAAE;YACD,SAAS,CAAC,KAAK,CAAC,CAAC;SAClB;QAED,MAAM,SAAS,GAAG,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,CAAoB,CAAC;QAC/D,MAAM,SAAS,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QACvE,MAAM,QAAQ,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QAErE,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE;YAC7B,iBAAiB,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;SACrC;QAED,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE;YAC5B,IAAA,WAAG,EAAC,KAAK,CAAC,CAAC;SACZ;QAED,KAAK,MAAM,KAAK,IAAI,aAAa,CAC/B,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,CAAkB,CAC3C,EAAE;YACD,kBAAkB,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;SACtC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAC,CAAC;AApCQ,QAAA,MAAM,UAoCd;AAiBL,SAAsB,SAAS,CAAI,GAAM;;QACvC,SAAS,CAAC,GAAqC,CAAC,CAAC;QACjD,MAAM,OAAO,CAAC,GAAG,CACf,CAAC,GAAG,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAO,KAAK,EAAE,EAAE,gDAClD,OAAA,IAAA,WAAG,EAAC,MAAM,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,WAAG,CAAC,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA,GAAA,CAC3E,CACF,CAAC;QACF,CAAC,GAAG,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,WAAG,EAAC,KAAK,CAAC,CAAC,CAAC;IAC9D,CAAC;CAAA;AARD,8BAQC"}
@@ -9,7 +9,7 @@ export declare const Module: <T>(entries?: {
9
9
  providers?: any[] | T | {
10
10
  provide: unknown;
11
11
  deps?: unknown[];
12
- useFactory: (...args: any[]) => Promise<unknown>;
12
+ useFactory: (...args: any[]) => any;
13
13
  }[];
14
14
  components?: T | ObjectType<unknown>[];
15
15
  bootstrap?: ObjectUnion[];
@@ -21,13 +21,13 @@ export declare const Module: <T>(entries?: {
21
21
  export declare type WithProviders<T = unknown> = ObjectUnion<T> & {
22
22
  provide: T | (string & InjectionToken<unknown>);
23
23
  deps?: (T | (string & InjectionToken<unknown>))[];
24
- useFactory: (...args: any[]) => Promise<unknown>;
24
+ useFactory: (...args: any[]) => any;
25
25
  };
26
26
  export interface ModuleWithProviders<T = any> {
27
- module: ExtendedFunction;
27
+ module: ExtendedFunction<T>;
28
28
  providers: WithProviders<T>[];
29
29
  }
30
- export interface ExtendedFunction {
31
- forRoot?: () => ModuleWithProviders;
30
+ export interface ExtendedFunction<T> {
31
+ forRoot?: (...args: any[]) => ModuleWithProviders<T>;
32
32
  }
33
33
  export declare function Bootstrap<T>(app: T): Promise<void>;
@@ -31,13 +31,14 @@ const Module = (entries = {}) => (0, index_1.createDecorator)({
31
31
  for (const entry of filterNonNull((entries.imports || []))) {
32
32
  setImport(entry);
33
33
  }
34
- for (const entry of filterNonNull((entries.providers || []))) {
35
- if (typeof entry.useFactory === 'function') {
36
- ProvidersMetadata.set(entry, entry);
37
- }
38
- else {
39
- (0, index_1.set)(entry);
40
- }
34
+ const providers = (entries.providers || []);
35
+ const factories = filterNonNull(providers).filter(v => !!v.useFactory);
36
+ const services = filterNonNull(providers).filter(v => !v.useFactory);
37
+ for (const entry of factories) {
38
+ ProvidersMetadata.set(entry, entry);
39
+ }
40
+ for (const entry of services) {
41
+ (0, index_1.set)(entry);
41
42
  }
42
43
  for (const entry of filterNonNull((entries.bootstrap || []))) {
43
44
  BootstrapsMetadata.set(entry, entry);
@@ -1 +1 @@
1
- {"version":3,"file":"module.js","sourceRoot":"","sources":["../../src/module/module.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,uDAAuD;AACvD,oCAOkB;AAElB,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAA8B,CAAC;AAChE,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAA4B,CAAC;AAE/D,MAAM,aAAa,GAAG,CAAI,CAAM,EAAO,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAE/D,MAAM,SAAS,GAAG,CAAC,KAA0B,EAAE,EAAE;IAC/C,IAAI,KAAK,CAAC,MAAM,EAAE;QAChB,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACxD,IAAA,WAAG,EAAC,KAAK,CAAC,MAAM,CAAC,CAAC;KACnB;SAAM;QACL,IAAA,WAAG,EAAC,KAAK,CAAC,CAAC;KACZ;AACH,CAAC,CAAC;AAEK,MAAM,SAAS,GAAG,CAAC,OAAiB,EAAE,EAAE,CAAC,IAAA,uBAAe,EAAC,OAAO,CAAC,CAAC;AAA5D,QAAA,SAAS,aAAmD;AAElE,MAAM,MAAM,GAAG,CACpB,UAKI,EAAE,EACN,EAAE,CACF,IAAA,uBAAe,EAAC;IACd,MAAM,CAAC,IAAI;QACT,KAAK,MAAM,KAAK,IAAI,aAAa,CAC/B,CAAE,OAAO,CAAC,OAAmB,IAAI,EAAE,CAA0B,CAC9D,EAAE;YACD,SAAS,CAAC,KAAK,CAAC,CAAC;SAClB;QAED,KAAK,MAAM,KAAK,IAAI,aAAa,CAC/B,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,CAAoB,CAC7C,EAAE;YACD,IAAI,OAAO,KAAK,CAAC,UAAU,KAAK,UAAU,EAAE;gBAC1C,iBAAiB,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;aACrC;iBAAM;gBACL,IAAA,WAAG,EAAC,KAAK,CAAC,CAAC;aACZ;SACF;QAED,KAAK,MAAM,KAAK,IAAI,aAAa,CAC/B,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,CAAkB,CAC3C,EAAE;YACD,kBAAkB,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;SACtC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAC,CAAC;AAlCQ,QAAA,MAAM,UAkCd;AAiBL,SAAsB,SAAS,CAAI,GAAM;;QACvC,SAAS,CAAC,GAAqC,CAAC,CAAC;QACjD,MAAM,OAAO,CAAC,GAAG,CACf,CAAC,GAAG,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAO,KAAK,EAAE,EAAE,gDAClD,OAAA,IAAA,WAAG,EAAC,MAAM,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,WAAG,CAAC,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA,GAAA,CAC3E,CACF,CAAC;QACF,CAAC,GAAG,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,WAAG,EAAC,KAAK,CAAC,CAAC,CAAC;IAC9D,CAAC;CAAA;AARD,8BAQC"}
1
+ {"version":3,"file":"module.js","sourceRoot":"","sources":["../../src/module/module.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,uDAAuD;AACvD,oCAOkB;AAElB,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAA8B,CAAC;AAChE,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAA4B,CAAC;AAE/D,MAAM,aAAa,GAAG,CAAI,CAAM,EAAO,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAE/D,MAAM,SAAS,GAAG,CAAC,KAA0B,EAAE,EAAE;IAC/C,IAAI,KAAK,CAAC,MAAM,EAAE;QAChB,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACxD,IAAA,WAAG,EAAC,KAAK,CAAC,MAAM,CAAC,CAAC;KACnB;SAAM;QACL,IAAA,WAAG,EAAC,KAAK,CAAC,CAAC;KACZ;AACH,CAAC,CAAC;AAEK,MAAM,SAAS,GAAG,CAAC,OAAiB,EAAE,EAAE,CAAC,IAAA,uBAAe,EAAC,OAAO,CAAC,CAAC;AAA5D,QAAA,SAAS,aAAmD;AAElE,MAAM,MAAM,GAAG,CACpB,UAKI,EAAE,EACN,EAAE,CACF,IAAA,uBAAe,EAAC;IACd,MAAM,CAAC,IAAI;QACT,KAAK,MAAM,KAAK,IAAI,aAAa,CAC/B,CAAE,OAAO,CAAC,OAAmB,IAAI,EAAE,CAA0B,CAC9D,EAAE;YACD,SAAS,CAAC,KAAK,CAAC,CAAC;SAClB;QAED,MAAM,SAAS,GAAG,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,CAAoB,CAAC;QAC/D,MAAM,SAAS,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QACvE,MAAM,QAAQ,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QAErE,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE;YAC7B,iBAAiB,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;SACrC;QAED,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE;YAC5B,IAAA,WAAG,EAAC,KAAK,CAAC,CAAC;SACZ;QAED,KAAK,MAAM,KAAK,IAAI,aAAa,CAC/B,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,CAAkB,CAC3C,EAAE;YACD,kBAAkB,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;SACtC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAC,CAAC;AApCQ,QAAA,MAAM,UAoCd;AAiBL,SAAsB,SAAS,CAAI,GAAM;;QACvC,SAAS,CAAC,GAAqC,CAAC,CAAC;QACjD,MAAM,OAAO,CAAC,GAAG,CACf,CAAC,GAAG,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAO,KAAK,EAAE,EAAE,gDAClD,OAAA,IAAA,WAAG,EAAC,MAAM,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,WAAG,CAAC,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA,GAAA,CAC3E,CACF,CAAC;QACF,CAAC,GAAG,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,WAAG,EAAC,KAAK,CAAC,CAAC,CAAC;IAC9D,CAAC;CAAA;AARD,8BAQC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rhtml/di",
3
- "version": "0.0.125",
3
+ "version": "0.0.127",
4
4
  "description": "RHTML simplest Dependency Injection",
5
5
  "scripts": {
6
6
  "start": "npx gapi start --local --path=./example/main.ts",