@haskou/ddd-kernel 0.1.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 (191) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +143 -0
  3. package/dist/Constructor-fyZLLIh8.d.cts +5 -0
  4. package/dist/Constructor-fyZLLIh8.d.ts +5 -0
  5. package/dist/Consumer-CC8ZRCsd.d.cts +17 -0
  6. package/dist/Consumer-CeT0Wbxb.d.ts +17 -0
  7. package/dist/DomainEvent-mXWEtr_J.d.cts +26 -0
  8. package/dist/DomainEvent-mXWEtr_J.d.ts +26 -0
  9. package/dist/DomainEventConsumer-3WBMSSr2.d.cts +7 -0
  10. package/dist/DomainEventConsumer-B4hkIUmP.d.ts +7 -0
  11. package/dist/DomainEventPublisher-8G0lvmdy.d.cts +7 -0
  12. package/dist/DomainEventPublisher-DhGgM3f2.d.ts +7 -0
  13. package/dist/HandlerContext-DUUExVo3.d.ts +20 -0
  14. package/dist/HandlerContext-Lm89pSeG.d.cts +20 -0
  15. package/dist/Kernel-BWUOUWWI.d.cts +70 -0
  16. package/dist/Kernel-CUaqHa1s.d.ts +70 -0
  17. package/dist/KernelLogger-BESOFrpW.d.cts +8 -0
  18. package/dist/KernelLogger-BESOFrpW.d.ts +8 -0
  19. package/dist/Log-36L3Z84a.d.cts +8 -0
  20. package/dist/Log-36L3Z84a.d.ts +8 -0
  21. package/dist/NoFailedMessagesError-0YJKRWPF.d.ts +45 -0
  22. package/dist/NoFailedMessagesError-Kz7CYWpT.d.cts +45 -0
  23. package/dist/Repository-D9CuAyCV.d.cts +7 -0
  24. package/dist/Repository-D9CuAyCV.d.ts +7 -0
  25. package/dist/Scheduler-oigqNOUJ.d.cts +27 -0
  26. package/dist/Scheduler-oigqNOUJ.d.ts +27 -0
  27. package/dist/ServiceClass-BmNw8fJj.d.cts +37 -0
  28. package/dist/ServiceClass-C7NCKdSS.d.ts +37 -0
  29. package/dist/ServiceResolver-D2Jz-l_Z.d.cts +5 -0
  30. package/dist/ServiceResolver-D2Jz-l_Z.d.ts +5 -0
  31. package/dist/ShutdownHook-BGskq2-q.d.ts +9 -0
  32. package/dist/ShutdownHook-Dib5uNKB.d.cts +9 -0
  33. package/dist/Subscription-Bwkb_did.d.ts +9 -0
  34. package/dist/Subscription-P9WROD_6.d.cts +9 -0
  35. package/dist/adapters/db/in-memory/index.cjs +46 -0
  36. package/dist/adapters/db/in-memory/index.cjs.map +1 -0
  37. package/dist/adapters/db/in-memory/index.d.cts +12 -0
  38. package/dist/adapters/db/in-memory/index.d.ts +12 -0
  39. package/dist/adapters/db/in-memory/index.js +19 -0
  40. package/dist/adapters/db/in-memory/index.js.map +1 -0
  41. package/dist/adapters/db/index.cjs +80 -0
  42. package/dist/adapters/db/index.cjs.map +1 -0
  43. package/dist/adapters/db/index.d.cts +4 -0
  44. package/dist/adapters/db/index.d.ts +4 -0
  45. package/dist/adapters/db/index.js +52 -0
  46. package/dist/adapters/db/index.js.map +1 -0
  47. package/dist/adapters/db/mongo/index.cjs +62 -0
  48. package/dist/adapters/db/mongo/index.cjs.map +1 -0
  49. package/dist/adapters/db/mongo/index.d.cts +22 -0
  50. package/dist/adapters/db/mongo/index.d.ts +22 -0
  51. package/dist/adapters/db/mongo/index.js +35 -0
  52. package/dist/adapters/db/mongo/index.js.map +1 -0
  53. package/dist/adapters/index.cjs +651 -0
  54. package/dist/adapters/index.cjs.map +1 -0
  55. package/dist/adapters/index.d.cts +26 -0
  56. package/dist/adapters/index.d.ts +26 -0
  57. package/dist/adapters/index.js +609 -0
  58. package/dist/adapters/index.js.map +1 -0
  59. package/dist/adapters/kernel/console/index.cjs +46 -0
  60. package/dist/adapters/kernel/console/index.cjs.map +1 -0
  61. package/dist/adapters/kernel/console/index.d.cts +10 -0
  62. package/dist/adapters/kernel/console/index.d.ts +10 -0
  63. package/dist/adapters/kernel/console/index.js +19 -0
  64. package/dist/adapters/kernel/console/index.js.map +1 -0
  65. package/dist/adapters/kernel/index.cjs +46 -0
  66. package/dist/adapters/kernel/index.cjs.map +1 -0
  67. package/dist/adapters/kernel/index.d.cts +2 -0
  68. package/dist/adapters/kernel/index.d.ts +2 -0
  69. package/dist/adapters/kernel/index.js +19 -0
  70. package/dist/adapters/kernel/index.js.map +1 -0
  71. package/dist/adapters/pubsub/amqp/index.cjs +724 -0
  72. package/dist/adapters/pubsub/amqp/index.cjs.map +1 -0
  73. package/dist/adapters/pubsub/amqp/index.d.cts +42 -0
  74. package/dist/adapters/pubsub/amqp/index.d.ts +42 -0
  75. package/dist/adapters/pubsub/amqp/index.js +691 -0
  76. package/dist/adapters/pubsub/amqp/index.js.map +1 -0
  77. package/dist/adapters/pubsub/in-memory/index.cjs +79 -0
  78. package/dist/adapters/pubsub/in-memory/index.cjs.map +1 -0
  79. package/dist/adapters/pubsub/in-memory/index.d.cts +21 -0
  80. package/dist/adapters/pubsub/in-memory/index.d.ts +21 -0
  81. package/dist/adapters/pubsub/in-memory/index.js +51 -0
  82. package/dist/adapters/pubsub/in-memory/index.js.map +1 -0
  83. package/dist/adapters/pubsub/index.cjs +492 -0
  84. package/dist/adapters/pubsub/index.cjs.map +1 -0
  85. package/dist/adapters/pubsub/index.d.cts +11 -0
  86. package/dist/adapters/pubsub/index.d.ts +11 -0
  87. package/dist/adapters/pubsub/index.js +456 -0
  88. package/dist/adapters/pubsub/index.js.map +1 -0
  89. package/dist/adapters/ui/express/index.cjs +126 -0
  90. package/dist/adapters/ui/express/index.cjs.map +1 -0
  91. package/dist/adapters/ui/express/index.d.cts +49 -0
  92. package/dist/adapters/ui/express/index.d.ts +49 -0
  93. package/dist/adapters/ui/express/index.js +98 -0
  94. package/dist/adapters/ui/express/index.js.map +1 -0
  95. package/dist/adapters/ui/index.cjs +489 -0
  96. package/dist/adapters/ui/index.cjs.map +1 -0
  97. package/dist/adapters/ui/index.d.cts +14 -0
  98. package/dist/adapters/ui/index.d.ts +14 -0
  99. package/dist/adapters/ui/index.js +455 -0
  100. package/dist/adapters/ui/index.js.map +1 -0
  101. package/dist/adapters/ui/routes/index.cjs +393 -0
  102. package/dist/adapters/ui/routes/index.cjs.map +1 -0
  103. package/dist/adapters/ui/routes/index.d.cts +5 -0
  104. package/dist/adapters/ui/routes/index.d.ts +5 -0
  105. package/dist/adapters/ui/routes/index.js +361 -0
  106. package/dist/adapters/ui/routes/index.js.map +1 -0
  107. package/dist/contracts/db/index.cjs +19 -0
  108. package/dist/contracts/db/index.cjs.map +1 -0
  109. package/dist/contracts/db/index.d.cts +7 -0
  110. package/dist/contracts/db/index.d.ts +7 -0
  111. package/dist/contracts/db/index.js +1 -0
  112. package/dist/contracts/db/index.js.map +1 -0
  113. package/dist/contracts/index.cjs +49 -0
  114. package/dist/contracts/index.cjs.map +1 -0
  115. package/dist/contracts/index.d.cts +11 -0
  116. package/dist/contracts/index.d.ts +11 -0
  117. package/dist/contracts/index.js +22 -0
  118. package/dist/contracts/index.js.map +1 -0
  119. package/dist/contracts/kernel/index.cjs +19 -0
  120. package/dist/contracts/kernel/index.cjs.map +1 -0
  121. package/dist/contracts/kernel/index.d.cts +9 -0
  122. package/dist/contracts/kernel/index.d.ts +9 -0
  123. package/dist/contracts/kernel/index.js +1 -0
  124. package/dist/contracts/kernel/index.js.map +1 -0
  125. package/dist/contracts/pubsub/index.cjs +19 -0
  126. package/dist/contracts/pubsub/index.cjs.map +1 -0
  127. package/dist/contracts/pubsub/index.d.cts +26 -0
  128. package/dist/contracts/pubsub/index.d.ts +26 -0
  129. package/dist/contracts/pubsub/index.js +1 -0
  130. package/dist/contracts/pubsub/index.js.map +1 -0
  131. package/dist/contracts/ui/index.cjs +49 -0
  132. package/dist/contracts/ui/index.cjs.map +1 -0
  133. package/dist/contracts/ui/index.d.cts +29 -0
  134. package/dist/contracts/ui/index.d.ts +29 -0
  135. package/dist/contracts/ui/index.js +22 -0
  136. package/dist/contracts/ui/index.js.map +1 -0
  137. package/dist/domain/index.cjs +121 -0
  138. package/dist/domain/index.cjs.map +1 -0
  139. package/dist/domain/index.d.cts +26 -0
  140. package/dist/domain/index.d.ts +26 -0
  141. package/dist/domain/index.js +89 -0
  142. package/dist/domain/index.js.map +1 -0
  143. package/dist/errors/index.cjs +58 -0
  144. package/dist/errors/index.cjs.map +1 -0
  145. package/dist/errors/index.d.cts +13 -0
  146. package/dist/errors/index.d.ts +13 -0
  147. package/dist/errors/index.js +29 -0
  148. package/dist/errors/index.js.map +1 -0
  149. package/dist/index.cjs +442 -0
  150. package/dist/index.cjs.map +1 -0
  151. package/dist/index.d.cts +19 -0
  152. package/dist/index.d.ts +19 -0
  153. package/dist/index.js +405 -0
  154. package/dist/index.js.map +1 -0
  155. package/dist/infrastructure/dependency-injection/index.cjs +169 -0
  156. package/dist/infrastructure/dependency-injection/index.cjs.map +1 -0
  157. package/dist/infrastructure/dependency-injection/index.d.cts +30 -0
  158. package/dist/infrastructure/dependency-injection/index.d.ts +30 -0
  159. package/dist/infrastructure/dependency-injection/index.js +137 -0
  160. package/dist/infrastructure/dependency-injection/index.js.map +1 -0
  161. package/dist/infrastructure/express/index.cjs +126 -0
  162. package/dist/infrastructure/express/index.cjs.map +1 -0
  163. package/dist/infrastructure/express/index.d.cts +14 -0
  164. package/dist/infrastructure/express/index.d.ts +14 -0
  165. package/dist/infrastructure/express/index.js +98 -0
  166. package/dist/infrastructure/express/index.js.map +1 -0
  167. package/dist/infrastructure/lifecycle/index.cjs +19 -0
  168. package/dist/infrastructure/lifecycle/index.cjs.map +1 -0
  169. package/dist/infrastructure/lifecycle/index.d.cts +9 -0
  170. package/dist/infrastructure/lifecycle/index.d.ts +9 -0
  171. package/dist/infrastructure/lifecycle/index.js +1 -0
  172. package/dist/infrastructure/lifecycle/index.js.map +1 -0
  173. package/dist/infrastructure/logs/index.cjs +144 -0
  174. package/dist/infrastructure/logs/index.cjs.map +1 -0
  175. package/dist/infrastructure/logs/index.d.cts +30 -0
  176. package/dist/infrastructure/logs/index.d.ts +30 -0
  177. package/dist/infrastructure/logs/index.js +107 -0
  178. package/dist/infrastructure/logs/index.js.map +1 -0
  179. package/dist/infrastructure/scheduler/index.cjs +461 -0
  180. package/dist/infrastructure/scheduler/index.cjs.map +1 -0
  181. package/dist/infrastructure/scheduler/index.d.cts +17 -0
  182. package/dist/infrastructure/scheduler/index.d.ts +17 -0
  183. package/dist/infrastructure/scheduler/index.js +426 -0
  184. package/dist/infrastructure/scheduler/index.js.map +1 -0
  185. package/dist/infrastructure/websocket/index.cjs +131 -0
  186. package/dist/infrastructure/websocket/index.cjs.map +1 -0
  187. package/dist/infrastructure/websocket/index.d.cts +56 -0
  188. package/dist/infrastructure/websocket/index.d.ts +56 -0
  189. package/dist/infrastructure/websocket/index.js +103 -0
  190. package/dist/infrastructure/websocket/index.js.map +1 -0
  191. package/package.json +248 -0
@@ -0,0 +1,27 @@
1
+ interface CronExpression {
2
+ readonly dayOfMonth?: number | string;
3
+ readonly dayOfWeek?: number | string;
4
+ readonly hour?: number | string;
5
+ readonly minute?: number | string;
6
+ readonly month?: number | string;
7
+ readonly second?: number | string;
8
+ }
9
+
10
+ interface SchedulerErrorPolicy {
11
+ handle(error: unknown, scheduler: Scheduler): Promise<void> | void;
12
+ shouldSkip(error: unknown): boolean;
13
+ }
14
+
15
+ declare abstract class Scheduler {
16
+ private readonly errorPolicy;
17
+ constructor(errorPolicy?: SchedulerErrorPolicy);
18
+ private parseCronExpression;
19
+ abstract execute(): Promise<void>;
20
+ abstract getCronExpression(): CronExpression;
21
+ abstract getProcessName(): string;
22
+ runOnce(): Promise<void>;
23
+ get<T>(service: unknown): T;
24
+ init(): Promise<void>;
25
+ }
26
+
27
+ export { type CronExpression as C, Scheduler as S, type SchedulerErrorPolicy as a };
@@ -0,0 +1,37 @@
1
+ import { S as ServiceResolver } from './ServiceResolver-D2Jz-l_Z.cjs';
2
+
3
+ interface DependencyInjectionOptions {
4
+ readonly containerBuild?: boolean;
5
+ readonly servicesYamlPath: string;
6
+ readonly sourceDirectory: string;
7
+ }
8
+
9
+ declare class DependencyInjection implements ServiceResolver {
10
+ private readonly options;
11
+ private static configuredInstance;
12
+ private autowire;
13
+ private loader;
14
+ private readonly container;
15
+ static configure(options: DependencyInjectionOptions): DependencyInjection;
16
+ static get instance(): DependencyInjection;
17
+ constructor(options?: DependencyInjectionOptions);
18
+ private get definitions();
19
+ private get aliases();
20
+ private ensureFolderExists;
21
+ private getServiceClassName;
22
+ private parentMatchesService;
23
+ private serviceIdMatchesService;
24
+ private findConcreteChildServiceId;
25
+ private findRegisteredServiceId;
26
+ private findAliasServiceId;
27
+ private registerParentAliases;
28
+ compile(): Promise<void>;
29
+ getService<T>(serviceName: unknown): T;
30
+ }
31
+
32
+ type ServiceClass<T> = {
33
+ readonly prototype: T;
34
+ new (...args: never[]): T;
35
+ };
36
+
37
+ export { DependencyInjection as D, type ServiceClass as S, type DependencyInjectionOptions as a };
@@ -0,0 +1,37 @@
1
+ import { S as ServiceResolver } from './ServiceResolver-D2Jz-l_Z.js';
2
+
3
+ interface DependencyInjectionOptions {
4
+ readonly containerBuild?: boolean;
5
+ readonly servicesYamlPath: string;
6
+ readonly sourceDirectory: string;
7
+ }
8
+
9
+ declare class DependencyInjection implements ServiceResolver {
10
+ private readonly options;
11
+ private static configuredInstance;
12
+ private autowire;
13
+ private loader;
14
+ private readonly container;
15
+ static configure(options: DependencyInjectionOptions): DependencyInjection;
16
+ static get instance(): DependencyInjection;
17
+ constructor(options?: DependencyInjectionOptions);
18
+ private get definitions();
19
+ private get aliases();
20
+ private ensureFolderExists;
21
+ private getServiceClassName;
22
+ private parentMatchesService;
23
+ private serviceIdMatchesService;
24
+ private findConcreteChildServiceId;
25
+ private findRegisteredServiceId;
26
+ private findAliasServiceId;
27
+ private registerParentAliases;
28
+ compile(): Promise<void>;
29
+ getService<T>(serviceName: unknown): T;
30
+ }
31
+
32
+ type ServiceClass<T> = {
33
+ readonly prototype: T;
34
+ new (...args: never[]): T;
35
+ };
36
+
37
+ export { DependencyInjection as D, type ServiceClass as S, type DependencyInjectionOptions as a };
@@ -0,0 +1,5 @@
1
+ interface ServiceResolver {
2
+ getService<T>(serviceName: unknown): T;
3
+ }
4
+
5
+ export type { ServiceResolver as S };
@@ -0,0 +1,5 @@
1
+ interface ServiceResolver {
2
+ getService<T>(serviceName: unknown): T;
3
+ }
4
+
5
+ export type { ServiceResolver as S };
@@ -0,0 +1,9 @@
1
+ import { D as DomainEvent } from './DomainEvent-mXWEtr_J.js';
2
+
3
+ interface ConsumerMiddleware {
4
+ handle(event: DomainEvent, next: () => Promise<void>): Promise<void>;
5
+ }
6
+
7
+ type ShutdownHook = () => Promise<void> | void;
8
+
9
+ export type { ConsumerMiddleware as C, ShutdownHook as S };
@@ -0,0 +1,9 @@
1
+ import { D as DomainEvent } from './DomainEvent-mXWEtr_J.cjs';
2
+
3
+ interface ConsumerMiddleware {
4
+ handle(event: DomainEvent, next: () => Promise<void>): Promise<void>;
5
+ }
6
+
7
+ type ShutdownHook = () => Promise<void> | void;
8
+
9
+ export type { ConsumerMiddleware as C, ShutdownHook as S };
@@ -0,0 +1,9 @@
1
+ import { M as Message, H as HandlerContext } from './HandlerContext-DUUExVo3.js';
2
+
3
+ type MessageHandler<TMessage extends Message = Message, TResult = unknown> = (message: TMessage, context: HandlerContext) => TResult | Promise<TResult>;
4
+
5
+ interface Subscription {
6
+ close(): Promise<void>;
7
+ }
8
+
9
+ export type { MessageHandler as M, Subscription as S };
@@ -0,0 +1,9 @@
1
+ import { M as Message, H as HandlerContext } from './HandlerContext-Lm89pSeG.cjs';
2
+
3
+ type MessageHandler<TMessage extends Message = Message, TResult = unknown> = (message: TMessage, context: HandlerContext) => TResult | Promise<TResult>;
4
+
5
+ interface Subscription {
6
+ close(): Promise<void>;
7
+ }
8
+
9
+ export type { MessageHandler as M, Subscription as S };
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/adapters/db/in-memory/index.ts
21
+ var in_memory_exports = {};
22
+ __export(in_memory_exports, {
23
+ InMemoryRepository: () => InMemoryRepository
24
+ });
25
+ module.exports = __toCommonJS(in_memory_exports);
26
+
27
+ // src/adapters/db/in-memory/InMemoryRepository.ts
28
+ var InMemoryRepository = class {
29
+ entities = /* @__PURE__ */ new Map();
30
+ findById(id) {
31
+ return Promise.resolve(this.entities.get(id) ?? null);
32
+ }
33
+ save(entity) {
34
+ this.entities.set(entity.id, entity);
35
+ return Promise.resolve();
36
+ }
37
+ delete(id) {
38
+ this.entities.delete(id);
39
+ return Promise.resolve();
40
+ }
41
+ };
42
+ // Annotate the CommonJS export names for ESM import in node:
43
+ 0 && (module.exports = {
44
+ InMemoryRepository
45
+ });
46
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/adapters/db/in-memory/index.ts","../../../../src/adapters/db/in-memory/InMemoryRepository.ts"],"sourcesContent":["export * from './InMemoryRepository.js';\n","import type { Repository } from '../../../contracts/index.js';\n\nexport class InMemoryRepository<\n TEntity extends { id: TId },\n TId,\n> implements Repository<TEntity, TId> {\n private readonly entities = new Map<TId, TEntity>();\n\n public findById(id: TId): Promise<TEntity | null> {\n return Promise.resolve(this.entities.get(id) ?? null);\n }\n\n public save(entity: TEntity): Promise<void> {\n this.entities.set(entity.id, entity);\n\n return Promise.resolve();\n }\n\n public delete(id: TId): Promise<void> {\n this.entities.delete(id);\n\n return Promise.resolve();\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACEO,IAAM,qBAAN,MAG+B;AAAA,EACnB,WAAW,oBAAI,IAAkB;AAAA,EAE3C,SAAS,IAAkC;AAChD,WAAO,QAAQ,QAAQ,KAAK,SAAS,IAAI,EAAE,KAAK,IAAI;AAAA,EACtD;AAAA,EAEO,KAAK,QAAgC;AAC1C,SAAK,SAAS,IAAI,OAAO,IAAI,MAAM;AAEnC,WAAO,QAAQ,QAAQ;AAAA,EACzB;AAAA,EAEO,OAAO,IAAwB;AACpC,SAAK,SAAS,OAAO,EAAE;AAEvB,WAAO,QAAQ,QAAQ;AAAA,EACzB;AACF;","names":[]}
@@ -0,0 +1,12 @@
1
+ import { R as Repository } from '../../../Repository-D9CuAyCV.cjs';
2
+
3
+ declare class InMemoryRepository<TEntity extends {
4
+ id: TId;
5
+ }, TId> implements Repository<TEntity, TId> {
6
+ private readonly entities;
7
+ findById(id: TId): Promise<TEntity | null>;
8
+ save(entity: TEntity): Promise<void>;
9
+ delete(id: TId): Promise<void>;
10
+ }
11
+
12
+ export { InMemoryRepository };
@@ -0,0 +1,12 @@
1
+ import { R as Repository } from '../../../Repository-D9CuAyCV.js';
2
+
3
+ declare class InMemoryRepository<TEntity extends {
4
+ id: TId;
5
+ }, TId> implements Repository<TEntity, TId> {
6
+ private readonly entities;
7
+ findById(id: TId): Promise<TEntity | null>;
8
+ save(entity: TEntity): Promise<void>;
9
+ delete(id: TId): Promise<void>;
10
+ }
11
+
12
+ export { InMemoryRepository };
@@ -0,0 +1,19 @@
1
+ // src/adapters/db/in-memory/InMemoryRepository.ts
2
+ var InMemoryRepository = class {
3
+ entities = /* @__PURE__ */ new Map();
4
+ findById(id) {
5
+ return Promise.resolve(this.entities.get(id) ?? null);
6
+ }
7
+ save(entity) {
8
+ this.entities.set(entity.id, entity);
9
+ return Promise.resolve();
10
+ }
11
+ delete(id) {
12
+ this.entities.delete(id);
13
+ return Promise.resolve();
14
+ }
15
+ };
16
+ export {
17
+ InMemoryRepository
18
+ };
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/adapters/db/in-memory/InMemoryRepository.ts"],"sourcesContent":["import type { Repository } from '../../../contracts/index.js';\n\nexport class InMemoryRepository<\n TEntity extends { id: TId },\n TId,\n> implements Repository<TEntity, TId> {\n private readonly entities = new Map<TId, TEntity>();\n\n public findById(id: TId): Promise<TEntity | null> {\n return Promise.resolve(this.entities.get(id) ?? null);\n }\n\n public save(entity: TEntity): Promise<void> {\n this.entities.set(entity.id, entity);\n\n return Promise.resolve();\n }\n\n public delete(id: TId): Promise<void> {\n this.entities.delete(id);\n\n return Promise.resolve();\n }\n}\n"],"mappings":";AAEO,IAAM,qBAAN,MAG+B;AAAA,EACnB,WAAW,oBAAI,IAAkB;AAAA,EAE3C,SAAS,IAAkC;AAChD,WAAO,QAAQ,QAAQ,KAAK,SAAS,IAAI,EAAE,KAAK,IAAI;AAAA,EACtD;AAAA,EAEO,KAAK,QAAgC;AAC1C,SAAK,SAAS,IAAI,OAAO,IAAI,MAAM;AAEnC,WAAO,QAAQ,QAAQ;AAAA,EACzB;AAAA,EAEO,OAAO,IAAwB;AACpC,SAAK,SAAS,OAAO,EAAE;AAEvB,WAAO,QAAQ,QAAQ;AAAA,EACzB;AACF;","names":[]}
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/adapters/db/index.ts
21
+ var db_exports = {};
22
+ __export(db_exports, {
23
+ InMemoryRepository: () => InMemoryRepository,
24
+ MongoRepository: () => MongoRepository
25
+ });
26
+ module.exports = __toCommonJS(db_exports);
27
+
28
+ // src/adapters/db/in-memory/InMemoryRepository.ts
29
+ var InMemoryRepository = class {
30
+ entities = /* @__PURE__ */ new Map();
31
+ findById(id) {
32
+ return Promise.resolve(this.entities.get(id) ?? null);
33
+ }
34
+ save(entity) {
35
+ this.entities.set(entity.id, entity);
36
+ return Promise.resolve();
37
+ }
38
+ delete(id) {
39
+ this.entities.delete(id);
40
+ return Promise.resolve();
41
+ }
42
+ };
43
+
44
+ // src/adapters/db/mongo/MongoRepository.ts
45
+ var MongoRepository = class {
46
+ constructor(collection, mapper) {
47
+ this.collection = collection;
48
+ this.mapper = mapper;
49
+ }
50
+ collection;
51
+ mapper;
52
+ async findById(id) {
53
+ const document = await this.collection.findOne({
54
+ id
55
+ });
56
+ if (!document) {
57
+ return null;
58
+ }
59
+ return this.mapper.toEntity(document);
60
+ }
61
+ async save(entity) {
62
+ const document = this.mapper.toDocument(entity);
63
+ await this.collection.updateOne(
64
+ { id: document.id },
65
+ { $set: document },
66
+ { upsert: true }
67
+ );
68
+ }
69
+ async delete(id) {
70
+ await this.collection.deleteOne({
71
+ id
72
+ });
73
+ }
74
+ };
75
+ // Annotate the CommonJS export names for ESM import in node:
76
+ 0 && (module.exports = {
77
+ InMemoryRepository,
78
+ MongoRepository
79
+ });
80
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/adapters/db/index.ts","../../../src/adapters/db/in-memory/InMemoryRepository.ts","../../../src/adapters/db/mongo/MongoRepository.ts"],"sourcesContent":["export * from './in-memory/index.js';\nexport * from './mongo/index.js';\n","import type { Repository } from '../../../contracts/index.js';\n\nexport class InMemoryRepository<\n TEntity extends { id: TId },\n TId,\n> implements Repository<TEntity, TId> {\n private readonly entities = new Map<TId, TEntity>();\n\n public findById(id: TId): Promise<TEntity | null> {\n return Promise.resolve(this.entities.get(id) ?? null);\n }\n\n public save(entity: TEntity): Promise<void> {\n this.entities.set(entity.id, entity);\n\n return Promise.resolve();\n }\n\n public delete(id: TId): Promise<void> {\n this.entities.delete(id);\n\n return Promise.resolve();\n }\n}\n","import type { Collection, Filter } from 'mongodb';\n\nimport type { Repository } from '../../../contracts/index.js';\nimport type { MongoDocumentMapper } from './MongoDocumentMapper.js';\n\nexport class MongoRepository<\n TEntity,\n TDocument extends { id: TId },\n TId,\n> implements Repository<TEntity, TId> {\n constructor(\n private readonly collection: Collection<TDocument>,\n private readonly mapper: MongoDocumentMapper<TEntity, TDocument, TId>,\n ) {}\n\n public async findById(id: TId): Promise<TEntity | null> {\n const document = await this.collection.findOne({\n id,\n } as Filter<TDocument>);\n\n if (!document) {\n return null;\n }\n\n return this.mapper.toEntity(document as TDocument);\n }\n\n public async save(entity: TEntity): Promise<void> {\n const document = this.mapper.toDocument(entity);\n\n await this.collection.updateOne(\n { id: document.id } as Filter<TDocument>,\n { $set: document },\n { upsert: true },\n );\n }\n\n public async delete(id: TId): Promise<void> {\n await this.collection.deleteOne({\n id,\n } as Filter<TDocument>);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACEO,IAAM,qBAAN,MAG+B;AAAA,EACnB,WAAW,oBAAI,IAAkB;AAAA,EAE3C,SAAS,IAAkC;AAChD,WAAO,QAAQ,QAAQ,KAAK,SAAS,IAAI,EAAE,KAAK,IAAI;AAAA,EACtD;AAAA,EAEO,KAAK,QAAgC;AAC1C,SAAK,SAAS,IAAI,OAAO,IAAI,MAAM;AAEnC,WAAO,QAAQ,QAAQ;AAAA,EACzB;AAAA,EAEO,OAAO,IAAwB;AACpC,SAAK,SAAS,OAAO,EAAE;AAEvB,WAAO,QAAQ,QAAQ;AAAA,EACzB;AACF;;;AClBO,IAAM,kBAAN,MAI+B;AAAA,EACpC,YACmB,YACA,QACjB;AAFiB;AACA;AAAA,EAChB;AAAA,EAFgB;AAAA,EACA;AAAA,EAGnB,MAAa,SAAS,IAAkC;AACtD,UAAM,WAAW,MAAM,KAAK,WAAW,QAAQ;AAAA,MAC7C;AAAA,IACF,CAAsB;AAEtB,QAAI,CAAC,UAAU;AACb,aAAO;AAAA,IACT;AAEA,WAAO,KAAK,OAAO,SAAS,QAAqB;AAAA,EACnD;AAAA,EAEA,MAAa,KAAK,QAAgC;AAChD,UAAM,WAAW,KAAK,OAAO,WAAW,MAAM;AAE9C,UAAM,KAAK,WAAW;AAAA,MACpB,EAAE,IAAI,SAAS,GAAG;AAAA,MAClB,EAAE,MAAM,SAAS;AAAA,MACjB,EAAE,QAAQ,KAAK;AAAA,IACjB;AAAA,EACF;AAAA,EAEA,MAAa,OAAO,IAAwB;AAC1C,UAAM,KAAK,WAAW,UAAU;AAAA,MAC9B;AAAA,IACF,CAAsB;AAAA,EACxB;AACF;","names":[]}
@@ -0,0 +1,4 @@
1
+ export { InMemoryRepository } from './in-memory/index.cjs';
2
+ export { MongoDocumentMapper, MongoRepository } from './mongo/index.cjs';
3
+ import '../../Repository-D9CuAyCV.cjs';
4
+ import 'mongodb';
@@ -0,0 +1,4 @@
1
+ export { InMemoryRepository } from './in-memory/index.js';
2
+ export { MongoDocumentMapper, MongoRepository } from './mongo/index.js';
3
+ import '../../Repository-D9CuAyCV.js';
4
+ import 'mongodb';
@@ -0,0 +1,52 @@
1
+ // src/adapters/db/in-memory/InMemoryRepository.ts
2
+ var InMemoryRepository = class {
3
+ entities = /* @__PURE__ */ new Map();
4
+ findById(id) {
5
+ return Promise.resolve(this.entities.get(id) ?? null);
6
+ }
7
+ save(entity) {
8
+ this.entities.set(entity.id, entity);
9
+ return Promise.resolve();
10
+ }
11
+ delete(id) {
12
+ this.entities.delete(id);
13
+ return Promise.resolve();
14
+ }
15
+ };
16
+
17
+ // src/adapters/db/mongo/MongoRepository.ts
18
+ var MongoRepository = class {
19
+ constructor(collection, mapper) {
20
+ this.collection = collection;
21
+ this.mapper = mapper;
22
+ }
23
+ collection;
24
+ mapper;
25
+ async findById(id) {
26
+ const document = await this.collection.findOne({
27
+ id
28
+ });
29
+ if (!document) {
30
+ return null;
31
+ }
32
+ return this.mapper.toEntity(document);
33
+ }
34
+ async save(entity) {
35
+ const document = this.mapper.toDocument(entity);
36
+ await this.collection.updateOne(
37
+ { id: document.id },
38
+ { $set: document },
39
+ { upsert: true }
40
+ );
41
+ }
42
+ async delete(id) {
43
+ await this.collection.deleteOne({
44
+ id
45
+ });
46
+ }
47
+ };
48
+ export {
49
+ InMemoryRepository,
50
+ MongoRepository
51
+ };
52
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/adapters/db/in-memory/InMemoryRepository.ts","../../../src/adapters/db/mongo/MongoRepository.ts"],"sourcesContent":["import type { Repository } from '../../../contracts/index.js';\n\nexport class InMemoryRepository<\n TEntity extends { id: TId },\n TId,\n> implements Repository<TEntity, TId> {\n private readonly entities = new Map<TId, TEntity>();\n\n public findById(id: TId): Promise<TEntity | null> {\n return Promise.resolve(this.entities.get(id) ?? null);\n }\n\n public save(entity: TEntity): Promise<void> {\n this.entities.set(entity.id, entity);\n\n return Promise.resolve();\n }\n\n public delete(id: TId): Promise<void> {\n this.entities.delete(id);\n\n return Promise.resolve();\n }\n}\n","import type { Collection, Filter } from 'mongodb';\n\nimport type { Repository } from '../../../contracts/index.js';\nimport type { MongoDocumentMapper } from './MongoDocumentMapper.js';\n\nexport class MongoRepository<\n TEntity,\n TDocument extends { id: TId },\n TId,\n> implements Repository<TEntity, TId> {\n constructor(\n private readonly collection: Collection<TDocument>,\n private readonly mapper: MongoDocumentMapper<TEntity, TDocument, TId>,\n ) {}\n\n public async findById(id: TId): Promise<TEntity | null> {\n const document = await this.collection.findOne({\n id,\n } as Filter<TDocument>);\n\n if (!document) {\n return null;\n }\n\n return this.mapper.toEntity(document as TDocument);\n }\n\n public async save(entity: TEntity): Promise<void> {\n const document = this.mapper.toDocument(entity);\n\n await this.collection.updateOne(\n { id: document.id } as Filter<TDocument>,\n { $set: document },\n { upsert: true },\n );\n }\n\n public async delete(id: TId): Promise<void> {\n await this.collection.deleteOne({\n id,\n } as Filter<TDocument>);\n }\n}\n"],"mappings":";AAEO,IAAM,qBAAN,MAG+B;AAAA,EACnB,WAAW,oBAAI,IAAkB;AAAA,EAE3C,SAAS,IAAkC;AAChD,WAAO,QAAQ,QAAQ,KAAK,SAAS,IAAI,EAAE,KAAK,IAAI;AAAA,EACtD;AAAA,EAEO,KAAK,QAAgC;AAC1C,SAAK,SAAS,IAAI,OAAO,IAAI,MAAM;AAEnC,WAAO,QAAQ,QAAQ;AAAA,EACzB;AAAA,EAEO,OAAO,IAAwB;AACpC,SAAK,SAAS,OAAO,EAAE;AAEvB,WAAO,QAAQ,QAAQ;AAAA,EACzB;AACF;;;AClBO,IAAM,kBAAN,MAI+B;AAAA,EACpC,YACmB,YACA,QACjB;AAFiB;AACA;AAAA,EAChB;AAAA,EAFgB;AAAA,EACA;AAAA,EAGnB,MAAa,SAAS,IAAkC;AACtD,UAAM,WAAW,MAAM,KAAK,WAAW,QAAQ;AAAA,MAC7C;AAAA,IACF,CAAsB;AAEtB,QAAI,CAAC,UAAU;AACb,aAAO;AAAA,IACT;AAEA,WAAO,KAAK,OAAO,SAAS,QAAqB;AAAA,EACnD;AAAA,EAEA,MAAa,KAAK,QAAgC;AAChD,UAAM,WAAW,KAAK,OAAO,WAAW,MAAM;AAE9C,UAAM,KAAK,WAAW;AAAA,MACpB,EAAE,IAAI,SAAS,GAAG;AAAA,MAClB,EAAE,MAAM,SAAS;AAAA,MACjB,EAAE,QAAQ,KAAK;AAAA,IACjB;AAAA,EACF;AAAA,EAEA,MAAa,OAAO,IAAwB;AAC1C,UAAM,KAAK,WAAW,UAAU;AAAA,MAC9B;AAAA,IACF,CAAsB;AAAA,EACxB;AACF;","names":[]}
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/adapters/db/mongo/index.ts
21
+ var mongo_exports = {};
22
+ __export(mongo_exports, {
23
+ MongoRepository: () => MongoRepository
24
+ });
25
+ module.exports = __toCommonJS(mongo_exports);
26
+
27
+ // src/adapters/db/mongo/MongoRepository.ts
28
+ var MongoRepository = class {
29
+ constructor(collection, mapper) {
30
+ this.collection = collection;
31
+ this.mapper = mapper;
32
+ }
33
+ collection;
34
+ mapper;
35
+ async findById(id) {
36
+ const document = await this.collection.findOne({
37
+ id
38
+ });
39
+ if (!document) {
40
+ return null;
41
+ }
42
+ return this.mapper.toEntity(document);
43
+ }
44
+ async save(entity) {
45
+ const document = this.mapper.toDocument(entity);
46
+ await this.collection.updateOne(
47
+ { id: document.id },
48
+ { $set: document },
49
+ { upsert: true }
50
+ );
51
+ }
52
+ async delete(id) {
53
+ await this.collection.deleteOne({
54
+ id
55
+ });
56
+ }
57
+ };
58
+ // Annotate the CommonJS export names for ESM import in node:
59
+ 0 && (module.exports = {
60
+ MongoRepository
61
+ });
62
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/adapters/db/mongo/index.ts","../../../../src/adapters/db/mongo/MongoRepository.ts"],"sourcesContent":["export * from './MongoDocumentMapper.js';\nexport * from './MongoRepository.js';\n","import type { Collection, Filter } from 'mongodb';\n\nimport type { Repository } from '../../../contracts/index.js';\nimport type { MongoDocumentMapper } from './MongoDocumentMapper.js';\n\nexport class MongoRepository<\n TEntity,\n TDocument extends { id: TId },\n TId,\n> implements Repository<TEntity, TId> {\n constructor(\n private readonly collection: Collection<TDocument>,\n private readonly mapper: MongoDocumentMapper<TEntity, TDocument, TId>,\n ) {}\n\n public async findById(id: TId): Promise<TEntity | null> {\n const document = await this.collection.findOne({\n id,\n } as Filter<TDocument>);\n\n if (!document) {\n return null;\n }\n\n return this.mapper.toEntity(document as TDocument);\n }\n\n public async save(entity: TEntity): Promise<void> {\n const document = this.mapper.toDocument(entity);\n\n await this.collection.updateOne(\n { id: document.id } as Filter<TDocument>,\n { $set: document },\n { upsert: true },\n );\n }\n\n public async delete(id: TId): Promise<void> {\n await this.collection.deleteOne({\n id,\n } as Filter<TDocument>);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACKO,IAAM,kBAAN,MAI+B;AAAA,EACpC,YACmB,YACA,QACjB;AAFiB;AACA;AAAA,EAChB;AAAA,EAFgB;AAAA,EACA;AAAA,EAGnB,MAAa,SAAS,IAAkC;AACtD,UAAM,WAAW,MAAM,KAAK,WAAW,QAAQ;AAAA,MAC7C;AAAA,IACF,CAAsB;AAEtB,QAAI,CAAC,UAAU;AACb,aAAO;AAAA,IACT;AAEA,WAAO,KAAK,OAAO,SAAS,QAAqB;AAAA,EACnD;AAAA,EAEA,MAAa,KAAK,QAAgC;AAChD,UAAM,WAAW,KAAK,OAAO,WAAW,MAAM;AAE9C,UAAM,KAAK,WAAW;AAAA,MACpB,EAAE,IAAI,SAAS,GAAG;AAAA,MAClB,EAAE,MAAM,SAAS;AAAA,MACjB,EAAE,QAAQ,KAAK;AAAA,IACjB;AAAA,EACF;AAAA,EAEA,MAAa,OAAO,IAAwB;AAC1C,UAAM,KAAK,WAAW,UAAU;AAAA,MAC9B;AAAA,IACF,CAAsB;AAAA,EACxB;AACF;","names":[]}
@@ -0,0 +1,22 @@
1
+ import { Collection } from 'mongodb';
2
+ import { R as Repository } from '../../../Repository-D9CuAyCV.cjs';
3
+
4
+ interface MongoDocumentMapper<TEntity, TDocument extends {
5
+ id: TId;
6
+ }, TId> {
7
+ toDocument(entity: TEntity): TDocument;
8
+ toEntity(document: TDocument): TEntity;
9
+ }
10
+
11
+ declare class MongoRepository<TEntity, TDocument extends {
12
+ id: TId;
13
+ }, TId> implements Repository<TEntity, TId> {
14
+ private readonly collection;
15
+ private readonly mapper;
16
+ constructor(collection: Collection<TDocument>, mapper: MongoDocumentMapper<TEntity, TDocument, TId>);
17
+ findById(id: TId): Promise<TEntity | null>;
18
+ save(entity: TEntity): Promise<void>;
19
+ delete(id: TId): Promise<void>;
20
+ }
21
+
22
+ export { type MongoDocumentMapper, MongoRepository };
@@ -0,0 +1,22 @@
1
+ import { Collection } from 'mongodb';
2
+ import { R as Repository } from '../../../Repository-D9CuAyCV.js';
3
+
4
+ interface MongoDocumentMapper<TEntity, TDocument extends {
5
+ id: TId;
6
+ }, TId> {
7
+ toDocument(entity: TEntity): TDocument;
8
+ toEntity(document: TDocument): TEntity;
9
+ }
10
+
11
+ declare class MongoRepository<TEntity, TDocument extends {
12
+ id: TId;
13
+ }, TId> implements Repository<TEntity, TId> {
14
+ private readonly collection;
15
+ private readonly mapper;
16
+ constructor(collection: Collection<TDocument>, mapper: MongoDocumentMapper<TEntity, TDocument, TId>);
17
+ findById(id: TId): Promise<TEntity | null>;
18
+ save(entity: TEntity): Promise<void>;
19
+ delete(id: TId): Promise<void>;
20
+ }
21
+
22
+ export { type MongoDocumentMapper, MongoRepository };
@@ -0,0 +1,35 @@
1
+ // src/adapters/db/mongo/MongoRepository.ts
2
+ var MongoRepository = class {
3
+ constructor(collection, mapper) {
4
+ this.collection = collection;
5
+ this.mapper = mapper;
6
+ }
7
+ collection;
8
+ mapper;
9
+ async findById(id) {
10
+ const document = await this.collection.findOne({
11
+ id
12
+ });
13
+ if (!document) {
14
+ return null;
15
+ }
16
+ return this.mapper.toEntity(document);
17
+ }
18
+ async save(entity) {
19
+ const document = this.mapper.toDocument(entity);
20
+ await this.collection.updateOne(
21
+ { id: document.id },
22
+ { $set: document },
23
+ { upsert: true }
24
+ );
25
+ }
26
+ async delete(id) {
27
+ await this.collection.deleteOne({
28
+ id
29
+ });
30
+ }
31
+ };
32
+ export {
33
+ MongoRepository
34
+ };
35
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/adapters/db/mongo/MongoRepository.ts"],"sourcesContent":["import type { Collection, Filter } from 'mongodb';\n\nimport type { Repository } from '../../../contracts/index.js';\nimport type { MongoDocumentMapper } from './MongoDocumentMapper.js';\n\nexport class MongoRepository<\n TEntity,\n TDocument extends { id: TId },\n TId,\n> implements Repository<TEntity, TId> {\n constructor(\n private readonly collection: Collection<TDocument>,\n private readonly mapper: MongoDocumentMapper<TEntity, TDocument, TId>,\n ) {}\n\n public async findById(id: TId): Promise<TEntity | null> {\n const document = await this.collection.findOne({\n id,\n } as Filter<TDocument>);\n\n if (!document) {\n return null;\n }\n\n return this.mapper.toEntity(document as TDocument);\n }\n\n public async save(entity: TEntity): Promise<void> {\n const document = this.mapper.toDocument(entity);\n\n await this.collection.updateOne(\n { id: document.id } as Filter<TDocument>,\n { $set: document },\n { upsert: true },\n );\n }\n\n public async delete(id: TId): Promise<void> {\n await this.collection.deleteOne({\n id,\n } as Filter<TDocument>);\n }\n}\n"],"mappings":";AAKO,IAAM,kBAAN,MAI+B;AAAA,EACpC,YACmB,YACA,QACjB;AAFiB;AACA;AAAA,EAChB;AAAA,EAFgB;AAAA,EACA;AAAA,EAGnB,MAAa,SAAS,IAAkC;AACtD,UAAM,WAAW,MAAM,KAAK,WAAW,QAAQ;AAAA,MAC7C;AAAA,IACF,CAAsB;AAEtB,QAAI,CAAC,UAAU;AACb,aAAO;AAAA,IACT;AAEA,WAAO,KAAK,OAAO,SAAS,QAAqB;AAAA,EACnD;AAAA,EAEA,MAAa,KAAK,QAAgC;AAChD,UAAM,WAAW,KAAK,OAAO,WAAW,MAAM;AAE9C,UAAM,KAAK,WAAW;AAAA,MACpB,EAAE,IAAI,SAAS,GAAG;AAAA,MAClB,EAAE,MAAM,SAAS;AAAA,MACjB,EAAE,QAAQ,KAAK;AAAA,IACjB;AAAA,EACF;AAAA,EAEA,MAAa,OAAO,IAAwB;AAC1C,UAAM,KAAK,WAAW,UAAU;AAAA,MAC9B;AAAA,IACF,CAAsB;AAAA,EACxB;AACF;","names":[]}