react-obsidian 0.0.10 → 0.0.14

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 (135) hide show
  1. package/README.md +82 -7
  2. package/babel.config.js +3 -2
  3. package/dist/src/GraphProperties.d.ts +1 -0
  4. package/dist/src/GraphProperties.d.ts.map +1 -1
  5. package/dist/src/GraphProperties.js +3 -0
  6. package/dist/src/GraphProperties.js.map +1 -1
  7. package/dist/src/ProvidedPropertiesStore.d.ts +1 -0
  8. package/dist/src/ProvidedPropertiesStore.d.ts.map +1 -1
  9. package/dist/src/ProvidedPropertiesStore.js +4 -0
  10. package/dist/src/ProvidedPropertiesStore.js.map +1 -1
  11. package/dist/src/decorators/Graph.d.ts +2 -3
  12. package/dist/src/decorators/Graph.d.ts.map +1 -1
  13. package/dist/src/decorators/Graph.js +2 -3
  14. package/dist/src/decorators/Graph.js.map +1 -1
  15. package/dist/src/decorators/Singleton.d.ts +4 -0
  16. package/dist/src/decorators/Singleton.d.ts.map +1 -0
  17. package/dist/src/decorators/Singleton.js +12 -0
  18. package/dist/src/decorators/Singleton.js.map +1 -0
  19. package/dist/src/decorators/inject/Inject.d.ts +2 -0
  20. package/dist/src/decorators/inject/Inject.d.ts.map +1 -0
  21. package/dist/src/decorators/inject/Inject.js +21 -0
  22. package/dist/src/decorators/inject/Inject.js.map +1 -0
  23. package/dist/src/decorators/inject/Injectable.d.ts +4 -0
  24. package/dist/src/decorators/inject/Injectable.d.ts.map +1 -0
  25. package/dist/src/decorators/inject/Injectable.js +13 -0
  26. package/dist/src/decorators/inject/Injectable.js.map +1 -0
  27. package/dist/src/decorators/provides/MemoizeDescriptor.d.ts.map +1 -1
  28. package/dist/src/decorators/provides/MemoizeDescriptor.js +4 -4
  29. package/dist/src/decorators/provides/MemoizeDescriptor.js.map +1 -1
  30. package/dist/src/decorators/provides/Provides.d.ts +0 -2
  31. package/dist/src/decorators/provides/Provides.d.ts.map +1 -1
  32. package/dist/src/decorators/provides/Provides.js.map +1 -1
  33. package/dist/src/graph/ObjectGraph.d.ts +0 -2
  34. package/dist/src/graph/ObjectGraph.d.ts.map +1 -1
  35. package/dist/src/graph/ObjectGraph.js +2 -2
  36. package/dist/src/graph/ObjectGraph.js.map +1 -1
  37. package/dist/src/graph/ProviderBinder.d.ts +3 -0
  38. package/dist/src/graph/ProviderBinder.d.ts.map +1 -0
  39. package/dist/src/graph/ProviderBinder.js +18 -0
  40. package/dist/src/graph/ProviderBinder.js.map +1 -0
  41. package/dist/src/graph/registry/GraphRegistry.d.ts +8 -8
  42. package/dist/src/graph/registry/GraphRegistry.d.ts.map +1 -1
  43. package/dist/src/graph/registry/GraphRegistry.js +23 -22
  44. package/dist/src/graph/registry/GraphRegistry.js.map +1 -1
  45. package/dist/src/index.d.ts +3 -2
  46. package/dist/src/index.d.ts.map +1 -1
  47. package/dist/src/index.js +7 -5
  48. package/dist/src/index.js.map +1 -1
  49. package/dist/src/injectors/class/ClassInjector.d.ts +12 -0
  50. package/dist/src/injectors/class/ClassInjector.d.ts.map +1 -0
  51. package/dist/src/injectors/class/ClassInjector.js +58 -0
  52. package/dist/src/injectors/class/ClassInjector.js.map +1 -0
  53. package/dist/src/injectors/class/ConstructorArgs.d.ts +8 -0
  54. package/dist/src/injectors/class/ConstructorArgs.d.ts.map +1 -0
  55. package/dist/src/injectors/class/ConstructorArgs.js +25 -0
  56. package/dist/src/injectors/class/ConstructorArgs.js.map +1 -0
  57. package/dist/src/injectors/class/InjectionMetadata.d.ts +10 -0
  58. package/dist/src/injectors/class/InjectionMetadata.d.ts.map +1 -0
  59. package/dist/src/injectors/class/InjectionMetadata.js +28 -0
  60. package/dist/src/injectors/class/InjectionMetadata.js.map +1 -0
  61. package/dist/src/injectors/components/ComponentInjector.d.ts +0 -1
  62. package/dist/src/injectors/components/ComponentInjector.d.ts.map +1 -1
  63. package/dist/src/injectors/components/ComponentInjector.js +0 -1
  64. package/dist/src/injectors/components/ComponentInjector.js.map +1 -1
  65. package/dist/src/types/index.d.ts +0 -1
  66. package/dist/src/types/index.d.ts.map +1 -1
  67. package/dist/test/integration/fixtures/MainGraph.d.ts +1 -0
  68. package/dist/test/integration/fixtures/MainGraph.d.ts.map +1 -1
  69. package/dist/test/integration/fixtures/MainGraph.js +10 -0
  70. package/dist/test/integration/fixtures/MainGraph.js.map +1 -1
  71. package/dist/test/integration/fixtures/SingletonGraph.d.ts +6 -0
  72. package/dist/test/integration/fixtures/SingletonGraph.d.ts.map +1 -0
  73. package/dist/test/integration/fixtures/SingletonGraph.js +53 -0
  74. package/dist/test/integration/fixtures/SingletonGraph.js.map +1 -0
  75. package/dist/test/integration/fixtures/UniqueNumberGraph.d.ts +8 -0
  76. package/dist/test/integration/fixtures/UniqueNumberGraph.d.ts.map +1 -0
  77. package/dist/test/integration/fixtures/UniqueNumberGraph.js +62 -0
  78. package/dist/test/integration/fixtures/UniqueNumberGraph.js.map +1 -0
  79. package/dist/test/integration/fixtures/injectedValues.d.ts +1 -0
  80. package/dist/test/integration/fixtures/injectedValues.d.ts.map +1 -1
  81. package/dist/test/integration/fixtures/injectedValues.js +1 -0
  82. package/dist/test/integration/fixtures/injectedValues.js.map +1 -1
  83. package/dist/transformers/{babel-plugin-obsidian-provide → babel-plugin-obsidian}/helpers/index.d.ts +3 -2
  84. package/dist/transformers/babel-plugin-obsidian/helpers/index.d.ts.map +1 -0
  85. package/dist/transformers/{babel-plugin-obsidian-provide → babel-plugin-obsidian}/helpers/index.js +22 -4
  86. package/dist/transformers/babel-plugin-obsidian/helpers/index.js.map +1 -0
  87. package/dist/transformers/{babel-plugin-obsidian-provide → babel-plugin-obsidian}/index.d.ts +0 -0
  88. package/dist/transformers/babel-plugin-obsidian/index.d.ts.map +1 -0
  89. package/dist/transformers/{babel-plugin-obsidian-provide → babel-plugin-obsidian}/index.js +27 -1
  90. package/dist/transformers/babel-plugin-obsidian/index.js.map +1 -0
  91. package/example/babel.config.js +1 -1
  92. package/example/ios/example.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  93. package/jest.config.js +4 -0
  94. package/jest.setup-after-env.js +1 -0
  95. package/jest.setup.ts +1 -0
  96. package/package.json +5 -3
  97. package/src/GraphProperties.ts +4 -0
  98. package/src/ProvidedPropertiesStore.ts +4 -0
  99. package/src/decorators/Graph.ts +2 -5
  100. package/src/decorators/Singleton.ts +14 -0
  101. package/src/decorators/inject/Inject.ts +17 -0
  102. package/src/decorators/inject/Injectable.ts +8 -0
  103. package/src/decorators/provides/MemoizeDescriptor.ts +3 -4
  104. package/src/decorators/provides/Provides.ts +0 -2
  105. package/src/graph/ObjectGraph.ts +2 -5
  106. package/src/graph/ProviderBinder.ts +12 -0
  107. package/src/graph/registry/GraphRegistry.ts +27 -32
  108. package/src/index.ts +3 -2
  109. package/src/injectors/class/ClassInjector.ts +49 -0
  110. package/src/injectors/class/ConstructorArgs.ts +20 -0
  111. package/src/injectors/class/InjectionMetadata.ts +32 -0
  112. package/src/injectors/components/ComponentInjector.tsx +0 -1
  113. package/src/types/index.ts +0 -2
  114. package/testkit/index.ts +1 -1
  115. package/transformers/{babel-plugin-obsidian-provide → babel-plugin-obsidian}/helpers/index.ts +26 -2
  116. package/transformers/{babel-plugin-obsidian-provide → babel-plugin-obsidian}/index.ts +37 -3
  117. package/dist/src/ScopedValuesRegistry.d.ts +0 -11
  118. package/dist/src/ScopedValuesRegistry.d.ts.map +0 -1
  119. package/dist/src/ScopedValuesRegistry.js +0 -25
  120. package/dist/src/ScopedValuesRegistry.js.map +0 -1
  121. package/dist/src/decorators/injectClass.d.ts +0 -7
  122. package/dist/src/decorators/injectClass.d.ts.map +0 -1
  123. package/dist/src/decorators/injectClass.js +0 -34
  124. package/dist/src/decorators/injectClass.js.map +0 -1
  125. package/dist/src/graph/autobind.d.ts +0 -2
  126. package/dist/src/graph/autobind.d.ts.map +0 -1
  127. package/dist/src/graph/autobind.js +0 -12
  128. package/dist/src/graph/autobind.js.map +0 -1
  129. package/dist/transformers/babel-plugin-obsidian-provide/helpers/index.d.ts.map +0 -1
  130. package/dist/transformers/babel-plugin-obsidian-provide/helpers/index.js.map +0 -1
  131. package/dist/transformers/babel-plugin-obsidian-provide/index.d.ts.map +0 -1
  132. package/dist/transformers/babel-plugin-obsidian-provide/index.js.map +0 -1
  133. package/src/ScopedValuesRegistry.ts +0 -26
  134. package/src/decorators/injectClass.ts +0 -28
  135. package/src/graph/autobind.ts +0 -7
@@ -1,25 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- var ScopedValuesRegistry = /** @class */ (function () {
4
- function ScopedValuesRegistry() {
5
- this.values = new Map();
6
- }
7
- ScopedValuesRegistry.prototype.has = function (scope, property) {
8
- return this.values.has(scope.toString() + property);
9
- };
10
- ScopedValuesRegistry.prototype.get = function (scope, property) {
11
- if (this.values.has(scope.toString() + property)) {
12
- return this.values.get(scope.toString() + property);
13
- }
14
- throw new Error("Property ".concat(property, " does not exist"));
15
- };
16
- ScopedValuesRegistry.prototype.set = function (scope, property, value) {
17
- this.values.set(scope.toString() + property, value);
18
- };
19
- ScopedValuesRegistry.prototype.clear = function (scope, property) {
20
- this.values.delete(scope.toString() + property);
21
- };
22
- return ScopedValuesRegistry;
23
- }());
24
- exports.default = new ScopedValuesRegistry();
25
- //# sourceMappingURL=ScopedValuesRegistry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ScopedValuesRegistry.js","sourceRoot":"","sources":["../../src/ScopedValuesRegistry.ts"],"names":[],"mappings":";;AAEA;IAAA;QACmB,WAAM,GAAqB,IAAI,GAAG,EAAE,CAAC;IAoBxD,CAAC;IAlBC,kCAAG,GAAH,UAAI,KAAY,EAAE,QAAgB;QAChC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,QAAQ,CAAC,CAAC;IACtD,CAAC;IAED,kCAAG,GAAH,UAAI,KAAY,EAAE,QAAgB;QAChC,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,QAAQ,CAAC,EAAE;YAChD,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,QAAQ,CAAC,CAAC;SACrD;QACD,MAAM,IAAI,KAAK,CAAC,mBAAY,QAAQ,oBAAiB,CAAC,CAAC;IACzD,CAAC;IAED,kCAAG,GAAH,UAAI,KAAY,EAAE,QAAgB,EAAE,KAAU;QAC5C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,QAAQ,EAAE,KAAK,CAAC,CAAC;IACtD,CAAC;IAED,oCAAK,GAAL,UAAM,KAAY,EAAE,QAAgB;QAClC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,QAAQ,CAAC,CAAC;IAClD,CAAC;IACH,2BAAC;AAAD,CAAC,AArBD,IAqBC;AAED,kBAAe,IAAI,oBAAoB,EAAE,CAAC"}
@@ -1,7 +0,0 @@
1
- import { Constructable } from '../types';
2
- import { ObjectGraph } from '../graph/ObjectGraph';
3
- export declare function Injectable<T extends {
4
- new (...args: any[]): any;
5
- }>(Graph: Constructable<ObjectGraph>): any;
6
- export declare function Inject(target: Object, propertyKey: string): void;
7
- //# sourceMappingURL=injectClass.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"injectClass.d.ts","sourceRoot":"","sources":["../../../src/decorators/injectClass.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAInD,wBAAgB,UAAU,CAAC,CAAC,SAAS;IAAE,KAAI,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,GAAG,CAAA;CAAE,EAAE,KAAK,EAAE,aAAa,CAAC,WAAW,CAAC,GAAG,GAAG,CAgBzG;AAED,wBAAgB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,QAGzD"}
@@ -1,34 +0,0 @@
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.Inject = exports.Injectable = void 0;
7
- var GraphRegistry_1 = __importDefault(require("../graph/registry/GraphRegistry"));
8
- var injectionMetadataKey = 'injectionMetadata';
9
- function Injectable(Graph) {
10
- return function (Target) {
11
- var proxy = {
12
- construct: function (target, args, newTarget) {
13
- var _a;
14
- var keysToInject = (_a = Reflect.getMetadata(injectionMetadataKey, target)) !== null && _a !== void 0 ? _a : [];
15
- var createdObject = Reflect.construct(target, args, newTarget);
16
- var graph = GraphRegistry_1.default.resolve(Graph);
17
- for (var _i = 0, keysToInject_1 = keysToInject; _i < keysToInject_1.length; _i++) {
18
- var key = keysToInject_1[_i];
19
- Reflect.set(createdObject, key, graph.retrieve(key));
20
- }
21
- return createdObject;
22
- },
23
- };
24
- return new Proxy(Target, proxy);
25
- };
26
- }
27
- exports.Injectable = Injectable;
28
- function Inject(target, propertyKey) {
29
- var _a;
30
- var keysToInject = (_a = Reflect.getMetadata(injectionMetadataKey, target.constructor)) !== null && _a !== void 0 ? _a : new Set();
31
- Reflect.defineMetadata(injectionMetadataKey, keysToInject.add(propertyKey), target.constructor);
32
- }
33
- exports.Inject = Inject;
34
- //# sourceMappingURL=injectClass.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"injectClass.js","sourceRoot":"","sources":["../../../src/decorators/injectClass.ts"],"names":[],"mappings":";;;;;;AACA,kFAA4D;AAG5D,IAAM,oBAAoB,GAAG,mBAAmB,CAAC;AAEjD,SAAgB,UAAU,CAAyC,KAAiC;IAClG,OAAO,UAAC,MAAS;QACf,IAAM,KAAK,GAAG;YACZ,SAAS,EAAT,UAAU,MAAW,EAAE,IAAW,EAAE,SAAc;;gBAChD,IAAM,YAAY,GAAa,MAAA,OAAO,CAAC,WAAW,CAAC,oBAAoB,EAAE,MAAM,CAAC,mCAAI,EAAE,CAAC;gBAEvF,IAAM,aAAa,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;gBACjE,IAAM,KAAK,GAAG,uBAAa,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAC3C,KAAkB,UAAY,EAAZ,6BAAY,EAAZ,0BAAY,EAAZ,IAAY,EAAE;oBAA3B,IAAM,GAAG,qBAAA;oBACZ,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;iBACtD;gBACD,OAAO,aAAa,CAAC;YACvB,CAAC;SACF,CAAC;QACF,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAClC,CAAC,CAAC;AACJ,CAAC;AAhBD,gCAgBC;AAED,SAAgB,MAAM,CAAC,MAAc,EAAE,WAAmB;;IACxD,IAAM,YAAY,GAAG,MAAA,OAAO,CAAC,WAAW,CAAC,oBAAoB,EAAE,MAAM,CAAC,WAAW,CAAC,mCAAI,IAAI,GAAG,EAAE,CAAC;IAChG,OAAO,CAAC,cAAc,CAAC,oBAAoB,EAAE,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;AAClG,CAAC;AAHD,wBAGC"}
@@ -1,2 +0,0 @@
1
- export declare function autobind(target: Record<string, any>): void;
2
- //# sourceMappingURL=autobind.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"autobind.d.ts","sourceRoot":"","sources":["../../../src/graph/autobind.ts"],"names":[],"mappings":"AACA,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,QAKnD"}
@@ -1,12 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.autobind = void 0;
4
- /* eslint-disable no-param-reassign */
5
- function autobind(target) {
6
- var methods = Object.getOwnPropertyNames(Object.getPrototypeOf(target));
7
- methods
8
- .filter(function (method) { return (method !== 'constructor'); })
9
- .forEach(function (method) { target[method] = target[method].bind(target); });
10
- }
11
- exports.autobind = autobind;
12
- //# sourceMappingURL=autobind.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"autobind.js","sourceRoot":"","sources":["../../../src/graph/autobind.ts"],"names":[],"mappings":";;;AAAA,sCAAsC;AACtC,SAAgB,QAAQ,CAAC,MAA2B;IAClD,IAAM,OAAO,GAAG,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1E,OAAO;SACJ,MAAM,CAAC,UAAC,MAAM,IAAK,OAAA,CAAC,MAAM,KAAK,aAAa,CAAC,EAA1B,CAA0B,CAAC;SAC9C,OAAO,CAAC,UAAC,MAAM,IAAO,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5E,CAAC;AALD,4BAKC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../transformers/babel-plugin-obsidian-provide/helpers/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,WAAW,EACX,SAAS,EACT,UAAU,EACV,gBAAgB,EAChB,aAAa,EACd,MAAM,cAAc,CAAC;AAGtB,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAWhE;AAED,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,QAOjF;AAED,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,SAAS,GAAG,gBAAgB,GAAG,SAAS,CAKvF;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,CAGvD;AAED,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,SAAS,GAAG,IAAI,GAAG,SAAS,GAAG,SAAS,CAE3G;AAED,wBAAgB,gBAAgB,CAAC,SAAS,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS,CAE1E;AAED,wBAAgB,+BAA+B,CAAC,MAAM,EAAE,CAAC,UAAU,GAAG,GAAG,CAAC,EAAE,GAAG,aAAa,CAI3F"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../transformers/babel-plugin-obsidian-provide/helpers/index.ts"],"names":[],"mappings":";;;AAAA,sCAAsC;AACtC,oCAAyC;AASzC,iCAA6B;AAE7B,SAAgB,kBAAkB,CAAC,SAAoB;IACrD,IAAM,QAAQ,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAC;IACjD,IAAI,YAAC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE;QAClC,OAAO,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,UAAC,CAAC;YAChC,IAAI,YAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE;gBACzB,OAAO,YAAC,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,KAAK,MAAM,CAAC;aACvD;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,KAAK,SAAS,CAAC;KAClB;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAXD,gDAWC;AAED,SAAgB,0BAA0B,CAAC,IAAiB,EAAE,SAAoB;;IAChF,IAAM,QAAQ,GAAG,MAAA,oBAAoB,CAAC,SAAS,CAAC,mCAAI,YAAC,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;IAC3E,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,YAAC,CAAC,cAAc,CACvC,YAAC,CAAC,UAAU,CAAC,MAAM,CAAC,EACpB,YAAC,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CACrC,CAAC,CAAC;IACF,SAAS,CAAC,UAA6B,CAAC,SAAS,GAAG,CAAC,QAAQ,CAAC,CAAC;AAClE,CAAC;AAPD,gEAOC;AAED,SAAgB,oBAAoB,CAAC,SAAoB;IACvD,IAAI,YAAC,CAAC,gBAAgB,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE;QAC5C,OAAO,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,YAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAvB,CAAuB,CAAqB,CAAC;KAChG;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AALD,oDAKC;AAED,SAAgB,aAAa,CAAC,IAAiB;IAC7C,IAAI,YAAC,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;IACnD,MAAM,IAAI,KAAK,CAAC,0EAAmE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC,CAAC;AACtG,CAAC;AAHD,sCAGC;AAED,SAAgB,oBAAoB,CAAC,UAA+C;IAClF,OAAO,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI,CAAC,UAAC,SAAS,IAAK,OAAA,IAAA,YAAG,EAAC,SAAS,EAAE,wBAAwB,CAAC,KAAK,UAAU,EAAvD,CAAuD,CAAC,CAAC;AAClG,CAAC;AAFD,oDAEC;AAED,SAAgB,gBAAgB,CAAC,SAAqB;IACpD,OAAO,IAAA,YAAG,EAAC,SAAS,EAAE,wBAAwB,CAAC,CAAC;AAClD,CAAC;AAFD,4CAEC;AAED,SAAgB,+BAA+B,CAAC,MAA4B;IAC1E,OAAO,YAAC,CAAC,aAAa,CAAC,MAAM;SAC1B,MAAM,CAAC,UAAC,CAAC,IAAK,OAAA,YAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAjB,CAAiB,CAAC;SAChC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,YAAC,CAAC,cAAc,CAAC,YAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,YAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAA5D,CAA4D,CAAC,CAAC,CAAC;AAC/E,CAAC;AAJD,0EAIC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../transformers/babel-plugin-obsidian-provide/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAY,SAAS,EAAE,MAAM,aAAa,CAAC;AA0ClD,MAAM,CAAC,OAAO,UAAU,MAAM,gDAE7B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../transformers/babel-plugin-obsidian-provide/index.ts"],"names":[],"mappings":";;AAGA,qCAMmB;AAEnB,IAAM,4BAA4B,GAAc;IAC9C,OAAO,EAAE;QACP,OAAO,EAAP,UAAQ,IAAuB;YAC7B,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QACjC,CAAC;KACF;CACF,CAAC;AAEF,IAAM,eAAe,GAAG;IACtB,WAAW,EAAE;QACX,KAAK,EAAL,UAAM,EAA+B;gBAA7B,IAAI,UAAA;YACV,IAAM,SAAS,GAAG,IAAA,8BAAoB,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACxD,IAAI,IAAA,0BAAgB,EAAC,SAAS,CAAC,KAAK,UAAU,EAAE;gBAC9C,8CAA8C,CAAC,IAAI,CAAC,CAAC;gBACrD,0CAA0C,CAAC,IAAI,EAAE,SAAU,CAAC,CAAC;aAC9D;QACH,CAAC;KACF;CACF,CAAC;AAEF,SAAS,8CAA8C,CAAC,IAAiB;IACvE,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IACrC,IAAM,kBAAkB,GAAG,IAAA,yCAA+B,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACxE,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;IACvB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,0CAA0C,CAAC,IAAiB,EAAE,SAAoB;IACzF,IAAI,IAAA,4BAAkB,EAAC,SAAS,CAAC,EAAE;QACjC,IAAA,oCAA0B,EAAC,IAAI,EAAE,SAAS,CAAC,CAAC;KAC7C;AACH,CAAC;AAED,SAAwB,MAAM;IAC5B,OAAO,4BAA4B,CAAC;AACtC,CAAC;AAFD,yBAEC"}
@@ -1,26 +0,0 @@
1
- import { Scope } from './types';
2
-
3
- class ScopedValuesRegistry {
4
- private readonly values: Map<string, any> = new Map();
5
-
6
- has(scope: Scope, property: string): boolean {
7
- return this.values.has(scope.toString() + property);
8
- }
9
-
10
- get(scope: Scope, property: string): any {
11
- if (this.values.has(scope.toString() + property)) {
12
- return this.values.get(scope.toString() + property);
13
- }
14
- throw new Error(`Property ${property} does not exist`);
15
- }
16
-
17
- set(scope: Scope, property: string, value: any) {
18
- this.values.set(scope.toString() + property, value);
19
- }
20
-
21
- clear(scope: Scope, property: string) {
22
- this.values.delete(scope.toString() + property);
23
- }
24
- }
25
-
26
- export default new ScopedValuesRegistry();
@@ -1,28 +0,0 @@
1
- import { Constructable } from '../types';
2
- import graphRegistry from '../graph/registry/GraphRegistry';
3
- import { ObjectGraph } from '../graph/ObjectGraph';
4
-
5
- const injectionMetadataKey = 'injectionMetadata';
6
-
7
- export function Injectable<T extends { new(...args: any[]): any }>(Graph: Constructable<ObjectGraph>): any {
8
- return (Target: T) => {
9
- const proxy = {
10
- construct(target: any, args: any[], newTarget: any): new() => {} {
11
- const keysToInject: string[] = Reflect.getMetadata(injectionMetadataKey, target) ?? [];
12
-
13
- const createdObject = Reflect.construct(target, args, newTarget);
14
- const graph = graphRegistry.resolve(Graph);
15
- for (const key of keysToInject) {
16
- Reflect.set(createdObject, key, graph.retrieve(key));
17
- }
18
- return createdObject;
19
- },
20
- };
21
- return new Proxy(Target, proxy);
22
- };
23
- }
24
-
25
- export function Inject(target: Object, propertyKey: string) {
26
- const keysToInject = Reflect.getMetadata(injectionMetadataKey, target.constructor) ?? new Set();
27
- Reflect.defineMetadata(injectionMetadataKey, keysToInject.add(propertyKey), target.constructor);
28
- }
@@ -1,7 +0,0 @@
1
- /* eslint-disable no-param-reassign */
2
- export function autobind(target: Record<string, any>) {
3
- const methods = Object.getOwnPropertyNames(Object.getPrototypeOf(target));
4
- methods
5
- .filter((method) => (method !== 'constructor'))
6
- .forEach((method) => { target[method] = target[method].bind(target); });
7
- }