react-obsidian 2.20.1 → 2.21.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.
Files changed (122) hide show
  1. package/babel.config.legacy.js +13 -0
  2. package/dist/src/decorators/Graph.d.ts +2 -2
  3. package/dist/src/decorators/Graph.d.ts.map +1 -1
  4. package/dist/src/decorators/Graph.js +3 -3
  5. package/dist/src/decorators/Graph.js.map +1 -1
  6. package/dist/src/decorators/inject/Inject.d.ts +1 -1
  7. package/dist/src/decorators/inject/Inject.d.ts.map +1 -1
  8. package/dist/src/decorators/inject/Inject.js +7 -7
  9. package/dist/src/decorators/inject/Inject.js.map +1 -1
  10. package/dist/src/decorators/inject/inject.legacy.d.ts +2 -0
  11. package/dist/src/decorators/inject/inject.legacy.d.ts.map +1 -0
  12. package/dist/src/decorators/inject/inject.legacy.js +12 -0
  13. package/dist/src/decorators/inject/inject.legacy.js.map +1 -0
  14. package/dist/src/decorators/inject/inject.modern.d.ts +5 -0
  15. package/dist/src/decorators/inject/inject.modern.d.ts.map +1 -0
  16. package/dist/src/decorators/inject/{LateInject.js → inject.modern.js} +6 -6
  17. package/dist/src/decorators/inject/inject.modern.js.map +1 -0
  18. package/dist/src/decorators/injectable/Injectable.d.ts.map +1 -0
  19. package/dist/src/decorators/injectable/Injectable.js.map +1 -0
  20. package/dist/src/decorators/lateInject/LateInject.d.ts.map +1 -0
  21. package/dist/src/decorators/lateInject/LateInject.js +14 -0
  22. package/dist/src/decorators/lateInject/LateInject.js.map +1 -0
  23. package/dist/src/decorators/lateInject/lateInject.legacy.d.ts +2 -0
  24. package/dist/src/decorators/lateInject/lateInject.legacy.d.ts.map +1 -0
  25. package/dist/src/decorators/lateInject/lateInject.legacy.js +12 -0
  26. package/dist/src/decorators/lateInject/lateInject.legacy.js.map +1 -0
  27. package/dist/src/decorators/lateInject/lateInject.modern.d.ts +5 -0
  28. package/dist/src/decorators/lateInject/lateInject.modern.d.ts.map +1 -0
  29. package/dist/src/decorators/lateInject/lateInject.modern.js +14 -0
  30. package/dist/src/decorators/lateInject/lateInject.modern.js.map +1 -0
  31. package/dist/src/decorators/provides/Provides.d.ts +1 -2
  32. package/dist/src/decorators/provides/Provides.d.ts.map +1 -1
  33. package/dist/src/decorators/provides/Provides.js +7 -8
  34. package/dist/src/decorators/provides/Provides.js.map +1 -1
  35. package/dist/src/decorators/provides/provides.legacy.d.ts +3 -0
  36. package/dist/src/decorators/provides/provides.legacy.d.ts.map +1 -0
  37. package/dist/src/decorators/provides/provides.legacy.js +13 -0
  38. package/dist/src/decorators/provides/provides.legacy.js.map +1 -0
  39. package/dist/src/decorators/provides/provides.modern.d.ts +2 -0
  40. package/dist/src/decorators/provides/provides.modern.d.ts.map +1 -0
  41. package/dist/src/decorators/provides/provides.modern.js +34 -0
  42. package/dist/src/decorators/provides/provides.modern.js.map +1 -0
  43. package/dist/src/decorators/singleton/Singleton.d.ts +2 -0
  44. package/dist/src/decorators/singleton/Singleton.d.ts.map +1 -0
  45. package/dist/src/decorators/singleton/Singleton.js +14 -0
  46. package/dist/src/decorators/singleton/Singleton.js.map +1 -0
  47. package/dist/src/decorators/singleton/singleton.legacy.d.ts +4 -0
  48. package/dist/src/decorators/singleton/singleton.legacy.d.ts.map +1 -0
  49. package/dist/src/decorators/singleton/singleton.legacy.js +10 -0
  50. package/dist/src/decorators/singleton/singleton.legacy.js.map +1 -0
  51. package/dist/src/decorators/singleton/singleton.modern.d.ts +2 -0
  52. package/dist/src/decorators/singleton/singleton.modern.d.ts.map +1 -0
  53. package/dist/src/decorators/singleton/singleton.modern.js +9 -0
  54. package/dist/src/decorators/singleton/singleton.modern.js.map +1 -0
  55. package/dist/src/index.d.ts +6 -6
  56. package/dist/src/index.d.ts.map +1 -1
  57. package/dist/src/index.js +6 -6
  58. package/dist/src/index.js.map +1 -1
  59. package/dist/src/utils/decorators.d.ts +2 -0
  60. package/dist/src/utils/decorators.d.ts.map +1 -0
  61. package/dist/src/utils/decorators.js +7 -0
  62. package/dist/src/utils/decorators.js.map +1 -0
  63. package/dist/test/fixtures/CircularDependencyFromSubgraph.js +66 -21
  64. package/dist/test/fixtures/CircularDependencyFromSubgraph.js.map +1 -1
  65. package/dist/test/fixtures/CircularDependencyGraph.js +66 -21
  66. package/dist/test/fixtures/CircularDependencyGraph.js.map +1 -1
  67. package/dist/test/fixtures/CircularDependencyGraph2.js +78 -39
  68. package/dist/test/fixtures/CircularDependencyGraph2.js.map +1 -1
  69. package/dist/test/fixtures/GraphWithMultipleDependencies.js +84 -48
  70. package/dist/test/fixtures/GraphWithMultipleDependencies.js.map +1 -1
  71. package/dist/test/fixtures/GraphWithOnBind.js +69 -24
  72. package/dist/test/fixtures/GraphWithOnBind.js.map +1 -1
  73. package/dist/test/fixtures/LifecycleBoundGraph.js +79 -41
  74. package/dist/test/fixtures/LifecycleBoundGraph.js.map +1 -1
  75. package/dist/test/fixtures/LifecycleBoundWithLifecycleBoundSubgraph.js +66 -22
  76. package/dist/test/fixtures/LifecycleBoundWithLifecycleBoundSubgraph.js.map +1 -1
  77. package/dist/test/fixtures/MainGraph.js +72 -31
  78. package/dist/test/fixtures/MainGraph.js.map +1 -1
  79. package/dist/test/fixtures/ScopedLifecycleBoundGraph.js +56 -11
  80. package/dist/test/fixtures/ScopedLifecycleBoundGraph.js.map +1 -1
  81. package/dist/test/fixtures/SingletonGraph.js +67 -27
  82. package/dist/test/fixtures/SingletonGraph.js.map +1 -1
  83. package/dist/test/fixtures/Subgraph.js +84 -48
  84. package/dist/test/fixtures/Subgraph.js.map +1 -1
  85. package/dist/test/fixtures/SubgraphWithCircularDependency.js +72 -31
  86. package/dist/test/fixtures/SubgraphWithCircularDependency.js.map +1 -1
  87. package/dist/test/fixtures/ThrowingMainGraph.js +66 -21
  88. package/dist/test/fixtures/ThrowingMainGraph.js.map +1 -1
  89. package/dist/test/fixtures/UniqueNumberGraph.js +73 -37
  90. package/dist/test/fixtures/UniqueNumberGraph.js.map +1 -1
  91. package/jest.config.legacy.js +26 -0
  92. package/package.json +21 -17
  93. package/src/decorators/Graph.ts +5 -5
  94. package/src/decorators/inject/Inject.ts +7 -8
  95. package/src/decorators/inject/inject.legacy.ts +11 -0
  96. package/src/decorators/inject/inject.modern.ts +12 -0
  97. package/src/decorators/lateInject/LateInject.ts +11 -0
  98. package/src/decorators/lateInject/lateInject.legacy.ts +11 -0
  99. package/src/decorators/lateInject/lateInject.modern.ts +12 -0
  100. package/src/decorators/provides/Provides.ts +8 -7
  101. package/src/decorators/provides/provides.legacy.ts +13 -0
  102. package/src/decorators/provides/provides.modern.ts +36 -0
  103. package/src/decorators/singleton/Singleton.ts +11 -0
  104. package/src/decorators/singleton/singleton.legacy.ts +13 -0
  105. package/src/decorators/singleton/singleton.modern.ts +8 -0
  106. package/src/index.ts +6 -6
  107. package/src/utils/decorators.ts +3 -0
  108. package/wallaby.legacy.js +9 -0
  109. package/dist/src/decorators/Singleton.d.ts +0 -4
  110. package/dist/src/decorators/Singleton.d.ts.map +0 -1
  111. package/dist/src/decorators/Singleton.js +0 -12
  112. package/dist/src/decorators/Singleton.js.map +0 -1
  113. package/dist/src/decorators/inject/Injectable.d.ts.map +0 -1
  114. package/dist/src/decorators/inject/Injectable.js.map +0 -1
  115. package/dist/src/decorators/inject/LateInject.d.ts.map +0 -1
  116. package/dist/src/decorators/inject/LateInject.js.map +0 -1
  117. package/src/decorators/Singleton.ts +0 -15
  118. package/src/decorators/inject/LateInject.ts +0 -8
  119. /package/dist/src/decorators/{inject → injectable}/Injectable.d.ts +0 -0
  120. /package/dist/src/decorators/{inject → injectable}/Injectable.js +0 -0
  121. /package/dist/src/decorators/{inject → lateInject}/LateInject.d.ts +0 -0
  122. /package/src/decorators/{inject → injectable}/Injectable.ts +0 -0
@@ -0,0 +1,13 @@
1
+ module.exports = {
2
+ presets: [
3
+ ['@babel/preset-env', { targets: { node: 'current' } }],
4
+ ['@babel/preset-typescript', { 'onlyRemoveTypeImports': true }],
5
+ '@babel/preset-react',
6
+ ],
7
+ plugins: [
8
+ `${__dirname}/dist/transformers/babel-plugin-obsidian`,
9
+ ['@babel/plugin-proposal-decorators', { version: 'legacy' }],
10
+ '@babel/plugin-transform-class-properties',
11
+ 'babel-plugin-parameter-decorator'
12
+ ],
13
+ };
@@ -1,8 +1,8 @@
1
- import { Constructable } from '../types';
1
+ import { Constructor, Constructable } from '../types';
2
2
  import { ObjectGraph } from '../graph/ObjectGraph';
3
3
  interface GraphParams {
4
4
  subgraphs: Constructable<ObjectGraph>[];
5
5
  }
6
- export declare function graph({ subgraphs }?: Partial<GraphParams>): (constructor: any) => any;
6
+ export declare function graph<Class extends Constructor>({ subgraphs }?: Partial<GraphParams>): (Clazz: Class) => Class;
7
7
  export {};
8
8
  //# sourceMappingURL=Graph.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Graph.d.ts","sourceRoot":"","sources":["../../../src/decorators/Graph.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,UAAU,WAAW;IACnB,SAAS,EAAE,aAAa,CAAC,WAAW,CAAC,EAAE,CAAC;CACzC;AAED,wBAAgB,KAAK,CAAC,EAAE,SAAc,EAAE,GAAE,OAAO,CAAC,WAAW,CAAM,iBAC5C,GAAG,SAIzB"}
1
+ {"version":3,"file":"Graph.d.ts","sourceRoot":"","sources":["../../../src/decorators/Graph.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEtD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,UAAU,WAAW;IACnB,SAAS,EAAE,aAAa,CAAC,WAAW,CAAC,EAAE,CAAC;CACzC;AAED,wBAAgB,KAAK,CAAC,KAAK,SAAS,WAAW,EAAE,EAAE,SAAc,EAAE,GAAE,OAAO,CAAC,WAAW,CAAM,WAC7E,KAAK,WAIrB"}
@@ -6,9 +6,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.graph = graph;
7
7
  const GraphRegistry_1 = __importDefault(require("../graph/registry/GraphRegistry"));
8
8
  function graph({ subgraphs = [] } = {}) {
9
- return (constructor) => {
10
- GraphRegistry_1.default.register(constructor, subgraphs);
11
- return constructor;
9
+ return (Clazz) => {
10
+ GraphRegistry_1.default.register(Clazz, subgraphs);
11
+ return Clazz;
12
12
  };
13
13
  }
14
14
  //# sourceMappingURL=Graph.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Graph.js","sourceRoot":"","sources":["../../../src/decorators/Graph.ts"],"names":[],"mappings":";;;;;AAQA,sBAKC;AAZD,oFAA4D;AAO5D,SAAgB,KAAK,CAAC,EAAE,SAAS,GAAG,EAAE,KAA2B,EAAE;IACjE,OAAO,CAAC,WAAgB,EAAE,EAAE;QAC1B,uBAAa,CAAC,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QAC/C,OAAO,WAAW,CAAC;IACrB,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"Graph.js","sourceRoot":"","sources":["../../../src/decorators/Graph.ts"],"names":[],"mappings":";;;;;AAQA,sBAKC;AAZD,oFAA4D;AAO5D,SAAgB,KAAK,CAA4B,EAAE,SAAS,GAAG,EAAE,KAA2B,EAAE;IAC5F,OAAO,CAAC,KAAY,EAAE,EAAE;QACtB,uBAAa,CAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACzC,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;AACJ,CAAC"}
@@ -1,2 +1,2 @@
1
- export declare function inject(name?: string): (target: Object | any, _propertyKey?: string, _indexOrPropertyDescriptor?: number | PropertyDescriptor) => void;
1
+ export declare function inject(name?: string): (...args: any[]) => void;
2
2
  //# sourceMappingURL=Inject.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Inject.d.ts","sourceRoot":"","sources":["../../../../src/decorators/inject/Inject.ts"],"names":[],"mappings":"AAEA,wBAAgB,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,YAExB,MAAM,GAAG,GAAG,iBACL,MAAM,+BACQ,MAAM,GAAG,kBAAkB,UAK3D"}
1
+ {"version":3,"file":"Inject.d.ts","sourceRoot":"","sources":["../../../../src/decorators/inject/Inject.ts"],"names":[],"mappings":"AAIA,wBAAgB,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,aACjB,GAAG,EAAE,UAKvB"}
@@ -1,14 +1,14 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.inject = inject;
7
- const InjectionMetadata_1 = __importDefault(require("../../injectors/class/InjectionMetadata"));
4
+ const decorators_1 = require("../../utils/decorators");
5
+ const inject_legacy_1 = require("./inject.legacy");
6
+ const inject_modern_1 = require("./inject.modern");
8
7
  function inject(name) {
9
- return (target, _propertyKey, _indexOrPropertyDescriptor) => {
10
- const metadata = new InjectionMetadata_1.default();
11
- metadata.savePropertyMetadata(target.constructor, name);
8
+ return (...args) => {
9
+ return (0, decorators_1.shouldUseModernDecorator)(args) ?
10
+ (0, inject_modern_1.modernDecorator)(name, args[0], args[1]) :
11
+ (0, inject_legacy_1.legacyDecorator)(name, args[0], args[1], args[2]);
12
12
  };
13
13
  }
14
14
  //# sourceMappingURL=Inject.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Inject.js","sourceRoot":"","sources":["../../../../src/decorators/inject/Inject.ts"],"names":[],"mappings":";;;;;AAEA,wBASC;AAXD,gGAAwE;AAExE,SAAgB,MAAM,CAAC,IAAa;IAClC,OAAO,CACL,MAAoB,EACpB,YAAqB,EACrB,0BAAwD,EACxD,EAAE;QACF,MAAM,QAAQ,GAAG,IAAI,2BAAiB,EAAE,CAAC;QACvC,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,WAAW,EAAE,IAAK,CAAC,CAAC;IAC7D,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"Inject.js","sourceRoot":"","sources":["../../../../src/decorators/inject/Inject.ts"],"names":[],"mappings":";;AAIA,wBAMC;AAVD,uDAAkE;AAClE,mDAAkD;AAClD,mDAAkD;AAElD,SAAgB,MAAM,CAAC,IAAa;IAClC,OAAO,CAAC,GAAG,IAAW,EAAE,EAAE;QACxB,OAAO,IAAA,qCAAwB,EAAC,IAAI,CAAC,CAAC,CAAC;YACrC,IAAA,+BAAe,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACzC,IAAA,+BAAe,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACrD,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function legacyDecorator(name: string | undefined, target: Object | any, propertyKey: string, _indexOrPropertyDescriptor?: number | PropertyDescriptor): void;
2
+ //# sourceMappingURL=inject.legacy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inject.legacy.d.ts","sourceRoot":"","sources":["../../../../src/decorators/inject/inject.legacy.ts"],"names":[],"mappings":"AAEA,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,MAAM,EAAE,MAAM,GAAG,GAAG,EACpB,WAAW,EAAE,MAAM,EACnB,0BAA0B,CAAC,EAAE,MAAM,GAAG,kBAAkB,QAIzD"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.legacyDecorator = legacyDecorator;
7
+ const InjectionMetadata_1 = __importDefault(require("../../injectors/class/InjectionMetadata"));
8
+ function legacyDecorator(name, target, propertyKey, _indexOrPropertyDescriptor) {
9
+ const metadata = new InjectionMetadata_1.default();
10
+ metadata.savePropertyMetadata(target.constructor, name !== null && name !== void 0 ? name : propertyKey);
11
+ }
12
+ //# sourceMappingURL=inject.legacy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inject.legacy.js","sourceRoot":"","sources":["../../../../src/decorators/inject/inject.legacy.ts"],"names":[],"mappings":";;;;;AAEA,0CAQC;AAVD,gGAAwE;AAExE,SAAgB,eAAe,CAC7B,IAAwB,EACxB,MAAoB,EACpB,WAAmB,EACnB,0BAAwD;IAExD,MAAM,QAAQ,GAAG,IAAI,2BAAiB,EAAE,CAAC;IACzC,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,WAAW,CAAC,CAAC;AACzE,CAAC"}
@@ -0,0 +1,5 @@
1
+ export declare function modernDecorator<This, Args extends any[], Return>(name: string | undefined, _target: (this: This, ...args: Args) => Return, context: {
2
+ name: string | symbol;
3
+ addInitializer: (callback: () => void) => void;
4
+ }): void;
5
+ //# sourceMappingURL=inject.modern.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inject.modern.d.ts","sourceRoot":"","sources":["../../../../src/decorators/inject/inject.modern.ts"],"names":[],"mappings":"AAEA,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,SAAS,GAAG,EAAE,EAAE,MAAM,EAC9D,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,IAAI,KAAK,MAAM,EAC9C,OAAO,EAAE;IAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAAC,cAAc,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,IAAI,CAAA;CAAE,QAMnF"}
@@ -3,12 +3,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.lateInject = lateInject;
6
+ exports.modernDecorator = modernDecorator;
7
7
  const InjectionMetadata_1 = __importDefault(require("../../injectors/class/InjectionMetadata"));
8
- function lateInject(name) {
9
- return (target) => {
8
+ function modernDecorator(name, _target, context) {
9
+ context.addInitializer(function initializer() {
10
10
  const metadata = new InjectionMetadata_1.default();
11
- metadata.saveLatePropertyMetadata(target.constructor, name);
12
- };
11
+ metadata.savePropertyMetadata(this.constructor, name);
12
+ });
13
13
  }
14
- //# sourceMappingURL=LateInject.js.map
14
+ //# sourceMappingURL=inject.modern.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inject.modern.js","sourceRoot":"","sources":["../../../../src/decorators/inject/inject.modern.ts"],"names":[],"mappings":";;;;;AAEA,0CASC;AAXD,gGAAwE;AAExE,SAAgB,eAAe,CAC7B,IAAwB,EACxB,OAA8C,EAC9C,OAAkF;IAElF,OAAO,CAAC,cAAc,CAAC,SAAS,WAAW;QACzC,MAAM,QAAQ,GAAG,IAAI,2BAAiB,EAAE,CAAC;QACzC,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAK,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Injectable.d.ts","sourceRoot":"","sources":["../../../../src/decorators/injectable/Injectable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAI1C,wBAAgB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,GAAG,CAEzE"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Injectable.js","sourceRoot":"","sources":["../../../../src/decorators/injectable/Injectable.ts"],"names":[],"mappings":";;;;;AAKA,gCAEC;AALD,uFAA+D;AAC/D,wFAAgE;AAEhE,SAAgB,UAAU,CAAC,UAAyC;IAClE,OAAO,IAAI,uBAAa,CAAC,uBAAa,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AAC7D,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LateInject.d.ts","sourceRoot":"","sources":["../../../../src/decorators/lateInject/LateInject.ts"],"names":[],"mappings":"AAIA,wBAAgB,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,GAAG,CAM7C"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.lateInject = lateInject;
4
+ const decorators_1 = require("../../utils/decorators");
5
+ const lateInject_legacy_1 = require("./lateInject.legacy");
6
+ const lateInject_modern_1 = require("./lateInject.modern");
7
+ function lateInject(name) {
8
+ return (...args) => {
9
+ return (0, decorators_1.shouldUseModernDecorator)(args) ?
10
+ (0, lateInject_modern_1.modernDecorator)(name, args[0], args[1]) :
11
+ (0, lateInject_legacy_1.legacyDecorator)(name, args[0], args[1], args[2]);
12
+ };
13
+ }
14
+ //# sourceMappingURL=LateInject.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LateInject.js","sourceRoot":"","sources":["../../../../src/decorators/lateInject/LateInject.ts"],"names":[],"mappings":";;AAIA,gCAMC;AAVD,uDAAkE;AAClE,2DAAsD;AACtD,2DAAsD;AAEtD,SAAgB,UAAU,CAAC,IAAa;IACtC,OAAO,CAAC,GAAG,IAAW,EAAE,EAAE;QACxB,OAAO,IAAA,qCAAwB,EAAC,IAAI,CAAC,CAAC,CAAC;YACrC,IAAA,mCAAe,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACzC,IAAA,mCAAe,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACrD,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function legacyDecorator(name: string | undefined, target: Object | any, propertyKey: string, _indexOrPropertyDescriptor?: number | PropertyDescriptor): void;
2
+ //# sourceMappingURL=lateInject.legacy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lateInject.legacy.d.ts","sourceRoot":"","sources":["../../../../src/decorators/lateInject/lateInject.legacy.ts"],"names":[],"mappings":"AAEA,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,MAAM,EAAE,MAAM,GAAG,GAAG,EACpB,WAAW,EAAE,MAAM,EACnB,0BAA0B,CAAC,EAAE,MAAM,GAAG,kBAAkB,QAIzD"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.legacyDecorator = legacyDecorator;
7
+ const InjectionMetadata_1 = __importDefault(require("../../injectors/class/InjectionMetadata"));
8
+ function legacyDecorator(name, target, propertyKey, _indexOrPropertyDescriptor) {
9
+ const metadata = new InjectionMetadata_1.default();
10
+ metadata.saveLatePropertyMetadata(target.constructor, name !== null && name !== void 0 ? name : propertyKey);
11
+ }
12
+ //# sourceMappingURL=lateInject.legacy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lateInject.legacy.js","sourceRoot":"","sources":["../../../../src/decorators/lateInject/lateInject.legacy.ts"],"names":[],"mappings":";;;;;AAEA,0CAQC;AAVD,gGAAwE;AAExE,SAAgB,eAAe,CAC7B,IAAwB,EACxB,MAAoB,EACpB,WAAmB,EACnB,0BAAwD;IAExD,MAAM,QAAQ,GAAG,IAAI,2BAAiB,EAAE,CAAC;IACzC,QAAQ,CAAC,wBAAwB,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,WAAW,CAAC,CAAC;AAC7E,CAAC"}
@@ -0,0 +1,5 @@
1
+ export declare function modernDecorator<This, Args extends any[], Return>(name: string | undefined, _target: (this: This, ...args: Args) => Return, context: {
2
+ name: string | symbol;
3
+ addInitializer: (callback: () => void) => void;
4
+ }): void;
5
+ //# sourceMappingURL=lateInject.modern.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lateInject.modern.d.ts","sourceRoot":"","sources":["../../../../src/decorators/lateInject/lateInject.modern.ts"],"names":[],"mappings":"AAEA,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,SAAS,GAAG,EAAE,EAAE,MAAM,EAC9D,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,IAAI,KAAK,MAAM,EAC9C,OAAO,EAAE;IAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAAC,cAAc,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,IAAI,CAAA;CAAE,QAMnF"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.modernDecorator = modernDecorator;
7
+ const InjectionMetadata_1 = __importDefault(require("../../injectors/class/InjectionMetadata"));
8
+ function modernDecorator(name, _target, context) {
9
+ context.addInitializer(function initializer() {
10
+ const metadata = new InjectionMetadata_1.default();
11
+ metadata.saveLatePropertyMetadata(this.constructor, name !== null && name !== void 0 ? name : String(context.name));
12
+ });
13
+ }
14
+ //# sourceMappingURL=lateInject.modern.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lateInject.modern.js","sourceRoot":"","sources":["../../../../src/decorators/lateInject/lateInject.modern.ts"],"names":[],"mappings":";;;;;AAEA,0CASC;AAXD,gGAAwE;AAExE,SAAgB,eAAe,CAC7B,IAAwB,EACxB,OAA8C,EAC9C,OAAkF;IAElF,OAAO,CAAC,cAAc,CAAC,SAAS,WAAW;QACzC,MAAM,QAAQ,GAAG,IAAI,2BAAiB,EAAE,CAAC;QACzC,QAAQ,CAAC,wBAAwB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACpF,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1,7 +1,6 @@
1
- import { Graph } from '../../graph/Graph';
2
1
  interface ProvidesParams {
3
2
  name: string;
4
3
  }
5
- export declare function provides({ name }?: Partial<ProvidesParams>): (graph: Graph, propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor;
4
+ export declare function provides({ name }?: Partial<ProvidesParams>): any;
6
5
  export {};
7
6
  //# sourceMappingURL=Provides.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Provides.d.ts","sourceRoot":"","sources":["../../../../src/decorators/provides/Provides.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAI1C,UAAU,cAAc;IACtB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,QAAQ,CAAC,EAAE,IAAI,EAAE,GAAE,OAAO,CAAC,cAAc,CAAM,WAC9C,KAAK,eAAe,MAAM,cAAc,kBAAkB,wBAI1E"}
1
+ {"version":3,"file":"Provides.d.ts","sourceRoot":"","sources":["../../../../src/decorators/provides/Provides.ts"],"names":[],"mappings":"AAIA,UAAU,cAAc;IACtB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,QAAQ,CAAC,EAAE,IAAI,EAAE,GAAE,OAAO,CAAC,cAAc,CAAM,GAAG,GAAG,CAMpE"}
@@ -1,15 +1,14 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.provides = provides;
7
- const ProvidedPropertiesStore_1 = __importDefault(require("../../ProvidedPropertiesStore"));
8
- const MemoizeDescriptor_1 = require("./MemoizeDescriptor");
4
+ const decorators_1 = require("../../utils/decorators");
5
+ const provides_legacy_1 = require("./provides.legacy");
6
+ const provides_modern_1 = require("./provides.modern");
9
7
  function provides({ name } = {}) {
10
- return (graph, propertyKey, descriptor) => {
11
- ProvidedPropertiesStore_1.default.set(graph, propertyKey, name);
12
- return (0, MemoizeDescriptor_1.memoizeDescriptor)(propertyKey, descriptor);
8
+ return (...args) => {
9
+ return (0, decorators_1.shouldUseModernDecorator)(args)
10
+ ? (0, provides_modern_1.modernDecorator)(name, args[0], args[1])
11
+ : (0, provides_legacy_1.legacyDecorator)(name, args[0], args[1], args[2]);
13
12
  };
14
13
  }
15
14
  //# sourceMappingURL=Provides.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Provides.js","sourceRoot":"","sources":["../../../../src/decorators/provides/Provides.ts"],"names":[],"mappings":";;;;;AAQA,4BAKC;AAZD,4FAAoE;AACpE,2DAAwD;AAMxD,SAAgB,QAAQ,CAAC,EAAE,IAAI,KAA8B,EAAE;IAC7D,OAAO,CAAC,KAAY,EAAE,WAAmB,EAAE,UAA8B,EAAE,EAAE;QAC3E,iCAAuB,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,IAAK,CAAC,CAAC;QACvD,OAAO,IAAA,qCAAiB,EAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IACpD,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"Provides.js","sourceRoot":"","sources":["../../../../src/decorators/provides/Provides.ts"],"names":[],"mappings":";;AAQA,4BAMC;AAdD,uDAAkE;AAClE,uDAAoD;AACpD,uDAAoD;AAMpD,SAAgB,QAAQ,CAAC,EAAE,IAAI,KAA8B,EAAE;IAC7D,OAAO,CAAC,GAAG,IAAW,EAAE,EAAE;QACxB,OAAO,IAAA,qCAAwB,EAAC,IAAI,CAAC;YACnC,CAAC,CAAC,IAAA,iCAAe,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;YACzC,CAAC,CAAC,IAAA,iCAAe,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACvD,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Graph } from '../../graph/Graph';
2
+ export declare function legacyDecorator(name: string | undefined, graph: Graph, propertyKey: string, descriptor: PropertyDescriptor): PropertyDescriptor;
3
+ //# sourceMappingURL=provides.legacy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provides.legacy.d.ts","sourceRoot":"","sources":["../../../../src/decorators/provides/provides.legacy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAI1C,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,kBAAkB,sBAI/B"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.legacyDecorator = legacyDecorator;
7
+ const ProvidedPropertiesStore_1 = __importDefault(require("../../ProvidedPropertiesStore"));
8
+ const MemoizeDescriptor_1 = require("./MemoizeDescriptor");
9
+ function legacyDecorator(name, graph, propertyKey, descriptor) {
10
+ ProvidedPropertiesStore_1.default.set(graph, propertyKey, name);
11
+ return (0, MemoizeDescriptor_1.memoizeDescriptor)(propertyKey, descriptor);
12
+ }
13
+ //# sourceMappingURL=provides.legacy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provides.legacy.js","sourceRoot":"","sources":["../../../../src/decorators/provides/provides.legacy.ts"],"names":[],"mappings":";;;;;AAIA,0CAQC;AAXD,4FAAoE;AACpE,2DAAwD;AAExD,SAAgB,eAAe,CAC7B,IAAwB,EACxB,KAAY,EACZ,WAAmB,EACnB,UAA8B;IAE9B,iCAAuB,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,IAAK,CAAC,CAAC;IACvD,OAAO,IAAA,qCAAiB,EAAC,WAAW,EAAE,UAAU,CAAC,CAAC;AACpD,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function modernDecorator<This, Args extends any[], Return>(name: string | undefined, target: (this: This, ...args: Args) => Return, context: ClassMethodDecoratorContext<This, (this: This, ...args: Args) => Return>): (this: This, ...args: Args) => Return;
2
+ //# sourceMappingURL=provides.modern.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provides.modern.d.ts","sourceRoot":"","sources":["../../../../src/decorators/provides/provides.modern.ts"],"names":[],"mappings":"AAIA,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,SAAS,GAAG,EAAE,EAAE,MAAM,EAC9D,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,MAAM,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,IAAI,KAAK,MAAM,EAC7C,OAAO,EAAE,2BAA2B,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,IAAI,KAAK,MAAM,CAAC,UAgBhD,IAAI,WAAW,IAAI,KAAG,MAAM,CAY9D"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.modernDecorator = modernDecorator;
7
+ const ProvidedPropertiesStore_1 = __importDefault(require("../../ProvidedPropertiesStore"));
8
+ const reflect_1 = require("../../utils/reflect");
9
+ function modernDecorator(name, target, context) {
10
+ context.addInitializer(function initializer() {
11
+ const mangledProperty = String(context.name);
12
+ // @ts-ignore
13
+ this[mangledProperty] = this[mangledProperty].bind(this);
14
+ ProvidedPropertiesStore_1.default.set(this, mangledProperty, name);
15
+ });
16
+ function getMemoizationTarget(zis) {
17
+ if (reflect_1.Reflect.getMetadata('isSingleton', target)) {
18
+ return zis.constructor;
19
+ }
20
+ return zis;
21
+ }
22
+ function replacementMethod(...args) {
23
+ const memoizationTarget = getMemoizationTarget(this);
24
+ const memoizedResult = reflect_1.Reflect.getMetadata(`memoized${name}`, memoizationTarget);
25
+ if (memoizedResult === undefined) {
26
+ const result = target.call(this, ...args);
27
+ reflect_1.Reflect.defineMetadata(`memoized${name}`, result, memoizationTarget);
28
+ return result;
29
+ }
30
+ return memoizedResult;
31
+ }
32
+ return replacementMethod;
33
+ }
34
+ //# sourceMappingURL=provides.modern.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provides.modern.js","sourceRoot":"","sources":["../../../../src/decorators/provides/provides.modern.ts"],"names":[],"mappings":";;;;;AAIA,0CA+BC;AAlCD,4FAAoE;AACpE,iDAA8C;AAE9C,SAAgB,eAAe,CAC7B,IAAwB,EACxB,MAA6C,EAC7C,OAAiF;IAEjF,OAAO,CAAC,cAAc,CAAC,SAAS,WAAW;QACzC,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC7C,aAAa;QACb,IAAI,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzD,iCAAuB,CAAC,GAAG,CAAC,IAAa,EAAE,eAAe,EAAE,IAAK,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;IAEH,SAAS,oBAAoB,CAAC,GAAS;QACrC,IAAI,iBAAO,CAAC,WAAW,CAAC,aAAa,EAAE,MAAM,CAAC,EAAE,CAAC;YAC/C,OAAQ,GAAW,CAAC,WAAW,CAAC;QAClC,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,SAAS,iBAAiB,CAAa,GAAG,IAAU;QAClD,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;QACrD,MAAM,cAAc,GAAG,iBAAO,CAAC,WAAW,CAAC,WAAW,IAAK,EAAE,EAAE,iBAAiB,CAAC,CAAC;QAClF,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;YACjC,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;YAC1C,iBAAO,CAAC,cAAc,CAAC,WAAW,IAAK,EAAE,EAAE,MAAM,EAAE,iBAAiB,CAAC,CAAC;YACtE,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,OAAO,iBAAiB,CAAC;AAC3B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function singleton(): (...args: any[]) => any;
2
+ //# sourceMappingURL=Singleton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Singleton.d.ts","sourceRoot":"","sources":["../../../../src/decorators/singleton/Singleton.ts"],"names":[],"mappings":"AAIA,wBAAgB,SAAS,cACN,GAAG,EAAE,SAKvB"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.singleton = singleton;
4
+ const singleton_modern_1 = require("./singleton.modern");
5
+ const singleton_legacy_1 = require("./singleton.legacy");
6
+ const decorators_1 = require("../../utils/decorators");
7
+ function singleton() {
8
+ return (...args) => {
9
+ return (0, decorators_1.shouldUseModernDecorator)(args) ?
10
+ (0, singleton_modern_1.modernDecorator)(args[0]) :
11
+ (0, singleton_legacy_1.legacyDecorator)(args[0], args[1], args[2]);
12
+ };
13
+ }
14
+ //# sourceMappingURL=Singleton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Singleton.js","sourceRoot":"","sources":["../../../../src/decorators/singleton/Singleton.ts"],"names":[],"mappings":";;AAIA,8BAMC;AAVD,yDAAqD;AACrD,yDAAqD;AACrD,uDAAkE;AAElE,SAAgB,SAAS;IACvB,OAAO,CAAC,GAAG,IAAW,EAAE,EAAE;QACxB,OAAO,IAAA,qCAAwB,EAAC,IAAI,CAAC,CAAC,CAAC;YACrC,IAAA,kCAAe,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1B,IAAA,kCAAe,EAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { Constructable } from '../../types';
2
+ import { ObjectGraph } from '../../graph/ObjectGraph';
3
+ export declare function legacyDecorator(constructorOrGraph: Constructable<ObjectGraph> | ObjectGraph, _property?: string, descriptor?: PropertyDescriptor): any;
4
+ //# sourceMappingURL=singleton.legacy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"singleton.legacy.d.ts","sourceRoot":"","sources":["../../../../src/decorators/singleton/singleton.legacy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAGtD,wBAAgB,eAAe,CAC7B,kBAAkB,EAAE,aAAa,CAAC,WAAW,CAAC,GAAG,WAAW,EAC5D,SAAS,CAAC,EAAE,MAAM,EAClB,UAAU,CAAC,EAAE,kBAAkB,GAC9B,GAAG,CAIL"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.legacyDecorator = legacyDecorator;
4
+ const reflect_1 = require("../../utils/reflect");
5
+ function legacyDecorator(constructorOrGraph, _property, descriptor) {
6
+ const target = descriptor || constructorOrGraph;
7
+ reflect_1.Reflect.defineMetadata('isSingleton', true, target);
8
+ return target;
9
+ }
10
+ //# sourceMappingURL=singleton.legacy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"singleton.legacy.js","sourceRoot":"","sources":["../../../../src/decorators/singleton/singleton.legacy.ts"],"names":[],"mappings":";;AAIA,0CAQC;AAVD,iDAA4C;AAE5C,SAAgB,eAAe,CAC7B,kBAA4D,EAC5D,SAAkB,EAClB,UAA+B;IAE/B,MAAM,MAAM,GAAG,UAAU,IAAI,kBAAkB,CAAC;IAChD,iBAAO,CAAC,cAAc,CAAC,aAAa,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACpD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function modernDecorator<This, Args extends any[], Return>(target: (this: This, ...args: Args) => Return): any;
2
+ //# sourceMappingURL=singleton.modern.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"singleton.modern.d.ts","sourceRoot":"","sources":["../../../../src/decorators/singleton/singleton.modern.ts"],"names":[],"mappings":"AAEA,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,SAAS,GAAG,EAAE,EAAE,MAAM,EAC9D,MAAM,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,IAAI,KAAK,MAAM,GAC5C,GAAG,CAGL"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.modernDecorator = modernDecorator;
4
+ const reflect_1 = require("../../utils/reflect");
5
+ function modernDecorator(target) {
6
+ reflect_1.Reflect.defineMetadata('isSingleton', true, target);
7
+ return target;
8
+ }
9
+ //# sourceMappingURL=singleton.modern.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"singleton.modern.js","sourceRoot":"","sources":["../../../../src/decorators/singleton/singleton.modern.ts"],"names":[],"mappings":";;AAEA,0CAKC;AAPD,iDAA4C;AAE5C,SAAgB,eAAe,CAC7B,MAA6C;IAE7C,iBAAO,CAAC,cAAc,CAAC,aAAa,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACpD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -1,20 +1,20 @@
1
1
  import { graph } from './decorators/Graph';
2
2
  import { inject } from './decorators/inject/Inject';
3
- import { injectable } from './decorators/inject/Injectable';
4
- import { lateInject } from './decorators/inject/LateInject';
3
+ import { injectable } from './decorators/injectable/Injectable';
4
+ import { lateInject } from './decorators/lateInject/LateInject';
5
5
  import { lifecycleBound } from './decorators/LifecycleBound';
6
6
  import { provides } from './decorators/provides/Provides';
7
- import { singleton } from './decorators/Singleton';
7
+ import { singleton } from './decorators/singleton/Singleton';
8
8
  import _Obsidian from './Obsidian';
9
9
  export * from './types';
10
10
  export { graph } from './decorators/Graph';
11
- export { singleton } from './decorators/Singleton';
11
+ export { singleton } from './decorators/singleton/Singleton';
12
12
  export { ObjectGraph } from './graph/ObjectGraph';
13
13
  export { Graph as IGraph } from './graph/Graph';
14
14
  export { provides } from './decorators/provides/Provides';
15
- export { injectable } from './decorators/inject/Injectable';
15
+ export { injectable } from './decorators/injectable/Injectable';
16
16
  export { inject } from './decorators/inject/Inject';
17
- export { lateInject } from './decorators/inject/LateInject';
17
+ export { lateInject } from './decorators/lateInject/LateInject';
18
18
  export { lifecycleBound } from './decorators/LifecycleBound';
19
19
  export { GraphMiddleware } from './graph/registry/GraphMiddleware';
20
20
  export { GraphResolveChain as ResolveChain } from './graph/registry/GraphResolveChain';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,SAAS,MAAM,YAAY,CAAC;AAEnC,cAAc,SAAS,CAAC;AAExB,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,KAAK,IAAI,MAAM,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,iBAAiB,IAAI,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAEvF;;GAEG;AACH,eAAO,MAAM,KAAK,cAAQ,CAAC;AAC3B;;GAEG;AACH,eAAO,MAAM,SAAS,kBAAY,CAAC;AACnC;;GAEG;AACH,eAAO,MAAM,QAAQ,iBAAW,CAAC;AACjC;;GAEG;AACH,eAAO,MAAM,UAAU,mBAAa,CAAC;AACrC;;GAEG;AACH,eAAO,MAAM,MAAM,eAAS,CAAC;AAC7B;;GAEG;AACH,eAAO,MAAM,UAAU,mBAAa,CAAC;AACrC;;GAEG;AACH,eAAO,MAAM,cAAc,uBAAiB,CAAC;AAG7C,eAAO,MAAM,QAAQ,WAAkB,CAAC;AAExC,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEnF,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,0CAA0C,CAAC;AAC9E,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEtC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAC7D,OAAO,SAAS,MAAM,YAAY,CAAC;AAEnC,cAAc,SAAS,CAAC;AAExB,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,KAAK,IAAI,MAAM,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAChE,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,iBAAiB,IAAI,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAEvF;;GAEG;AACH,eAAO,MAAM,KAAK,cAAQ,CAAC;AAC3B;;GAEG;AACH,eAAO,MAAM,SAAS,kBAAY,CAAC;AACnC;;GAEG;AACH,eAAO,MAAM,QAAQ,iBAAW,CAAC;AACjC;;GAEG;AACH,eAAO,MAAM,UAAU,mBAAa,CAAC;AACrC;;GAEG;AACH,eAAO,MAAM,MAAM,eAAS,CAAC;AAC7B;;GAEG;AACH,eAAO,MAAM,UAAU,mBAAa,CAAC;AACrC;;GAEG;AACH,eAAO,MAAM,cAAc,uBAAiB,CAAC;AAG7C,eAAO,MAAM,QAAQ,WAAkB,CAAC;AAExC,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEnF,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,0CAA0C,CAAC;AAC9E,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEtC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC"}
package/dist/src/index.js CHANGED
@@ -20,26 +20,26 @@ Object.defineProperty(exports, "__esModule", { value: true });
20
20
  exports.mockGraphs = exports.mockModel = exports.testKit = exports.Model = exports.MediatorObservable = exports.Observable = exports.useObservers = exports.useObserver = exports.injectHookWithArguments = exports.injectHook = exports.injectComponent = exports.Obsidian = exports.LifecycleBound = exports.LateInject = exports.Inject = exports.Injectable = exports.Provides = exports.Singleton = exports.Graph = exports.GraphMiddleware = exports.lifecycleBound = exports.lateInject = exports.inject = exports.injectable = exports.provides = exports.ObjectGraph = exports.singleton = exports.graph = void 0;
21
21
  const Graph_1 = require("./decorators/Graph");
22
22
  const Inject_1 = require("./decorators/inject/Inject");
23
- const Injectable_1 = require("./decorators/inject/Injectable");
24
- const LateInject_1 = require("./decorators/inject/LateInject");
23
+ const Injectable_1 = require("./decorators/injectable/Injectable");
24
+ const LateInject_1 = require("./decorators/lateInject/LateInject");
25
25
  const LifecycleBound_1 = require("./decorators/LifecycleBound");
26
26
  const Provides_1 = require("./decorators/provides/Provides");
27
- const Singleton_1 = require("./decorators/Singleton");
27
+ const Singleton_1 = require("./decorators/singleton/Singleton");
28
28
  const Obsidian_1 = __importDefault(require("./Obsidian"));
29
29
  __exportStar(require("./types"), exports);
30
30
  var Graph_2 = require("./decorators/Graph");
31
31
  Object.defineProperty(exports, "graph", { enumerable: true, get: function () { return Graph_2.graph; } });
32
- var Singleton_2 = require("./decorators/Singleton");
32
+ var Singleton_2 = require("./decorators/singleton/Singleton");
33
33
  Object.defineProperty(exports, "singleton", { enumerable: true, get: function () { return Singleton_2.singleton; } });
34
34
  var ObjectGraph_1 = require("./graph/ObjectGraph");
35
35
  Object.defineProperty(exports, "ObjectGraph", { enumerable: true, get: function () { return ObjectGraph_1.ObjectGraph; } });
36
36
  var Provides_2 = require("./decorators/provides/Provides");
37
37
  Object.defineProperty(exports, "provides", { enumerable: true, get: function () { return Provides_2.provides; } });
38
- var Injectable_2 = require("./decorators/inject/Injectable");
38
+ var Injectable_2 = require("./decorators/injectable/Injectable");
39
39
  Object.defineProperty(exports, "injectable", { enumerable: true, get: function () { return Injectable_2.injectable; } });
40
40
  var Inject_2 = require("./decorators/inject/Inject");
41
41
  Object.defineProperty(exports, "inject", { enumerable: true, get: function () { return Inject_2.inject; } });
42
- var LateInject_2 = require("./decorators/inject/LateInject");
42
+ var LateInject_2 = require("./decorators/lateInject/LateInject");
43
43
  Object.defineProperty(exports, "lateInject", { enumerable: true, get: function () { return LateInject_2.lateInject; } });
44
44
  var LifecycleBound_2 = require("./decorators/LifecycleBound");
45
45
  Object.defineProperty(exports, "lifecycleBound", { enumerable: true, get: function () { return LifecycleBound_2.lifecycleBound; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,8CAA2C;AAC3C,uDAAoD;AACpD,+DAA4D;AAC5D,+DAA4D;AAC5D,gEAA6D;AAC7D,6DAA0D;AAC1D,sDAAmD;AACnD,0DAAmC;AAEnC,0CAAwB;AAExB,4CAA2C;AAAlC,8FAAA,KAAK,OAAA;AACd,oDAAmD;AAA1C,sGAAA,SAAS,OAAA;AAClB,mDAAkD;AAAzC,0GAAA,WAAW,OAAA;AAEpB,2DAA0D;AAAjD,oGAAA,QAAQ,OAAA;AACjB,6DAA4D;AAAnD,wGAAA,UAAU,OAAA;AACnB,qDAAoD;AAA3C,gGAAA,MAAM,OAAA;AACf,6DAA4D;AAAnD,wGAAA,UAAU,OAAA;AACnB,8DAA6D;AAApD,gHAAA,cAAc,OAAA;AACvB,oEAAmE;AAA1D,kHAAA,eAAe,OAAA;AAGxB;;GAEG;AACU,QAAA,KAAK,GAAG,aAAK,CAAC;AAC3B;;GAEG;AACU,QAAA,SAAS,GAAG,qBAAS,CAAC;AACnC;;GAEG;AACU,QAAA,QAAQ,GAAG,mBAAQ,CAAC;AACjC;;GAEG;AACU,QAAA,UAAU,GAAG,uBAAU,CAAC;AACrC;;GAEG;AACU,QAAA,MAAM,GAAG,eAAM,CAAC;AAC7B;;GAEG;AACU,QAAA,UAAU,GAAG,uBAAU,CAAC;AACrC;;GAEG;AACU,QAAA,cAAc,GAAG,+BAAc,CAAC;AAGhC,QAAA,QAAQ,GAAG,IAAI,kBAAS,EAAE,CAAC;AAExC,0EAAyE;AAAhE,kHAAA,eAAe,OAAA;AACxB,2DAAmF;AAA1E,wGAAA,UAAU,OAAA;AAAE,qHAAA,uBAAuB,OAAA;AAE5C,wDAAuD;AAA9C,0GAAA,WAAW,OAAA;AACpB,0DAAyD;AAAhD,4GAAA,YAAY,OAAA;AACrB,sDAAqD;AAA5C,wGAAA,UAAU,OAAA;AACnB,+EAA8E;AAArE,wHAAA,kBAAkB,OAAA;AAG3B,uCAAsC;AAA7B,8FAAA,KAAK,OAAA;AAEd,sCAAqC;AAA5B,kGAAA,OAAO,OAAA;AAChB,0CAAyD;AAAhD,kGAAA,SAAS,OAAA;AAAE,mGAAA,UAAU,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,8CAA2C;AAC3C,uDAAoD;AACpD,mEAAgE;AAChE,mEAAgE;AAChE,gEAA6D;AAC7D,6DAA0D;AAC1D,gEAA6D;AAC7D,0DAAmC;AAEnC,0CAAwB;AAExB,4CAA2C;AAAlC,8FAAA,KAAK,OAAA;AACd,8DAA6D;AAApD,sGAAA,SAAS,OAAA;AAClB,mDAAkD;AAAzC,0GAAA,WAAW,OAAA;AAEpB,2DAA0D;AAAjD,oGAAA,QAAQ,OAAA;AACjB,iEAAgE;AAAvD,wGAAA,UAAU,OAAA;AACnB,qDAAoD;AAA3C,gGAAA,MAAM,OAAA;AACf,iEAAgE;AAAvD,wGAAA,UAAU,OAAA;AACnB,8DAA6D;AAApD,gHAAA,cAAc,OAAA;AACvB,oEAAmE;AAA1D,kHAAA,eAAe,OAAA;AAGxB;;GAEG;AACU,QAAA,KAAK,GAAG,aAAK,CAAC;AAC3B;;GAEG;AACU,QAAA,SAAS,GAAG,qBAAS,CAAC;AACnC;;GAEG;AACU,QAAA,QAAQ,GAAG,mBAAQ,CAAC;AACjC;;GAEG;AACU,QAAA,UAAU,GAAG,uBAAU,CAAC;AACrC;;GAEG;AACU,QAAA,MAAM,GAAG,eAAM,CAAC;AAC7B;;GAEG;AACU,QAAA,UAAU,GAAG,uBAAU,CAAC;AACrC;;GAEG;AACU,QAAA,cAAc,GAAG,+BAAc,CAAC;AAGhC,QAAA,QAAQ,GAAG,IAAI,kBAAS,EAAE,CAAC;AAExC,0EAAyE;AAAhE,kHAAA,eAAe,OAAA;AACxB,2DAAmF;AAA1E,wGAAA,UAAU,OAAA;AAAE,qHAAA,uBAAuB,OAAA;AAE5C,wDAAuD;AAA9C,0GAAA,WAAW,OAAA;AACpB,0DAAyD;AAAhD,4GAAA,YAAY,OAAA;AACrB,sDAAqD;AAA5C,wGAAA,UAAU,OAAA;AACnB,+EAA8E;AAArE,wHAAA,kBAAkB,OAAA;AAG3B,uCAAsC;AAA7B,8FAAA,KAAK,OAAA;AAEd,sCAAqC;AAA5B,kGAAA,OAAO,OAAA;AAChB,0CAAyD;AAAhD,kGAAA,SAAS,OAAA;AAAE,mGAAA,UAAU,OAAA"}
@@ -0,0 +1,2 @@
1
+ export declare function shouldUseModernDecorator(args: any[]): boolean;
2
+ //# sourceMappingURL=decorators.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../../src/utils/decorators.ts"],"names":[],"mappings":"AAAA,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,GAAG,EAAE,WAEnD"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.shouldUseModernDecorator = shouldUseModernDecorator;
4
+ function shouldUseModernDecorator(args) {
5
+ return args.length === 2 && typeof args[1] === 'object' && 'addInitializer' in args[1];
6
+ }
7
+ //# sourceMappingURL=decorators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../src/utils/decorators.ts"],"names":[],"mappings":";;AAAA,4DAEC;AAFD,SAAgB,wBAAwB,CAAC,IAAW;IAClD,OAAO,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,gBAAgB,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;AACzF,CAAC"}