@woltz/rich-domain 0.2.1 → 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 (128) hide show
  1. package/CHANGELOG.md +42 -0
  2. package/README.md +37 -20
  3. package/dist/base-entity.d.ts +1 -1
  4. package/dist/base-entity.d.ts.map +1 -1
  5. package/dist/base-entity.js +21 -15
  6. package/dist/base-entity.js.map +1 -1
  7. package/dist/constants.js +4 -1
  8. package/dist/constants.js.map +1 -1
  9. package/dist/criteria.d.ts.map +1 -1
  10. package/dist/criteria.js +7 -3
  11. package/dist/criteria.js.map +1 -1
  12. package/dist/deep-proxy.d.ts +3 -1
  13. package/dist/deep-proxy.d.ts.map +1 -1
  14. package/dist/deep-proxy.js +110 -33
  15. package/dist/deep-proxy.js.map +1 -1
  16. package/dist/domain-event-bus.js +7 -2
  17. package/dist/domain-event-bus.js.map +1 -1
  18. package/dist/domain-event.js +7 -3
  19. package/dist/domain-event.js.map +1 -1
  20. package/dist/entity.js +8 -3
  21. package/dist/entity.js.map +1 -1
  22. package/dist/id.d.ts +3 -3
  23. package/dist/id.d.ts.map +1 -1
  24. package/dist/id.js +10 -6
  25. package/dist/id.js.map +1 -1
  26. package/dist/index.d.ts +1 -1
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/index.js +39 -16
  29. package/dist/index.js.map +1 -1
  30. package/dist/mapper.d.ts +4 -0
  31. package/dist/mapper.d.ts.map +1 -0
  32. package/dist/mapper.js +7 -0
  33. package/dist/mapper.js.map +1 -0
  34. package/dist/paginated-result.d.ts.map +1 -1
  35. package/dist/paginated-result.js +7 -6
  36. package/dist/paginated-result.js.map +1 -1
  37. package/dist/repository/base-repository.d.ts +25 -48
  38. package/dist/repository/base-repository.d.ts.map +1 -1
  39. package/dist/repository/base-repository.js +14 -51
  40. package/dist/repository/base-repository.js.map +1 -1
  41. package/dist/repository/in-memory-repository.d.ts +12 -8
  42. package/dist/repository/in-memory-repository.d.ts.map +1 -1
  43. package/dist/repository/in-memory-repository.js +24 -12
  44. package/dist/repository/in-memory-repository.js.map +1 -1
  45. package/dist/repository/index.d.ts +2 -39
  46. package/dist/repository/index.d.ts.map +1 -1
  47. package/dist/repository/index.js +26 -40
  48. package/dist/repository/index.js.map +1 -1
  49. package/dist/repository/unit-of-work.js +9 -3
  50. package/dist/repository/unit-of-work.js.map +1 -1
  51. package/dist/types/criteria.d.ts +2 -2
  52. package/dist/types/criteria.d.ts.map +1 -1
  53. package/dist/types/criteria.js +4 -1
  54. package/dist/types/criteria.js.map +1 -1
  55. package/dist/types/domain.js +2 -1
  56. package/dist/types/history-tracker.js +2 -1
  57. package/dist/types/index.d.ts +0 -1
  58. package/dist/types/index.d.ts.map +1 -1
  59. package/dist/types/index.js +22 -7
  60. package/dist/types/index.js.map +1 -1
  61. package/dist/types/standard-schema.js +2 -1
  62. package/dist/types/unit-of-work.d.ts +2 -2
  63. package/dist/types/unit-of-work.d.ts.map +1 -1
  64. package/dist/types/unit-of-work.js +2 -1
  65. package/dist/types/utils.js +2 -1
  66. package/dist/validation-error.js +9 -3
  67. package/dist/validation-error.js.map +1 -1
  68. package/dist/value-object.js +9 -5
  69. package/dist/value-object.js.map +1 -1
  70. package/package.json +1 -1
  71. package/src/base-entity.ts +3 -2
  72. package/src/criteria.ts +2 -2
  73. package/src/deep-proxy.ts +435 -339
  74. package/src/id.ts +4 -4
  75. package/src/index.ts +2 -3
  76. package/src/mapper.ts +3 -0
  77. package/src/paginated-result.ts +1 -8
  78. package/src/repository/base-repository.ts +27 -115
  79. package/src/repository/in-memory-repository.ts +28 -16
  80. package/src/repository/index.ts +2 -40
  81. package/src/types/criteria.ts +2 -2
  82. package/src/types/index.ts +0 -1
  83. package/src/types/unit-of-work.ts +3 -3
  84. package/tests/entity-validation.test.ts +1 -1
  85. package/tests/history-tracker.spec.ts +57 -17
  86. package/tests/id.test.ts +341 -341
  87. package/tests/repository.test.ts +95 -79
  88. package/tests/to-json.test.ts +103 -91
  89. package/tests/value-objects.test.ts +52 -52
  90. package/tsconfig.json +2 -2
  91. package/dist/filtering.d.ts +0 -107
  92. package/dist/filtering.d.ts.map +0 -1
  93. package/dist/filtering.js +0 -202
  94. package/dist/filtering.js.map +0 -1
  95. package/dist/ordering.d.ts +0 -93
  96. package/dist/ordering.d.ts.map +0 -1
  97. package/dist/ordering.js +0 -154
  98. package/dist/ordering.js.map +0 -1
  99. package/dist/pagination.d.ts +0 -218
  100. package/dist/pagination.d.ts.map +0 -1
  101. package/dist/pagination.js +0 -281
  102. package/dist/pagination.js.map +0 -1
  103. package/dist/repository/mapper.d.ts +0 -56
  104. package/dist/repository/mapper.d.ts.map +0 -1
  105. package/dist/repository/mapper.js +0 -15
  106. package/dist/repository/mapper.js.map +0 -1
  107. package/dist/repository/types.d.ts +0 -87
  108. package/dist/repository/types.d.ts.map +0 -1
  109. package/dist/repository/types.js +0 -6
  110. package/dist/repository/types.js.map +0 -1
  111. package/dist/repository.d.ts +0 -2
  112. package/dist/repository.d.ts.map +0 -1
  113. package/dist/repository.js +0 -21
  114. package/dist/repository.js.map +0 -1
  115. package/dist/specification.d.ts +0 -102
  116. package/dist/specification.d.ts.map +0 -1
  117. package/dist/specification.js +0 -187
  118. package/dist/specification.js.map +0 -1
  119. package/dist/types/repository.d.ts +0 -43
  120. package/dist/types/repository.d.ts.map +0 -1
  121. package/dist/types/repository.js +0 -2
  122. package/dist/types/repository.js.map +0 -1
  123. package/dist/types.d.ts +0 -88
  124. package/dist/types.d.ts.map +0 -1
  125. package/dist/types.js +0 -12
  126. package/dist/types.js.map +0 -1
  127. package/src/repository/mapper.ts +0 -74
  128. package/src/types/repository.ts +0 -51
@@ -1,218 +0,0 @@
1
- /**
2
- * Type of pagination strategy
3
- */
4
- export type PaginationType = "offset" | "cursor";
5
- /**
6
- * Configuration for offset-based pagination
7
- */
8
- export interface OffsetPaginationConfig {
9
- type: "offset";
10
- page: number;
11
- pageSize: number;
12
- }
13
- /**
14
- * Configuration for cursor-based pagination
15
- */
16
- export interface CursorPaginationConfig {
17
- type: "cursor";
18
- cursor?: string;
19
- pageSize: number;
20
- direction?: "forward" | "backward";
21
- }
22
- /**
23
- * Union type for all pagination configurations
24
- */
25
- export type PaginationConfig = OffsetPaginationConfig | CursorPaginationConfig;
26
- /**
27
- * Represents offset-based pagination (traditional page-based pagination)
28
- * Uses page number and page size to calculate offset
29
- *
30
- * @example
31
- * ```typescript
32
- * const pagination = new OffsetPagination(1, 20); // page 1, 20 items per page
33
- * const { skip, take } = pagination.getSkipTake();
34
- * ```
35
- */
36
- export declare class OffsetPagination {
37
- private readonly _page;
38
- private readonly _pageSize;
39
- constructor(page: number, pageSize: number);
40
- /**
41
- * Gets the current page number (1-indexed)
42
- */
43
- get page(): number;
44
- /**
45
- * Gets the page size
46
- */
47
- get pageSize(): number;
48
- /**
49
- * Gets the type of pagination
50
- */
51
- get type(): PaginationType;
52
- /**
53
- * Calculates skip and take values for database queries
54
- */
55
- getSkipTake(): {
56
- skip: number;
57
- take: number;
58
- };
59
- /**
60
- * Returns configuration object for serialization
61
- */
62
- toConfig(): OffsetPaginationConfig;
63
- /**
64
- * Applies pagination to an in-memory array
65
- */
66
- apply<T>(items: T[]): T[];
67
- /**
68
- * Creates a new OffsetPagination for the next page
69
- */
70
- nextPage(): OffsetPagination;
71
- /**
72
- * Creates a new OffsetPagination for the previous page
73
- */
74
- previousPage(): OffsetPagination;
75
- }
76
- /**
77
- * Represents cursor-based pagination
78
- * Uses a cursor (typically an encoded string) to determine the starting point
79
- * More efficient for large datasets and real-time data
80
- *
81
- * @example
82
- * ```typescript
83
- * const pagination = new CursorPagination('cursor_abc123', 20);
84
- * ```
85
- */
86
- export declare class CursorPagination {
87
- private readonly _cursor?;
88
- private readonly _pageSize;
89
- private readonly _direction;
90
- constructor(cursor: string | undefined, pageSize: number, direction?: "forward" | "backward");
91
- /**
92
- * Gets the cursor (undefined for first page)
93
- */
94
- get cursor(): string | undefined;
95
- /**
96
- * Gets the page size
97
- */
98
- get pageSize(): number;
99
- /**
100
- * Gets the pagination direction
101
- */
102
- get direction(): "forward" | "backward";
103
- /**
104
- * Gets the type of pagination
105
- */
106
- get type(): PaginationType;
107
- /**
108
- * Checks if this is the first page (no cursor)
109
- */
110
- isFirstPage(): boolean;
111
- /**
112
- * Returns configuration object for serialization
113
- */
114
- toConfig(): CursorPaginationConfig;
115
- /**
116
- * Creates a new CursorPagination with a different cursor
117
- */
118
- withCursor(cursor: string | undefined): CursorPagination;
119
- /**
120
- * Creates a new CursorPagination for backward navigation
121
- */
122
- backward(): CursorPagination;
123
- /**
124
- * Creates a new CursorPagination for forward navigation
125
- */
126
- forward(): CursorPagination;
127
- }
128
- /**
129
- * Metadata for offset-based pagination results
130
- */
131
- export interface OffsetPaginationMeta {
132
- type: "offset";
133
- page: number;
134
- pageSize: number;
135
- total: number;
136
- totalPages: number;
137
- hasNextPage: boolean;
138
- hasPreviousPage: boolean;
139
- }
140
- /**
141
- * Metadata for cursor-based pagination results
142
- */
143
- export interface CursorPaginationMeta {
144
- type: "cursor";
145
- pageSize: number;
146
- hasNextPage: boolean;
147
- hasPreviousPage: boolean;
148
- nextCursor?: string;
149
- previousCursor?: string;
150
- }
151
- /**
152
- * Union type for pagination metadata
153
- */
154
- export type PaginationMeta = OffsetPaginationMeta | CursorPaginationMeta;
155
- /**
156
- * Represents a paginated result set
157
- * Contains the data items and metadata about the pagination
158
- *
159
- * @example
160
- * ```typescript
161
- * const result = new PaginatedResult(users, {
162
- * type: 'offset',
163
- * page: 1,
164
- * pageSize: 20,
165
- * total: 100,
166
- * totalPages: 5,
167
- * hasNextPage: true,
168
- * hasPreviousPage: false
169
- * });
170
- * ```
171
- */
172
- export declare class PaginatedResult<T> {
173
- private readonly _data;
174
- private readonly _meta;
175
- constructor(data: T[], meta: PaginationMeta);
176
- /**
177
- * Gets the data items
178
- */
179
- get data(): readonly T[];
180
- /**
181
- * Gets the pagination metadata
182
- */
183
- get meta(): PaginationMeta;
184
- /**
185
- * Gets the count of items in current page
186
- */
187
- get count(): number;
188
- /**
189
- * Checks if there is a next page
190
- */
191
- hasNextPage(): boolean;
192
- /**
193
- * Checks if there is a previous page
194
- */
195
- hasPreviousPage(): boolean;
196
- /**
197
- * Maps the data items to a new type
198
- */
199
- map<U>(fn: (item: T) => U): PaginatedResult<U>;
200
- /**
201
- * Converts to plain object for serialization
202
- */
203
- toJson(): {
204
- data: T[];
205
- meta: PaginationMeta;
206
- };
207
- /**
208
- * Creates an offset-based paginated result from an array and pagination config
209
- * Automatically calculates metadata
210
- */
211
- static fromArray<T>(allItems: T[], pagination: OffsetPagination): PaginatedResult<T>;
212
- /**
213
- * Creates a cursor-based paginated result
214
- * Requires cursors to be calculated externally
215
- */
216
- static fromCursor<T>(data: T[], pagination: CursorPagination, nextCursor?: string, previousCursor?: string): PaginatedResult<T>;
217
- }
218
- //# sourceMappingURL=pagination.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pagination.d.ts","sourceRoot":"","sources":["../src/pagination.ts"],"names":[],"mappings":"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"}
@@ -1,281 +0,0 @@
1
- "use strict";
2
- // ============================================================================
3
- // Pagination System
4
- // ============================================================================
5
- // Provides offset-based and cursor-based pagination capabilities
6
- // Can be used for in-memory pagination or converted to database-specific queries
7
- Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.PaginatedResult = exports.CursorPagination = exports.OffsetPagination = void 0;
9
- // ============================================================================
10
- // OffsetPagination Class
11
- // ============================================================================
12
- /**
13
- * Represents offset-based pagination (traditional page-based pagination)
14
- * Uses page number and page size to calculate offset
15
- *
16
- * @example
17
- * ```typescript
18
- * const pagination = new OffsetPagination(1, 20); // page 1, 20 items per page
19
- * const { skip, take } = pagination.getSkipTake();
20
- * ```
21
- */
22
- class OffsetPagination {
23
- constructor(page, pageSize) {
24
- if (page < 1) {
25
- throw new Error("Page must be greater than or equal to 1");
26
- }
27
- if (pageSize < 1) {
28
- throw new Error("Page size must be greater than or equal to 1");
29
- }
30
- this._page = page;
31
- this._pageSize = pageSize;
32
- }
33
- /**
34
- * Gets the current page number (1-indexed)
35
- */
36
- get page() {
37
- return this._page;
38
- }
39
- /**
40
- * Gets the page size
41
- */
42
- get pageSize() {
43
- return this._pageSize;
44
- }
45
- /**
46
- * Gets the type of pagination
47
- */
48
- get type() {
49
- return "offset";
50
- }
51
- /**
52
- * Calculates skip and take values for database queries
53
- */
54
- getSkipTake() {
55
- return {
56
- skip: (this._page - 1) * this._pageSize,
57
- take: this._pageSize,
58
- };
59
- }
60
- /**
61
- * Returns configuration object for serialization
62
- */
63
- toConfig() {
64
- return {
65
- type: "offset",
66
- page: this._page,
67
- pageSize: this._pageSize,
68
- };
69
- }
70
- /**
71
- * Applies pagination to an in-memory array
72
- */
73
- apply(items) {
74
- const { skip, take } = this.getSkipTake();
75
- return items.slice(skip, skip + take);
76
- }
77
- /**
78
- * Creates a new OffsetPagination for the next page
79
- */
80
- nextPage() {
81
- return new OffsetPagination(this._page + 1, this._pageSize);
82
- }
83
- /**
84
- * Creates a new OffsetPagination for the previous page
85
- */
86
- previousPage() {
87
- if (this._page <= 1) {
88
- throw new Error("Already on first page");
89
- }
90
- return new OffsetPagination(this._page - 1, this._pageSize);
91
- }
92
- }
93
- exports.OffsetPagination = OffsetPagination;
94
- // ============================================================================
95
- // CursorPagination Class
96
- // ============================================================================
97
- /**
98
- * Represents cursor-based pagination
99
- * Uses a cursor (typically an encoded string) to determine the starting point
100
- * More efficient for large datasets and real-time data
101
- *
102
- * @example
103
- * ```typescript
104
- * const pagination = new CursorPagination('cursor_abc123', 20);
105
- * ```
106
- */
107
- class CursorPagination {
108
- constructor(cursor, pageSize, direction = "forward") {
109
- if (pageSize < 1) {
110
- throw new Error("Page size must be greater than or equal to 1");
111
- }
112
- this._cursor = cursor;
113
- this._pageSize = pageSize;
114
- this._direction = direction;
115
- }
116
- /**
117
- * Gets the cursor (undefined for first page)
118
- */
119
- get cursor() {
120
- return this._cursor;
121
- }
122
- /**
123
- * Gets the page size
124
- */
125
- get pageSize() {
126
- return this._pageSize;
127
- }
128
- /**
129
- * Gets the pagination direction
130
- */
131
- get direction() {
132
- return this._direction;
133
- }
134
- /**
135
- * Gets the type of pagination
136
- */
137
- get type() {
138
- return "cursor";
139
- }
140
- /**
141
- * Checks if this is the first page (no cursor)
142
- */
143
- isFirstPage() {
144
- return this._cursor === undefined;
145
- }
146
- /**
147
- * Returns configuration object for serialization
148
- */
149
- toConfig() {
150
- return {
151
- type: "cursor",
152
- cursor: this._cursor,
153
- pageSize: this._pageSize,
154
- direction: this._direction,
155
- };
156
- }
157
- /**
158
- * Creates a new CursorPagination with a different cursor
159
- */
160
- withCursor(cursor) {
161
- return new CursorPagination(cursor, this._pageSize, this._direction);
162
- }
163
- /**
164
- * Creates a new CursorPagination for backward navigation
165
- */
166
- backward() {
167
- return new CursorPagination(this._cursor, this._pageSize, "backward");
168
- }
169
- /**
170
- * Creates a new CursorPagination for forward navigation
171
- */
172
- forward() {
173
- return new CursorPagination(this._cursor, this._pageSize, "forward");
174
- }
175
- }
176
- exports.CursorPagination = CursorPagination;
177
- /**
178
- * Represents a paginated result set
179
- * Contains the data items and metadata about the pagination
180
- *
181
- * @example
182
- * ```typescript
183
- * const result = new PaginatedResult(users, {
184
- * type: 'offset',
185
- * page: 1,
186
- * pageSize: 20,
187
- * total: 100,
188
- * totalPages: 5,
189
- * hasNextPage: true,
190
- * hasPreviousPage: false
191
- * });
192
- * ```
193
- */
194
- class PaginatedResult {
195
- constructor(data, meta) {
196
- this._data = data;
197
- this._meta = meta;
198
- }
199
- /**
200
- * Gets the data items
201
- */
202
- get data() {
203
- return this._data;
204
- }
205
- /**
206
- * Gets the pagination metadata
207
- */
208
- get meta() {
209
- return this._meta;
210
- }
211
- /**
212
- * Gets the count of items in current page
213
- */
214
- get count() {
215
- return this._data.length;
216
- }
217
- /**
218
- * Checks if there is a next page
219
- */
220
- hasNextPage() {
221
- return this._meta.hasNextPage;
222
- }
223
- /**
224
- * Checks if there is a previous page
225
- */
226
- hasPreviousPage() {
227
- return this._meta.hasPreviousPage;
228
- }
229
- /**
230
- * Maps the data items to a new type
231
- */
232
- map(fn) {
233
- return new PaginatedResult(this._data.map(fn), this._meta);
234
- }
235
- /**
236
- * Converts to plain object for serialization
237
- */
238
- toJson() {
239
- return {
240
- data: this._data,
241
- meta: this._meta,
242
- };
243
- }
244
- /**
245
- * Creates an offset-based paginated result from an array and pagination config
246
- * Automatically calculates metadata
247
- */
248
- static fromArray(allItems, pagination) {
249
- const { skip, take } = pagination.getSkipTake();
250
- const data = allItems.slice(skip, skip + take);
251
- const total = allItems.length;
252
- const totalPages = Math.ceil(total / pagination.pageSize);
253
- const meta = {
254
- type: "offset",
255
- page: pagination.page,
256
- pageSize: pagination.pageSize,
257
- total,
258
- totalPages,
259
- hasNextPage: pagination.page < totalPages,
260
- hasPreviousPage: pagination.page > 1,
261
- };
262
- return new PaginatedResult(data, meta);
263
- }
264
- /**
265
- * Creates a cursor-based paginated result
266
- * Requires cursors to be calculated externally
267
- */
268
- static fromCursor(data, pagination, nextCursor, previousCursor) {
269
- const meta = {
270
- type: "cursor",
271
- pageSize: pagination.pageSize,
272
- hasNextPage: nextCursor !== undefined,
273
- hasPreviousPage: previousCursor !== undefined,
274
- nextCursor,
275
- previousCursor,
276
- };
277
- return new PaginatedResult(data, meta);
278
- }
279
- }
280
- exports.PaginatedResult = PaginatedResult;
281
- //# sourceMappingURL=pagination.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pagination.js","sourceRoot":"","sources":["../src/pagination.ts"],"names":[],"mappings":"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"}
@@ -1,56 +0,0 @@
1
- import type { Aggregate } from "../entity";
2
- /**
3
- * Mapper interface for converting between Domain and Persistence models
4
- *
5
- * @template TDomain - Domain aggregate/entity
6
- * @template TPersistence - Database model (Prisma, TypeORM, etc.)
7
- *
8
- * @example
9
- * ```ts
10
- * class UserMapper implements IMapper<User, PrismaUser> {
11
- * toDomain(persistence: PrismaUser): User {
12
- * return new User({
13
- * id: Id.from(persistence.id),
14
- * name: persistence.name,
15
- * email: persistence.email,
16
- * });
17
- * }
18
- *
19
- * toPersistence(domain: User): PrismaUser {
20
- * return {
21
- * id: domain.id.value,
22
- * name: domain.props.name,
23
- * email: domain.props.email,
24
- * };
25
- * }
26
- * }
27
- * ```
28
- */
29
- export interface IMapper<TDomain extends Aggregate<any>, TPersistence = any> {
30
- /**
31
- * Convert from persistence model to domain aggregate
32
- */
33
- toDomain(persistence: TPersistence): TDomain;
34
- /**
35
- * Convert from domain aggregate to persistence model
36
- */
37
- toPersistence(domain: TDomain): TPersistence;
38
- /**
39
- * Convert array of persistence models to domain aggregates
40
- */
41
- toDomainList?(persistence: TPersistence[]): TDomain[];
42
- /**
43
- * Convert array of domain aggregates to persistence models
44
- */
45
- toPersistenceList?(domain: TDomain[]): TPersistence[];
46
- }
47
- /**
48
- * Base mapper with default array implementations
49
- */
50
- export declare abstract class BaseMapper<TDomain extends Aggregate<any>, TPersistence = any> implements IMapper<TDomain, TPersistence> {
51
- abstract toDomain(persistence: TPersistence): TDomain;
52
- abstract toPersistence(domain: TDomain): TPersistence;
53
- toDomainList(persistence: TPersistence[]): TDomain[];
54
- toPersistenceList(domain: TDomain[]): TPersistence[];
55
- }
56
- //# sourceMappingURL=mapper.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mapper.d.ts","sourceRoot":"","sources":["../../src/repository/mapper.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAE3C;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,WAAW,OAAO,CAAC,OAAO,SAAS,SAAS,CAAC,GAAG,CAAC,EAAE,YAAY,GAAG,GAAG;IACzE;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,YAAY,GAAG,OAAO,CAAC;IAE7C;;OAEG;IACH,aAAa,CAAC,MAAM,EAAE,OAAO,GAAG,YAAY,CAAC;IAE7C;;OAEG;IACH,YAAY,CAAC,CAAC,WAAW,EAAE,YAAY,EAAE,GAAG,OAAO,EAAE,CAAC;IAEtD;;OAEG;IACH,iBAAiB,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,YAAY,EAAE,CAAC;CACvD;AAED;;GAEG;AACH,8BAAsB,UAAU,CAC9B,OAAO,SAAS,SAAS,CAAC,GAAG,CAAC,EAC9B,YAAY,GAAG,GAAG,CAClB,YAAW,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC;IAEzC,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,YAAY,GAAG,OAAO;IACrD,QAAQ,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,GAAG,YAAY;IAErD,YAAY,CAAC,WAAW,EAAE,YAAY,EAAE,GAAG,OAAO,EAAE;IAIpD,iBAAiB,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,YAAY,EAAE;CAGrD"}
@@ -1,15 +0,0 @@
1
- // ============================================================================
2
- // Mapper - Domain ↔ Persistence
3
- // ============================================================================
4
- /**
5
- * Base mapper with default array implementations
6
- */
7
- export class BaseMapper {
8
- toDomainList(persistence) {
9
- return persistence.map((p) => this.toDomain(p));
10
- }
11
- toPersistenceList(domain) {
12
- return domain.map((d) => this.toPersistence(d));
13
- }
14
- }
15
- //# sourceMappingURL=mapper.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mapper.js","sourceRoot":"","sources":["../../src/repository/mapper.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,gCAAgC;AAChC,+EAA+E;AAqD/E;;GAEG;AACH,MAAM,OAAgB,UAAU;IAQ9B,YAAY,CAAC,WAA2B;QACtC,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAClD,CAAC;IAED,iBAAiB,CAAC,MAAiB;QACjC,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IAClD,CAAC;CACF"}
@@ -1,87 +0,0 @@
1
- import type { Id } from "../id";
2
- import type { Aggregate } from "../entity";
3
- import type { Criteria } from "../criteria";
4
- import type { PaginatedResult } from "../paginated-result";
5
- /**
6
- * Base repository interface
7
- * Keep it minimal - only what you actually need
8
- */
9
- export interface IRepository<TDomain extends Aggregate<any>> {
10
- /**
11
- * Find by ID
12
- */
13
- findById(id: Id): Promise<TDomain | null>;
14
- /**
15
- * Find using criteria (filtering, ordering, pagination)
16
- */
17
- find(criteria: Criteria<TDomain>): Promise<PaginatedResult<TDomain>>;
18
- /**
19
- * Find all (with optional criteria)
20
- */
21
- findAll(criteria?: Criteria<TDomain>): Promise<TDomain[]>;
22
- /**
23
- * Find one (first matching criteria)
24
- */
25
- findOne(criteria: Criteria<TDomain>): Promise<TDomain | null>;
26
- /**
27
- * Save (insert or update based on aggregate.isNew)
28
- */
29
- save(aggregate: TDomain): Promise<void>;
30
- /**
31
- * Save multiple aggregates
32
- */
33
- saveMany(aggregates: TDomain[]): Promise<void>;
34
- /**
35
- * Delete aggregate
36
- */
37
- delete(aggregate: TDomain): Promise<void>;
38
- /**
39
- * Delete by ID
40
- */
41
- deleteById(id: Id): Promise<void>;
42
- /**
43
- * Check if exists
44
- */
45
- exists(id: Id): Promise<boolean>;
46
- /**
47
- * Count matching criteria
48
- */
49
- count(criteria?: Criteria<TDomain>): Promise<number>;
50
- }
51
- /**
52
- * Transaction context for Unit of Work
53
- */
54
- export interface TransactionContext {
55
- /**
56
- * Commit all changes
57
- */
58
- commit(): Promise<void>;
59
- /**
60
- * Rollback all changes
61
- */
62
- rollback(): Promise<void>;
63
- /**
64
- * Check if transaction is active
65
- */
66
- isActive(): boolean;
67
- }
68
- /**
69
- * Unit of Work interface
70
- * Manages transactions across multiple repositories
71
- */
72
- export interface IUnitOfWork {
73
- /**
74
- * Start a new transaction
75
- */
76
- begin(): Promise<TransactionContext>;
77
- /**
78
- * Execute work within a transaction
79
- * Auto-commits on success, rolls back on error
80
- */
81
- transaction<T>(work: (ctx: TransactionContext) => Promise<T>): Promise<T>;
82
- /**
83
- * Get repository within transaction context
84
- */
85
- getRepository<TDomain extends Aggregate<any>>(repository: new (...args: any[]) => IRepository<TDomain>): IRepository<TDomain>;
86
- }
87
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/repository/types.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAG3D;;;GAGG;AACH,MAAM,WAAW,WAAW,CAAC,OAAO,SAAS,SAAS,CAAC,GAAG,CAAC;IACzD;;OAEG;IACH,QAAQ,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IAE1C;;OAEG;IACH,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;IAErE;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAE1D;;OAEG;IACH,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IAE9D;;OAEG;IACH,IAAI,CAAC,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAExC;;OAEG;IACH,QAAQ,CAAC,UAAU,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE/C;;OAEG;IACH,MAAM,CAAC,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1C;;OAEG;IACH,UAAU,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAElC;;OAEG;IACH,MAAM,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEjC;;OAEG;IACH,KAAK,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACtD;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAExB;;OAEG;IACH,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1B;;OAEG;IACH,QAAQ,IAAI,OAAO,CAAC;CACrB;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,KAAK,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAErC;;;OAGG;IACH,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,EAAE,kBAAkB,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAE1E;;OAEG;IACH,aAAa,CAAC,OAAO,SAAS,SAAS,CAAC,GAAG,CAAC,EAC1C,UAAU,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,WAAW,CAAC,OAAO,CAAC,GACvD,WAAW,CAAC,OAAO,CAAC,CAAC;CACzB"}
@@ -1,6 +0,0 @@
1
- "use strict";
2
- // ============================================================================
3
- // Repository Types - Simple and Type-Safe
4
- // ============================================================================
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- //# sourceMappingURL=types.js.map