@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.
- package/README.md +684 -0
- package/dist/.tsbuildinfo +1 -0
- package/dist/dao/audit-columns.d.ts +19 -0
- package/dist/dao/audit-columns.d.ts.map +1 -0
- package/dist/dao/audit-columns.js +26 -0
- package/dist/dao/audit-columns.js.map +1 -0
- package/dist/dao/base-read.dao.d.ts +50 -0
- package/dist/dao/base-read.dao.d.ts.map +1 -0
- package/dist/dao/base-read.dao.js +65 -0
- package/dist/dao/base-read.dao.js.map +1 -0
- package/dist/dao/base-write.dao.d.ts +49 -0
- package/dist/dao/base-write.dao.d.ts.map +1 -0
- package/dist/dao/base-write.dao.js +130 -0
- package/dist/dao/base-write.dao.js.map +1 -0
- package/dist/dao/index.d.ts +3 -0
- package/dist/dao/index.d.ts.map +1 -0
- package/dist/dao/index.js +3 -0
- package/dist/dao/index.js.map +1 -0
- package/dist/database/database-health.type.d.ts +4 -0
- package/dist/database/database-health.type.d.ts.map +1 -0
- package/dist/database/database-health.type.js +2 -0
- package/dist/database/database-health.type.js.map +1 -0
- package/dist/database/database-result.type.d.ts +5 -0
- package/dist/database/database-result.type.d.ts.map +1 -0
- package/dist/database/database-result.type.js +2 -0
- package/dist/database/database-result.type.js.map +1 -0
- package/dist/database/database-transaction.interface.d.ts +10 -0
- package/dist/database/database-transaction.interface.d.ts.map +1 -0
- package/dist/database/database-transaction.interface.js +2 -0
- package/dist/database/database-transaction.interface.js.map +1 -0
- package/dist/database/database.interface.d.ts +10 -0
- package/dist/database/database.interface.d.ts.map +1 -0
- package/dist/database/database.interface.js +2 -0
- package/dist/database/database.interface.js.map +1 -0
- package/dist/database/index.d.ts +5 -0
- package/dist/database/index.d.ts.map +1 -0
- package/dist/database/index.js +2 -0
- package/dist/database/index.js.map +1 -0
- package/dist/db-adapter/filter-query.type.d.ts +4 -0
- package/dist/db-adapter/filter-query.type.d.ts.map +1 -0
- package/dist/db-adapter/filter-query.type.js +2 -0
- package/dist/db-adapter/filter-query.type.js.map +1 -0
- package/dist/db-adapter/index.d.ts +4 -0
- package/dist/db-adapter/index.d.ts.map +1 -0
- package/dist/db-adapter/index.js +2 -0
- package/dist/db-adapter/index.js.map +1 -0
- package/dist/db-adapter/read-db-adapter.interface.d.ts +37 -0
- package/dist/db-adapter/read-db-adapter.interface.d.ts.map +1 -0
- package/dist/db-adapter/read-db-adapter.interface.js +2 -0
- package/dist/db-adapter/read-db-adapter.interface.js.map +1 -0
- package/dist/db-adapter/write-db-adapter.interface.d.ts +61 -0
- package/dist/db-adapter/write-db-adapter.interface.d.ts.map +1 -0
- package/dist/db-adapter/write-db-adapter.interface.js +2 -0
- package/dist/db-adapter/write-db-adapter.interface.js.map +1 -0
- package/dist/errors/cross-scope-access.error.d.ts +10 -0
- package/dist/errors/cross-scope-access.error.d.ts.map +1 -0
- package/dist/errors/cross-scope-access.error.js +15 -0
- package/dist/errors/cross-scope-access.error.js.map +1 -0
- package/dist/errors/index.d.ts +3 -0
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/errors/index.js +3 -0
- package/dist/errors/index.js.map +1 -0
- package/dist/errors/optimistic-lock.error.d.ts +9 -0
- package/dist/errors/optimistic-lock.error.d.ts.map +1 -0
- package/dist/errors/optimistic-lock.error.js +11 -0
- package/dist/errors/optimistic-lock.error.js.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +8 -0
- package/dist/index.js.map +1 -0
- package/dist/postgres/index.d.ts +7 -0
- package/dist/postgres/index.d.ts.map +1 -0
- package/dist/postgres/index.js +7 -0
- package/dist/postgres/index.js.map +1 -0
- package/dist/postgres/pg-query-builder.d.ts +42 -0
- package/dist/postgres/pg-query-builder.d.ts.map +1 -0
- package/dist/postgres/pg-query-builder.js +260 -0
- package/dist/postgres/pg-query-builder.js.map +1 -0
- package/dist/postgres/pg-read-db-adapter.d.ts +20 -0
- package/dist/postgres/pg-read-db-adapter.d.ts.map +1 -0
- package/dist/postgres/pg-read-db-adapter.js +28 -0
- package/dist/postgres/pg-read-db-adapter.js.map +1 -0
- package/dist/postgres/pg-sql.d.ts +44 -0
- package/dist/postgres/pg-sql.d.ts.map +1 -0
- package/dist/postgres/pg-sql.js +128 -0
- package/dist/postgres/pg-sql.js.map +1 -0
- package/dist/postgres/pg-write-db-adapter.d.ts +30 -0
- package/dist/postgres/pg-write-db-adapter.d.ts.map +1 -0
- package/dist/postgres/pg-write-db-adapter.js +133 -0
- package/dist/postgres/pg-write-db-adapter.js.map +1 -0
- package/dist/postgres/pg.database.d.ts +25 -0
- package/dist/postgres/pg.database.d.ts.map +1 -0
- package/dist/postgres/pg.database.js +48 -0
- package/dist/postgres/pg.database.js.map +1 -0
- package/dist/postgres/pg.transaction.d.ts +22 -0
- package/dist/postgres/pg.transaction.d.ts.map +1 -0
- package/dist/postgres/pg.transaction.js +78 -0
- package/dist/postgres/pg.transaction.js.map +1 -0
- package/dist/query/case.d.ts +3 -0
- package/dist/query/case.d.ts.map +1 -0
- package/dist/query/case.js +7 -0
- package/dist/query/case.js.map +1 -0
- package/dist/query/column-resolver.interface.d.ts +4 -0
- package/dist/query/column-resolver.interface.d.ts.map +1 -0
- package/dist/query/column-resolver.interface.js +2 -0
- package/dist/query/column-resolver.interface.js.map +1 -0
- package/dist/query/default.resolver.d.ts +10 -0
- package/dist/query/default.resolver.d.ts.map +1 -0
- package/dist/query/default.resolver.js +14 -0
- package/dist/query/default.resolver.js.map +1 -0
- package/dist/query/field-descriptor.type.d.ts +11 -0
- package/dist/query/field-descriptor.type.d.ts.map +1 -0
- package/dist/query/field-descriptor.type.js +20 -0
- package/dist/query/field-descriptor.type.js.map +1 -0
- package/dist/query/filter-query.type.d.ts +4 -0
- package/dist/query/filter-query.type.d.ts.map +1 -0
- package/dist/query/filter-query.type.js +2 -0
- package/dist/query/filter-query.type.js.map +1 -0
- package/dist/query/index.d.ts +9 -0
- package/dist/query/index.d.ts.map +1 -0
- package/dist/query/index.js +3 -0
- package/dist/query/index.js.map +1 -0
- package/dist/query/list-query.type.d.ts +12 -0
- package/dist/query/list-query.type.d.ts.map +1 -0
- package/dist/query/list-query.type.js +2 -0
- package/dist/query/list-query.type.js.map +1 -0
- package/dist/query/paginated-result.type.d.ts +7 -0
- package/dist/query/paginated-result.type.d.ts.map +1 -0
- package/dist/query/paginated-result.type.js +2 -0
- package/dist/query/paginated-result.type.js.map +1 -0
- package/dist/query/query-product.type.d.ts +6 -0
- package/dist/query/query-product.type.d.ts.map +1 -0
- package/dist/query/query-product.type.js +2 -0
- package/dist/query/query-product.type.js.map +1 -0
- package/dist/query/read-query-builder.interface.d.ts +17 -0
- package/dist/query/read-query-builder.interface.d.ts.map +1 -0
- package/dist/query/read-query-builder.interface.js +2 -0
- package/dist/query/read-query-builder.interface.js.map +1 -0
- package/dist/query/sql-query-builder.interface.d.ts +99 -0
- package/dist/query/sql-query-builder.interface.d.ts.map +1 -0
- package/dist/query/sql-query-builder.interface.js +2 -0
- package/dist/query/sql-query-builder.interface.js.map +1 -0
- package/dist/query/sql-statement.type.d.ts +5 -0
- package/dist/query/sql-statement.type.d.ts.map +1 -0
- package/dist/query/sql-statement.type.js +2 -0
- package/dist/query/sql-statement.type.js.map +1 -0
- package/dist/query/write-query-builder.interface.d.ts +34 -0
- package/dist/query/write-query-builder.interface.d.ts.map +1 -0
- package/dist/query/write-query-builder.interface.js +2 -0
- package/dist/query/write-query-builder.interface.js.map +1 -0
- package/dist/query-schema/field-descriptor-from-zod.d.ts +4 -0
- package/dist/query-schema/field-descriptor-from-zod.d.ts.map +1 -0
- package/dist/query-schema/field-descriptor-from-zod.js +31 -0
- package/dist/query-schema/field-descriptor-from-zod.js.map +1 -0
- package/dist/query-schema/index.d.ts +3 -0
- package/dist/query-schema/index.d.ts.map +1 -0
- package/dist/query-schema/index.js +3 -0
- package/dist/query-schema/index.js.map +1 -0
- package/dist/query-schema/zod.d.ts +73 -0
- package/dist/query-schema/zod.d.ts.map +1 -0
- package/dist/query-schema/zod.js +191 -0
- package/dist/query-schema/zod.js.map +1 -0
- package/dist/repository/base-aggregate.repository.d.ts +28 -0
- package/dist/repository/base-aggregate.repository.d.ts.map +1 -0
- package/dist/repository/base-aggregate.repository.js +49 -0
- package/dist/repository/base-aggregate.repository.js.map +1 -0
- package/dist/repository/base-basic.repository.d.ts +22 -0
- package/dist/repository/base-basic.repository.d.ts.map +1 -0
- package/dist/repository/base-basic.repository.js +30 -0
- package/dist/repository/base-basic.repository.js.map +1 -0
- package/dist/repository/base-persistence.mapper.d.ts +61 -0
- package/dist/repository/base-persistence.mapper.d.ts.map +1 -0
- package/dist/repository/base-persistence.mapper.js +119 -0
- package/dist/repository/base-persistence.mapper.js.map +1 -0
- package/dist/repository/base-scoped-aggregate.repository.d.ts +19 -0
- package/dist/repository/base-scoped-aggregate.repository.d.ts.map +1 -0
- package/dist/repository/base-scoped-aggregate.repository.js +35 -0
- package/dist/repository/base-scoped-aggregate.repository.js.map +1 -0
- package/dist/repository/base-unscoped-aggregate.repository.d.ts +17 -0
- package/dist/repository/base-unscoped-aggregate.repository.d.ts.map +1 -0
- package/dist/repository/base-unscoped-aggregate.repository.js +21 -0
- package/dist/repository/base-unscoped-aggregate.repository.js.map +1 -0
- package/dist/repository/index.d.ts +7 -0
- package/dist/repository/index.d.ts.map +1 -0
- package/dist/repository/index.js +6 -0
- package/dist/repository/index.js.map +1 -0
- package/dist/repository/mapper.interface.d.ts +5 -0
- package/dist/repository/mapper.interface.d.ts.map +1 -0
- package/dist/repository/mapper.interface.js +2 -0
- package/dist/repository/mapper.interface.js.map +1 -0
- package/dist/unit-of-work/event-sink.interface.d.ts +5 -0
- package/dist/unit-of-work/event-sink.interface.d.ts.map +1 -0
- package/dist/unit-of-work/event-sink.interface.js +2 -0
- package/dist/unit-of-work/event-sink.interface.js.map +1 -0
- package/dist/unit-of-work/index.d.ts +4 -0
- package/dist/unit-of-work/index.d.ts.map +1 -0
- package/dist/unit-of-work/index.js +2 -0
- package/dist/unit-of-work/index.js.map +1 -0
- package/dist/unit-of-work/outbox-writer.interface.d.ts +14 -0
- package/dist/unit-of-work/outbox-writer.interface.d.ts.map +1 -0
- package/dist/unit-of-work/outbox-writer.interface.js +2 -0
- package/dist/unit-of-work/outbox-writer.interface.js.map +1 -0
- package/dist/unit-of-work/unit-of-work-context.type.d.ts +8 -0
- package/dist/unit-of-work/unit-of-work-context.type.d.ts.map +1 -0
- package/dist/unit-of-work/unit-of-work-context.type.js +2 -0
- package/dist/unit-of-work/unit-of-work-context.type.js.map +1 -0
- package/dist/unit-of-work/unit-of-work.d.ts +20 -0
- package/dist/unit-of-work/unit-of-work.d.ts.map +1 -0
- package/dist/unit-of-work/unit-of-work.js +60 -0
- package/dist/unit-of-work/unit-of-work.js.map +1 -0
- package/package.json +83 -0
|
@@ -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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
1
|
+
{"version":3,"file":"database-health.type.js","sourceRoot":"","sources":["../../src/database/database-health.type.ts"],"names":[],"mappings":""}
|
|
@@ -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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/database/index.ts"],"names":[],"mappings":""}
|
|
@@ -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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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"}
|
package/dist/index.d.ts
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.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"}
|