@quilla-be-kit/persistence 0.1.3

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 (192) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +684 -0
  3. package/dist/.tsbuildinfo +1 -0
  4. package/dist/dao/audit-columns.d.ts +19 -0
  5. package/dist/dao/audit-columns.d.ts.map +1 -0
  6. package/dist/dao/audit-columns.js +26 -0
  7. package/dist/dao/audit-columns.js.map +1 -0
  8. package/dist/dao/base-read.dao.d.ts +50 -0
  9. package/dist/dao/base-read.dao.d.ts.map +1 -0
  10. package/dist/dao/base-read.dao.js +65 -0
  11. package/dist/dao/base-read.dao.js.map +1 -0
  12. package/dist/dao/base-write.dao.d.ts +49 -0
  13. package/dist/dao/base-write.dao.d.ts.map +1 -0
  14. package/dist/dao/base-write.dao.js +130 -0
  15. package/dist/dao/base-write.dao.js.map +1 -0
  16. package/dist/dao/index.d.ts +3 -0
  17. package/dist/dao/index.d.ts.map +1 -0
  18. package/dist/dao/index.js +3 -0
  19. package/dist/dao/index.js.map +1 -0
  20. package/dist/database/database-health.type.d.ts +4 -0
  21. package/dist/database/database-health.type.d.ts.map +1 -0
  22. package/dist/database/database-health.type.js +2 -0
  23. package/dist/database/database-health.type.js.map +1 -0
  24. package/dist/database/database-result.type.d.ts +5 -0
  25. package/dist/database/database-result.type.d.ts.map +1 -0
  26. package/dist/database/database-result.type.js +2 -0
  27. package/dist/database/database-result.type.js.map +1 -0
  28. package/dist/database/database-transaction.interface.d.ts +10 -0
  29. package/dist/database/database-transaction.interface.d.ts.map +1 -0
  30. package/dist/database/database-transaction.interface.js +2 -0
  31. package/dist/database/database-transaction.interface.js.map +1 -0
  32. package/dist/database/database.interface.d.ts +10 -0
  33. package/dist/database/database.interface.d.ts.map +1 -0
  34. package/dist/database/database.interface.js +2 -0
  35. package/dist/database/database.interface.js.map +1 -0
  36. package/dist/database/index.d.ts +5 -0
  37. package/dist/database/index.d.ts.map +1 -0
  38. package/dist/database/index.js +2 -0
  39. package/dist/database/index.js.map +1 -0
  40. package/dist/db-adapter/filter-query.type.d.ts +4 -0
  41. package/dist/db-adapter/filter-query.type.d.ts.map +1 -0
  42. package/dist/db-adapter/filter-query.type.js +2 -0
  43. package/dist/db-adapter/filter-query.type.js.map +1 -0
  44. package/dist/db-adapter/index.d.ts +4 -0
  45. package/dist/db-adapter/index.d.ts.map +1 -0
  46. package/dist/db-adapter/index.js +2 -0
  47. package/dist/db-adapter/index.js.map +1 -0
  48. package/dist/db-adapter/read-db-adapter.interface.d.ts +37 -0
  49. package/dist/db-adapter/read-db-adapter.interface.d.ts.map +1 -0
  50. package/dist/db-adapter/read-db-adapter.interface.js +2 -0
  51. package/dist/db-adapter/read-db-adapter.interface.js.map +1 -0
  52. package/dist/db-adapter/write-db-adapter.interface.d.ts +61 -0
  53. package/dist/db-adapter/write-db-adapter.interface.d.ts.map +1 -0
  54. package/dist/db-adapter/write-db-adapter.interface.js +2 -0
  55. package/dist/db-adapter/write-db-adapter.interface.js.map +1 -0
  56. package/dist/errors/cross-scope-access.error.d.ts +10 -0
  57. package/dist/errors/cross-scope-access.error.d.ts.map +1 -0
  58. package/dist/errors/cross-scope-access.error.js +15 -0
  59. package/dist/errors/cross-scope-access.error.js.map +1 -0
  60. package/dist/errors/index.d.ts +3 -0
  61. package/dist/errors/index.d.ts.map +1 -0
  62. package/dist/errors/index.js +3 -0
  63. package/dist/errors/index.js.map +1 -0
  64. package/dist/errors/optimistic-lock.error.d.ts +9 -0
  65. package/dist/errors/optimistic-lock.error.d.ts.map +1 -0
  66. package/dist/errors/optimistic-lock.error.js +11 -0
  67. package/dist/errors/optimistic-lock.error.js.map +1 -0
  68. package/dist/index.d.ts +8 -0
  69. package/dist/index.d.ts.map +1 -0
  70. package/dist/index.js +8 -0
  71. package/dist/index.js.map +1 -0
  72. package/dist/postgres/index.d.ts +7 -0
  73. package/dist/postgres/index.d.ts.map +1 -0
  74. package/dist/postgres/index.js +7 -0
  75. package/dist/postgres/index.js.map +1 -0
  76. package/dist/postgres/pg-query-builder.d.ts +42 -0
  77. package/dist/postgres/pg-query-builder.d.ts.map +1 -0
  78. package/dist/postgres/pg-query-builder.js +260 -0
  79. package/dist/postgres/pg-query-builder.js.map +1 -0
  80. package/dist/postgres/pg-read-db-adapter.d.ts +20 -0
  81. package/dist/postgres/pg-read-db-adapter.d.ts.map +1 -0
  82. package/dist/postgres/pg-read-db-adapter.js +28 -0
  83. package/dist/postgres/pg-read-db-adapter.js.map +1 -0
  84. package/dist/postgres/pg-sql.d.ts +44 -0
  85. package/dist/postgres/pg-sql.d.ts.map +1 -0
  86. package/dist/postgres/pg-sql.js +128 -0
  87. package/dist/postgres/pg-sql.js.map +1 -0
  88. package/dist/postgres/pg-write-db-adapter.d.ts +30 -0
  89. package/dist/postgres/pg-write-db-adapter.d.ts.map +1 -0
  90. package/dist/postgres/pg-write-db-adapter.js +133 -0
  91. package/dist/postgres/pg-write-db-adapter.js.map +1 -0
  92. package/dist/postgres/pg.database.d.ts +25 -0
  93. package/dist/postgres/pg.database.d.ts.map +1 -0
  94. package/dist/postgres/pg.database.js +48 -0
  95. package/dist/postgres/pg.database.js.map +1 -0
  96. package/dist/postgres/pg.transaction.d.ts +22 -0
  97. package/dist/postgres/pg.transaction.d.ts.map +1 -0
  98. package/dist/postgres/pg.transaction.js +78 -0
  99. package/dist/postgres/pg.transaction.js.map +1 -0
  100. package/dist/query/case.d.ts +3 -0
  101. package/dist/query/case.d.ts.map +1 -0
  102. package/dist/query/case.js +7 -0
  103. package/dist/query/case.js.map +1 -0
  104. package/dist/query/column-resolver.interface.d.ts +4 -0
  105. package/dist/query/column-resolver.interface.d.ts.map +1 -0
  106. package/dist/query/column-resolver.interface.js +2 -0
  107. package/dist/query/column-resolver.interface.js.map +1 -0
  108. package/dist/query/default.resolver.d.ts +10 -0
  109. package/dist/query/default.resolver.d.ts.map +1 -0
  110. package/dist/query/default.resolver.js +14 -0
  111. package/dist/query/default.resolver.js.map +1 -0
  112. package/dist/query/field-descriptor.type.d.ts +11 -0
  113. package/dist/query/field-descriptor.type.d.ts.map +1 -0
  114. package/dist/query/field-descriptor.type.js +20 -0
  115. package/dist/query/field-descriptor.type.js.map +1 -0
  116. package/dist/query/index.d.ts +9 -0
  117. package/dist/query/index.d.ts.map +1 -0
  118. package/dist/query/index.js +3 -0
  119. package/dist/query/index.js.map +1 -0
  120. package/dist/query/list-query.type.d.ts +12 -0
  121. package/dist/query/list-query.type.d.ts.map +1 -0
  122. package/dist/query/list-query.type.js +2 -0
  123. package/dist/query/list-query.type.js.map +1 -0
  124. package/dist/query/paginated-result.type.d.ts +7 -0
  125. package/dist/query/paginated-result.type.d.ts.map +1 -0
  126. package/dist/query/paginated-result.type.js +2 -0
  127. package/dist/query/paginated-result.type.js.map +1 -0
  128. package/dist/query/query-product.type.d.ts +6 -0
  129. package/dist/query/query-product.type.d.ts.map +1 -0
  130. package/dist/query/query-product.type.js +2 -0
  131. package/dist/query/query-product.type.js.map +1 -0
  132. package/dist/query/sql-query-builder.interface.d.ts +99 -0
  133. package/dist/query/sql-query-builder.interface.d.ts.map +1 -0
  134. package/dist/query/sql-query-builder.interface.js +2 -0
  135. package/dist/query/sql-query-builder.interface.js.map +1 -0
  136. package/dist/query-schema/field-descriptor-from-zod.d.ts +4 -0
  137. package/dist/query-schema/field-descriptor-from-zod.d.ts.map +1 -0
  138. package/dist/query-schema/field-descriptor-from-zod.js +31 -0
  139. package/dist/query-schema/field-descriptor-from-zod.js.map +1 -0
  140. package/dist/query-schema/index.d.ts +3 -0
  141. package/dist/query-schema/index.d.ts.map +1 -0
  142. package/dist/query-schema/index.js +3 -0
  143. package/dist/query-schema/index.js.map +1 -0
  144. package/dist/query-schema/zod.d.ts +73 -0
  145. package/dist/query-schema/zod.d.ts.map +1 -0
  146. package/dist/query-schema/zod.js +191 -0
  147. package/dist/query-schema/zod.js.map +1 -0
  148. package/dist/repository/base-aggregate.repository.d.ts +28 -0
  149. package/dist/repository/base-aggregate.repository.d.ts.map +1 -0
  150. package/dist/repository/base-aggregate.repository.js +49 -0
  151. package/dist/repository/base-aggregate.repository.js.map +1 -0
  152. package/dist/repository/base-basic.repository.d.ts +22 -0
  153. package/dist/repository/base-basic.repository.d.ts.map +1 -0
  154. package/dist/repository/base-basic.repository.js +30 -0
  155. package/dist/repository/base-basic.repository.js.map +1 -0
  156. package/dist/repository/base-persistence.mapper.d.ts +61 -0
  157. package/dist/repository/base-persistence.mapper.d.ts.map +1 -0
  158. package/dist/repository/base-persistence.mapper.js +119 -0
  159. package/dist/repository/base-persistence.mapper.js.map +1 -0
  160. package/dist/repository/base-scoped-aggregate.repository.d.ts +19 -0
  161. package/dist/repository/base-scoped-aggregate.repository.d.ts.map +1 -0
  162. package/dist/repository/base-scoped-aggregate.repository.js +35 -0
  163. package/dist/repository/base-scoped-aggregate.repository.js.map +1 -0
  164. package/dist/repository/base-unscoped-aggregate.repository.d.ts +17 -0
  165. package/dist/repository/base-unscoped-aggregate.repository.d.ts.map +1 -0
  166. package/dist/repository/base-unscoped-aggregate.repository.js +21 -0
  167. package/dist/repository/base-unscoped-aggregate.repository.js.map +1 -0
  168. package/dist/repository/index.d.ts +7 -0
  169. package/dist/repository/index.d.ts.map +1 -0
  170. package/dist/repository/index.js +6 -0
  171. package/dist/repository/index.js.map +1 -0
  172. package/dist/repository/mapper.interface.d.ts +5 -0
  173. package/dist/repository/mapper.interface.d.ts.map +1 -0
  174. package/dist/repository/mapper.interface.js +2 -0
  175. package/dist/repository/mapper.interface.js.map +1 -0
  176. package/dist/unit-of-work/event-sink.interface.d.ts +5 -0
  177. package/dist/unit-of-work/event-sink.interface.d.ts.map +1 -0
  178. package/dist/unit-of-work/event-sink.interface.js +2 -0
  179. package/dist/unit-of-work/event-sink.interface.js.map +1 -0
  180. package/dist/unit-of-work/index.d.ts +4 -0
  181. package/dist/unit-of-work/index.d.ts.map +1 -0
  182. package/dist/unit-of-work/index.js +2 -0
  183. package/dist/unit-of-work/index.js.map +1 -0
  184. package/dist/unit-of-work/unit-of-work-context.type.d.ts +8 -0
  185. package/dist/unit-of-work/unit-of-work-context.type.d.ts.map +1 -0
  186. package/dist/unit-of-work/unit-of-work-context.type.js +2 -0
  187. package/dist/unit-of-work/unit-of-work-context.type.js.map +1 -0
  188. package/dist/unit-of-work/unit-of-work.d.ts +20 -0
  189. package/dist/unit-of-work/unit-of-work.d.ts.map +1 -0
  190. package/dist/unit-of-work/unit-of-work.js +60 -0
  191. package/dist/unit-of-work/unit-of-work.js.map +1 -0
  192. package/package.json +84 -0
@@ -0,0 +1,3 @@
1
+ export { BaseReadDao, type BaseReadDaoOptions, type SqlQueryBuilderFactory, } from './base-read.dao.js';
2
+ export { BaseWriteDao } from './base-write.dao.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/dao/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,GAC5B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { BaseReadDao, } from './base-read.dao.js';
2
+ export { BaseWriteDao } from './base-write.dao.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/dao/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,GAGZ,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export type DatabaseHealth = {
2
+ readonly version: string;
3
+ };
4
+ //# sourceMappingURL=database-health.type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"database-health.type.d.ts","sourceRoot":"","sources":["../../src/database/database-health.type.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=database-health.type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"database-health.type.js","sourceRoot":"","sources":["../../src/database/database-health.type.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ export type DatabaseResult = {
2
+ readonly rows: readonly Record<string, unknown>[];
3
+ readonly rowCount?: number;
4
+ };
5
+ //# sourceMappingURL=database-result.type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"database-result.type.d.ts","sourceRoot":"","sources":["../../src/database/database-result.type.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IAClD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=database-result.type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"database-result.type.js","sourceRoot":"","sources":["../../src/database/database-result.type.ts"],"names":[],"mappings":""}
@@ -0,0 +1,10 @@
1
+ import type { DatabaseResult } from './database-result.type.js';
2
+ export interface DatabaseTransaction {
3
+ readonly isActive: boolean;
4
+ start(): Promise<void>;
5
+ query(sql: string, params?: readonly unknown[]): Promise<DatabaseResult>;
6
+ commit(): Promise<void>;
7
+ rollback(reason: Error): Promise<void>;
8
+ release(): Promise<void>;
9
+ }
10
+ //# sourceMappingURL=database-transaction.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"database-transaction.interface.d.ts","sourceRoot":"","sources":["../../src/database/database-transaction.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAEhE,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,OAAO,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IACzE,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=database-transaction.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"database-transaction.interface.js","sourceRoot":"","sources":["../../src/database/database-transaction.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,10 @@
1
+ import type { DatabaseHealth } from './database-health.type.js';
2
+ import type { DatabaseResult } from './database-result.type.js';
3
+ import type { DatabaseTransaction } from './database-transaction.interface.js';
4
+ export interface Database {
5
+ query(sql: string, params?: readonly unknown[], trx?: DatabaseTransaction): Promise<DatabaseResult>;
6
+ getDbTransaction(): Promise<DatabaseTransaction>;
7
+ disconnect(): Promise<void>;
8
+ healthCheck(): Promise<DatabaseHealth>;
9
+ }
10
+ //# sourceMappingURL=database.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"database.interface.d.ts","sourceRoot":"","sources":["../../src/database/database.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAE/E,MAAM,WAAW,QAAQ;IACvB,KAAK,CACH,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,SAAS,OAAO,EAAE,EAC3B,GAAG,CAAC,EAAE,mBAAmB,GACxB,OAAO,CAAC,cAAc,CAAC,CAAC;IAC3B,gBAAgB,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACjD,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,WAAW,IAAI,OAAO,CAAC,cAAc,CAAC,CAAC;CACxC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=database.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"database.interface.js","sourceRoot":"","sources":["../../src/database/database.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ export type { Database } from './database.interface.js';
2
+ export type { DatabaseTransaction } from './database-transaction.interface.js';
3
+ export type { DatabaseResult } from './database-result.type.js';
4
+ export type { DatabaseHealth } from './database-health.type.js';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/database/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,YAAY,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC/E,YAAY,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,YAAY,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/database/index.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ export type FilterQuery<T> = {
2
+ readonly [K in keyof T]?: T[K] | readonly T[K][];
3
+ };
4
+ //# sourceMappingURL=filter-query.type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter-query.type.d.ts","sourceRoot":"","sources":["../../src/db-adapter/filter-query.type.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI;IAC3B,QAAQ,EAAE,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE;CACjD,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=filter-query.type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter-query.type.js","sourceRoot":"","sources":["../../src/db-adapter/filter-query.type.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ export type { FilterQuery } from './filter-query.type.js';
2
+ export type { ReadDbAdapter, SelectOptions, OrderBy, } from './read-db-adapter.interface.js';
3
+ export type { WriteDbAdapter, InsertOptions, UpdateOptions, DeleteOptions, ExistsOptions, OptimisticLock, } from './write-db-adapter.interface.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/db-adapter/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,YAAY,EACV,aAAa,EACb,aAAa,EACb,OAAO,GACR,MAAM,gCAAgC,CAAC;AACxC,YAAY,EACV,cAAc,EACd,aAAa,EACb,aAAa,EACb,aAAa,EACb,aAAa,EACb,cAAc,GACf,MAAM,iCAAiC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/db-adapter/index.ts"],"names":[],"mappings":""}
@@ -0,0 +1,37 @@
1
+ import type { FilterQuery } from './filter-query.type.js';
2
+ export type OrderBy = {
3
+ readonly column: string;
4
+ readonly direction: 'asc' | 'desc';
5
+ };
6
+ export type SelectOptions<T> = {
7
+ readonly table: string;
8
+ readonly columns?: readonly string[];
9
+ readonly where?: FilterQuery<T>;
10
+ readonly limit?: number;
11
+ readonly orderBy?: readonly OrderBy[];
12
+ };
13
+ /**
14
+ * Read-side adapter. Pure query side — never participates in write
15
+ * transactions. Builds SELECT statements and executes them against the
16
+ * (replica) connection.
17
+ *
18
+ * See `WriteDbAdapter.findForUpdate` for reads that must happen inside
19
+ * a write transaction.
20
+ */
21
+ export interface ReadDbAdapter {
22
+ /**
23
+ * Structured single-table SELECT. Use for simple `WHERE = / WHERE IN`
24
+ * projections; reach for `raw()` or a `SqlQueryBuilder` when you need
25
+ * joins, aggregates, or operator-rich filters.
26
+ */
27
+ select<T>(opts: SelectOptions<T>): Promise<readonly T[]>;
28
+ /**
29
+ * Execute a pre-built SQL statement with positional parameters. The
30
+ * adapter does not inspect or modify the SQL — callers are responsible
31
+ * for parameterising every value. `BaseReadDao.findOne` / `findMany` /
32
+ * `findPaginated` invoke this to run `QueryProduct` output from a
33
+ * `SqlQueryBuilder`.
34
+ */
35
+ raw<T>(sql: string, params: readonly unknown[]): Promise<readonly T[]>;
36
+ }
37
+ //# sourceMappingURL=read-db-adapter.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"read-db-adapter.interface.d.ts","sourceRoot":"","sources":["../../src/db-adapter/read-db-adapter.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAE1D,MAAM,MAAM,OAAO,GAAG;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,KAAK,GAAG,MAAM,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,QAAQ,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;IAChC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;CACvC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;OAIG;IACH,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAEzD;;;;;;OAMG;IACH,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,OAAO,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;CACxE"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=read-db-adapter.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"read-db-adapter.interface.js","sourceRoot":"","sources":["../../src/db-adapter/read-db-adapter.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,61 @@
1
+ import type { DatabaseResult } from '../database/database-result.type.js';
2
+ import type { DatabaseTransaction } from '../database/database-transaction.interface.js';
3
+ import type { FilterQuery } from './filter-query.type.js';
4
+ import type { SelectOptions } from './read-db-adapter.interface.js';
5
+ export type OptimisticLock = {
6
+ readonly column: string;
7
+ readonly expected: unknown;
8
+ };
9
+ export type InsertOptions = {
10
+ readonly table: string;
11
+ readonly rows: readonly Record<string, unknown>[];
12
+ readonly returning?: readonly string[];
13
+ };
14
+ export type UpdateOptions<T> = {
15
+ readonly table: string;
16
+ readonly set: Record<string, unknown>;
17
+ readonly where: FilterQuery<T>;
18
+ readonly optimisticLock?: OptimisticLock;
19
+ readonly returning?: readonly string[];
20
+ };
21
+ /**
22
+ * Bulk update via a single `UPDATE ... FROM (VALUES ...)` statement. Each
23
+ * row in `rows` must include `id` (used as the join key) plus the same set
24
+ * of columns to update — heterogeneous keys across rows are unsupported
25
+ * (the VALUES table requires a fixed schema). No optimistic locking: bulk
26
+ * update is meant to follow `findManyForUpdate` so row-level locks held
27
+ * inside the transaction already serialize concurrent writers.
28
+ */
29
+ export type UpdateManyOptions = {
30
+ readonly table: string;
31
+ readonly rows: readonly Record<string, unknown>[];
32
+ };
33
+ export type DeleteOptions<T> = {
34
+ readonly table: string;
35
+ readonly where: FilterQuery<T>;
36
+ };
37
+ export type ExistsOptions<T> = {
38
+ readonly table: string;
39
+ readonly where: FilterQuery<T>;
40
+ };
41
+ /**
42
+ * Write-side adapter. Owns a `Database` reference internally (for schema
43
+ * introspection and pool access), builds SQL with dialect-specific
44
+ * primitives, and executes it. DAOs call adapter methods directly; the
45
+ * adapter's Database is never exposed.
46
+ *
47
+ * CQRS note: `find`/`exists` are write-side reads (unlocked, optional trx
48
+ * — for pre-create uniqueness checks), and `findForUpdate` is the locked
49
+ * variant (required trx — for read-before-update). Read projections live
50
+ * entirely on `ReadDbAdapter`.
51
+ */
52
+ export interface WriteDbAdapter {
53
+ insert(opts: InsertOptions, trx?: DatabaseTransaction): Promise<DatabaseResult>;
54
+ update<T>(opts: UpdateOptions<T>, trx?: DatabaseTransaction): Promise<DatabaseResult>;
55
+ updateMany(opts: UpdateManyOptions, trx?: DatabaseTransaction): Promise<DatabaseResult>;
56
+ delete<T>(opts: DeleteOptions<T>, trx?: DatabaseTransaction): Promise<DatabaseResult>;
57
+ find<T>(opts: SelectOptions<T>, trx?: DatabaseTransaction): Promise<readonly T[]>;
58
+ findForUpdate<T>(opts: SelectOptions<T>, trx: DatabaseTransaction): Promise<readonly T[]>;
59
+ exists<T>(opts: ExistsOptions<T>, trx?: DatabaseTransaction): Promise<boolean>;
60
+ }
61
+ //# sourceMappingURL=write-db-adapter.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"write-db-adapter.interface.d.ts","sourceRoot":"","sources":["../../src/db-adapter/write-db-adapter.interface.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=write-db-adapter.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"write-db-adapter.interface.js","sourceRoot":"","sources":["../../src/db-adapter/write-db-adapter.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,10 @@
1
+ import { NotFoundError } from '@quilla-be-kit/errors';
2
+ export declare class CrossScopeAccessError extends NotFoundError {
3
+ readonly code = "CROSS_SCOPE_ACCESS";
4
+ constructor(options: {
5
+ readonly entity: string;
6
+ readonly id: string | readonly string[];
7
+ readonly scopeId: string;
8
+ });
9
+ }
10
+ //# sourceMappingURL=cross-scope-access.error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cross-scope-access.error.d.ts","sourceRoot":"","sources":["../../src/errors/cross-scope-access.error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,qBAAa,qBAAsB,SAAQ,aAAa;IACtD,SAAkB,IAAI,wBAAwB;gBAElC,OAAO,EAAE;QACnB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAAC;QACxC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;KAC1B;CAUF"}
@@ -0,0 +1,15 @@
1
+ import { NotFoundError } from '@quilla-be-kit/errors';
2
+ export class CrossScopeAccessError extends NotFoundError {
3
+ code = 'CROSS_SCOPE_ACCESS';
4
+ constructor(options) {
5
+ super({
6
+ message: `${options.entity} not found in scope`,
7
+ context: {
8
+ entity: options.entity,
9
+ id: options.id,
10
+ scopeId: options.scopeId,
11
+ },
12
+ });
13
+ }
14
+ }
15
+ //# sourceMappingURL=cross-scope-access.error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cross-scope-access.error.js","sourceRoot":"","sources":["../../src/errors/cross-scope-access.error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,MAAM,OAAO,qBAAsB,SAAQ,aAAa;IACpC,IAAI,GAAG,oBAAoB,CAAC;IAE9C,YAAY,OAIX;QACC,KAAK,CAAC;YACJ,OAAO,EAAE,GAAG,OAAO,CAAC,MAAM,qBAAqB;YAC/C,OAAO,EAAE;gBACP,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,OAAO,EAAE,OAAO,CAAC,OAAO;aACzB;SACF,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -0,0 +1,3 @@
1
+ export { CrossScopeAccessError } from './cross-scope-access.error.js';
2
+ export { OptimisticLockError } from './optimistic-lock.error.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { CrossScopeAccessError } from './cross-scope-access.error.js';
2
+ export { OptimisticLockError } from './optimistic-lock.error.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { ConflictError } from '@quilla-be-kit/errors';
2
+ export declare class OptimisticLockError extends ConflictError {
3
+ readonly code = "OPTIMISTIC_LOCK";
4
+ constructor(options: {
5
+ readonly entity: string;
6
+ readonly id: string;
7
+ });
8
+ }
9
+ //# sourceMappingURL=optimistic-lock.error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"optimistic-lock.error.d.ts","sourceRoot":"","sources":["../../src/errors/optimistic-lock.error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,qBAAa,mBAAoB,SAAQ,aAAa;IACpD,SAAkB,IAAI,qBAAqB;gBAE/B,OAAO,EAAE;QAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;KAAE;CAMtE"}
@@ -0,0 +1,11 @@
1
+ import { ConflictError } from '@quilla-be-kit/errors';
2
+ export class OptimisticLockError extends ConflictError {
3
+ code = 'OPTIMISTIC_LOCK';
4
+ constructor(options) {
5
+ super({
6
+ message: `${options.entity} was modified by another process`,
7
+ context: { entity: options.entity, id: options.id },
8
+ });
9
+ }
10
+ }
11
+ //# sourceMappingURL=optimistic-lock.error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"optimistic-lock.error.js","sourceRoot":"","sources":["../../src/errors/optimistic-lock.error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,MAAM,OAAO,mBAAoB,SAAQ,aAAa;IAClC,IAAI,GAAG,iBAAiB,CAAC;IAE3C,YAAY,OAAyD;QACnE,KAAK,CAAC;YACJ,OAAO,EAAE,GAAG,OAAO,CAAC,MAAM,kCAAkC;YAC5D,OAAO,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE;SACpD,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -0,0 +1,8 @@
1
+ export * from './database/index.js';
2
+ export * from './db-adapter/index.js';
3
+ export * from './dao/index.js';
4
+ export * from './query/index.js';
5
+ export * from './repository/index.js';
6
+ export * from './unit-of-work/index.js';
7
+ export * from './errors/index.js';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,8 @@
1
+ export * from './database/index.js';
2
+ export * from './db-adapter/index.js';
3
+ export * from './dao/index.js';
4
+ export * from './query/index.js';
5
+ export * from './repository/index.js';
6
+ export * from './unit-of-work/index.js';
7
+ export * from './errors/index.js';
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,7 @@
1
+ export { PgDatabase, type PgDatabaseOptions } from './pg.database.js';
2
+ export { PgTransaction } from './pg.transaction.js';
3
+ export { PgWriteDbAdapter } from './pg-write-db-adapter.js';
4
+ export { PgReadDbAdapter } from './pg-read-db-adapter.js';
5
+ export { PgColumnTypeCache } from './pg-sql.js';
6
+ export { PgSqlQueryBuilder } from './pg-query-builder.js';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/postgres/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,KAAK,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,7 @@
1
+ export { PgDatabase } from './pg.database.js';
2
+ export { PgTransaction } from './pg.transaction.js';
3
+ export { PgWriteDbAdapter } from './pg-write-db-adapter.js';
4
+ export { PgReadDbAdapter } from './pg-read-db-adapter.js';
5
+ export { PgColumnTypeCache } from './pg-sql.js';
6
+ export { PgSqlQueryBuilder } from './pg-query-builder.js';
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/postgres/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAA0B,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,42 @@
1
+ import type { ColumnResolver } from '../query/column-resolver.interface.js';
2
+ import type { SortOption } from '../query/list-query.type.js';
3
+ import type { QueryProduct } from '../query/query-product.type.js';
4
+ import type { OrderByOptions, PaginateOptions, SqlQueryBuilder } from '../query/sql-query-builder.interface.js';
5
+ type BuilderState = {
6
+ readonly columns: readonly string[];
7
+ readonly table: string | null;
8
+ readonly joins: readonly string[];
9
+ readonly groupBys: readonly string[];
10
+ readonly rawConditions: readonly {
11
+ readonly sql: string;
12
+ readonly params: readonly unknown[];
13
+ }[];
14
+ readonly filterMap: Readonly<Record<string, unknown>>;
15
+ readonly sort: readonly SortOption[] | null;
16
+ readonly sortOptions: OrderByOptions | null;
17
+ readonly pagination: PaginateOptions | null;
18
+ };
19
+ export declare class PgSqlQueryBuilder<TRow = unknown> implements SqlQueryBuilder<TRow> {
20
+ private readonly resolver;
21
+ private readonly state;
22
+ constructor(resolver: ColumnResolver, state?: BuilderState);
23
+ select(columns: readonly string[]): SqlQueryBuilder<TRow>;
24
+ from(table: string): SqlQueryBuilder<TRow>;
25
+ join(clause: string): SqlQueryBuilder<TRow>;
26
+ groupBy(columns: readonly string[]): SqlQueryBuilder<TRow>;
27
+ where(condition: string, ...params: readonly unknown[]): SqlQueryBuilder<TRow>;
28
+ filters(filters: Readonly<Record<string, unknown>>): SqlQueryBuilder<TRow>;
29
+ orderBy(sort: readonly SortOption[] | undefined, options?: OrderByOptions): SqlQueryBuilder<TRow>;
30
+ paginate(options: PaginateOptions): SqlQueryBuilder<TRow>;
31
+ build(): QueryProduct;
32
+ private fork;
33
+ private buildColumnsSql;
34
+ private projectColumn;
35
+ private resolveOrPassThrough;
36
+ private buildWhereSql;
37
+ private filterFragment;
38
+ private buildOrderSql;
39
+ private buildCountSql;
40
+ }
41
+ export {};
42
+ //# sourceMappingURL=pg-query-builder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pg-query-builder.d.ts","sourceRoot":"","sources":["../../src/postgres/pg-query-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAM5E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,KAAK,EACV,cAAc,EACd,eAAe,EACf,eAAe,EAChB,MAAM,yCAAyC,CAAC;AAYjD,KAAK,YAAY,GAAG;IAClB,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,QAAQ,CAAC,aAAa,EAAE,SAAS;QAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,OAAO,EAAE,CAAA;KAAE,EAAE,CAAC;IACjG,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACtD,QAAQ,CAAC,IAAI,EAAE,SAAS,UAAU,EAAE,GAAG,IAAI,CAAC;IAC5C,QAAQ,CAAC,WAAW,EAAE,cAAc,GAAG,IAAI,CAAC;IAC5C,QAAQ,CAAC,UAAU,EAAE,eAAe,GAAG,IAAI,CAAC;CAC7C,CAAC;AAcF,qBAAa,iBAAiB,CAAC,IAAI,GAAG,OAAO,CAAE,YAAW,eAAe,CAAC,IAAI,CAAC;IAE3E,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,KAAK;gBADL,QAAQ,EAAE,cAAc,EACxB,KAAK,GAAE,YAA0B;IAGpD,MAAM,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,eAAe,CAAC,IAAI,CAAC;IAKzD,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC;IAS1C,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC;IAI3C,OAAO,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,eAAe,CAAC,IAAI,CAAC;IAK1D,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,SAAS,OAAO,EAAE,GAAG,eAAe,CAAC,IAAI,CAAC;IAM9E,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,eAAe,CAAC,IAAI,CAAC;IAS1E,OAAO,CACL,IAAI,EAAE,SAAS,UAAU,EAAE,GAAG,SAAS,EACvC,OAAO,CAAC,EAAE,cAAc,GACvB,eAAe,CAAC,IAAI,CAAC;IAOxB,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,eAAe,CAAC,IAAI,CAAC;IAIzD,KAAK,IAAI,YAAY;IAkCrB,OAAO,CAAC,IAAI;IAIZ,OAAO,CAAC,eAAe;IAKvB,OAAO,CAAC,aAAa;IAgBrB,OAAO,CAAC,oBAAoB;IAQ5B,OAAO,CAAC,aAAa;IAerB,OAAO,CAAC,cAAc;IA+BtB,OAAO,CAAC,aAAa;IAoBrB,OAAO,CAAC,aAAa;CAgBtB"}