@quilla-be-kit/persistence-init-test 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 (211) hide show
  1. package/README.md +684 -0
  2. package/dist/.tsbuildinfo +1 -0
  3. package/dist/dao/audit-columns.d.ts +19 -0
  4. package/dist/dao/audit-columns.d.ts.map +1 -0
  5. package/dist/dao/audit-columns.js +26 -0
  6. package/dist/dao/audit-columns.js.map +1 -0
  7. package/dist/dao/base-read.dao.d.ts +50 -0
  8. package/dist/dao/base-read.dao.d.ts.map +1 -0
  9. package/dist/dao/base-read.dao.js +65 -0
  10. package/dist/dao/base-read.dao.js.map +1 -0
  11. package/dist/dao/base-write.dao.d.ts +49 -0
  12. package/dist/dao/base-write.dao.d.ts.map +1 -0
  13. package/dist/dao/base-write.dao.js +130 -0
  14. package/dist/dao/base-write.dao.js.map +1 -0
  15. package/dist/dao/index.d.ts +3 -0
  16. package/dist/dao/index.d.ts.map +1 -0
  17. package/dist/dao/index.js +3 -0
  18. package/dist/dao/index.js.map +1 -0
  19. package/dist/database/database-health.type.d.ts +4 -0
  20. package/dist/database/database-health.type.d.ts.map +1 -0
  21. package/dist/database/database-health.type.js +2 -0
  22. package/dist/database/database-health.type.js.map +1 -0
  23. package/dist/database/database-result.type.d.ts +5 -0
  24. package/dist/database/database-result.type.d.ts.map +1 -0
  25. package/dist/database/database-result.type.js +2 -0
  26. package/dist/database/database-result.type.js.map +1 -0
  27. package/dist/database/database-transaction.interface.d.ts +10 -0
  28. package/dist/database/database-transaction.interface.d.ts.map +1 -0
  29. package/dist/database/database-transaction.interface.js +2 -0
  30. package/dist/database/database-transaction.interface.js.map +1 -0
  31. package/dist/database/database.interface.d.ts +10 -0
  32. package/dist/database/database.interface.d.ts.map +1 -0
  33. package/dist/database/database.interface.js +2 -0
  34. package/dist/database/database.interface.js.map +1 -0
  35. package/dist/database/index.d.ts +5 -0
  36. package/dist/database/index.d.ts.map +1 -0
  37. package/dist/database/index.js +2 -0
  38. package/dist/database/index.js.map +1 -0
  39. package/dist/db-adapter/filter-query.type.d.ts +4 -0
  40. package/dist/db-adapter/filter-query.type.d.ts.map +1 -0
  41. package/dist/db-adapter/filter-query.type.js +2 -0
  42. package/dist/db-adapter/filter-query.type.js.map +1 -0
  43. package/dist/db-adapter/index.d.ts +4 -0
  44. package/dist/db-adapter/index.d.ts.map +1 -0
  45. package/dist/db-adapter/index.js +2 -0
  46. package/dist/db-adapter/index.js.map +1 -0
  47. package/dist/db-adapter/read-db-adapter.interface.d.ts +37 -0
  48. package/dist/db-adapter/read-db-adapter.interface.d.ts.map +1 -0
  49. package/dist/db-adapter/read-db-adapter.interface.js +2 -0
  50. package/dist/db-adapter/read-db-adapter.interface.js.map +1 -0
  51. package/dist/db-adapter/write-db-adapter.interface.d.ts +61 -0
  52. package/dist/db-adapter/write-db-adapter.interface.d.ts.map +1 -0
  53. package/dist/db-adapter/write-db-adapter.interface.js +2 -0
  54. package/dist/db-adapter/write-db-adapter.interface.js.map +1 -0
  55. package/dist/errors/cross-scope-access.error.d.ts +10 -0
  56. package/dist/errors/cross-scope-access.error.d.ts.map +1 -0
  57. package/dist/errors/cross-scope-access.error.js +15 -0
  58. package/dist/errors/cross-scope-access.error.js.map +1 -0
  59. package/dist/errors/index.d.ts +3 -0
  60. package/dist/errors/index.d.ts.map +1 -0
  61. package/dist/errors/index.js +3 -0
  62. package/dist/errors/index.js.map +1 -0
  63. package/dist/errors/optimistic-lock.error.d.ts +9 -0
  64. package/dist/errors/optimistic-lock.error.d.ts.map +1 -0
  65. package/dist/errors/optimistic-lock.error.js +11 -0
  66. package/dist/errors/optimistic-lock.error.js.map +1 -0
  67. package/dist/index.d.ts +8 -0
  68. package/dist/index.d.ts.map +1 -0
  69. package/dist/index.js +8 -0
  70. package/dist/index.js.map +1 -0
  71. package/dist/postgres/index.d.ts +7 -0
  72. package/dist/postgres/index.d.ts.map +1 -0
  73. package/dist/postgres/index.js +7 -0
  74. package/dist/postgres/index.js.map +1 -0
  75. package/dist/postgres/pg-query-builder.d.ts +42 -0
  76. package/dist/postgres/pg-query-builder.d.ts.map +1 -0
  77. package/dist/postgres/pg-query-builder.js +260 -0
  78. package/dist/postgres/pg-query-builder.js.map +1 -0
  79. package/dist/postgres/pg-read-db-adapter.d.ts +20 -0
  80. package/dist/postgres/pg-read-db-adapter.d.ts.map +1 -0
  81. package/dist/postgres/pg-read-db-adapter.js +28 -0
  82. package/dist/postgres/pg-read-db-adapter.js.map +1 -0
  83. package/dist/postgres/pg-sql.d.ts +44 -0
  84. package/dist/postgres/pg-sql.d.ts.map +1 -0
  85. package/dist/postgres/pg-sql.js +128 -0
  86. package/dist/postgres/pg-sql.js.map +1 -0
  87. package/dist/postgres/pg-write-db-adapter.d.ts +30 -0
  88. package/dist/postgres/pg-write-db-adapter.d.ts.map +1 -0
  89. package/dist/postgres/pg-write-db-adapter.js +133 -0
  90. package/dist/postgres/pg-write-db-adapter.js.map +1 -0
  91. package/dist/postgres/pg.database.d.ts +25 -0
  92. package/dist/postgres/pg.database.d.ts.map +1 -0
  93. package/dist/postgres/pg.database.js +48 -0
  94. package/dist/postgres/pg.database.js.map +1 -0
  95. package/dist/postgres/pg.transaction.d.ts +22 -0
  96. package/dist/postgres/pg.transaction.d.ts.map +1 -0
  97. package/dist/postgres/pg.transaction.js +78 -0
  98. package/dist/postgres/pg.transaction.js.map +1 -0
  99. package/dist/query/case.d.ts +3 -0
  100. package/dist/query/case.d.ts.map +1 -0
  101. package/dist/query/case.js +7 -0
  102. package/dist/query/case.js.map +1 -0
  103. package/dist/query/column-resolver.interface.d.ts +4 -0
  104. package/dist/query/column-resolver.interface.d.ts.map +1 -0
  105. package/dist/query/column-resolver.interface.js +2 -0
  106. package/dist/query/column-resolver.interface.js.map +1 -0
  107. package/dist/query/default.resolver.d.ts +10 -0
  108. package/dist/query/default.resolver.d.ts.map +1 -0
  109. package/dist/query/default.resolver.js +14 -0
  110. package/dist/query/default.resolver.js.map +1 -0
  111. package/dist/query/field-descriptor.type.d.ts +11 -0
  112. package/dist/query/field-descriptor.type.d.ts.map +1 -0
  113. package/dist/query/field-descriptor.type.js +20 -0
  114. package/dist/query/field-descriptor.type.js.map +1 -0
  115. package/dist/query/filter-query.type.d.ts +4 -0
  116. package/dist/query/filter-query.type.d.ts.map +1 -0
  117. package/dist/query/filter-query.type.js +2 -0
  118. package/dist/query/filter-query.type.js.map +1 -0
  119. package/dist/query/index.d.ts +9 -0
  120. package/dist/query/index.d.ts.map +1 -0
  121. package/dist/query/index.js +3 -0
  122. package/dist/query/index.js.map +1 -0
  123. package/dist/query/list-query.type.d.ts +12 -0
  124. package/dist/query/list-query.type.d.ts.map +1 -0
  125. package/dist/query/list-query.type.js +2 -0
  126. package/dist/query/list-query.type.js.map +1 -0
  127. package/dist/query/paginated-result.type.d.ts +7 -0
  128. package/dist/query/paginated-result.type.d.ts.map +1 -0
  129. package/dist/query/paginated-result.type.js +2 -0
  130. package/dist/query/paginated-result.type.js.map +1 -0
  131. package/dist/query/query-product.type.d.ts +6 -0
  132. package/dist/query/query-product.type.d.ts.map +1 -0
  133. package/dist/query/query-product.type.js +2 -0
  134. package/dist/query/query-product.type.js.map +1 -0
  135. package/dist/query/read-query-builder.interface.d.ts +17 -0
  136. package/dist/query/read-query-builder.interface.d.ts.map +1 -0
  137. package/dist/query/read-query-builder.interface.js +2 -0
  138. package/dist/query/read-query-builder.interface.js.map +1 -0
  139. package/dist/query/sql-query-builder.interface.d.ts +99 -0
  140. package/dist/query/sql-query-builder.interface.d.ts.map +1 -0
  141. package/dist/query/sql-query-builder.interface.js +2 -0
  142. package/dist/query/sql-query-builder.interface.js.map +1 -0
  143. package/dist/query/sql-statement.type.d.ts +5 -0
  144. package/dist/query/sql-statement.type.d.ts.map +1 -0
  145. package/dist/query/sql-statement.type.js +2 -0
  146. package/dist/query/sql-statement.type.js.map +1 -0
  147. package/dist/query/write-query-builder.interface.d.ts +34 -0
  148. package/dist/query/write-query-builder.interface.d.ts.map +1 -0
  149. package/dist/query/write-query-builder.interface.js +2 -0
  150. package/dist/query/write-query-builder.interface.js.map +1 -0
  151. package/dist/query-schema/field-descriptor-from-zod.d.ts +4 -0
  152. package/dist/query-schema/field-descriptor-from-zod.d.ts.map +1 -0
  153. package/dist/query-schema/field-descriptor-from-zod.js +31 -0
  154. package/dist/query-schema/field-descriptor-from-zod.js.map +1 -0
  155. package/dist/query-schema/index.d.ts +3 -0
  156. package/dist/query-schema/index.d.ts.map +1 -0
  157. package/dist/query-schema/index.js +3 -0
  158. package/dist/query-schema/index.js.map +1 -0
  159. package/dist/query-schema/zod.d.ts +73 -0
  160. package/dist/query-schema/zod.d.ts.map +1 -0
  161. package/dist/query-schema/zod.js +191 -0
  162. package/dist/query-schema/zod.js.map +1 -0
  163. package/dist/repository/base-aggregate.repository.d.ts +28 -0
  164. package/dist/repository/base-aggregate.repository.d.ts.map +1 -0
  165. package/dist/repository/base-aggregate.repository.js +49 -0
  166. package/dist/repository/base-aggregate.repository.js.map +1 -0
  167. package/dist/repository/base-basic.repository.d.ts +22 -0
  168. package/dist/repository/base-basic.repository.d.ts.map +1 -0
  169. package/dist/repository/base-basic.repository.js +30 -0
  170. package/dist/repository/base-basic.repository.js.map +1 -0
  171. package/dist/repository/base-persistence.mapper.d.ts +61 -0
  172. package/dist/repository/base-persistence.mapper.d.ts.map +1 -0
  173. package/dist/repository/base-persistence.mapper.js +119 -0
  174. package/dist/repository/base-persistence.mapper.js.map +1 -0
  175. package/dist/repository/base-scoped-aggregate.repository.d.ts +19 -0
  176. package/dist/repository/base-scoped-aggregate.repository.d.ts.map +1 -0
  177. package/dist/repository/base-scoped-aggregate.repository.js +35 -0
  178. package/dist/repository/base-scoped-aggregate.repository.js.map +1 -0
  179. package/dist/repository/base-unscoped-aggregate.repository.d.ts +17 -0
  180. package/dist/repository/base-unscoped-aggregate.repository.d.ts.map +1 -0
  181. package/dist/repository/base-unscoped-aggregate.repository.js +21 -0
  182. package/dist/repository/base-unscoped-aggregate.repository.js.map +1 -0
  183. package/dist/repository/index.d.ts +7 -0
  184. package/dist/repository/index.d.ts.map +1 -0
  185. package/dist/repository/index.js +6 -0
  186. package/dist/repository/index.js.map +1 -0
  187. package/dist/repository/mapper.interface.d.ts +5 -0
  188. package/dist/repository/mapper.interface.d.ts.map +1 -0
  189. package/dist/repository/mapper.interface.js +2 -0
  190. package/dist/repository/mapper.interface.js.map +1 -0
  191. package/dist/unit-of-work/event-sink.interface.d.ts +5 -0
  192. package/dist/unit-of-work/event-sink.interface.d.ts.map +1 -0
  193. package/dist/unit-of-work/event-sink.interface.js +2 -0
  194. package/dist/unit-of-work/event-sink.interface.js.map +1 -0
  195. package/dist/unit-of-work/index.d.ts +4 -0
  196. package/dist/unit-of-work/index.d.ts.map +1 -0
  197. package/dist/unit-of-work/index.js +2 -0
  198. package/dist/unit-of-work/index.js.map +1 -0
  199. package/dist/unit-of-work/outbox-writer.interface.d.ts +14 -0
  200. package/dist/unit-of-work/outbox-writer.interface.d.ts.map +1 -0
  201. package/dist/unit-of-work/outbox-writer.interface.js +2 -0
  202. package/dist/unit-of-work/outbox-writer.interface.js.map +1 -0
  203. package/dist/unit-of-work/unit-of-work-context.type.d.ts +8 -0
  204. package/dist/unit-of-work/unit-of-work-context.type.d.ts.map +1 -0
  205. package/dist/unit-of-work/unit-of-work-context.type.js +2 -0
  206. package/dist/unit-of-work/unit-of-work-context.type.js.map +1 -0
  207. package/dist/unit-of-work/unit-of-work.d.ts +20 -0
  208. package/dist/unit-of-work/unit-of-work.d.ts.map +1 -0
  209. package/dist/unit-of-work/unit-of-work.js +60 -0
  210. package/dist/unit-of-work/unit-of-work.js.map +1 -0
  211. package/package.json +83 -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":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+CAA+C,CAAC;AACzF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAEpE,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IAClD,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;IAC/B,QAAQ,CAAC,cAAc,CAAC,EAAE,cAAc,CAAC;IACzC,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACxC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;CACnD,CAAC;AAEF,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;CAChC,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,IAAI,EAAE,aAAa,EAAE,GAAG,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAEhF,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAEtF,UAAU,CAAC,IAAI,EAAE,iBAAiB,EAAE,GAAG,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAExF,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAEtF,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAElF,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAE1F,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAChF"}
@@ -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"}