ts-ioc-container 24.1.2 → 24.1.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.
package/cjm/hook.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ export declare const hook: (key: string | symbol) => MethodDecorator;
2
+ export declare function getHooks(target: Object, key: string | symbol): string[];
@@ -1,15 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getHooks = exports.hook = exports.getProp = exports.setProp = void 0;
4
- const setProp = (key, value) => (target) => {
5
- Reflect.defineMetadata(key, value, target);
6
- };
7
- exports.setProp = setProp;
8
- // eslint-disable-next-line @typescript-eslint/ban-types
9
- function getProp(target, key) {
10
- return Reflect.getOwnMetadata(key, target);
11
- }
12
- exports.getProp = getProp;
3
+ exports.getHooks = exports.hook = void 0;
13
4
  const hook = (key) => (target, propertyKey) => {
14
5
  const hooks = Reflect.hasMetadata(key, target.constructor) ? Reflect.getMetadata(key, target) : [];
15
6
  Reflect.defineMetadata(key, [...hooks, propertyKey], target.constructor); // eslint-disable-line @typescript-eslint/ban-types
@@ -20,4 +11,4 @@ function getHooks(target, key) {
20
11
  return Reflect.hasMetadata(key, target.constructor) ? Reflect.getMetadata(key, target.constructor) : [];
21
12
  }
22
13
  exports.getHooks = getHooks;
23
- //# sourceMappingURL=reflection.js.map
14
+ //# sourceMappingURL=hook.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hook.js","sourceRoot":"","sources":["../lib/hook.ts"],"names":[],"mappings":";;;AAAO,MAAM,IAAI,GACf,CAAC,GAAoB,EAAmB,EAAE,CAC1C,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE;IACtB,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACnG,OAAO,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC,GAAG,KAAK,EAAE,WAAW,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,mDAAmD;AAC/H,CAAC,CAAC;AALS,QAAA,IAAI,QAKb;AAEJ,wDAAwD;AACxD,SAAgB,QAAQ,CAAC,MAAc,EAAE,GAAoB;IAC3D,OAAO,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC1G,CAAC;AAFD,4BAEC"}
package/cjm/index.d.ts CHANGED
@@ -16,4 +16,4 @@ export { DependencyMissingKeyError } from './registration/DependencyMissingKeyEr
16
16
  export { ReflectionInjector, inject, by } from './injector/ReflectionInjector';
17
17
  export { SimpleInjector } from './injector/SimpleInjector';
18
18
  export { ProxyInjector } from './injector/ProxyInjector';
19
- export { hook, getHooks } from './reflection';
19
+ export { getHooks, hook } from './hook';
package/cjm/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getHooks = exports.hook = exports.ProxyInjector = exports.SimpleInjector = exports.by = exports.inject = exports.ReflectionInjector = exports.DependencyMissingKeyError = exports.Registration = exports.key = exports.AutoMockedContainer = exports.TaggedProvider = exports.tags = exports.SingletonProvider = exports.singleton = exports.ArgsProvider = exports.args = exports.argsFn = exports.provider = exports.Provider = exports.ContainerDisposedError = exports.MethodNotImplementedError = exports.DependencyNotFoundError = exports.Container = exports.isDependencyKey = void 0;
3
+ exports.hook = exports.getHooks = exports.ProxyInjector = exports.SimpleInjector = exports.by = exports.inject = exports.ReflectionInjector = exports.DependencyMissingKeyError = exports.Registration = exports.key = exports.AutoMockedContainer = exports.TaggedProvider = exports.tags = exports.SingletonProvider = exports.singleton = exports.ArgsProvider = exports.args = exports.argsFn = exports.provider = exports.Provider = exports.ContainerDisposedError = exports.MethodNotImplementedError = exports.DependencyNotFoundError = exports.Container = exports.isDependencyKey = void 0;
4
4
  var IContainer_1 = require("./container/IContainer");
5
5
  Object.defineProperty(exports, "isDependencyKey", { enumerable: true, get: function () { return IContainer_1.isDependencyKey; } });
6
6
  var Container_1 = require("./container/Container");
@@ -39,7 +39,7 @@ var SimpleInjector_1 = require("./injector/SimpleInjector");
39
39
  Object.defineProperty(exports, "SimpleInjector", { enumerable: true, get: function () { return SimpleInjector_1.SimpleInjector; } });
40
40
  var ProxyInjector_1 = require("./injector/ProxyInjector");
41
41
  Object.defineProperty(exports, "ProxyInjector", { enumerable: true, get: function () { return ProxyInjector_1.ProxyInjector; } });
42
- var reflection_1 = require("./reflection");
43
- Object.defineProperty(exports, "hook", { enumerable: true, get: function () { return reflection_1.hook; } });
44
- Object.defineProperty(exports, "getHooks", { enumerable: true, get: function () { return reflection_1.getHooks; } });
42
+ var hook_1 = require("./hook");
43
+ Object.defineProperty(exports, "getHooks", { enumerable: true, get: function () { return hook_1.getHooks; } });
44
+ Object.defineProperty(exports, "hook", { enumerable: true, get: function () { return hook_1.hook; } });
45
45
  //# sourceMappingURL=index.js.map
package/cjm/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":";;;AAAA,qDAQgC;AAJ9B,6GAAA,eAAe,OAAA;AAMjB,mDAAkD;AAAzC,sGAAA,SAAS,OAAA;AAGlB,+EAA8E;AAArE,kIAAA,uBAAuB,OAAA;AAChC,mFAAkF;AAAzE,sIAAA,yBAAyB,OAAA;AAClC,6EAA4E;AAAnE,gIAAA,sBAAsB,OAAA;AAC/B,gDAAyD;AAAhD,oGAAA,QAAQ,OAAA;AAAE,oGAAA,QAAQ,OAAA;AAC3B,wDAA6E;AAA5D,sGAAA,MAAM,OAAA;AAAE,oGAAA,IAAI,OAAA;AAAE,4GAAA,YAAY,OAAA;AAC3C,kEAA4E;AAAnE,8GAAA,SAAS,OAAA;AAAE,sHAAA,iBAAiB,OAAA;AACrC,4DAAiE;AAAxD,sGAAA,IAAI,OAAA;AAAE,gHAAA,cAAc,OAAA;AAC7B,uEAAsE;AAA7D,0HAAA,mBAAmB,OAAA;AAC5B,4DAAgE;AAAvD,mGAAA,GAAG,OAAA;AAAE,4GAAA,YAAY,OAAA;AAC1B,sFAAqF;AAA5E,sIAAA,yBAAyB,OAAA;AAClC,oEAA+E;AAAtE,wHAAA,kBAAkB,OAAA;AAAE,4GAAA,MAAM,OAAA;AAAE,wGAAA,EAAE,OAAA;AACvC,4DAA2D;AAAlD,gHAAA,cAAc,OAAA;AACvB,0DAAyD;AAAhD,8GAAA,aAAa,OAAA;AACtB,2CAA8C;AAArC,kGAAA,IAAI,OAAA;AAAE,sGAAA,QAAQ,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":";;;AAAA,qDAQgC;AAJ9B,6GAAA,eAAe,OAAA;AAMjB,mDAAkD;AAAzC,sGAAA,SAAS,OAAA;AAGlB,+EAA8E;AAArE,kIAAA,uBAAuB,OAAA;AAChC,mFAAkF;AAAzE,sIAAA,yBAAyB,OAAA;AAClC,6EAA4E;AAAnE,gIAAA,sBAAsB,OAAA;AAC/B,gDAAyD;AAAhD,oGAAA,QAAQ,OAAA;AAAE,oGAAA,QAAQ,OAAA;AAC3B,wDAA6E;AAA5D,sGAAA,MAAM,OAAA;AAAE,oGAAA,IAAI,OAAA;AAAE,4GAAA,YAAY,OAAA;AAC3C,kEAA4E;AAAnE,8GAAA,SAAS,OAAA;AAAE,sHAAA,iBAAiB,OAAA;AACrC,4DAAiE;AAAxD,sGAAA,IAAI,OAAA;AAAE,gHAAA,cAAc,OAAA;AAC7B,uEAAsE;AAA7D,0HAAA,mBAAmB,OAAA;AAC5B,4DAAgE;AAAvD,mGAAA,GAAG,OAAA;AAAE,4GAAA,YAAY,OAAA;AAC1B,sFAAqF;AAA5E,sIAAA,yBAAyB,OAAA;AAClC,oEAA+E;AAAtE,wHAAA,kBAAkB,OAAA;AAAE,4GAAA,MAAM,OAAA;AAAE,wGAAA,EAAE,OAAA;AACvC,4DAA2D;AAAlD,gHAAA,cAAc,OAAA;AACvB,0DAAyD;AAAhD,8GAAA,aAAa,OAAA;AACtB,+BAAwC;AAA/B,gGAAA,QAAQ,OAAA;AAAE,4FAAA,IAAI,OAAA"}
@@ -2,20 +2,20 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ReflectionInjector = exports.inject = exports.by = void 0;
4
4
  const utils_1 = require("../utils");
5
- const reflection_1 = require("../reflection");
6
5
  const by = (key, ...args) => (c) => c.resolve(key, ...args);
7
6
  exports.by = by;
8
- const METADATA_KEY = 'INJECT_FN_LIST';
7
+ const INJECT_KEY = 'INJECT_FN_LIST';
9
8
  const inject = (value) => (target, propertyKey, parameterIndex) => {
10
9
  var _a;
11
- const metadata = (_a = Reflect.getOwnMetadata(METADATA_KEY, target)) !== null && _a !== void 0 ? _a : [];
10
+ const metadata = (_a = Reflect.getOwnMetadata(INJECT_KEY, target)) !== null && _a !== void 0 ? _a : [];
12
11
  metadata[parameterIndex] = value;
13
- Reflect.defineMetadata(METADATA_KEY, metadata, target);
12
+ Reflect.defineMetadata(INJECT_KEY, metadata, target);
14
13
  };
15
14
  exports.inject = inject;
16
15
  class ReflectionInjector {
17
16
  resolve(container, Target, ...deps) {
18
- const injectionFns = (0, reflection_1.getProp)(Target, METADATA_KEY) || [];
17
+ var _a;
18
+ const injectionFns = (_a = Reflect.getOwnMetadata(INJECT_KEY, Target)) !== null && _a !== void 0 ? _a : [];
19
19
  const args = (0, utils_1.merge)(injectionFns, deps.map(utils_1.constant)).map((fn) => fn(container));
20
20
  return new Target(...args);
21
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ReflectionInjector.js","sourceRoot":"","sources":["../../lib/injector/ReflectionInjector.ts"],"names":[],"mappings":";;;AAEA,oCAAwD;AACxD,8CAAwC;AAIjC,MAAM,EAAE,GACb,CAAI,GAAsB,EAAE,GAAG,IAAe,EAAE,EAAE,CAClD,CAAC,CAAa,EAAE,EAAE,CAChB,CAAC,CAAC,OAAO,CAAI,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;AAHlB,QAAA,EAAE,MAGgB;AAE/B,MAAM,YAAY,GAAG,gBAAgB,CAAC;AAC/B,MAAM,MAAM,GACjB,CAAC,KAAe,EAAsB,EAAE,CACxC,CAAC,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,EAAE;;IACtC,MAAM,QAAQ,GAAG,MAAA,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE,MAAM,CAAC,mCAAI,EAAE,CAAC;IACpE,QAAQ,CAAC,cAAc,CAAC,GAAG,KAAK,CAAC;IACjC,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;AACzD,CAAC,CAAC;AANS,QAAA,MAAM,UAMf;AAEJ,MAAa,kBAAkB;IAC7B,OAAO,CAAI,SAAqB,EAAE,MAAsB,EAAE,GAAG,IAAe;QAC1E,MAAM,YAAY,GAAG,IAAA,oBAAO,EAAa,MAAM,EAAE,YAAY,CAAC,IAAI,EAAE,CAAC;QACrE,MAAM,IAAI,GAAG,IAAA,aAAK,EAAC,YAAY,EAAE,IAAI,CAAC,GAAG,CAAC,gBAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;QAChF,OAAO,IAAI,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;IAC7B,CAAC;CACF;AAND,gDAMC"}
1
+ {"version":3,"file":"ReflectionInjector.js","sourceRoot":"","sources":["../../lib/injector/ReflectionInjector.ts"],"names":[],"mappings":";;;AAEA,oCAAwD;AAIjD,MAAM,EAAE,GACb,CAAI,GAAsB,EAAE,GAAG,IAAe,EAAE,EAAE,CAClD,CAAC,CAAa,EAAE,EAAE,CAChB,CAAC,CAAC,OAAO,CAAI,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;AAHlB,QAAA,EAAE,MAGgB;AAE/B,MAAM,UAAU,GAAG,gBAAgB,CAAC;AAE7B,MAAM,MAAM,GACjB,CAAC,KAAe,EAAsB,EAAE,CACxC,CAAC,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,EAAE;;IACtC,MAAM,QAAQ,GAAe,MAAA,OAAO,CAAC,cAAc,CAAC,UAAU,EAAE,MAAM,CAAC,mCAAI,EAAE,CAAC;IAC9E,QAAQ,CAAC,cAAc,CAAC,GAAG,KAAK,CAAC;IACjC,OAAO,CAAC,cAAc,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;AACvD,CAAC,CAAC;AANS,QAAA,MAAM,UAMf;AAEJ,MAAa,kBAAkB;IAC7B,OAAO,CAAI,SAAqB,EAAE,MAAsB,EAAE,GAAG,IAAe;;QAC1E,MAAM,YAAY,GAAe,MAAA,OAAO,CAAC,cAAc,CAAC,UAAU,EAAE,MAAM,CAAC,mCAAI,EAAE,CAAC;QAClF,MAAM,IAAI,GAAG,IAAA,aAAK,EAAC,YAAY,EAAE,IAAI,CAAC,GAAG,CAAC,gBAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;QAChF,OAAO,IAAI,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;IAC7B,CAAC;CACF;AAND,gDAMC"}
@@ -0,0 +1,2 @@
1
+ export declare const setMetadata: <T>(key: string | symbol, value: T) => ClassDecorator;
2
+ export declare function getMetadata<T>(target: Object, key: string | symbol): T | undefined;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getMetadata = exports.setMetadata = void 0;
4
+ const setMetadata = (key, value) => (target) => {
5
+ Reflect.defineMetadata(key, value, target);
6
+ };
7
+ exports.setMetadata = setMetadata;
8
+ // eslint-disable-next-line @typescript-eslint/ban-types
9
+ function getMetadata(target, key) {
10
+ return Reflect.getOwnMetadata(key, target);
11
+ }
12
+ exports.getMetadata = getMetadata;
13
+ //# sourceMappingURL=metadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../lib/metadata.ts"],"names":[],"mappings":";;;AAAO,MAAM,WAAW,GACtB,CAAI,GAAoB,EAAE,KAAQ,EAAkB,EAAE,CACtD,CAAC,MAAM,EAAE,EAAE;IACT,OAAO,CAAC,cAAc,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AAC7C,CAAC,CAAC;AAJS,QAAA,WAAW,eAIpB;AAEJ,wDAAwD;AACxD,SAAgB,WAAW,CAAI,MAAc,EAAE,GAAoB;IACjE,OAAO,OAAO,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,CAAM,CAAC;AAClD,CAAC;AAFD,kCAEC"}
@@ -2,8 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Provider = exports.provider = void 0;
4
4
  const utils_1 = require("../utils");
5
- const reflection_1 = require("../reflection");
6
- const provider = (...mappers) => (0, reflection_1.setProp)('provider', mappers);
5
+ const metadata_1 = require("../metadata");
6
+ const PROVIDER_KEY = 'provider';
7
+ const provider = (...mappers) => (0, metadata_1.setMetadata)(PROVIDER_KEY, mappers);
7
8
  exports.provider = provider;
8
9
  class Provider {
9
10
  constructor(resolveDependency) {
@@ -11,7 +12,7 @@ class Provider {
11
12
  }
12
13
  static fromClass(Target) {
13
14
  var _a;
14
- const mappers = (_a = (0, reflection_1.getProp)(Target, 'provider')) !== null && _a !== void 0 ? _a : [];
15
+ const mappers = (_a = (0, metadata_1.getMetadata)(Target, PROVIDER_KEY)) !== null && _a !== void 0 ? _a : [];
15
16
  return new Provider((container, ...args) => container.resolve(Target, ...args)).pipe(...mappers);
16
17
  }
17
18
  static fromValue(value) {
@@ -1 +1 @@
1
- {"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../lib/provider/Provider.ts"],"names":[],"mappings":";;;AAEA,oCAAoD;AACpD,8CAAiD;AAE1C,MAAM,QAAQ,GAAG,CAAC,GAAG,OAA2B,EAAkB,EAAE,CAAC,IAAA,oBAAO,EAAC,UAAU,EAAE,OAAO,CAAC,CAAC;AAA5F,QAAA,QAAQ,YAAoF;AAEzG,MAAa,QAAQ;IAUnB,YAA6B,iBAAuC;QAAvC,sBAAiB,GAAjB,iBAAiB,CAAsB;IAAG,CAAC;IATxE,MAAM,CAAC,SAAS,CAAI,MAAsB;;QACxC,MAAM,OAAO,GAAG,MAAA,IAAA,oBAAO,EAAwB,MAAM,EAAE,UAAU,CAAC,mCAAI,EAAE,CAAC;QACzE,OAAO,IAAI,QAAQ,CAAC,CAAC,SAAS,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;IACnG,CAAC;IAED,MAAM,CAAC,SAAS,CAAI,KAAQ;QAC1B,OAAO,IAAI,QAAQ,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IAID,IAAI,CAAC,GAAG,OAA8B;QACpC,OAAO,IAAA,YAAI,EAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,KAAK;QACH,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC9C,CAAC;IAED,OAAO,CAAC,SAAqB,EAAE,GAAG,IAAe;QAC/C,OAAO,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,CAAC;IACpD,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AA3BD,4BA2BC"}
1
+ {"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../lib/provider/Provider.ts"],"names":[],"mappings":";;;AAEA,oCAAoD;AACpD,0CAAuD;AAEvD,MAAM,YAAY,GAAG,UAAU,CAAC;AAEzB,MAAM,QAAQ,GAAG,CAAC,GAAG,OAA2B,EAAkB,EAAE,CAAC,IAAA,sBAAW,EAAC,YAAY,EAAE,OAAO,CAAC,CAAC;AAAlG,QAAA,QAAQ,YAA0F;AAE/G,MAAa,QAAQ;IAUnB,YAA6B,iBAAuC;QAAvC,sBAAiB,GAAjB,iBAAiB,CAAsB;IAAG,CAAC;IATxE,MAAM,CAAC,SAAS,CAAI,MAAsB;;QACxC,MAAM,OAAO,GAAG,MAAA,IAAA,sBAAW,EAAwB,MAAM,EAAE,YAAY,CAAC,mCAAI,EAAE,CAAC;QAC/E,OAAO,IAAI,QAAQ,CAAC,CAAC,SAAS,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;IACnG,CAAC;IAED,MAAM,CAAC,SAAS,CAAI,KAAQ;QAC1B,OAAO,IAAI,QAAQ,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IAID,IAAI,CAAC,GAAG,OAA8B;QACpC,OAAO,IAAA,YAAI,EAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,KAAK;QACH,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC9C,CAAC;IAED,OAAO,CAAC,SAAqB,EAAE,GAAG,IAAe;QAC/C,OAAO,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,CAAC;IACpD,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AA3BD,4BA2BC"}
@@ -2,9 +2,10 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Registration = exports.key = void 0;
4
4
  const DependencyMissingKeyError_1 = require("./DependencyMissingKeyError");
5
- const reflection_1 = require("../reflection");
5
+ const metadata_1 = require("../metadata");
6
6
  const Provider_1 = require("../provider/Provider");
7
- const key = (value) => (0, reflection_1.setProp)('DependencyKey', value);
7
+ const DEPENDENCY_KEY = 'DependencyKey';
8
+ const key = (value) => (0, metadata_1.setMetadata)(DEPENDENCY_KEY, value);
8
9
  exports.key = key;
9
10
  class Registration {
10
11
  constructor(key, provider) {
@@ -12,7 +13,7 @@ class Registration {
12
13
  this.provider = provider;
13
14
  }
14
15
  static fromClass(Target) {
15
- const dependencyKey = (0, reflection_1.getProp)(Target, 'DependencyKey');
16
+ const dependencyKey = (0, metadata_1.getMetadata)(Target, DEPENDENCY_KEY);
16
17
  if (dependencyKey === undefined) {
17
18
  throw new DependencyMissingKeyError_1.DependencyMissingKeyError(`Pls provide dependency key for ${Target.name}`);
18
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Registration.js","sourceRoot":"","sources":["../../lib/registration/Registration.ts"],"names":[],"mappings":";;;AAAA,2EAAwE;AAGxE,8CAAiD;AACjD,mDAAgD;AAGzC,MAAM,GAAG,GAAG,CAAC,KAAoB,EAAkB,EAAE,CAAC,IAAA,oBAAO,EAAC,eAAe,EAAE,KAAK,CAAC,CAAC;AAAhF,QAAA,GAAG,OAA6E;AAE7F,MAAa,YAAY;IASvB,YAAoB,GAAkB,EAAU,QAAmB;QAA/C,QAAG,GAAH,GAAG,CAAe;QAAU,aAAQ,GAAR,QAAQ,CAAW;IAAG,CAAC;IARvE,MAAM,CAAC,SAAS,CAAC,MAA4B;QAC3C,MAAM,aAAa,GAAG,IAAA,oBAAO,EAAgB,MAAM,EAAE,eAAe,CAAC,CAAC;QACtE,IAAI,aAAa,KAAK,SAAS,EAAE;YAC/B,MAAM,IAAI,qDAAyB,CAAC,kCAAkC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;SACtF;QACD,OAAO,IAAI,YAAY,CAAC,aAAa,EAAE,mBAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IACrE,CAAC;IAID,IAAI,CAAC,GAAG,OAA2B;QACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CAAC,SAAqB;QAC3B,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC;CACF;AAnBD,oCAmBC"}
1
+ {"version":3,"file":"Registration.js","sourceRoot":"","sources":["../../lib/registration/Registration.ts"],"names":[],"mappings":";;;AAAA,2EAAwE;AAGxE,0CAAuD;AACvD,mDAAgD;AAGhD,MAAM,cAAc,GAAG,eAAe,CAAC;AAEhC,MAAM,GAAG,GAAG,CAAC,KAAoB,EAAkB,EAAE,CAAC,IAAA,sBAAW,EAAC,cAAc,EAAE,KAAK,CAAC,CAAC;AAAnF,QAAA,GAAG,OAAgF;AAEhG,MAAa,YAAY;IASvB,YAAoB,GAAkB,EAAU,QAAmB;QAA/C,QAAG,GAAH,GAAG,CAAe;QAAU,aAAQ,GAAR,QAAQ,CAAW;IAAG,CAAC;IARvE,MAAM,CAAC,SAAS,CAAC,MAA4B;QAC3C,MAAM,aAAa,GAAG,IAAA,sBAAW,EAAgB,MAAM,EAAE,cAAc,CAAC,CAAC;QACzE,IAAI,aAAa,KAAK,SAAS,EAAE;YAC/B,MAAM,IAAI,qDAAyB,CAAC,kCAAkC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;SACtF;QACD,OAAO,IAAI,YAAY,CAAC,aAAa,EAAE,mBAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IACrE,CAAC;IAID,IAAI,CAAC,GAAG,OAA2B;QACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CAAC,SAAqB;QAC3B,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC;CACF;AAnBD,oCAmBC"}
package/cjm/utils.js CHANGED
@@ -14,7 +14,9 @@ function merge(baseArr, insertArr) {
14
14
  }
15
15
  const [b1, ...restBaseArr] = baseArr;
16
16
  const [i1, ...restInsertArr] = insertArr;
17
- return b1 === undefined ? [i1].concat(merge(restBaseArr, restInsertArr)) : [b1].concat(merge(restBaseArr, insertArr));
17
+ return b1 === undefined
18
+ ? [i1].concat(merge(restBaseArr, restInsertArr))
19
+ : [b1].concat(merge(restBaseArr, insertArr));
18
20
  }
19
21
  exports.merge = merge;
20
22
  const constant = (value) => () => value;
package/cjm/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../lib/utils.ts"],"names":[],"mappings":";;;AAIA,SAAgB,IAAI,CAAI,GAAG,OAAmB;IAC5C,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;AAC1E,CAAC;AAFD,oBAEC;AAED,SAAgB,KAAK,CAAI,OAA0B,EAAE,SAAc;IACjE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;QACxB,OAAO,SAAS,CAAC;KAClB;IAED,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;QAC1B,OAAO,OAAc,CAAC;KACvB;IACD,MAAM,CAAC,EAAE,EAAE,GAAG,WAAW,CAAC,GAAG,OAAO,CAAC;IACrC,MAAM,CAAC,EAAE,EAAE,GAAG,aAAa,CAAC,GAAG,SAAS,CAAC;IACzC,OAAO,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC;AACxH,CAAC;AAXD,sBAWC;AAEM,MAAM,QAAQ,GACnB,CAAI,KAAQ,EAAE,EAAE,CAChB,GAAG,EAAE,CACH,KAAK,CAAC;AAHG,QAAA,QAAQ,YAGX"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../lib/utils.ts"],"names":[],"mappings":";;;AAIA,SAAgB,IAAI,CAAI,GAAG,OAAmB;IAC5C,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;AAC1E,CAAC;AAFD,oBAEC;AAED,SAAgB,KAAK,CAAI,OAA0B,EAAE,SAAc;IACjE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;QACxB,OAAO,SAAS,CAAC;KAClB;IAED,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;QAC1B,OAAO,OAAc,CAAC;KACvB;IACD,MAAM,CAAC,EAAE,EAAE,GAAG,WAAW,CAAC,GAAG,OAAO,CAAC;IACrC,MAAM,CAAC,EAAE,EAAE,GAAG,aAAa,CAAC,GAAG,SAAS,CAAC;IACzC,OAAO,EAAE,KAAK,SAAS;QACrB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC,EAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC;AACtD,CAAC;AAbD,sBAaC;AAEM,MAAM,QAAQ,GACnB,CAAI,KAAQ,EAAE,EAAE,CAChB,GAAG,EAAE,CACH,KAAK,CAAC;AAHG,QAAA,QAAQ,YAGX"}
package/esm/hook.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ export declare const hook: (key: string | symbol) => MethodDecorator;
2
+ export declare function getHooks(target: Object, key: string | symbol): string[];
@@ -1,10 +1,3 @@
1
- export const setProp = (key, value) => (target) => {
2
- Reflect.defineMetadata(key, value, target);
3
- };
4
- // eslint-disable-next-line @typescript-eslint/ban-types
5
- export function getProp(target, key) {
6
- return Reflect.getOwnMetadata(key, target);
7
- }
8
1
  export const hook = (key) => (target, propertyKey) => {
9
2
  const hooks = Reflect.hasMetadata(key, target.constructor) ? Reflect.getMetadata(key, target) : [];
10
3
  Reflect.defineMetadata(key, [...hooks, propertyKey], target.constructor); // eslint-disable-line @typescript-eslint/ban-types
@@ -13,4 +6,4 @@ export const hook = (key) => (target, propertyKey) => {
13
6
  export function getHooks(target, key) {
14
7
  return Reflect.hasMetadata(key, target.constructor) ? Reflect.getMetadata(key, target.constructor) : [];
15
8
  }
16
- //# sourceMappingURL=reflection.js.map
9
+ //# sourceMappingURL=hook.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hook.js","sourceRoot":"","sources":["../lib/hook.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,IAAI,GACf,CAAC,GAAoB,EAAmB,EAAE,CAC1C,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE;IACtB,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACnG,OAAO,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC,GAAG,KAAK,EAAE,WAAW,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,mDAAmD;AAC/H,CAAC,CAAC;AAEJ,wDAAwD;AACxD,MAAM,UAAU,QAAQ,CAAC,MAAc,EAAE,GAAoB;IAC3D,OAAO,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC1G,CAAC"}
package/esm/index.d.ts CHANGED
@@ -16,4 +16,4 @@ export { DependencyMissingKeyError } from './registration/DependencyMissingKeyEr
16
16
  export { ReflectionInjector, inject, by } from './injector/ReflectionInjector';
17
17
  export { SimpleInjector } from './injector/SimpleInjector';
18
18
  export { ProxyInjector } from './injector/ProxyInjector';
19
- export { hook, getHooks } from './reflection';
19
+ export { getHooks, hook } from './hook';
package/esm/index.js CHANGED
@@ -13,5 +13,5 @@ export { DependencyMissingKeyError } from './registration/DependencyMissingKeyEr
13
13
  export { ReflectionInjector, inject, by } from './injector/ReflectionInjector';
14
14
  export { SimpleInjector } from './injector/SimpleInjector';
15
15
  export { ProxyInjector } from './injector/ProxyInjector';
16
- export { hook, getHooks } from './reflection';
16
+ export { getHooks, hook } from './hook';
17
17
  //# sourceMappingURL=index.js.map
package/esm/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,eAAe,GAIhB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAGlD,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AAClF,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAU,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC7E,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAC5E,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,yBAAyB,EAAE,MAAM,0CAA0C,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,+BAA+B,CAAC;AAC/E,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,eAAe,GAIhB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAGlD,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AAClF,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAU,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC7E,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAC5E,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,yBAAyB,EAAE,MAAM,0CAA0C,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,+BAA+B,CAAC;AAC/E,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC"}
@@ -1,16 +1,16 @@
1
1
  import { constant, merge } from '../utils';
2
- import { getProp } from '../reflection';
3
2
  export const by = (key, ...args) => (c) => c.resolve(key, ...args);
4
- const METADATA_KEY = 'INJECT_FN_LIST';
3
+ const INJECT_KEY = 'INJECT_FN_LIST';
5
4
  export const inject = (value) => (target, propertyKey, parameterIndex) => {
6
5
  var _a;
7
- const metadata = (_a = Reflect.getOwnMetadata(METADATA_KEY, target)) !== null && _a !== void 0 ? _a : [];
6
+ const metadata = (_a = Reflect.getOwnMetadata(INJECT_KEY, target)) !== null && _a !== void 0 ? _a : [];
8
7
  metadata[parameterIndex] = value;
9
- Reflect.defineMetadata(METADATA_KEY, metadata, target);
8
+ Reflect.defineMetadata(INJECT_KEY, metadata, target);
10
9
  };
11
10
  export class ReflectionInjector {
12
11
  resolve(container, Target, ...deps) {
13
- const injectionFns = getProp(Target, METADATA_KEY) || [];
12
+ var _a;
13
+ const injectionFns = (_a = Reflect.getOwnMetadata(INJECT_KEY, Target)) !== null && _a !== void 0 ? _a : [];
14
14
  const args = merge(injectionFns, deps.map(constant)).map((fn) => fn(container));
15
15
  return new Target(...args);
16
16
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ReflectionInjector.js","sourceRoot":"","sources":["../../lib/injector/ReflectionInjector.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAe,KAAK,EAAE,MAAM,UAAU,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAIxC,MAAM,CAAC,MAAM,EAAE,GACb,CAAI,GAAsB,EAAE,GAAG,IAAe,EAAE,EAAE,CAClD,CAAC,CAAa,EAAE,EAAE,CAChB,CAAC,CAAC,OAAO,CAAI,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;AAE/B,MAAM,YAAY,GAAG,gBAAgB,CAAC;AACtC,MAAM,CAAC,MAAM,MAAM,GACjB,CAAC,KAAe,EAAsB,EAAE,CACxC,CAAC,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,EAAE;;IACtC,MAAM,QAAQ,GAAG,MAAA,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE,MAAM,CAAC,mCAAI,EAAE,CAAC;IACpE,QAAQ,CAAC,cAAc,CAAC,GAAG,KAAK,CAAC;IACjC,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;AACzD,CAAC,CAAC;AAEJ,MAAM,OAAO,kBAAkB;IAC7B,OAAO,CAAI,SAAqB,EAAE,MAAsB,EAAE,GAAG,IAAe;QAC1E,MAAM,YAAY,GAAG,OAAO,CAAa,MAAM,EAAE,YAAY,CAAC,IAAI,EAAE,CAAC;QACrE,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;QAChF,OAAO,IAAI,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;IAC7B,CAAC;CACF"}
1
+ {"version":3,"file":"ReflectionInjector.js","sourceRoot":"","sources":["../../lib/injector/ReflectionInjector.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAe,KAAK,EAAE,MAAM,UAAU,CAAC;AAIxD,MAAM,CAAC,MAAM,EAAE,GACb,CAAI,GAAsB,EAAE,GAAG,IAAe,EAAE,EAAE,CAClD,CAAC,CAAa,EAAE,EAAE,CAChB,CAAC,CAAC,OAAO,CAAI,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;AAE/B,MAAM,UAAU,GAAG,gBAAgB,CAAC;AAEpC,MAAM,CAAC,MAAM,MAAM,GACjB,CAAC,KAAe,EAAsB,EAAE,CACxC,CAAC,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,EAAE;;IACtC,MAAM,QAAQ,GAAe,MAAA,OAAO,CAAC,cAAc,CAAC,UAAU,EAAE,MAAM,CAAC,mCAAI,EAAE,CAAC;IAC9E,QAAQ,CAAC,cAAc,CAAC,GAAG,KAAK,CAAC;IACjC,OAAO,CAAC,cAAc,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;AACvD,CAAC,CAAC;AAEJ,MAAM,OAAO,kBAAkB;IAC7B,OAAO,CAAI,SAAqB,EAAE,MAAsB,EAAE,GAAG,IAAe;;QAC1E,MAAM,YAAY,GAAe,MAAA,OAAO,CAAC,cAAc,CAAC,UAAU,EAAE,MAAM,CAAC,mCAAI,EAAE,CAAC;QAClF,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;QAChF,OAAO,IAAI,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;IAC7B,CAAC;CACF"}
@@ -0,0 +1,2 @@
1
+ export declare const setMetadata: <T>(key: string | symbol, value: T) => ClassDecorator;
2
+ export declare function getMetadata<T>(target: Object, key: string | symbol): T | undefined;
@@ -0,0 +1,8 @@
1
+ export const setMetadata = (key, value) => (target) => {
2
+ Reflect.defineMetadata(key, value, target);
3
+ };
4
+ // eslint-disable-next-line @typescript-eslint/ban-types
5
+ export function getMetadata(target, key) {
6
+ return Reflect.getOwnMetadata(key, target);
7
+ }
8
+ //# sourceMappingURL=metadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../lib/metadata.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GACtB,CAAI,GAAoB,EAAE,KAAQ,EAAkB,EAAE,CACtD,CAAC,MAAM,EAAE,EAAE;IACT,OAAO,CAAC,cAAc,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AAC7C,CAAC,CAAC;AAEJ,wDAAwD;AACxD,MAAM,UAAU,WAAW,CAAI,MAAc,EAAE,GAAoB;IACjE,OAAO,OAAO,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,CAAM,CAAC;AAClD,CAAC"}
@@ -1,13 +1,14 @@
1
1
  import { pipe } from '../utils';
2
- import { getProp, setProp } from '../reflection';
3
- export const provider = (...mappers) => setProp('provider', mappers);
2
+ import { getMetadata, setMetadata } from '../metadata';
3
+ const PROVIDER_KEY = 'provider';
4
+ export const provider = (...mappers) => setMetadata(PROVIDER_KEY, mappers);
4
5
  export class Provider {
5
6
  constructor(resolveDependency) {
6
7
  this.resolveDependency = resolveDependency;
7
8
  }
8
9
  static fromClass(Target) {
9
10
  var _a;
10
- const mappers = (_a = getProp(Target, 'provider')) !== null && _a !== void 0 ? _a : [];
11
+ const mappers = (_a = getMetadata(Target, PROVIDER_KEY)) !== null && _a !== void 0 ? _a : [];
11
12
  return new Provider((container, ...args) => container.resolve(Target, ...args)).pipe(...mappers);
12
13
  }
13
14
  static fromValue(value) {
@@ -1 +1 @@
1
- {"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../lib/provider/Provider.ts"],"names":[],"mappings":"AAEA,OAAO,EAAsB,IAAI,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAEjD,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,GAAG,OAA2B,EAAkB,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;AAEzG,MAAM,OAAO,QAAQ;IAUnB,YAA6B,iBAAuC;QAAvC,sBAAiB,GAAjB,iBAAiB,CAAsB;IAAG,CAAC;IATxE,MAAM,CAAC,SAAS,CAAI,MAAsB;;QACxC,MAAM,OAAO,GAAG,MAAA,OAAO,CAAwB,MAAM,EAAE,UAAU,CAAC,mCAAI,EAAE,CAAC;QACzE,OAAO,IAAI,QAAQ,CAAC,CAAC,SAAS,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;IACnG,CAAC;IAED,MAAM,CAAC,SAAS,CAAI,KAAQ;QAC1B,OAAO,IAAI,QAAQ,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IAID,IAAI,CAAC,GAAG,OAA8B;QACpC,OAAO,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,KAAK;QACH,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC9C,CAAC;IAED,OAAO,CAAC,SAAqB,EAAE,GAAG,IAAe;QAC/C,OAAO,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,CAAC;IACpD,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
1
+ {"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../lib/provider/Provider.ts"],"names":[],"mappings":"AAEA,OAAO,EAAsB,IAAI,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAEvD,MAAM,YAAY,GAAG,UAAU,CAAC;AAEhC,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,GAAG,OAA2B,EAAkB,EAAE,CAAC,WAAW,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;AAE/G,MAAM,OAAO,QAAQ;IAUnB,YAA6B,iBAAuC;QAAvC,sBAAiB,GAAjB,iBAAiB,CAAsB;IAAG,CAAC;IATxE,MAAM,CAAC,SAAS,CAAI,MAAsB;;QACxC,MAAM,OAAO,GAAG,MAAA,WAAW,CAAwB,MAAM,EAAE,YAAY,CAAC,mCAAI,EAAE,CAAC;QAC/E,OAAO,IAAI,QAAQ,CAAC,CAAC,SAAS,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;IACnG,CAAC;IAED,MAAM,CAAC,SAAS,CAAI,KAAQ;QAC1B,OAAO,IAAI,QAAQ,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IAID,IAAI,CAAC,GAAG,OAA8B;QACpC,OAAO,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,KAAK;QACH,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC9C,CAAC;IAED,OAAO,CAAC,SAAqB,EAAE,GAAG,IAAe;QAC/C,OAAO,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,CAAC;IACpD,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
@@ -1,14 +1,15 @@
1
1
  import { DependencyMissingKeyError } from './DependencyMissingKeyError';
2
- import { getProp, setProp } from '../reflection';
2
+ import { getMetadata, setMetadata } from '../metadata';
3
3
  import { Provider } from '../provider/Provider';
4
- export const key = (value) => setProp('DependencyKey', value);
4
+ const DEPENDENCY_KEY = 'DependencyKey';
5
+ export const key = (value) => setMetadata(DEPENDENCY_KEY, value);
5
6
  export class Registration {
6
7
  constructor(key, provider) {
7
8
  this.key = key;
8
9
  this.provider = provider;
9
10
  }
10
11
  static fromClass(Target) {
11
- const dependencyKey = getProp(Target, 'DependencyKey');
12
+ const dependencyKey = getMetadata(Target, DEPENDENCY_KEY);
12
13
  if (dependencyKey === undefined) {
13
14
  throw new DependencyMissingKeyError(`Pls provide dependency key for ${Target.name}`);
14
15
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Registration.js","sourceRoot":"","sources":["../../lib/registration/Registration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAGxE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAGhD,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,KAAoB,EAAkB,EAAE,CAAC,OAAO,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;AAE7F,MAAM,OAAO,YAAY;IASvB,YAAoB,GAAkB,EAAU,QAAmB;QAA/C,QAAG,GAAH,GAAG,CAAe;QAAU,aAAQ,GAAR,QAAQ,CAAW;IAAG,CAAC;IARvE,MAAM,CAAC,SAAS,CAAC,MAA4B;QAC3C,MAAM,aAAa,GAAG,OAAO,CAAgB,MAAM,EAAE,eAAe,CAAC,CAAC;QACtE,IAAI,aAAa,KAAK,SAAS,EAAE;YAC/B,MAAM,IAAI,yBAAyB,CAAC,kCAAkC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;SACtF;QACD,OAAO,IAAI,YAAY,CAAC,aAAa,EAAE,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IACrE,CAAC;IAID,IAAI,CAAC,GAAG,OAA2B;QACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CAAC,SAAqB;QAC3B,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC;CACF"}
1
+ {"version":3,"file":"Registration.js","sourceRoot":"","sources":["../../lib/registration/Registration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAGxE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAGhD,MAAM,cAAc,GAAG,eAAe,CAAC;AAEvC,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,KAAoB,EAAkB,EAAE,CAAC,WAAW,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;AAEhG,MAAM,OAAO,YAAY;IASvB,YAAoB,GAAkB,EAAU,QAAmB;QAA/C,QAAG,GAAH,GAAG,CAAe;QAAU,aAAQ,GAAR,QAAQ,CAAW;IAAG,CAAC;IARvE,MAAM,CAAC,SAAS,CAAC,MAA4B;QAC3C,MAAM,aAAa,GAAG,WAAW,CAAgB,MAAM,EAAE,cAAc,CAAC,CAAC;QACzE,IAAI,aAAa,KAAK,SAAS,EAAE;YAC/B,MAAM,IAAI,yBAAyB,CAAC,kCAAkC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;SACtF;QACD,OAAO,IAAI,YAAY,CAAC,aAAa,EAAE,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IACrE,CAAC;IAID,IAAI,CAAC,GAAG,OAA2B;QACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CAAC,SAAqB;QAC3B,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC;CACF"}
package/esm/utils.js CHANGED
@@ -10,7 +10,9 @@ export function merge(baseArr, insertArr) {
10
10
  }
11
11
  const [b1, ...restBaseArr] = baseArr;
12
12
  const [i1, ...restInsertArr] = insertArr;
13
- return b1 === undefined ? [i1].concat(merge(restBaseArr, restInsertArr)) : [b1].concat(merge(restBaseArr, insertArr));
13
+ return b1 === undefined
14
+ ? [i1].concat(merge(restBaseArr, restInsertArr))
15
+ : [b1].concat(merge(restBaseArr, insertArr));
14
16
  }
15
17
  export const constant = (value) => () => value;
16
18
  //# sourceMappingURL=utils.js.map
package/esm/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../lib/utils.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,IAAI,CAAI,GAAG,OAAmB;IAC5C,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,KAAK,CAAI,OAA0B,EAAE,SAAc;IACjE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;QACxB,OAAO,SAAS,CAAC;KAClB;IAED,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;QAC1B,OAAO,OAAc,CAAC;KACvB;IACD,MAAM,CAAC,EAAE,EAAE,GAAG,WAAW,CAAC,GAAG,OAAO,CAAC;IACrC,MAAM,CAAC,EAAE,EAAE,GAAG,aAAa,CAAC,GAAG,SAAS,CAAC;IACzC,OAAO,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC;AACxH,CAAC;AAED,MAAM,CAAC,MAAM,QAAQ,GACnB,CAAI,KAAQ,EAAE,EAAE,CAChB,GAAG,EAAE,CACH,KAAK,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../lib/utils.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,IAAI,CAAI,GAAG,OAAmB;IAC5C,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,KAAK,CAAI,OAA0B,EAAE,SAAc;IACjE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;QACxB,OAAO,SAAS,CAAC;KAClB;IAED,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;QAC1B,OAAO,OAAc,CAAC;KACvB;IACD,MAAM,CAAC,EAAE,EAAE,GAAG,WAAW,CAAC,GAAG,OAAO,CAAC;IACrC,MAAM,CAAC,EAAE,EAAE,GAAG,aAAa,CAAC,GAAG,SAAS,CAAC;IACzC,OAAO,EAAE,KAAK,SAAS;QACrB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC,EAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,CAAC,MAAM,QAAQ,GACnB,CAAI,KAAQ,EAAE,EAAE,CAChB,GAAG,EAAE,CACH,KAAK,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ts-ioc-container",
3
- "version": "24.1.2",
3
+ "version": "24.1.4",
4
4
  "description": "Typescript IoC container",
5
5
  "publishConfig": {
6
6
  "access": "public",
@@ -45,6 +45,7 @@
45
45
  },
46
46
  "devDependencies": {
47
47
  "@types/jest": "27.0.2",
48
+ "@types/node": "^18.15.3",
48
49
  "handlebars": "^4.7.7",
49
50
  "jest": "27.2.3",
50
51
  "moq.ts": "^7.3.4",
@@ -55,5 +56,5 @@
55
56
  "ts-node": "^10.9.1",
56
57
  "typescript": "4.4.3"
57
58
  },
58
- "gitHead": "8fa2d6d809a1ecc908dedede4fb24f4ab83b4cb3"
59
+ "gitHead": "dd3895e23fa48c24662d569523266c48fa8fb8cf"
59
60
  }
@@ -1,4 +0,0 @@
1
- export declare const setProp: <T>(key: string | symbol, value: T) => ClassDecorator;
2
- export declare function getProp<T>(target: Object, key: string | symbol): T | undefined;
3
- export declare const hook: (key: string | symbol) => MethodDecorator;
4
- export declare function getHooks(target: Object, key: string | symbol): string[];
@@ -1 +0,0 @@
1
- {"version":3,"file":"reflection.js","sourceRoot":"","sources":["../lib/reflection.ts"],"names":[],"mappings":";;;AAAO,MAAM,OAAO,GAClB,CAAI,GAAoB,EAAE,KAAQ,EAAkB,EAAE,CACtD,CAAC,MAAM,EAAE,EAAE;IACT,OAAO,CAAC,cAAc,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AAC7C,CAAC,CAAC;AAJS,QAAA,OAAO,WAIhB;AAEJ,wDAAwD;AACxD,SAAgB,OAAO,CAAI,MAAc,EAAE,GAAoB;IAC7D,OAAO,OAAO,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,CAAM,CAAC;AAClD,CAAC;AAFD,0BAEC;AAEM,MAAM,IAAI,GACf,CAAC,GAAoB,EAAmB,EAAE,CAC1C,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE;IACtB,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACnG,OAAO,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC,GAAG,KAAK,EAAE,WAAW,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,mDAAmD;AAC/H,CAAC,CAAC;AALS,QAAA,IAAI,QAKb;AAEJ,wDAAwD;AACxD,SAAgB,QAAQ,CAAC,MAAc,EAAE,GAAoB;IAC3D,OAAO,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC1G,CAAC;AAFD,4BAEC"}
@@ -1,4 +0,0 @@
1
- export declare const setProp: <T>(key: string | symbol, value: T) => ClassDecorator;
2
- export declare function getProp<T>(target: Object, key: string | symbol): T | undefined;
3
- export declare const hook: (key: string | symbol) => MethodDecorator;
4
- export declare function getHooks(target: Object, key: string | symbol): string[];
@@ -1 +0,0 @@
1
- {"version":3,"file":"reflection.js","sourceRoot":"","sources":["../lib/reflection.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAClB,CAAI,GAAoB,EAAE,KAAQ,EAAkB,EAAE,CACtD,CAAC,MAAM,EAAE,EAAE;IACT,OAAO,CAAC,cAAc,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AAC7C,CAAC,CAAC;AAEJ,wDAAwD;AACxD,MAAM,UAAU,OAAO,CAAI,MAAc,EAAE,GAAoB;IAC7D,OAAO,OAAO,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,CAAM,CAAC;AAClD,CAAC;AAED,MAAM,CAAC,MAAM,IAAI,GACf,CAAC,GAAoB,EAAmB,EAAE,CAC1C,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE;IACtB,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACnG,OAAO,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC,GAAG,KAAK,EAAE,WAAW,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,mDAAmD;AAC/H,CAAC,CAAC;AAEJ,wDAAwD;AACxD,MAAM,UAAU,QAAQ,CAAC,MAAc,EAAE,GAAoB;IAC3D,OAAO,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC1G,CAAC"}