hexok 1.0.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 (201) hide show
  1. package/dist/app/api-use-case.d.ts +52 -0
  2. package/dist/app/api-use-case.d.ts.map +1 -0
  3. package/dist/app/api-use-case.js +59 -0
  4. package/dist/app/api-use-case.js.map +1 -0
  5. package/dist/app/callable-use-case.d.ts +34 -0
  6. package/dist/app/callable-use-case.d.ts.map +1 -0
  7. package/dist/app/callable-use-case.js +41 -0
  8. package/dist/app/callable-use-case.js.map +1 -0
  9. package/dist/app/contract.d.ts +46 -0
  10. package/dist/app/contract.d.ts.map +1 -0
  11. package/dist/app/contract.js +28 -0
  12. package/dist/app/contract.js.map +1 -0
  13. package/dist/app/error-factory.d.ts +9 -0
  14. package/dist/app/error-factory.d.ts.map +1 -0
  15. package/dist/app/error-factory.js +30 -0
  16. package/dist/app/error-factory.js.map +1 -0
  17. package/dist/app/event-channel.d.ts +133 -0
  18. package/dist/app/event-channel.d.ts.map +1 -0
  19. package/dist/app/event-channel.js +49 -0
  20. package/dist/app/event-channel.js.map +1 -0
  21. package/dist/app/event-use-case.d.ts +47 -0
  22. package/dist/app/event-use-case.d.ts.map +1 -0
  23. package/dist/app/event-use-case.js +54 -0
  24. package/dist/app/event-use-case.js.map +1 -0
  25. package/dist/app/execute-ctx.d.ts +92 -0
  26. package/dist/app/execute-ctx.d.ts.map +1 -0
  27. package/dist/app/execute-ctx.js +2 -0
  28. package/dist/app/execute-ctx.js.map +1 -0
  29. package/dist/app/external-use-case.d.ts +25 -0
  30. package/dist/app/external-use-case.d.ts.map +1 -0
  31. package/dist/app/external-use-case.js +25 -0
  32. package/dist/app/external-use-case.js.map +1 -0
  33. package/dist/app/index.d.ts +9 -0
  34. package/dist/app/index.d.ts.map +1 -0
  35. package/dist/app/index.js +8 -0
  36. package/dist/app/index.js.map +1 -0
  37. package/dist/app/internal-use-case.d.ts +26 -0
  38. package/dist/app/internal-use-case.d.ts.map +1 -0
  39. package/dist/app/internal-use-case.js +26 -0
  40. package/dist/app/internal-use-case.js.map +1 -0
  41. package/dist/app/nest.d.ts +9 -0
  42. package/dist/app/nest.d.ts.map +1 -0
  43. package/dist/app/nest.js +28 -0
  44. package/dist/app/nest.js.map +1 -0
  45. package/dist/app/types.d.ts +153 -0
  46. package/dist/app/types.d.ts.map +1 -0
  47. package/dist/app/types.js +17 -0
  48. package/dist/app/types.js.map +1 -0
  49. package/dist/core/coded-error.d.ts +24 -0
  50. package/dist/core/coded-error.d.ts.map +1 -0
  51. package/dist/core/coded-error.js +32 -0
  52. package/dist/core/coded-error.js.map +1 -0
  53. package/dist/core/error-map.d.ts +21 -0
  54. package/dist/core/error-map.d.ts.map +1 -0
  55. package/dist/core/error-map.js +5 -0
  56. package/dist/core/error-map.js.map +1 -0
  57. package/dist/core/index.d.ts +6 -0
  58. package/dist/core/index.d.ts.map +1 -0
  59. package/dist/core/index.js +5 -0
  60. package/dist/core/index.js.map +1 -0
  61. package/dist/core/result.d.ts +23 -0
  62. package/dist/core/result.d.ts.map +1 -0
  63. package/dist/core/result.js +11 -0
  64. package/dist/core/result.js.map +1 -0
  65. package/dist/core/schema.d.ts +19 -0
  66. package/dist/core/schema.d.ts.map +1 -0
  67. package/dist/core/schema.js +28 -0
  68. package/dist/core/schema.js.map +1 -0
  69. package/dist/core/standard-schema.d.ts +51 -0
  70. package/dist/core/standard-schema.d.ts.map +1 -0
  71. package/dist/core/standard-schema.js +2 -0
  72. package/dist/core/standard-schema.js.map +1 -0
  73. package/dist/domain/capabilities.d.ts +42 -0
  74. package/dist/domain/capabilities.d.ts.map +1 -0
  75. package/dist/domain/capabilities.js +2 -0
  76. package/dist/domain/capabilities.js.map +1 -0
  77. package/dist/domain/catalog.d.ts +46 -0
  78. package/dist/domain/catalog.d.ts.map +1 -0
  79. package/dist/domain/catalog.js +114 -0
  80. package/dist/domain/catalog.js.map +1 -0
  81. package/dist/domain/channel.d.ts +36 -0
  82. package/dist/domain/channel.d.ts.map +1 -0
  83. package/dist/domain/channel.js +2 -0
  84. package/dist/domain/channel.js.map +1 -0
  85. package/dist/domain/cow-draft.d.ts +10 -0
  86. package/dist/domain/cow-draft.d.ts.map +1 -0
  87. package/dist/domain/cow-draft.js +147 -0
  88. package/dist/domain/cow-draft.js.map +1 -0
  89. package/dist/domain/entity.d.ts +120 -0
  90. package/dist/domain/entity.d.ts.map +1 -0
  91. package/dist/domain/entity.js +263 -0
  92. package/dist/domain/entity.js.map +1 -0
  93. package/dist/domain/envelope.d.ts +59 -0
  94. package/dist/domain/envelope.d.ts.map +1 -0
  95. package/dist/domain/envelope.js +2 -0
  96. package/dist/domain/envelope.js.map +1 -0
  97. package/dist/domain/event.d.ts +44 -0
  98. package/dist/domain/event.d.ts.map +1 -0
  99. package/dist/domain/event.js +21 -0
  100. package/dist/domain/event.js.map +1 -0
  101. package/dist/domain/index.d.ts +8 -0
  102. package/dist/domain/index.d.ts.map +1 -0
  103. package/dist/domain/index.js +5 -0
  104. package/dist/domain/index.js.map +1 -0
  105. package/dist/domain/port.d.ts +45 -0
  106. package/dist/domain/port.d.ts.map +1 -0
  107. package/dist/domain/port.js +41 -0
  108. package/dist/domain/port.js.map +1 -0
  109. package/dist/infra/adapter.d.ts +22 -0
  110. package/dist/infra/adapter.d.ts.map +1 -0
  111. package/dist/infra/adapter.js +18 -0
  112. package/dist/infra/adapter.js.map +1 -0
  113. package/dist/infra/index.d.ts +3 -0
  114. package/dist/infra/index.d.ts.map +1 -0
  115. package/dist/infra/index.js +3 -0
  116. package/dist/infra/index.js.map +1 -0
  117. package/dist/infra/mapper.d.ts +48 -0
  118. package/dist/infra/mapper.d.ts.map +1 -0
  119. package/dist/infra/mapper.js +77 -0
  120. package/dist/infra/mapper.js.map +1 -0
  121. package/dist/runtime/app.d.ts +100 -0
  122. package/dist/runtime/app.d.ts.map +1 -0
  123. package/dist/runtime/app.js +292 -0
  124. package/dist/runtime/app.js.map +1 -0
  125. package/dist/runtime/channel.d.ts +34 -0
  126. package/dist/runtime/channel.d.ts.map +1 -0
  127. package/dist/runtime/channel.js +110 -0
  128. package/dist/runtime/channel.js.map +1 -0
  129. package/dist/runtime/client.d.ts +21 -0
  130. package/dist/runtime/client.d.ts.map +1 -0
  131. package/dist/runtime/client.js +2 -0
  132. package/dist/runtime/client.js.map +1 -0
  133. package/dist/runtime/completeness.d.ts +89 -0
  134. package/dist/runtime/completeness.d.ts.map +1 -0
  135. package/dist/runtime/completeness.js +2 -0
  136. package/dist/runtime/completeness.js.map +1 -0
  137. package/dist/runtime/envelope.d.ts +7 -0
  138. package/dist/runtime/envelope.d.ts.map +1 -0
  139. package/dist/runtime/envelope.js +69 -0
  140. package/dist/runtime/envelope.js.map +1 -0
  141. package/dist/runtime/events.d.ts +6 -0
  142. package/dist/runtime/events.d.ts.map +1 -0
  143. package/dist/runtime/events.js +48 -0
  144. package/dist/runtime/events.js.map +1 -0
  145. package/dist/runtime/http-status.d.ts +3 -0
  146. package/dist/runtime/http-status.d.ts.map +1 -0
  147. package/dist/runtime/http-status.js +11 -0
  148. package/dist/runtime/http-status.js.map +1 -0
  149. package/dist/runtime/http.d.ts +4 -0
  150. package/dist/runtime/http.d.ts.map +1 -0
  151. package/dist/runtime/http.js +58 -0
  152. package/dist/runtime/http.js.map +1 -0
  153. package/dist/runtime/index.d.ts +10 -0
  154. package/dist/runtime/index.d.ts.map +1 -0
  155. package/dist/runtime/index.js +6 -0
  156. package/dist/runtime/index.js.map +1 -0
  157. package/dist/runtime/interceptor.d.ts +61 -0
  158. package/dist/runtime/interceptor.d.ts.map +1 -0
  159. package/dist/runtime/interceptor.js +7 -0
  160. package/dist/runtime/interceptor.js.map +1 -0
  161. package/dist/runtime/invoke.d.ts +34 -0
  162. package/dist/runtime/invoke.d.ts.map +1 -0
  163. package/dist/runtime/invoke.js +235 -0
  164. package/dist/runtime/invoke.js.map +1 -0
  165. package/dist/runtime/middleware.d.ts +20 -0
  166. package/dist/runtime/middleware.d.ts.map +1 -0
  167. package/dist/runtime/middleware.js +2 -0
  168. package/dist/runtime/middleware.js.map +1 -0
  169. package/dist/runtime/rpc.d.ts +24 -0
  170. package/dist/runtime/rpc.d.ts.map +1 -0
  171. package/dist/runtime/rpc.js +16 -0
  172. package/dist/runtime/rpc.js.map +1 -0
  173. package/dist/testing/app-test.d.ts +77 -0
  174. package/dist/testing/app-test.d.ts.map +1 -0
  175. package/dist/testing/app-test.js +109 -0
  176. package/dist/testing/app-test.js.map +1 -0
  177. package/dist/testing/in-memory-broker.d.ts +18 -0
  178. package/dist/testing/in-memory-broker.d.ts.map +1 -0
  179. package/dist/testing/in-memory-broker.js +42 -0
  180. package/dist/testing/in-memory-broker.js.map +1 -0
  181. package/dist/testing/in-memory-bus.d.ts +19 -0
  182. package/dist/testing/in-memory-bus.d.ts.map +1 -0
  183. package/dist/testing/in-memory-bus.js +31 -0
  184. package/dist/testing/in-memory-bus.js.map +1 -0
  185. package/dist/testing/in-memory-channel.d.ts +32 -0
  186. package/dist/testing/in-memory-channel.d.ts.map +1 -0
  187. package/dist/testing/in-memory-channel.js +65 -0
  188. package/dist/testing/in-memory-channel.js.map +1 -0
  189. package/dist/testing/in-memory-queue.d.ts +24 -0
  190. package/dist/testing/in-memory-queue.d.ts.map +1 -0
  191. package/dist/testing/in-memory-queue.js +66 -0
  192. package/dist/testing/in-memory-queue.js.map +1 -0
  193. package/dist/testing/in-memory-repository.d.ts +44 -0
  194. package/dist/testing/in-memory-repository.d.ts.map +1 -0
  195. package/dist/testing/in-memory-repository.js +60 -0
  196. package/dist/testing/in-memory-repository.js.map +1 -0
  197. package/dist/testing/index.d.ts +6 -0
  198. package/dist/testing/index.d.ts.map +1 -0
  199. package/dist/testing/index.js +6 -0
  200. package/dist/testing/index.js.map +1 -0
  201. package/package.json +60 -0
@@ -0,0 +1,44 @@
1
+ import type { CrudRepository, Entity, PortToken } from '../domain/index.js';
2
+ type CrudKeys = 'get' | 'save' | 'list' | 'delete';
3
+ type ExtraKeys<I> = Exclude<keyof I, CrudKeys | 'bindTo' | 'fork'>;
4
+ type ExtraOption<I> = [ExtraKeys<I>] extends [never] ? unknown : {
5
+ extra: Pick<I, ExtraKeys<I>>;
6
+ };
7
+ type RepoEntity<I> = I extends {
8
+ get: (id: string) => Promise<infer E>;
9
+ } ? NonNullable<E> : Entity<Record<string, unknown>>;
10
+ type EntityKey<E> = E extends {
11
+ toProps(): infer P;
12
+ } ? P extends object ? keyof P & string : string : string;
13
+ type AssertCrud<I> = 'get' | 'save' extends keyof I ? I : `hexok: InMemoryRepository.of expects a CRUD repository port`;
14
+ /**
15
+ * In-memory fake for the standard CRUD port `{ get, save, list, delete }`.
16
+ * Clones on get/save so tests do not mutate the store by accident.
17
+ *
18
+ * ```ts
19
+ * .provide(IncidentRepository, InMemoryRepository.of(IncidentRepository, {
20
+ * keyBy: 'id',
21
+ * seed: [Incident.open('1')],
22
+ * }))
23
+ * ```
24
+ */
25
+ export declare class InMemoryRepository<E extends Entity<Record<string, unknown>>> implements CrudRepository<E> {
26
+ #private;
27
+ private constructor();
28
+ /** Fake a CRUD port. Extra methods beyond get/save/list/delete go in `extra`. */
29
+ static of<I>(_token: [AssertCrud<I>] extends [I] ? PortToken<I> : AssertCrud<I>, options: {
30
+ keyBy: EntityKey<RepoEntity<I>>;
31
+ seed?: RepoEntity<I>[];
32
+ } & ExtraOption<I>): I;
33
+ /** Clone of the stored entity, or `null`. */
34
+ get(id: string): Promise<E | null>;
35
+ /** Clone into the store and `commit()` the working entity. */
36
+ save(entity: E): Promise<void>;
37
+ /** Clones of every stored entity. */
38
+ list(): Promise<E[]>;
39
+ /** Remove by id. No-op if missing. */
40
+ delete(id: string): Promise<void>;
41
+ private keyOf;
42
+ }
43
+ export {};
44
+ //# sourceMappingURL=in-memory-repository.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"in-memory-repository.d.ts","sourceRoot":"","sources":["../../src/testing/in-memory-repository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,MAAM,EAEN,SAAS,EACV,MAAM,oBAAoB,CAAC;AAE5B,KAAK,QAAQ,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEnD,KAAK,SAAS,CAAC,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC,CAAC;AAEnE,KAAK,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAChD,OAAO,GACP;IAAE,KAAK,EAAE,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;CAAE,CAAC;AAErC,KAAK,UAAU,CAAC,CAAC,IAAI,CAAC,SAAS;IAC7B,GAAG,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;CACvC,GACG,WAAW,CAAC,CAAC,CAAC,GACd,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAEpC,KAAK,SAAS,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,OAAO,IAAI,MAAM,CAAC,CAAA;CAAE,GAChD,CAAC,SAAS,MAAM,GACd,MAAM,CAAC,GAAG,MAAM,GAChB,MAAM,GACR,MAAM,CAAC;AAEX,KAAK,UAAU,CAAC,CAAC,IAAI,KAAK,GAAG,MAAM,SAAS,MAAM,CAAC,GAC/C,CAAC,GACD,6DAA6D,CAAC;AAElE;;;;;;;;;;GAUG;AACH,qBAAa,kBAAkB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CACvE,YAAW,cAAc,CAAC,CAAC,CAAC;;IAK5B,OAAO;IAOP,iFAAiF;IACjF,MAAM,CAAC,EAAE,CAAC,CAAC,EACT,MAAM,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,EAClE,OAAO,EAAE;QACP,KAAK,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QAChC,IAAI,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;KACxB,GAAG,WAAW,CAAC,CAAC,CAAC,GACjB,CAAC;IAWJ,6CAA6C;IACvC,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAKxC,8DAA8D;IACxD,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAKpC,qCAAqC;IAC/B,IAAI,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC;IAI1B,sCAAsC;IAChC,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvC,OAAO,CAAC,KAAK;CAUd"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * In-memory fake for the standard CRUD port `{ get, save, list, delete }`.
3
+ * Clones on get/save so tests do not mutate the store by accident.
4
+ *
5
+ * ```ts
6
+ * .provide(IncidentRepository, InMemoryRepository.of(IncidentRepository, {
7
+ * keyBy: 'id',
8
+ * seed: [Incident.open('1')],
9
+ * }))
10
+ * ```
11
+ */
12
+ export class InMemoryRepository {
13
+ #keyBy;
14
+ #store = new Map();
15
+ constructor(keyBy, seed) {
16
+ this.#keyBy = keyBy;
17
+ for (const entity of seed) {
18
+ this.#store.set(this.keyOf(entity), cloneEntity(entity));
19
+ }
20
+ }
21
+ /** Fake a CRUD port. Extra methods beyond get/save/list/delete go in `extra`. */
22
+ static of(_token, options) {
23
+ const repo = new InMemoryRepository(options.keyBy, (options.seed ?? []));
24
+ if ('extra' in options && options.extra !== undefined) {
25
+ return Object.assign(repo, options.extra);
26
+ }
27
+ return repo;
28
+ }
29
+ /** Clone of the stored entity, or `null`. */
30
+ async get(id) {
31
+ const found = this.#store.get(id);
32
+ return found ? cloneEntity(found) : null;
33
+ }
34
+ /** Clone into the store and `commit()` the working entity. */
35
+ async save(entity) {
36
+ this.#store.set(this.keyOf(entity), cloneEntity(entity));
37
+ entity.commit();
38
+ }
39
+ /** Clones of every stored entity. */
40
+ async list() {
41
+ return [...this.#store.values()].map((entity) => cloneEntity(entity));
42
+ }
43
+ /** Remove by id. No-op if missing. */
44
+ async delete(id) {
45
+ this.#store.delete(id);
46
+ }
47
+ keyOf(entity) {
48
+ const props = entity.toProps();
49
+ const key = props[this.#keyBy];
50
+ if (typeof key !== 'string') {
51
+ throw new Error(`hexok: InMemoryRepository keyBy "${this.#keyBy}" is not a string`);
52
+ }
53
+ return key;
54
+ }
55
+ }
56
+ function cloneEntity(entity) {
57
+ const Ctor = entity.constructor;
58
+ return Ctor.restore(entity.toProps());
59
+ }
60
+ //# sourceMappingURL=in-memory-repository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"in-memory-repository.js","sourceRoot":"","sources":["../../src/testing/in-memory-repository.ts"],"names":[],"mappings":"AA+BA;;;;;;;;;;GAUG;AACH,MAAM,OAAO,kBAAkB;IAGpB,MAAM,CAAS;IACf,MAAM,GAAG,IAAI,GAAG,EAAa,CAAC;IAEvC,YAAoB,KAAa,EAAE,IAAS;QAC1C,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,KAAK,MAAM,MAAM,IAAI,IAAI,EAAE,CAAC;YAC1B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IAED,iFAAiF;IACjF,MAAM,CAAC,EAAE,CACP,MAAkE,EAClE,OAGkB;QAElB,MAAM,IAAI,GAAG,IAAI,kBAAkB,CACjC,OAAO,CAAC,KAAK,EACb,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAsC,CAC1D,CAAC;QACF,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YACtD,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAiB,CAAC;QAC5D,CAAC;QACD,OAAO,IAAoB,CAAC;IAC9B,CAAC;IAED,6CAA6C;IAC7C,KAAK,CAAC,GAAG,CAAC,EAAU;QAClB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClC,OAAO,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3C,CAAC;IAED,8DAA8D;IAC9D,KAAK,CAAC,IAAI,CAAC,MAAS;QAClB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;QACzD,MAAM,CAAC,MAAM,EAAE,CAAC;IAClB,CAAC;IAED,qCAAqC;IACrC,KAAK,CAAC,IAAI;QACR,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;IACxE,CAAC;IAED,sCAAsC;IACtC,KAAK,CAAC,MAAM,CAAC,EAAU;QACrB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACzB,CAAC;IAEO,KAAK,CAAC,MAAS;QACrB,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,EAA6B,CAAC;QAC1D,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/B,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CACb,oCAAoC,IAAI,CAAC,MAAM,mBAAmB,CACnE,CAAC;QACJ,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAED,SAAS,WAAW,CAA4C,MAAS;IACvE,MAAM,IAAI,GAAG,MAAM,CAAC,WAEnB,CAAC;IACF,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;AACxC,CAAC"}
@@ -0,0 +1,6 @@
1
+ export { App, TestAppBuilder, type TestAppInstance } from './app-test.js';
2
+ export { InMemoryBus } from './in-memory-bus.js';
3
+ export { InMemoryChannel } from './in-memory-channel.js';
4
+ export { InMemoryQueue } from './in-memory-queue.js';
5
+ export { InMemoryRepository } from './in-memory-repository.js';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/testing/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,cAAc,EAAE,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC"}
@@ -0,0 +1,6 @@
1
+ export { App, TestAppBuilder } from './app-test.js';
2
+ export { InMemoryBus } from './in-memory-bus.js';
3
+ export { InMemoryChannel } from './in-memory-channel.js';
4
+ export { InMemoryQueue } from './in-memory-queue.js';
5
+ export { InMemoryRepository } from './in-memory-repository.js';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/testing/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,cAAc,EAAwB,MAAM,eAAe,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC"}
package/package.json ADDED
@@ -0,0 +1,60 @@
1
+ {
2
+ "name": "hexok",
3
+ "version": "1.0.0",
4
+ "description": "A TypeScript kit for writing a clean-architecture backend as ordinary classes.",
5
+ "type": "module",
6
+ "license": "MIT",
7
+ "sideEffects": false,
8
+ "repository": {
9
+ "type": "git",
10
+ "url": "git+https://github.com/crobinson42/hexok.git",
11
+ "directory": "packages/hexok"
12
+ },
13
+ "homepage": "https://github.com/crobinson42/hexok#readme",
14
+ "bugs": {
15
+ "url": "https://github.com/crobinson42/hexok/issues"
16
+ },
17
+ "publishConfig": {
18
+ "access": "public"
19
+ },
20
+ "exports": {
21
+ "./core": {
22
+ "types": "./dist/core/index.d.ts",
23
+ "import": "./dist/core/index.js"
24
+ },
25
+ "./domain": {
26
+ "types": "./dist/domain/index.d.ts",
27
+ "import": "./dist/domain/index.js"
28
+ },
29
+ "./app": {
30
+ "types": "./dist/app/index.d.ts",
31
+ "import": "./dist/app/index.js"
32
+ },
33
+ "./infra": {
34
+ "types": "./dist/infra/index.d.ts",
35
+ "import": "./dist/infra/index.js"
36
+ },
37
+ "./runtime": {
38
+ "types": "./dist/runtime/index.d.ts",
39
+ "import": "./dist/runtime/index.js"
40
+ },
41
+ "./testing": {
42
+ "types": "./dist/testing/index.d.ts",
43
+ "import": "./dist/testing/index.js"
44
+ },
45
+ "./package.json": "./package.json"
46
+ },
47
+ "files": [
48
+ "dist"
49
+ ],
50
+ "scripts": {
51
+ "build": "tsc -b",
52
+ "test": "vitest run",
53
+ "type-check": "tsc --noEmit -p tsconfig.check.json",
54
+ "lint": "biome check .",
55
+ "clean": "rm -rf dist *.tsbuildinfo"
56
+ },
57
+ "devDependencies": {
58
+ "zod": "^4.1.5"
59
+ }
60
+ }