@wirestate/core 0.6.3 → 0.7.0-experimental.2

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 (167) hide show
  1. package/CHANGELOG.md +27 -1
  2. package/README.md +48 -37
  3. package/cjs/development/index.js +325 -91
  4. package/cjs/development/index.js.map +1 -1
  5. package/cjs/development/lib.js +1033 -248
  6. package/cjs/development/lib.js.map +1 -1
  7. package/cjs/development/test-utils.js +95 -32
  8. package/cjs/development/test-utils.js.map +1 -1
  9. package/cjs/production/index.js +1 -1
  10. package/cjs/production/index.js.map +1 -1
  11. package/cjs/production/lib.js +1 -1
  12. package/cjs/production/lib.js.map +1 -1
  13. package/cjs/production/test-utils.js +1 -1
  14. package/cjs/production/test-utils.js.map +1 -1
  15. package/esm/development/alias.js +10 -1
  16. package/esm/development/alias.js.map +1 -1
  17. package/esm/development/bind/bind-constant.js +25 -4
  18. package/esm/development/bind/bind-constant.js.map +1 -1
  19. package/esm/development/bind/bind-dynamic-value.js +27 -7
  20. package/esm/development/bind/bind-dynamic-value.js.map +1 -1
  21. package/esm/development/bind/bind-entry.js +50 -17
  22. package/esm/development/bind/bind-entry.js.map +1 -1
  23. package/esm/development/bind/bind-service.js +71 -19
  24. package/esm/development/bind/bind-service.js.map +1 -1
  25. package/esm/development/bind/get-entry-token.js +21 -5
  26. package/esm/development/bind/get-entry-token.js.map +1 -1
  27. package/esm/development/commands/command-bus.js +93 -46
  28. package/esm/development/commands/command-bus.js.map +1 -1
  29. package/esm/development/commands/command-optional.js +28 -5
  30. package/esm/development/commands/command-optional.js.map +1 -1
  31. package/esm/development/commands/command.js +26 -5
  32. package/esm/development/commands/command.js.map +1 -1
  33. package/esm/development/commands/get-command-handler-metadata.js +8 -3
  34. package/esm/development/commands/get-command-handler-metadata.js.map +1 -1
  35. package/esm/development/commands/on-command.js +19 -3
  36. package/esm/development/commands/on-command.js.map +1 -1
  37. package/esm/development/container/create-base-container.js +57 -0
  38. package/esm/development/container/create-base-container.js.map +1 -0
  39. package/esm/development/container/create-container.js +78 -0
  40. package/esm/development/container/create-container.js.map +1 -0
  41. package/esm/development/container/wire-scope.js +236 -54
  42. package/esm/development/container/wire-scope.js.map +1 -1
  43. package/esm/development/error/error-code.js +2 -1
  44. package/esm/development/error/error-code.js.map +1 -1
  45. package/esm/development/error/wirestate-error.js +25 -4
  46. package/esm/development/error/wirestate-error.js.map +1 -1
  47. package/esm/development/events/build-event-dispatcher.js +20 -2
  48. package/esm/development/events/build-event-dispatcher.js.map +1 -1
  49. package/esm/development/events/emit-event.js +18 -5
  50. package/esm/development/events/emit-event.js.map +1 -1
  51. package/esm/development/events/event-bus.js +58 -9
  52. package/esm/development/events/event-bus.js.map +1 -1
  53. package/esm/development/events/get-event-handler-metadata.js +19 -4
  54. package/esm/development/events/get-event-handler-metadata.js.map +1 -1
  55. package/esm/development/events/on-event.js +31 -2
  56. package/esm/development/events/on-event.js.map +1 -1
  57. package/esm/development/index.js +5 -4
  58. package/esm/development/index.js.map +1 -1
  59. package/esm/development/queries/get-query-handler-metadata.js +20 -4
  60. package/esm/development/queries/get-query-handler-metadata.js.map +1 -1
  61. package/esm/development/queries/on-query.js +24 -2
  62. package/esm/development/queries/on-query.js.map +1 -1
  63. package/esm/development/queries/query-bus.js +82 -31
  64. package/esm/development/queries/query-bus.js.map +1 -1
  65. package/esm/development/queries/query-optional.js +19 -5
  66. package/esm/development/queries/query-optional.js.map +1 -1
  67. package/esm/development/queries/query.js +25 -5
  68. package/esm/development/queries/query.js.map +1 -1
  69. package/esm/development/registry.js +81 -24
  70. package/esm/development/registry.js.map +1 -1
  71. package/esm/development/seeds/apply-seeds.js +19 -5
  72. package/esm/development/seeds/apply-seeds.js.map +1 -1
  73. package/esm/development/seeds/apply-shared-seed.js +16 -4
  74. package/esm/development/seeds/apply-shared-seed.js.map +1 -1
  75. package/esm/development/seeds/tokens.js +31 -0
  76. package/esm/development/seeds/tokens.js.map +1 -0
  77. package/esm/development/seeds/unapply-seeds.js +16 -5
  78. package/esm/development/seeds/unapply-seeds.js.map +1 -1
  79. package/esm/development/service/get-activated-handler-metadata.js +16 -4
  80. package/esm/development/service/get-activated-handler-metadata.js.map +1 -1
  81. package/esm/development/service/get-deactivation-handler-metadata.js +16 -4
  82. package/esm/development/service/get-deactivation-handler-metadata.js.map +1 -1
  83. package/esm/development/service/on-activated.js +22 -2
  84. package/esm/development/service/on-activated.js.map +1 -1
  85. package/esm/development/service/on-deactivation.js +22 -2
  86. package/esm/development/service/on-deactivation.js.map +1 -1
  87. package/esm/development/test-utils/mock-bind-entry.js +17 -7
  88. package/esm/development/test-utils/mock-bind-entry.js.map +1 -1
  89. package/esm/development/test-utils/mock-bind-service.js +17 -7
  90. package/esm/development/test-utils/mock-bind-service.js.map +1 -1
  91. package/esm/development/test-utils/mock-container.js +25 -8
  92. package/esm/development/test-utils/mock-container.js.map +1 -1
  93. package/esm/development/test-utils/mock-service.js +18 -5
  94. package/esm/development/test-utils/mock-service.js.map +1 -1
  95. package/esm/development/test-utils/mock-unbind-service.js +16 -3
  96. package/esm/development/test-utils/mock-unbind-service.js.map +1 -1
  97. package/esm/development/types/commands.js +6 -1
  98. package/esm/development/types/commands.js.map +1 -1
  99. package/esm/production/alias.js +1 -1
  100. package/esm/production/alias.js.map +1 -1
  101. package/esm/production/bind/bind-constant.js +1 -1
  102. package/esm/production/bind/bind-constant.js.map +1 -1
  103. package/esm/production/bind/bind-dynamic-value.js +1 -1
  104. package/esm/production/bind/bind-dynamic-value.js.map +1 -1
  105. package/esm/production/bind/bind-entry.js +1 -1
  106. package/esm/production/bind/bind-entry.js.map +1 -1
  107. package/esm/production/bind/bind-service.js.map +1 -1
  108. package/esm/production/bind/get-entry-token.js.map +1 -1
  109. package/esm/production/commands/command-bus.js +1 -1
  110. package/esm/production/commands/command-bus.js.map +1 -1
  111. package/esm/production/commands/command-optional.js.map +1 -1
  112. package/esm/production/commands/command.js.map +1 -1
  113. package/esm/production/commands/get-command-handler-metadata.js.map +1 -1
  114. package/esm/production/commands/on-command.js.map +1 -1
  115. package/esm/production/container/create-base-container.js +1 -0
  116. package/esm/production/container/create-base-container.js.map +1 -0
  117. package/esm/production/container/create-container.js +1 -0
  118. package/esm/production/container/create-container.js.map +1 -0
  119. package/esm/production/container/wire-scope.js +1 -1
  120. package/esm/production/container/wire-scope.js.map +1 -1
  121. package/esm/production/error/error-code.js +1 -1
  122. package/esm/production/error/error-code.js.map +1 -1
  123. package/esm/production/error/wirestate-error.js.map +1 -1
  124. package/esm/production/events/build-event-dispatcher.js.map +1 -1
  125. package/esm/production/events/emit-event.js.map +1 -1
  126. package/esm/production/events/event-bus.js +1 -1
  127. package/esm/production/events/event-bus.js.map +1 -1
  128. package/esm/production/events/get-event-handler-metadata.js.map +1 -1
  129. package/esm/production/events/on-event.js.map +1 -1
  130. package/esm/production/index.js +1 -1
  131. package/esm/production/queries/get-query-handler-metadata.js.map +1 -1
  132. package/esm/production/queries/on-query.js.map +1 -1
  133. package/esm/production/queries/query-bus.js +1 -1
  134. package/esm/production/queries/query-bus.js.map +1 -1
  135. package/esm/production/queries/query-optional.js.map +1 -1
  136. package/esm/production/queries/query.js.map +1 -1
  137. package/esm/production/registry.js +1 -1
  138. package/esm/production/registry.js.map +1 -1
  139. package/esm/production/seeds/apply-seeds.js +1 -1
  140. package/esm/production/seeds/apply-seeds.js.map +1 -1
  141. package/esm/production/seeds/apply-shared-seed.js +1 -1
  142. package/esm/production/seeds/apply-shared-seed.js.map +1 -1
  143. package/esm/production/seeds/tokens.js +1 -0
  144. package/esm/production/seeds/tokens.js.map +1 -0
  145. package/esm/production/seeds/unapply-seeds.js +1 -1
  146. package/esm/production/seeds/unapply-seeds.js.map +1 -1
  147. package/esm/production/service/get-activated-handler-metadata.js.map +1 -1
  148. package/esm/production/service/get-deactivation-handler-metadata.js.map +1 -1
  149. package/esm/production/service/on-activated.js.map +1 -1
  150. package/esm/production/service/on-deactivation.js.map +1 -1
  151. package/esm/production/test-utils/mock-bind-entry.js +1 -1
  152. package/esm/production/test-utils/mock-bind-entry.js.map +1 -1
  153. package/esm/production/test-utils/mock-bind-service.js +1 -1
  154. package/esm/production/test-utils/mock-bind-service.js.map +1 -1
  155. package/esm/production/test-utils/mock-container.js +1 -1
  156. package/esm/production/test-utils/mock-container.js.map +1 -1
  157. package/esm/production/test-utils/mock-service.js.map +1 -1
  158. package/esm/production/test-utils/mock-unbind-service.js.map +1 -1
  159. package/esm/production/types/commands.js.map +1 -1
  160. package/index.d.ts +1159 -229
  161. package/lib.d.ts +128 -9
  162. package/package.json +1 -2
  163. package/test-utils.d.ts +140 -40
  164. package/esm/development/container/create-ioc-container.js +0 -35
  165. package/esm/development/container/create-ioc-container.js.map +0 -1
  166. package/esm/production/container/create-ioc-container.js +0 -1
  167. package/esm/production/container/create-ioc-container.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"test-utils.js","sources":["../../../../../../../src/wirestate-core/test-utils/mock-bind-service.ts","../../../../../../../src/wirestate-core/test-utils/mock-bind-entry.ts","../../../../../../../src/wirestate-core/test-utils/mock-container.ts","../../../../../../../src/wirestate-core/test-utils/mock-service.ts","../../../../../../../src/wirestate-core/test-utils/mock-unbind-service.ts"],"sourcesContent":[null,null,null,null,null],"names":["createIocContainer","require","mockBindService","container","ServiceClass","options","skipLifecycle","bindService","isWithIgnoreLifecycle","mockBindEntry","entry","bindEntry","mockContainer","_a","activate","_b","entries","length","serviceTokens","map","s","getEntryToken","_i","activate_1","token","includes","WirestateError","ERROR_CODE_INVALID_ARGUMENTS","_c","entries_1","_d","activate_2","it_2","get","exports","mockService","service","mockUnbindService","unbind"],"mappings":"AAeA,aAAA,IAAAA,EAAAC,QAAA,qBAUgBC,EACdC,EACAC,EACAC,QAAA,IAAAA,IAAAA,EAAA,CAAA,GAEQ,IAAAC,EAAkBD,EAAOC,cAEjC,OAAOC,EAAAA,EAAYJ,EAAWC,EAAc,CAC1CI,sBAAuBF,GAE3B,UCRgBG,EACdN,EACAO,EACAL,QAAA,IAAAA,IAAAA,EAAA,CAAA,GAEQ,IAAAC,EAAkBD,EAAOC,cAEjC,OAAOK,EAAAA,EAAUR,EAAWO,EAAO,CACjCF,sBAAuBF,GAE3B,CCGM,SAAUM,EAAcP,QAAA,IAAAA,IAAAA,EAAA,CAAA,GACpB,IAAAQ,EAA+CR,EAAOS,SAAtDA,OAAQ,IAAAD,EAAG,GAAEA,EAAEE,EAAgCV,UAAhCW,aAAU,GAAED,EAAET,EAAkBD,EAAOC,cAE9D,GAAIQ,EAASG,OAGX,IAFA,IAAMC,EAA0CF,EAAQG,KAAI,SAACC,GAAM,OAAAC,EAAAA,EAAcD,EAAd,IAE/CE,EAAA,EAAAC,EAAAT,EAAAQ,WAAAA,IAAU,CAAzB,IAAME,EAAKD,EAAAD,GACd,IAAKJ,EAAcO,SAASD,GAC1B,MAAM,IAAIE,EAAAA,EACRC,EAAAA,EACA,0EAGN,CAKF,IAFA,IAAMxB,EAAuBH,EAAAA,IAEZ4B,EAAA,EAAAC,EAAAb,EAAAY,WAAAA,IAAS,CACxBnB,EAAcN,EADH0B,EAAAD,GACkB,CAAEtB,cAAeA,GAChD,CAEA,IAAiB,IAAAwB,EAAA,EAAAC,EAAAjB,EAAAgB,WAAAA,IAAU,CAAtB,IAAME,EAAED,EAAAD,GACX3B,EAAU8B,IAAID,EAChB,CAEA,OAAO7B,CACT,CFpDAF,QAAA,aAAAA,QAAA,SGkBAiC,QAAAzB,cAAAA,EAAAyB,QAAAhC,gBAAAA,EAAAgC,QAAAtB,cAAAA,EAAAsB,QAAAC,qBATEC,EACAjC,EACAE,GAMA,YAPA,IAAAF,IAAAA,EAAYS,UACZ,IAAAP,IAAAA,EAAA,CAAA,GAEAH,EAAgBC,EAAWiC,EAAS,CAClC9B,cAAeD,EAAQC,gBAGlBH,EAAU8B,IAAIG,EACvB,EAAAF,QAAAG,kBCxBM,SAA8ClC,EAAsBC,GACxED,EAAUmC,OAAOlC,EACnB"}
1
+ {"version":3,"file":"test-utils.js","sources":["../../../../../../../src/wirestate-core/test-utils/mock-bind-service.ts","../../../../../../../src/wirestate-core/test-utils/mock-bind-entry.ts","../../../../../../../src/wirestate-core/test-utils/mock-container.ts","../../../../../../../src/wirestate-core/test-utils/mock-service.ts","../../../../../../../src/wirestate-core/test-utils/mock-unbind-service.ts"],"sourcesContent":[null,null,null,null,null],"names":["createContainer","require","mockBindService","container","ServiceClass","options","skipLifecycle","bindService","isWithIgnoreLifecycle","mockBindEntry","entry","bindEntry","mockContainer","_a","activate","_b","entries","length","serviceTokens","map","s","getEntryToken","_i","activate_1","token","includes","WirestateError","ERROR_CODE_INVALID_ARGUMENTS","parent","seeds","seed","_c","entries_1","_d","activate_2","it_2","get","exports","mockService","service","mockUnbindService","unbind"],"mappings":"AAqBA,aAAA,IAAAA,EAAAC,QAAA,qBAoBgBC,EACdC,EACAC,EACAC,QAAA,IAAAA,IAAAA,EAAA,CAAA,GAEQ,IAAAC,EAAkBD,EAAOC,cAEjCC,EAAAA,EAAYJ,EAAWC,EAAc,CACnCI,sBAAuBF,GAE3B,UCRgBG,EACdN,EACAO,EACAL,QAAA,IAAAA,IAAAA,EAAA,CAAA,GAEQ,IAAAC,EAAkBD,EAAOC,cAEjCK,EAAAA,EAAUR,EAAWO,EAAO,CAC1BF,sBAAuBF,GAE3B,CCgCM,SAAUM,EAAcP,QAAA,IAAAA,IAAAA,EAAA,CAAA,GACpB,IAAAQ,EAA+CR,EAAOS,SAAtDA,OAAQ,IAAAD,EAAG,GAAEA,EAAEE,EAAgCV,UAAhCW,aAAU,GAAED,EAAET,EAAkBD,EAAOC,cAE9D,GAAIQ,EAASG,OAGX,IAFA,IAAMC,EAA0CF,EAAQG,KAAI,SAACC,GAAM,OAAAC,EAAAA,EAAcD,EAAd,IAE/CE,EAAA,EAAAC,EAAAT,EAAAQ,WAAAA,IAAU,CAAzB,IAAME,EAAKD,EAAAD,GACd,IAAKJ,EAAcO,SAASD,GAC1B,MAAM,IAAIE,EAAAA,EACRC,EAAAA,EACA,0EAGN,CAKF,IAFA,IAAMxB,EAAuBH,EAAAA,EAAgB,CAAE4B,OAAQvB,EAAQuB,OAAQC,MAAOxB,EAAQwB,MAAOC,KAAMzB,EAAQyB,OAE1FC,EAAA,EAAAC,EAAAhB,EAAAe,WAAAA,IAAS,CACxBtB,EAAcN,EADH6B,EAAAD,GACkB,CAAEzB,cAAeA,GAChD,CAEA,IAAiB,IAAA2B,EAAA,EAAAC,EAAApB,EAAAmB,WAAAA,IAAU,CAAtB,IAAME,EAAED,EAAAD,GACX9B,EAAUiC,IAAID,EAChB,CAEA,OAAOhC,CACT,CF3FAF,QAAA,aAAAA,QAAA,SG6BAoC,QAAA5B,cAAAA,EAAA4B,QAAAnC,gBAAAA,EAAAmC,QAAAzB,cAAAA,EAAAyB,QAAAC,qBATEC,EACApC,EACAE,GAMA,YAPA,IAAAF,IAAAA,EAAYS,UACZ,IAAAP,IAAAA,EAAA,CAAA,GAEAH,EAAgBC,EAAWoC,EAAS,CAClCjC,cAAeD,EAAQC,gBAGlBH,EAAUiC,IAAIG,EACvB,EAAAF,QAAAG,kBC5BM,SAA8CrC,EAAsBC,GACxED,EAAUsC,OAAOrC,EACnB"}
@@ -1,6 +1,15 @@
1
1
  import { LazyServiceIdentifier } from 'inversify';
2
- export { bindingTypeValues as BindingType, Container, ContainerModule, inject as Inject, injectable as Injectable, LazyServiceIdentifier, multiInject as MultiInject, named as Named, optional as Optional, postConstruct as PostConstruct, preDestroy as PreDestroy, bindingScopeValues as ScopeBindingType, tagged as Tagged } from 'inversify';
2
+ export { bindingTypeValues as BindingType, Container, ContainerModule, inject as Inject, injectFromBase as InjectFromBase, injectFromHierarchy as InjectFromHierarchy, injectable as Injectable, LazyServiceIdentifier, multiInject as MultiInject, named as Named, optional as Optional, postConstruct as PostConstruct, preDestroy as PreDestroy, bindingScopeValues as ScopeBindingType, tagged as Tagged, unmanaged as Unmanaged, bindingScopeValues, bindingTypeValues } from 'inversify';
3
3
 
4
+ /**
5
+ * Util to resolve circular dependencies by wrapping the service identifier in a lazy identifier.
6
+ *
7
+ * @group External-inversify
8
+ * @see {@link https://inversify.io/}
9
+ *
10
+ * @param forward - A function that returns the service identifier.
11
+ * @returns A lazy service identifier.
12
+ */
4
13
  function forwardRef(forward) {
5
14
  return new LazyServiceIdentifier(forward);
6
15
  }
@@ -1 +1 @@
1
- {"version":3,"file":"alias.js","sources":["../../../../../../../src/wirestate-core/alias.ts"],"sourcesContent":[null],"names":["forwardRef","forward","LazyServiceIdentifier"],"mappings":";;;AAoBM,SAAUA,UAAUA,CACxBC,OAA2C,EAAA;AAE3C,EAAA,OAAO,IAAIC,qBAAqB,CAACD,OAAO,CAAC;AAC3C;;;;"}
1
+ {"version":3,"file":"alias.js","sources":["../../../../../../../src/wirestate-core/alias.ts"],"sourcesContent":[null],"names":["forwardRef","forward","LazyServiceIdentifier"],"mappings":";;;AAgFA;;;;;;;;AAQG;AACG,SAAUA,UAAUA,CACxBC,OAA2C,EAAA;AAE3C,EAAA,OAAO,IAAIC,qBAAqB,CAACD,OAAO,CAAC;AAC3C;;;;"}
@@ -3,16 +3,37 @@ import { ERROR_CODE_BINDING_SCOPE } from '../error/error-code.js';
3
3
  import { WirestateError } from '../error/wirestate-error.js';
4
4
 
5
5
  /**
6
- * Binds a constant value to a token in the container.
6
+ * Binds a constant value to a service identifier in the container.
7
7
  *
8
- * @param container - target Inversify container
9
- * @param entry - entry descriptor to bind
8
+ * @remarks
9
+ * Use this to register configuration values, primitive constants, or pre-instantiated objects.
10
+ * Constant values are bound with a singleton scope by default.
11
+ *
12
+ * @group Bind
13
+ *
14
+ * @template T - Type of the service being bound.
15
+ *
16
+ * @param container - Target Inversify {@link Container}.
17
+ * @param entry - Descriptor containing `id` (token) and `value` (constant).
18
+ * @returns Inversify fluent syntax for additional constraints.
19
+ *
20
+ * @throws {@link WirestateError} If `entry.scopeBindingType` is not `Singleton`.
21
+ *
22
+ * @example
23
+ * ```typescript
24
+ * const API_URL: unique symbol = Symbol("API_URL");
25
+ *
26
+ * bindConstant(container, {
27
+ * id: API_URL,
28
+ * value: "https://api.example.com"
29
+ * });
30
+ * ```
10
31
  */
11
32
  function bindConstant(container, entry) {
12
33
  if (entry.scopeBindingType && entry.scopeBindingType !== bindingScopeValues.Singleton) {
13
34
  throw new WirestateError(ERROR_CODE_BINDING_SCOPE, "Provided unexpected binding scope for constant value.");
14
35
  }
15
- container.bind(entry.id).toConstantValue(entry.value);
36
+ return container.bind(entry.id).toConstantValue(entry.value);
16
37
  }
17
38
 
18
39
  export { bindConstant };
@@ -1 +1 @@
1
- {"version":3,"file":"bind-constant.js","sources":["../../../../../../../../src/wirestate-core/bind/bind-constant.ts"],"sourcesContent":[null],"names":["bindConstant","container","entry","scopeBindingType","ScopeBindingType","Singleton","WirestateError","ERROR_CODE_BINDING_SCOPE","bind","id","toConstantValue","value"],"mappings":";;;;AAUA;;;;;AAKG;AACG,SAAUA,YAAYA,CAAIC,SAAoB,EAAEC,KAA2B,EAAA;EAQ/E,IAAIA,KAAK,CAACC,gBAAgB,IAAID,KAAK,CAACC,gBAAgB,KAAKC,kBAAgB,CAACC,SAAS,EAAE;AACnF,IAAA,MAAM,IAAIC,cAAc,CAACC,wBAAwB,EAAE,uDAAuD,CAAC;AAC7G,EAAA;AAEAN,EAAAA,SAAS,CAACO,IAAI,CAAIN,KAAK,CAACO,EAA0B,CAAC,CAACC,eAAe,CAACR,KAAK,CAACS,KAAU,CAAC;AACvF;;;;"}
1
+ {"version":3,"file":"bind-constant.js","sources":["../../../../../../../../src/wirestate-core/bind/bind-constant.ts"],"sourcesContent":[null],"names":["bindConstant","container","entry","scopeBindingType","ScopeBindingType","Singleton","WirestateError","ERROR_CODE_BINDING_SCOPE","bind","id","toConstantValue","value"],"mappings":";;;;AAUA;;;;;;;;;;;;;;;;;;;;;;;;;;AA0BG;AACG,SAAUA,YAAYA,CAAIC,SAAoB,EAAEC,KAA2B,EAAA;EAQ/E,IAAIA,KAAK,CAACC,gBAAgB,IAAID,KAAK,CAACC,gBAAgB,KAAKC,kBAAgB,CAACC,SAAS,EAAE;AACnF,IAAA,MAAM,IAAIC,cAAc,CAACC,wBAAwB,EAAE,uDAAuD,CAAC;AAC7G,EAAA;AAEA,EAAA,OAAON,SAAS,CAACO,IAAI,CAAIN,KAAK,CAACO,EAA0B,CAAC,CAACC,eAAe,CAACR,KAAK,CAACS,KAAU,CAAC;AAC9F;;;;"}
@@ -1,10 +1,30 @@
1
1
  import { bindingScopeValues } from 'inversify';
2
2
 
3
3
  /**
4
- * Binds a constant value to a token in the container.
4
+ * Binds a dynamic value (factory-based) to an identifier in the container.
5
5
  *
6
- * @param container - target Inversify container
7
- * @param entry - descriptor of entry to bind
6
+ * @remarks
7
+ * Use this when the value depends on runtime state or requires logic during resolution.
8
+ * The binding uses `entry.factory` if provided; otherwise, it falls back to `entry.value`.
9
+ * Supports custom scoping via `entry.scopeBindingType`.
10
+ *
11
+ * @group Bind
12
+ *
13
+ * @template T - Type of the value being bound.
14
+ *
15
+ * @param container - Target Inversify {@link Container}.
16
+ * @param entry - Descriptor containing `id`, `factory` or `value`, and optional `scopeBindingType`.
17
+ * @returns Inversify fluent syntax for additional constraints.
18
+ *
19
+ * @example
20
+ * ```typescript
21
+ * const DATE_NOW: unique symbol = Symbol("DATE_NOW");
22
+ *
23
+ * bindDynamicValue(container, {
24
+ * id: DATE_NOW,
25
+ * factory: () => new Date()
26
+ * });
27
+ * ```
8
28
  */
9
29
  function bindDynamicValue(container, entry) {
10
30
  var binding = container.bind(entry.id).toDynamicValue(function () {
@@ -14,13 +34,13 @@ function bindDynamicValue(container, entry) {
14
34
  return entry.value;
15
35
  });
16
36
  if (!entry.scopeBindingType) {
17
- return;
37
+ return binding;
18
38
  } else if (entry.scopeBindingType === bindingScopeValues.Transient) {
19
- binding.inTransientScope();
39
+ return binding.inTransientScope();
20
40
  } else if (entry.scopeBindingType === bindingScopeValues.Request) {
21
- binding.inRequestScope();
41
+ return binding.inRequestScope();
22
42
  } else {
23
- binding.inSingletonScope();
43
+ return binding.inSingletonScope();
24
44
  }
25
45
  }
26
46
 
@@ -1 +1 @@
1
- {"version":3,"file":"bind-dynamic-value.js","sources":["../../../../../../../../src/wirestate-core/bind/bind-dynamic-value.ts"],"sourcesContent":[null],"names":["bindDynamicValue","container","entry","binding","bind","id","toDynamicValue","factory","value","scopeBindingType","bindingScopeValues","Transient","inTransientScope","Request","inRequestScope","inSingletonScope"],"mappings":";;AAOA;;;;;AAKG;AACG,SAAUA,gBAAgBA,CAACC,SAAoB,EAAEC,KAA2B,EAAA;AAMhF,EAAA,IAAMC,OAAO,GAAsCF,SAAS,CAACG,IAAI,CAACF,KAAK,CAACG,EAAE,CAAC,CAACC,cAAc,CAAC,YAAA;IACzF,IAAIJ,KAAK,CAACK,OAAO,EAAE;AACjB,MAAA,OAAOL,KAAK,CAACK,OAAO,EAAE;AACxB,IAAA;IAEA,OAAOL,KAAK,CAACM,KAAK;AACpB,EAAA,CAAC,CAAC;AAEF,EAAA,IAAI,CAACN,KAAK,CAACO,gBAAgB,EAAE;AAC3B,IAAA;EACF,CAAC,MAAM,IAAIP,KAAK,CAACO,gBAAgB,KAAKC,kBAAkB,CAACC,SAAS,EAAE;IAClER,OAAO,CAACS,gBAAgB,EAAE;EAC5B,CAAC,MAAM,IAAIV,KAAK,CAACO,gBAAgB,KAAKC,kBAAkB,CAACG,OAAO,EAAE;IAChEV,OAAO,CAACW,cAAc,EAAE;AAC1B,EAAA,CAAC,MAAM;IACLX,OAAO,CAACY,gBAAgB,EAAE;AAC5B,EAAA;AACF;;;;"}
1
+ {"version":3,"file":"bind-dynamic-value.js","sources":["../../../../../../../../src/wirestate-core/bind/bind-dynamic-value.ts"],"sourcesContent":[null],"names":["bindDynamicValue","container","entry","binding","bind","id","toDynamicValue","factory","value","scopeBindingType","bindingScopeValues","Transient","inTransientScope","Request","inRequestScope","inSingletonScope"],"mappings":";;AAOA;;;;;;;;;;;;;;;;;;;;;;;;;AAyBG;AACG,SAAUA,gBAAgBA,CAAIC,SAAoB,EAAEC,KAA2B,EAAA;AAMnF,EAAA,IAAMC,OAAO,GAAgCF,SAAS,CAACG,IAAI,CAACF,KAAK,CAACG,EAAE,CAAC,CAACC,cAAc,CAAC,YAAA;IACnF,IAAIJ,KAAK,CAACK,OAAO,EAAE;AACjB,MAAA,OAAOL,KAAK,CAACK,OAAO,EAAE;AACxB,IAAA;IAEA,OAAOL,KAAK,CAACM,KAAK;AACpB,EAAA,CAAC,CAAgC;AAEjC,EAAA,IAAI,CAACN,KAAK,CAACO,gBAAgB,EAAE;AAC3B,IAAA,OAAON,OAAO;EAChB,CAAC,MAAM,IAAID,KAAK,CAACO,gBAAgB,KAAKC,kBAAkB,CAACC,SAAS,EAAE;AAClE,IAAA,OAAOR,OAAO,CAACS,gBAAgB,EAAE;EACnC,CAAC,MAAM,IAAIV,KAAK,CAACO,gBAAgB,KAAKC,kBAAkB,CAACG,OAAO,EAAE;AAChE,IAAA,OAAOV,OAAO,CAACW,cAAc,EAAE;AACjC,EAAA,CAAC,MAAM;AACL,IAAA,OAAOX,OAAO,CAACY,gBAAgB,EAAE;AACnC,EAAA;AACF;;;;"}
@@ -4,35 +4,68 @@ import { bindDynamicValue } from './bind-dynamic-value.js';
4
4
  import { bindService } from './bind-service.js';
5
5
 
6
6
  /**
7
- * Binds a single service entry to the container, dispatching to the
8
- * correct binding strategy based on the descriptor's `type` field.
9
- *
10
- * Supports:
11
- * - Service classes (function entries) - bound as singleton
12
- * - Constant values - bound via `bindConstant`
13
- * - Dynamic values - bound via `toDynamicValue` with optional scope
14
- * - Instance bindings - bound as generic singleton service
15
- *
16
- * @param container - target IOC container to bind into
17
- * @param entry - entry descriptor to bind
18
- * @param options - optional binding configuration
19
- * @returns void
7
+ * Binds an entry to the Inversify {@link Container} using the appropriate strategy.
8
+ *
9
+ * @remarks
10
+ * This is a high-level dispatching function that selects the binding method based on the `entry` type:
11
+ * - **Class Constructor**: Binds as a singleton service via {@link bindService}.
12
+ * - **ConstantValue**: Binds a fixed value via {@link bindConstant}.
13
+ * - **DynamicValue**: Binds a factory-generated value via {@link bindDynamicValue}.
14
+ * - **Instance**: Binds a value as a class instance via {@link bindService}.
15
+ *
16
+ * @group Bind
17
+ *
18
+ * @template T - Type of the object being bound.
19
+ *
20
+ * @param container - Target Inversify {@link Container}.
21
+ * @param entry - Class constructor or {@link InjectableDescriptor} describing the service.
22
+ * @param options - Optional binding configuration (primarily used for class-based services).
23
+ *
24
+ * @throws {@link WirestateError} If `entry.scopeBindingType` is not `Singleton` for constant values.
25
+ *
26
+ * @example
27
+ * ```typescript
28
+ * // Binding a class constructor (defaults to singleton)
29
+ * class MyService {}
30
+ *
31
+ * bindEntry(container, MyService);
32
+ *
33
+ * // Binding a constant value
34
+ * const API_URL: unique symbol = Symbol("API_URL");
35
+ *
36
+ * bindEntry(container, {
37
+ * id: API_URL,
38
+ * value: "https://api.example.com"
39
+ * });
40
+ *
41
+ * // Binding a dynamic value (factory)
42
+ * const CURRENT_TIME: unique symbol = Symbol("CURRENT_TIME");
43
+ *
44
+ * bindEntry(container, {
45
+ * id: CURRENT_TIME,
46
+ * bindingType: "DynamicValue",
47
+ * factory: () => new Date()
48
+ * });
49
+ * ```
20
50
  */
21
51
  function bindEntry(container, entry, options) {
22
52
  if (options === void 0) {
23
53
  options = {};
24
54
  }
25
55
  if (typeof entry === "function") {
26
- return bindService(container, entry, options);
56
+ bindService(container, entry, options);
57
+ return;
27
58
  }
28
59
  if (!entry.bindingType || entry.bindingType === bindingTypeValues.ConstantValue) {
29
- return bindConstant(container, entry);
60
+ bindConstant(container, entry);
61
+ return;
30
62
  }
31
63
  if (entry.bindingType === bindingTypeValues.DynamicValue) {
32
- return bindDynamicValue(container, entry);
64
+ bindDynamicValue(container, entry);
65
+ return;
33
66
  }
34
67
  // Default: treat as class descriptor (Instance binding).
35
- return bindService(container, entry.value, options);
68
+ bindService(container, entry.value, options);
36
69
  }
37
70
 
38
71
  export { bindEntry };
@@ -1 +1 @@
1
- {"version":3,"file":"bind-entry.js","sources":["../../../../../../../../src/wirestate-core/bind/bind-entry.ts"],"sourcesContent":[null],"names":["bindEntry","container","entry","options","bindService","bindingType","bindingTypeValues","ConstantValue","bindConstant","DynamicValue","bindDynamicValue","value"],"mappings":";;;;;AAkBA;;;;;;;;;;;;;;AAcG;SACaA,SAASA,CACvBC,SAAoB,EACpBC,KAAwC,EACxCC,OAA8B,EAAA;AAA9B,EAAA,IAAAA,OAAA,KAAA,MAAA,EAAA;IAAAA,OAAA,GAAA,EAA8B;AAAA,EAAA;AAE9B,EAAA,IAAI,OAAOD,KAAK,KAAK,UAAU,EAAE;AAC/B,IAAA,OAAOE,WAAW,CAACH,SAAS,EAAEC,KAAK,EAAEC,OAAO,CAAC;AAC/C,EAAA;AAEA,EAAA,IAAI,CAACD,KAAK,CAACG,WAAW,IAAIH,KAAK,CAACG,WAAW,KAAKC,iBAAiB,CAACC,aAAa,EAAE;AAC/E,IAAA,OAAOC,YAAY,CAACP,SAAS,EAAEC,KAAK,CAAC;AACvC,EAAA;AAEA,EAAA,IAAIA,KAAK,CAACG,WAAW,KAAKC,iBAAiB,CAACG,YAAY,EAAE;AAMxD,IAAA,OAAOC,gBAAgB,CAACT,SAAS,EAAEC,KAAK,CAAC;AAC3C,EAAA;AAOA;EACA,OAAOE,WAAW,CAACH,SAAS,EAAEC,KAAK,CAACS,KAA8B,EAAER,OAAO,CAAC;AAC9E;;;;"}
1
+ {"version":3,"file":"bind-entry.js","sources":["../../../../../../../../src/wirestate-core/bind/bind-entry.ts"],"sourcesContent":[null],"names":["bindEntry","container","entry","options","bindService","bindingType","bindingTypeValues","ConstantValue","bindConstant","DynamicValue","bindDynamicValue","value"],"mappings":";;;;;AA0BA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4CG;SACaA,SAASA,CACvBC,SAAoB,EACpBC,KAAwC,EACxCC,OAA8B,EAAA;AAA9B,EAAA,IAAAA,OAAA,KAAA,MAAA,EAAA;IAAAA,OAAA,GAAA,EAA8B;AAAA,EAAA;AAE9B,EAAA,IAAI,OAAOD,KAAK,KAAK,UAAU,EAAE;AAC/BE,IAAAA,WAAW,CAACH,SAAS,EAAEC,KAAK,EAAEC,OAAO,CAAC;AAEtC,IAAA;AACF,EAAA;AAEA,EAAA,IAAI,CAACD,KAAK,CAACG,WAAW,IAAIH,KAAK,CAACG,WAAW,KAAKC,iBAAiB,CAACC,aAAa,EAAE;AAC/EC,IAAAA,YAAY,CAACP,SAAS,EAAEC,KAAK,CAAC;AAE9B,IAAA;AACF,EAAA;AAEA,EAAA,IAAIA,KAAK,CAACG,WAAW,KAAKC,iBAAiB,CAACG,YAAY,EAAE;AAMxDC,IAAAA,gBAAgB,CAACT,SAAS,EAAEC,KAAK,CAAC;AAElC,IAAA;AACF,EAAA;AAOA;EACAE,WAAW,CAACH,SAAS,EAAEC,KAAK,CAACS,KAA8B,EAAER,OAAO,CAAC;AACvE;;;;"}
@@ -10,12 +10,56 @@ import { getActivatedHandlerMetadata } from '../service/get-activated-handler-me
10
10
  import { getDeactivationHandlerMetadata } from '../service/get-deactivation-handler-metadata.js';
11
11
 
12
12
  /**
13
- * Registers a service class in the container with activation/deactivation logic.
14
- * Ensures container references, event subscriptions, command and query handlers are managed correctly.
13
+ * Binds a service class in the {@link Container} with full lifecycle and messaging integration.
15
14
  *
16
- * @param container - target Inversify container
17
- * @param entry - service constructor
18
- * @param options - options object to control binding flow
15
+ * @remarks
16
+ * Binds the class in singleton scope and configures Inversify activation/deactivation hooks to:
17
+ * - Manage the `IS_DISPOSED` lifecycle state flag.
18
+ * - Trigger `@OnActivated` and `@OnDeactivation` decorated methods.
19
+ * - Register/unregister `@OnCommand`, `@OnEvent` and `@OnQuery` handlers.
20
+ * - Set up event dispatching and bus subscriptions.
21
+ * - Track and dispose injected {@link WireScope} instances.
22
+ *
23
+ * @group Bind
24
+ *
25
+ * @template T - Type of the service instance.
26
+ *
27
+ * @param container - Target Inversify {@link Container}.
28
+ * @param entry - Service class constructor.
29
+ * @param options - Configuration options for the binding.
30
+ *
31
+ * @example
32
+ * ```typescript
33
+ * @Injectable()
34
+ * class UserService {
35
+ * @OnActivated()
36
+ * public onActivated(): void {
37
+ * console.log("UserService activated");
38
+ * }
39
+ *
40
+ * @OnDeactivation()
41
+ * public onDeactivation(): void {
42
+ * console.log("UserService deactivating");
43
+ * }
44
+ *
45
+ * @OnEvent("USER_LOGGED_IN")
46
+ * private onUserLoggedIn(event: UserLoggedInEvent) {
47
+ * console.log('User logged in:', event.payload);
48
+ * }
49
+ *
50
+ * @OnCommand("LOG_DATE_NOW")
51
+ * private onLogDateNow(): void {
52
+ * console.log("Date now:", new Date());
53
+ * }
54
+ *
55
+ * @OnQuery("DATE_NOW")
56
+ * private onQueryDateNow(): void {
57
+ * return new Date();
58
+ * }
59
+ * }
60
+ *
61
+ * bindService(container, UserService);
62
+ * ```
19
63
  */
20
64
  function bindService(container, entry, options) {
21
65
  // Inversify's fluent binding API only allows a single `.onActivation` /
@@ -109,9 +153,10 @@ function bindService(container, entry, options) {
109
153
  /**
110
154
  * Attaches a event subscription to a service.
111
155
  *
112
- * @param service - service instance
113
- * @param handler - event handler
114
156
  * @internal
157
+ *
158
+ * @param service - Service instance.
159
+ * @param handler - Event handler.
115
160
  */
116
161
  function attachEventsSubscription(service, handler) {
117
162
  var _a;
@@ -123,8 +168,9 @@ function attachEventsSubscription(service, handler) {
123
168
  /**
124
169
  * Detaches the event subscription from a service.
125
170
  *
126
- * @param service - service instance
127
171
  * @internal
172
+ *
173
+ * @param service - Service instance.
128
174
  */
129
175
  function detachEventSubscription(service) {
130
176
  var unsubscribe = EVENT_UNSUBSCRIBERS_BY_SERVICE.get(service);
@@ -136,9 +182,10 @@ function detachEventSubscription(service) {
136
182
  /**
137
183
  * Registers a query unregister function for a service.
138
184
  *
139
- * @param service - service instance
140
- * @param unregister - query unregister function
141
185
  * @internal
186
+ *
187
+ * @param service - Service instance.
188
+ * @param unregister - Query unregister function.
142
189
  */
143
190
  function attachQueryUnregister(service, unregister) {
144
191
  var list = QUERY_UNREGISTERS_BY_SERVICE.get(service);
@@ -151,8 +198,9 @@ function attachQueryUnregister(service, unregister) {
151
198
  /**
152
199
  * Executes and removes all query unregister functions for a service.
153
200
  *
154
- * @param service - service instance
155
201
  * @internal
202
+ *
203
+ * @param service - Service instance.
156
204
  */
157
205
  function detachQueryUnregister(service) {
158
206
  var list = QUERY_UNREGISTERS_BY_SERVICE.get(service);
@@ -168,9 +216,10 @@ function detachQueryUnregister(service) {
168
216
  /**
169
217
  * Registers a command unregister function for a service.
170
218
  *
171
- * @param service - service instance
172
- * @param unregister - command unregister function
173
219
  * @internal
220
+ *
221
+ * @param service - Service instance.
222
+ * @param unregister - Command unregister function.
174
223
  */
175
224
  function attachCommandUnregister(service, unregister) {
176
225
  var list = COMMAND_UNREGISTERS_BY_SERVICE.get(service);
@@ -183,8 +232,9 @@ function attachCommandUnregister(service, unregister) {
183
232
  /**
184
233
  * Executes and removes all command unregister functions for a service.
185
234
  *
186
- * @param service - service instance
187
235
  * @internal
236
+ *
237
+ * @param service - Service instance.
188
238
  */
189
239
  function detachCommandUnregister(service) {
190
240
  var list = COMMAND_UNREGISTERS_BY_SERVICE.get(service);
@@ -202,11 +252,12 @@ function detachCommandUnregister(service) {
202
252
  * Property iteration happens only when the constructor metadata declares a WireScope
203
253
  * parameter, avoiding false positives from manually created or subclassed scopes.
204
254
  *
205
- * todo: Simplify this part.
255
+ * Todo: Simplify this part..
206
256
  *
207
- * @param service - service instance
208
- * @param Service - service constructor
209
257
  * @internal
258
+ *
259
+ * @param service - Service instance.
260
+ * @param Service - Service constructor.
210
261
  */
211
262
  function attachWireScopes(service, Service) {
212
263
  var paramTypes = Reflect.getMetadata("design:paramtypes", Service);
@@ -231,10 +282,11 @@ function attachWireScopes(service, Service) {
231
282
  * Marks all injected WireScope instances for this service as disposed and removes
232
283
  * the stored references.
233
284
  *
234
- * todo: Simplify this part.
285
+ * Todo: Simplify this part..
235
286
  *
236
- * @param service - service instance
237
287
  * @internal
288
+ *
289
+ * @param service - Service instance.
238
290
  */
239
291
  function detachWireScopes(service) {
240
292
  var scopes = WIRE_SCOPES_BY_SERVICE.get(service);
@@ -1 +1 @@
1
- {"version":3,"file":"bind-service.js","sources":["../../../../../../../../src/wirestate-core/bind/bind-service.ts"],"sourcesContent":[null],"names":["bindService","container","entry","options","whenBind","bind","to","inSingletonScope","onActivation","context","instance","IS_DISPOSED","CONTAINER_REFS_BY_SERVICE","set","attachWireScopes","dispatcher","buildEventDispatcher","attachEventsSubscription","queryBus","get","QueryBus","_i","_a","getQueryHandlerMetadata","length","meta","method","methodName","unregister","register","type","attachQueryUnregister","commandBus","CommandBus","_b","_c","getCommandHandlerMetadata","attachCommandUnregister","isWithIgnoreLifecycle","result","call","then","catch","error","console","name","String","_d","_e","getActivatedHandlerMetadata","onDeactivation","getDeactivationHandlerMetadata","detachWireScopes","detachCommandUnregister","detachQueryUnregister","detachEventSubscription","delete","service","handler","bus","EventBus","EVENT_UNSUBSCRIBERS_BY_SERVICE","subscribe","unsubscribe","list","QUERY_UNREGISTERS_BY_SERVICE","push","list_1","COMMAND_UNREGISTERS_BY_SERVICE","list_2","Service","paramTypes","Reflect","getMetadata","some","WireScope","scopes","Object","getOwnPropertyNames","key","value","constructor","WIRE_SCOPES_BY_SERVICE","scopes_1","scope","isDisposed"],"mappings":"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"}
1
+ {"version":3,"file":"bind-service.js","sources":["../../../../../../../../src/wirestate-core/bind/bind-service.ts"],"sourcesContent":[null],"names":["bindService","container","entry","options","whenBind","bind","to","inSingletonScope","onActivation","context","instance","IS_DISPOSED","CONTAINER_REFS_BY_SERVICE","set","attachWireScopes","dispatcher","buildEventDispatcher","attachEventsSubscription","queryBus","get","QueryBus","_i","_a","getQueryHandlerMetadata","length","meta","method","methodName","unregister","register","type","attachQueryUnregister","commandBus","CommandBus","_b","_c","getCommandHandlerMetadata","attachCommandUnregister","isWithIgnoreLifecycle","result","call","then","catch","error","console","name","String","_d","_e","getActivatedHandlerMetadata","onDeactivation","getDeactivationHandlerMetadata","detachWireScopes","detachCommandUnregister","detachQueryUnregister","detachEventSubscription","delete","service","handler","bus","EventBus","EVENT_UNSUBSCRIBERS_BY_SERVICE","subscribe","unsubscribe","list","QUERY_UNREGISTERS_BY_SERVICE","push","list_1","COMMAND_UNREGISTERS_BY_SERVICE","list_2","Service","paramTypes","Reflect","getMetadata","some","WireScope","scopes","Object","getOwnPropertyNames","key","value","constructor","WIRE_SCOPES_BY_SERVICE","scopes_1","scope","isDisposed"],"mappings":"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"}
@@ -1,10 +1,26 @@
1
1
  /**
2
- * Returns the container token for a service entry.
3
- * For plain service classes the class itself is the token;
4
- * for descriptors the `id` field is used.
2
+ * Resolves the identifier for a given entry.
5
3
  *
6
- * @param entry - entry descriptor to get service identifier for
7
- * @returns injectable identifier token
4
+ * @remarks
5
+ * Handles both plain service classes and injectable descriptors:
6
+ * - If `entry` is a class constructor, it is returned as the identifier.
7
+ * - If `entry` is an {@link InjectableDescriptor}, its `id` field is returned.
8
+ *
9
+ * @group Bind
10
+ *
11
+ * @template T - Type of the injectable object.
12
+ *
13
+ * @param entry - Class constructor or descriptor to get the identifier for.
14
+ * @returns Identifier token for Inversify.
15
+ *
16
+ * @example
17
+ * ```typescript
18
+ * class MyService {}
19
+ *
20
+ * getEntryToken(MyService); // returns MyService
21
+ *
22
+ * getEntryToken({ id: "my-service" }); // returns "my-service"
23
+ * ```
8
24
  */
9
25
  function getEntryToken(entry) {
10
26
  return typeof entry === "function" ? entry : entry.id;
@@ -1 +1 @@
1
- {"version":3,"file":"get-entry-token.js","sources":["../../../../../../../../src/wirestate-core/bind/get-entry-token.ts"],"sourcesContent":[null],"names":["getEntryToken","entry","id"],"mappings":"AAIA;;;;;;;AAOG;AACG,SAAUA,aAAaA,CAA4BC,KAAwC,EAAA;EAC/F,OAAO,OAAOA,KAAK,KAAK,UAAU,GAAGA,KAAK,GAAGA,KAAK,CAACC,EAAE;AACvD;;;;"}
1
+ {"version":3,"file":"get-entry-token.js","sources":["../../../../../../../../src/wirestate-core/bind/get-entry-token.ts"],"sourcesContent":[null],"names":["getEntryToken","entry","id"],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;AAuBG;AACG,SAAUA,aAAaA,CAA4BC,KAAwC,EAAA;EAC/F,OAAO,OAAOA,KAAK,KAAK,UAAU,GAAGA,KAAK,GAAGA,KAAK,CAACC,EAAE;AACvD;;;;"}