@fragno-dev/db 0.1.15 → 0.2.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/.turbo/turbo-build.log +242 -179
- package/CHANGELOG.md +23 -0
- package/README.md +123 -8
- package/dist/adapters/adapters.d.ts +5 -5
- package/dist/adapters/adapters.d.ts.map +1 -1
- package/dist/adapters/adapters.js.map +1 -1
- package/dist/adapters/drizzle/drizzle-adapter.d.ts +6 -21
- package/dist/adapters/drizzle/drizzle-adapter.d.ts.map +1 -1
- package/dist/adapters/drizzle/drizzle-adapter.js +7 -54
- package/dist/adapters/drizzle/drizzle-adapter.js.map +1 -1
- package/dist/adapters/drizzle/generate.d.ts +3 -0
- package/dist/adapters/drizzle/generate.d.ts.map +1 -1
- package/dist/adapters/drizzle/generate.js +36 -28
- package/dist/adapters/drizzle/generate.js.map +1 -1
- package/dist/adapters/generic-sql/driver-config.d.ts +74 -0
- package/dist/adapters/generic-sql/driver-config.d.ts.map +1 -0
- package/dist/adapters/generic-sql/driver-config.js +94 -0
- package/dist/adapters/generic-sql/driver-config.js.map +1 -0
- package/dist/adapters/generic-sql/generic-sql-adapter.d.ts +43 -0
- package/dist/adapters/generic-sql/generic-sql-adapter.d.ts.map +1 -0
- package/dist/adapters/generic-sql/generic-sql-adapter.js +87 -0
- package/dist/adapters/generic-sql/generic-sql-adapter.js.map +1 -0
- package/dist/adapters/generic-sql/generic-sql-uow-executor.js +67 -0
- package/dist/adapters/generic-sql/generic-sql-uow-executor.js.map +1 -0
- package/dist/adapters/generic-sql/migration/cold-kysely.js +33 -0
- package/dist/adapters/generic-sql/migration/cold-kysely.js.map +1 -0
- package/dist/adapters/generic-sql/migration/dialect/mysql.js +60 -0
- package/dist/adapters/generic-sql/migration/dialect/mysql.js.map +1 -0
- package/dist/adapters/generic-sql/migration/dialect/postgres.js +59 -0
- package/dist/adapters/generic-sql/migration/dialect/postgres.js.map +1 -0
- package/dist/adapters/generic-sql/migration/dialect/sqlite.js +96 -0
- package/dist/adapters/generic-sql/migration/dialect/sqlite.js.map +1 -0
- package/dist/adapters/generic-sql/migration/executor.d.ts +15 -0
- package/dist/adapters/generic-sql/migration/executor.d.ts.map +1 -0
- package/dist/adapters/generic-sql/migration/executor.js +18 -0
- package/dist/adapters/generic-sql/migration/executor.js.map +1 -0
- package/dist/adapters/generic-sql/migration/prepared-migrations.d.ts +66 -0
- package/dist/adapters/generic-sql/migration/prepared-migrations.d.ts.map +1 -0
- package/dist/adapters/generic-sql/migration/prepared-migrations.js +68 -0
- package/dist/adapters/generic-sql/migration/prepared-migrations.js.map +1 -0
- package/dist/adapters/generic-sql/migration/sql-generator.js +212 -0
- package/dist/adapters/generic-sql/migration/sql-generator.js.map +1 -0
- package/dist/adapters/generic-sql/query/create-sql-query-compiler.js +32 -0
- package/dist/adapters/generic-sql/query/create-sql-query-compiler.js.map +1 -0
- package/dist/adapters/generic-sql/query/cursor-utils.js +37 -0
- package/dist/adapters/generic-sql/query/cursor-utils.js.map +1 -0
- package/dist/adapters/generic-sql/query/dialect/mysql.js +33 -0
- package/dist/adapters/generic-sql/query/dialect/mysql.js.map +1 -0
- package/dist/adapters/generic-sql/query/dialect/postgres.js +32 -0
- package/dist/adapters/generic-sql/query/dialect/postgres.js.map +1 -0
- package/dist/adapters/generic-sql/query/dialect/sqlite.js +32 -0
- package/dist/adapters/generic-sql/query/dialect/sqlite.js.map +1 -0
- package/dist/adapters/generic-sql/query/generic-sql-uow-operation-compiler.js +152 -0
- package/dist/adapters/generic-sql/query/generic-sql-uow-operation-compiler.js.map +1 -0
- package/dist/adapters/generic-sql/query/select-builder.js +69 -0
- package/dist/adapters/generic-sql/query/select-builder.js.map +1 -0
- package/dist/adapters/generic-sql/query/sql-query-compiler.js +145 -0
- package/dist/adapters/generic-sql/query/sql-query-compiler.js.map +1 -0
- package/dist/adapters/generic-sql/query/where-builder.js +129 -0
- package/dist/adapters/generic-sql/query/where-builder.js.map +1 -0
- package/dist/adapters/generic-sql/result-interpreter.js +74 -0
- package/dist/adapters/generic-sql/result-interpreter.js.map +1 -0
- package/dist/adapters/generic-sql/uow-decoder.js +105 -0
- package/dist/adapters/generic-sql/uow-decoder.js.map +1 -0
- package/dist/adapters/generic-sql/uow-encoder.js +93 -0
- package/dist/adapters/generic-sql/uow-encoder.js.map +1 -0
- package/dist/adapters/kysely/kysely-adapter.d.ts +5 -18
- package/dist/adapters/kysely/kysely-adapter.d.ts.map +1 -1
- package/dist/adapters/kysely/kysely-adapter.js +6 -165
- package/dist/adapters/kysely/kysely-adapter.js.map +1 -1
- package/dist/adapters/{drizzle/drizzle-query.js → shared/from-unit-of-work-compiler.js} +47 -61
- package/dist/adapters/shared/from-unit-of-work-compiler.js.map +1 -0
- package/dist/adapters/{drizzle/shared.d.ts → shared/table-name-mapper.d.ts} +2 -4
- package/dist/adapters/shared/table-name-mapper.d.ts.map +1 -0
- package/dist/adapters/shared/table-name-mapper.js +43 -0
- package/dist/adapters/shared/table-name-mapper.js.map +1 -0
- package/dist/adapters/shared/uow-operation-compiler.js +105 -0
- package/dist/adapters/shared/uow-operation-compiler.js.map +1 -0
- package/dist/db-fragment-definition-builder.d.ts +53 -19
- package/dist/db-fragment-definition-builder.d.ts.map +1 -1
- package/dist/db-fragment-definition-builder.js +89 -19
- package/dist/db-fragment-definition-builder.js.map +1 -1
- package/dist/fragments/internal-fragment.d.ts +39 -5
- package/dist/fragments/internal-fragment.d.ts.map +1 -1
- package/dist/fragments/internal-fragment.js +82 -10
- package/dist/fragments/internal-fragment.js.map +1 -1
- package/dist/hooks/hooks.d.ts +51 -0
- package/dist/hooks/hooks.d.ts.map +1 -0
- package/dist/hooks/hooks.js +88 -0
- package/dist/hooks/hooks.js.map +1 -0
- package/dist/migration-engine/generation-engine.d.ts +0 -2
- package/dist/migration-engine/generation-engine.d.ts.map +1 -1
- package/dist/migration-engine/generation-engine.js +23 -61
- package/dist/migration-engine/generation-engine.js.map +1 -1
- package/dist/mod.d.ts +34 -10
- package/dist/mod.d.ts.map +1 -1
- package/dist/mod.js +47 -16
- package/dist/mod.js.map +1 -1
- package/dist/node_modules/.pnpm/{rou3@0.7.8 → rou3@0.7.10}/node_modules/rou3/dist/index.js +1 -1
- package/dist/node_modules/.pnpm/rou3@0.7.10/node_modules/rou3/dist/index.js.map +1 -0
- package/dist/packages/fragno/dist/api/fragment-instantiator.js +69 -31
- package/dist/packages/fragno/dist/api/fragment-instantiator.js.map +1 -1
- package/dist/query/column-defaults.js +27 -0
- package/dist/query/column-defaults.js.map +1 -0
- package/dist/query/cursor.d.ts +4 -4
- package/dist/query/cursor.d.ts.map +1 -1
- package/dist/query/cursor.js +8 -6
- package/dist/query/cursor.js.map +1 -1
- package/dist/query/orm/orm.d.ts +1 -1
- package/dist/query/orm/orm.js.map +1 -1
- package/dist/query/serialize/create-sql-serializer.js +30 -0
- package/dist/query/serialize/create-sql-serializer.js.map +1 -0
- package/dist/query/serialize/dialect/mysql-serializer.js +87 -0
- package/dist/query/serialize/dialect/mysql-serializer.js.map +1 -0
- package/dist/query/serialize/dialect/postgres-serializer.js +80 -0
- package/dist/query/serialize/dialect/postgres-serializer.js.map +1 -0
- package/dist/query/serialize/dialect/sqlite-serializer.js +93 -0
- package/dist/query/serialize/dialect/sqlite-serializer.js.map +1 -0
- package/dist/query/serialize/sql-serializer.js +67 -0
- package/dist/query/serialize/sql-serializer.js.map +1 -0
- package/dist/query/{query.d.ts → simple-query-interface.d.ts} +5 -5
- package/dist/query/simple-query-interface.d.ts.map +1 -0
- package/dist/query/{execute-unit-of-work.d.ts → unit-of-work/execute-unit-of-work.d.ts} +13 -3
- package/dist/query/unit-of-work/execute-unit-of-work.d.ts.map +1 -0
- package/dist/query/{execute-unit-of-work.js → unit-of-work/execute-unit-of-work.js} +17 -4
- package/dist/query/unit-of-work/execute-unit-of-work.js.map +1 -0
- package/dist/query/{retry-policy.d.ts → unit-of-work/retry-policy.d.ts} +1 -1
- package/dist/query/unit-of-work/retry-policy.d.ts.map +1 -0
- package/dist/query/{retry-policy.js → unit-of-work/retry-policy.js} +1 -1
- package/dist/query/unit-of-work/retry-policy.js.map +1 -0
- package/dist/query/{unit-of-work.d.ts → unit-of-work/unit-of-work.d.ts} +51 -18
- package/dist/query/unit-of-work/unit-of-work.d.ts.map +1 -0
- package/dist/query/{unit-of-work.js → unit-of-work/unit-of-work.js} +58 -11
- package/dist/query/unit-of-work/unit-of-work.js.map +1 -0
- package/dist/query/value-decoding.js +71 -0
- package/dist/query/value-decoding.js.map +1 -0
- package/dist/query/value-encoding.js +124 -0
- package/dist/query/value-encoding.js.map +1 -0
- package/dist/schema/create.d.ts +3 -0
- package/dist/schema/create.d.ts.map +1 -1
- package/dist/schema/create.js +4 -0
- package/dist/schema/create.js.map +1 -1
- package/dist/schema/type-conversion/create-sql-type-mapper.js +29 -0
- package/dist/schema/type-conversion/create-sql-type-mapper.js.map +1 -0
- package/dist/schema/type-conversion/dialect/mysql.js +57 -0
- package/dist/schema/type-conversion/dialect/mysql.js.map +1 -0
- package/dist/schema/type-conversion/dialect/postgres.js +56 -0
- package/dist/schema/type-conversion/dialect/postgres.js.map +1 -0
- package/dist/schema/type-conversion/dialect/sqlite.js +52 -0
- package/dist/schema/type-conversion/dialect/sqlite.js.map +1 -0
- package/dist/schema/type-conversion/type-mapping.js +63 -0
- package/dist/schema/type-conversion/type-mapping.js.map +1 -0
- package/dist/sql-driver/connection/connection-provider.d.ts +13 -0
- package/dist/sql-driver/connection/connection-provider.d.ts.map +1 -0
- package/dist/sql-driver/connection/connection-provider.js +19 -0
- package/dist/sql-driver/connection/connection-provider.js.map +1 -0
- package/dist/sql-driver/connection/single-connection-provider.js +23 -0
- package/dist/sql-driver/connection/single-connection-provider.js.map +1 -0
- package/dist/sql-driver/dialect-adapter/dialect-adapter.d.ts +7 -0
- package/dist/sql-driver/dialect-adapter/dialect-adapter.d.ts.map +1 -0
- package/dist/sql-driver/dialects/dialects.d.ts +2 -0
- package/dist/sql-driver/dialects/dialects.js +3 -0
- package/dist/sql-driver/dialects/durable-object-dialect.d.ts +72 -0
- package/dist/sql-driver/dialects/durable-object-dialect.d.ts.map +1 -0
- package/dist/sql-driver/dialects/durable-object-dialect.js +130 -0
- package/dist/sql-driver/dialects/durable-object-dialect.js.map +1 -0
- package/dist/sql-driver/driver/runtime-driver.d.ts +23 -0
- package/dist/sql-driver/driver/runtime-driver.d.ts.map +1 -0
- package/dist/sql-driver/driver/runtime-driver.js +56 -0
- package/dist/sql-driver/driver/runtime-driver.js.map +1 -0
- package/dist/sql-driver/query-executor/default-query-executor.js +26 -0
- package/dist/sql-driver/query-executor/default-query-executor.js.map +1 -0
- package/dist/sql-driver/query-executor/plugin.d.ts +17 -0
- package/dist/sql-driver/query-executor/plugin.d.ts.map +1 -0
- package/dist/sql-driver/query-executor/query-executor-base.js +25 -0
- package/dist/sql-driver/query-executor/query-executor-base.js.map +1 -0
- package/dist/sql-driver/query-executor/query-executor.d.ts +36 -0
- package/dist/sql-driver/query-executor/query-executor.d.ts.map +1 -0
- package/dist/sql-driver/sql-driver-adapter.d.ts +29 -0
- package/dist/sql-driver/sql-driver-adapter.d.ts.map +1 -0
- package/dist/sql-driver/sql-driver-adapter.js +68 -0
- package/dist/sql-driver/sql-driver-adapter.js.map +1 -0
- package/dist/sql-driver/sql-driver.d.ts +38 -0
- package/dist/sql-driver/sql-driver.d.ts.map +1 -0
- package/dist/sql-driver/sql-driver.js +1 -0
- package/dist/sql-driver/sql.js +50 -0
- package/dist/sql-driver/sql.js.map +1 -0
- package/dist/with-database.d.ts +6 -2
- package/dist/with-database.d.ts.map +1 -1
- package/dist/with-database.js +1 -1
- package/dist/with-database.js.map +1 -1
- package/package.json +37 -10
- package/src/adapters/adapters.ts +8 -5
- package/src/adapters/drizzle/drizzle-adapter-pglite.test.ts +60 -169
- package/src/adapters/drizzle/{drizzle-adapter-sqlite.test.ts → drizzle-adapter-sqlite3.test.ts} +31 -55
- package/src/adapters/drizzle/drizzle-adapter.ts +15 -107
- package/src/adapters/drizzle/generate.test.ts +2 -2
- package/src/adapters/drizzle/generate.ts +78 -34
- package/src/adapters/drizzle/migrate-drizzle.test.ts +19 -0
- package/src/adapters/drizzle/shared.ts +0 -34
- package/src/adapters/drizzle/test-utils.ts +3 -3
- package/src/adapters/generic-sql/README.md +14 -0
- package/src/adapters/generic-sql/driver-config.ts +144 -0
- package/src/adapters/generic-sql/generic-sql-adapter.test.ts +50 -0
- package/src/adapters/generic-sql/generic-sql-adapter.ts +146 -0
- package/src/adapters/generic-sql/generic-sql-uow-executor.ts +130 -0
- package/src/adapters/generic-sql/migration/cold-kysely.ts +55 -0
- package/src/adapters/{kysely/migration/execute-mysql.test.ts → generic-sql/migration/dialect/mysql.test.ts} +342 -484
- package/src/adapters/generic-sql/migration/dialect/mysql.ts +104 -0
- package/src/adapters/generic-sql/migration/dialect/postgres.test.ts +1008 -0
- package/src/adapters/generic-sql/migration/dialect/postgres.ts +113 -0
- package/src/adapters/{kysely/migration/execute-sqlite.test.ts → generic-sql/migration/dialect/sqlite.test.ts} +307 -510
- package/src/adapters/generic-sql/migration/dialect/sqlite.ts +189 -0
- package/src/adapters/generic-sql/migration/executor.ts +33 -0
- package/src/adapters/generic-sql/migration/prepared-migrations.test.ts +661 -0
- package/src/adapters/generic-sql/migration/prepared-migrations.ts +214 -0
- package/src/adapters/generic-sql/migration/sql-generator.ts +413 -0
- package/src/adapters/generic-sql/query/create-sql-query-compiler.ts +36 -0
- package/src/adapters/generic-sql/query/cursor-utils.ts +56 -0
- package/src/adapters/generic-sql/query/dialect/mysql.ts +34 -0
- package/src/adapters/generic-sql/query/dialect/postgres.ts +32 -0
- package/src/adapters/generic-sql/query/dialect/sqlite.ts +32 -0
- package/src/adapters/generic-sql/query/generic-sql-uow-operation-compiler.test.ts +1568 -0
- package/src/adapters/generic-sql/query/generic-sql-uow-operation-compiler.ts +314 -0
- package/src/adapters/generic-sql/query/select-builder.test.ts +256 -0
- package/src/adapters/generic-sql/query/select-builder.ts +137 -0
- package/src/adapters/generic-sql/query/sql-query-compiler.test.ts +195 -0
- package/src/adapters/generic-sql/query/sql-query-compiler.ts +367 -0
- package/src/adapters/generic-sql/query/where-builder.test.ts +744 -0
- package/src/adapters/generic-sql/query/where-builder.ts +211 -0
- package/src/adapters/generic-sql/result-interpreter.ts +102 -0
- package/src/adapters/generic-sql/test/generic-drizzle-adapter-sqlite3.test.ts +899 -0
- package/src/adapters/generic-sql/uow-decoder.test.ts +399 -0
- package/src/adapters/generic-sql/uow-decoder.ts +152 -0
- package/src/adapters/generic-sql/uow-encoder.test.ts +183 -0
- package/src/adapters/generic-sql/uow-encoder.ts +131 -0
- package/src/adapters/kysely/kysely-adapter-pglite.test.ts +26 -76
- package/src/adapters/kysely/{kysely-adapter-sqlite.test.ts → kysely-adapter-sqlocal.test.ts} +76 -17
- package/src/adapters/kysely/kysely-adapter.ts +10 -250
- package/src/adapters/{drizzle/drizzle-query.ts → shared/from-unit-of-work-compiler.ts} +110 -104
- package/src/adapters/shared/table-name-mapper.ts +50 -0
- package/src/adapters/shared/uow-operation-compiler.ts +211 -0
- package/src/db-fragment-definition-builder.test.ts +2 -2
- package/src/db-fragment-definition-builder.ts +281 -50
- package/src/db-fragment-instantiator.test.ts +78 -2
- package/src/db-fragment-integration.test.ts +14 -16
- package/src/fragments/internal-fragment.test.ts +434 -45
- package/src/fragments/internal-fragment.ts +184 -20
- package/src/hooks/hooks.test.ts +575 -0
- package/src/hooks/hooks.ts +179 -0
- package/src/migration-engine/generation-engine.test.ts +44 -54
- package/src/migration-engine/generation-engine.ts +48 -94
- package/src/mod.ts +117 -29
- package/src/query/column-defaults.ts +49 -0
- package/src/query/cursor.test.ts +31 -6
- package/src/query/cursor.ts +11 -7
- package/src/query/orm/orm.ts +1 -1
- package/src/query/query-type.test.ts +9 -9
- package/src/query/serialize/create-sql-serializer.ts +34 -0
- package/src/query/serialize/dialect/mysql-serializer.ts +142 -0
- package/src/query/serialize/dialect/postgres-serializer.ts +129 -0
- package/src/query/serialize/dialect/sqlite-serializer.test.ts +251 -0
- package/src/query/serialize/dialect/sqlite-serializer.ts +156 -0
- package/src/query/serialize/sql-serializer.ts +143 -0
- package/src/query/{query.ts → simple-query-interface.ts} +2 -2
- package/src/query/{execute-unit-of-work.test.ts → unit-of-work/execute-unit-of-work.test.ts} +16 -16
- package/src/query/{execute-unit-of-work.ts → unit-of-work/execute-unit-of-work.ts} +49 -8
- package/src/query/{unit-of-work-coordinator.test.ts → unit-of-work/unit-of-work-coordinator.test.ts} +41 -43
- package/src/query/{unit-of-work-types.test.ts → unit-of-work/unit-of-work-types.test.ts} +5 -3
- package/src/query/{unit-of-work.test.ts → unit-of-work/unit-of-work.test.ts} +100 -9
- package/src/query/{unit-of-work.ts → unit-of-work/unit-of-work.ts} +135 -32
- package/src/query/{result-transform.test.ts → value-decoding.test.ts} +45 -427
- package/src/query/value-decoding.ts +113 -0
- package/src/query/value-encoding.test.ts +390 -0
- package/src/query/value-encoding.ts +168 -0
- package/src/schema/create.test.ts +5 -1
- package/src/schema/create.ts +5 -0
- package/src/schema/serialize.test.ts +165 -407
- package/src/schema/type-conversion/create-sql-type-mapper.ts +28 -0
- package/src/schema/type-conversion/dialect/mysql.ts +64 -0
- package/src/schema/type-conversion/dialect/postgres.ts +62 -0
- package/src/schema/type-conversion/dialect/sqlite.ts +63 -0
- package/src/schema/type-conversion/type-mapping.test.ts +137 -0
- package/src/schema/type-conversion/type-mapping.ts +153 -0
- package/src/shared/connection-pool.ts +5 -5
- package/src/sql-driver/better-sqlite3.test.ts +126 -0
- package/src/sql-driver/connection/connection-provider.ts +27 -0
- package/src/sql-driver/connection/single-connection-provider.ts +42 -0
- package/src/sql-driver/dialect-adapter/dialect-adapter.ts +9 -0
- package/src/sql-driver/dialect-adapter/sqlite-dialect-adapter.ts +7 -0
- package/src/sql-driver/dialects/dialects.ts +1 -0
- package/src/sql-driver/dialects/durable-object-dialect.ts +260 -0
- package/src/sql-driver/driver/runtime-driver.ts +91 -0
- package/src/sql-driver/query-executor/default-query-executor.ts +38 -0
- package/src/sql-driver/query-executor/plugin.ts +22 -0
- package/src/sql-driver/query-executor/query-executor-base.ts +53 -0
- package/src/sql-driver/query-executor/query-executor.ts +44 -0
- package/src/sql-driver/sql-driver-adapter.ts +96 -0
- package/src/sql-driver/sql-driver.ts +53 -0
- package/src/sql-driver/sql.ts +57 -0
- package/src/sql-driver/sqlocal.test.ts +117 -0
- package/src/with-database.ts +35 -23
- package/tsdown.config.ts +7 -2
- package/dist/adapters/drizzle/drizzle-connection-pool.js +0 -40
- package/dist/adapters/drizzle/drizzle-connection-pool.js.map +0 -1
- package/dist/adapters/drizzle/drizzle-query.d.ts +0 -23
- package/dist/adapters/drizzle/drizzle-query.d.ts.map +0 -1
- package/dist/adapters/drizzle/drizzle-query.js.map +0 -1
- package/dist/adapters/drizzle/drizzle-uow-compiler.d.ts +0 -10
- package/dist/adapters/drizzle/drizzle-uow-compiler.d.ts.map +0 -1
- package/dist/adapters/drizzle/drizzle-uow-compiler.js +0 -334
- package/dist/adapters/drizzle/drizzle-uow-compiler.js.map +0 -1
- package/dist/adapters/drizzle/drizzle-uow-decoder.js +0 -123
- package/dist/adapters/drizzle/drizzle-uow-decoder.js.map +0 -1
- package/dist/adapters/drizzle/drizzle-uow-executor.js +0 -160
- package/dist/adapters/drizzle/drizzle-uow-executor.js.map +0 -1
- package/dist/adapters/drizzle/join-column-utils.js +0 -28
- package/dist/adapters/drizzle/join-column-utils.js.map +0 -1
- package/dist/adapters/drizzle/shared.d.ts.map +0 -1
- package/dist/adapters/drizzle/shared.js +0 -35
- package/dist/adapters/drizzle/shared.js.map +0 -1
- package/dist/adapters/kysely/kysely-connection-pool.js +0 -41
- package/dist/adapters/kysely/kysely-connection-pool.js.map +0 -1
- package/dist/adapters/kysely/kysely-query-builder.js +0 -321
- package/dist/adapters/kysely/kysely-query-builder.js.map +0 -1
- package/dist/adapters/kysely/kysely-query-compiler.js +0 -67
- package/dist/adapters/kysely/kysely-query-compiler.js.map +0 -1
- package/dist/adapters/kysely/kysely-query.d.ts +0 -23
- package/dist/adapters/kysely/kysely-query.d.ts.map +0 -1
- package/dist/adapters/kysely/kysely-query.js +0 -230
- package/dist/adapters/kysely/kysely-query.js.map +0 -1
- package/dist/adapters/kysely/kysely-shared.d.ts +0 -14
- package/dist/adapters/kysely/kysely-shared.d.ts.map +0 -1
- package/dist/adapters/kysely/kysely-shared.js +0 -33
- package/dist/adapters/kysely/kysely-shared.js.map +0 -1
- package/dist/adapters/kysely/kysely-uow-compiler.js +0 -193
- package/dist/adapters/kysely/kysely-uow-compiler.js.map +0 -1
- package/dist/adapters/kysely/kysely-uow-executor.js +0 -93
- package/dist/adapters/kysely/kysely-uow-executor.js.map +0 -1
- package/dist/adapters/kysely/migration/execute-base.js +0 -128
- package/dist/adapters/kysely/migration/execute-base.js.map +0 -1
- package/dist/adapters/kysely/migration/execute-factory.js +0 -34
- package/dist/adapters/kysely/migration/execute-factory.js.map +0 -1
- package/dist/adapters/kysely/migration/execute-mssql.js +0 -112
- package/dist/adapters/kysely/migration/execute-mssql.js.map +0 -1
- package/dist/adapters/kysely/migration/execute-mysql.js +0 -93
- package/dist/adapters/kysely/migration/execute-mysql.js.map +0 -1
- package/dist/adapters/kysely/migration/execute-postgres.js +0 -104
- package/dist/adapters/kysely/migration/execute-postgres.js.map +0 -1
- package/dist/adapters/kysely/migration/execute-sqlite.js +0 -123
- package/dist/adapters/kysely/migration/execute-sqlite.js.map +0 -1
- package/dist/adapters/kysely/migration/execute.js +0 -34
- package/dist/adapters/kysely/migration/execute.js.map +0 -1
- package/dist/migration-engine/create.d.ts +0 -37
- package/dist/migration-engine/create.d.ts.map +0 -1
- package/dist/migration-engine/create.js +0 -58
- package/dist/migration-engine/create.js.map +0 -1
- package/dist/migration-engine/shared.d.ts +0 -112
- package/dist/migration-engine/shared.d.ts.map +0 -1
- package/dist/node_modules/.pnpm/rou3@0.7.8/node_modules/rou3/dist/index.js.map +0 -1
- package/dist/query/execute-unit-of-work.d.ts.map +0 -1
- package/dist/query/execute-unit-of-work.js.map +0 -1
- package/dist/query/query.d.ts.map +0 -1
- package/dist/query/result-transform.js +0 -170
- package/dist/query/result-transform.js.map +0 -1
- package/dist/query/retry-policy.d.ts.map +0 -1
- package/dist/query/retry-policy.js.map +0 -1
- package/dist/query/unit-of-work.d.ts.map +0 -1
- package/dist/query/unit-of-work.js.map +0 -1
- package/dist/schema/serialize.js +0 -111
- package/dist/schema/serialize.js.map +0 -1
- package/src/adapters/drizzle/drizzle-adapter.test.ts +0 -122
- package/src/adapters/drizzle/drizzle-connection-pool.ts +0 -66
- package/src/adapters/drizzle/drizzle-query.test.ts +0 -499
- package/src/adapters/drizzle/drizzle-uow-compiler-mysql.test.ts +0 -1442
- package/src/adapters/drizzle/drizzle-uow-compiler-sqlite.test.ts +0 -1414
- package/src/adapters/drizzle/drizzle-uow-compiler.test.ts +0 -1400
- package/src/adapters/drizzle/drizzle-uow-compiler.ts +0 -677
- package/src/adapters/drizzle/drizzle-uow-decoder.ts +0 -228
- package/src/adapters/drizzle/drizzle-uow-executor.ts +0 -309
- package/src/adapters/drizzle/join-column-utils.test.ts +0 -79
- package/src/adapters/drizzle/join-column-utils.ts +0 -39
- package/src/adapters/kysely/kysely-connection-pool.ts +0 -70
- package/src/adapters/kysely/kysely-query-builder.test.ts +0 -1344
- package/src/adapters/kysely/kysely-query-builder.ts +0 -666
- package/src/adapters/kysely/kysely-query-compiler.ts +0 -127
- package/src/adapters/kysely/kysely-query.test.ts +0 -498
- package/src/adapters/kysely/kysely-query.ts +0 -399
- package/src/adapters/kysely/kysely-shared.ts +0 -57
- package/src/adapters/kysely/kysely-uow-compiler.test.ts +0 -986
- package/src/adapters/kysely/kysely-uow-compiler.ts +0 -350
- package/src/adapters/kysely/kysely-uow-executor.ts +0 -164
- package/src/adapters/kysely/kysely-uow-joins.test.ts +0 -794
- package/src/adapters/kysely/migration/execute-base.ts +0 -256
- package/src/adapters/kysely/migration/execute-factory.ts +0 -53
- package/src/adapters/kysely/migration/execute-mssql.ts +0 -250
- package/src/adapters/kysely/migration/execute-mysql.ts +0 -211
- package/src/adapters/kysely/migration/execute-postgres.test.ts +0 -2657
- package/src/adapters/kysely/migration/execute-postgres.ts +0 -234
- package/src/adapters/kysely/migration/execute-sqlite.ts +0 -247
- package/src/adapters/kysely/migration/execute.ts +0 -50
- package/src/adapters/kysely/migration/kysely-migrator.test.ts +0 -261
- package/src/query/result-transform.ts +0 -274
- package/src/schema/serialize.ts +0 -407
- /package/dist/query/{query.js → simple-query-interface.js} +0 -0
- /package/src/query/{retry-policy.test.ts → unit-of-work/retry-policy.test.ts} +0 -0
- /package/src/query/{retry-policy.ts → unit-of-work/retry-policy.ts} +0 -0
|
@@ -1,6 +1,13 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import type {
|
|
2
|
+
AnySchema,
|
|
3
|
+
AnyTable,
|
|
4
|
+
Index,
|
|
5
|
+
IdColumn,
|
|
6
|
+
AnyColumn,
|
|
7
|
+
Relation,
|
|
8
|
+
} from "../../schema/create";
|
|
9
|
+
import { FragnoId } from "../../schema/create";
|
|
10
|
+
import type { Condition, ConditionBuilder } from "../condition-builder";
|
|
4
11
|
import type {
|
|
5
12
|
SelectClause,
|
|
6
13
|
TableToInsertValues,
|
|
@@ -8,12 +15,13 @@ import type {
|
|
|
8
15
|
SelectResult,
|
|
9
16
|
ExtractSelect,
|
|
10
17
|
ExtractJoinOut,
|
|
11
|
-
} from "
|
|
12
|
-
import { buildCondition } from "
|
|
13
|
-
import type { CompiledJoin } from "
|
|
14
|
-
import type { CursorResult } from "
|
|
15
|
-
import { Cursor } from "
|
|
16
|
-
import type { Prettify } from "
|
|
18
|
+
} from "../simple-query-interface";
|
|
19
|
+
import { buildCondition } from "../condition-builder";
|
|
20
|
+
import type { CompiledJoin } from "../orm/orm";
|
|
21
|
+
import type { CursorResult } from "../cursor";
|
|
22
|
+
import { Cursor } from "../cursor";
|
|
23
|
+
import type { Prettify } from "../../util/types";
|
|
24
|
+
import type { TriggeredHook, TriggerHookOptions, HooksMap, HookPayload } from "../../hooks/hooks";
|
|
17
25
|
|
|
18
26
|
/**
|
|
19
27
|
* Builder for updateMany operations that supports both whereIndex and set chaining
|
|
@@ -213,12 +221,16 @@ export type MutationOperation<
|
|
|
213
221
|
*/
|
|
214
222
|
export interface CompiledMutation<TOutput> {
|
|
215
223
|
query: TOutput;
|
|
224
|
+
/**
|
|
225
|
+
* The type of mutation operation (create, update, delete, or check).
|
|
226
|
+
*/
|
|
227
|
+
op: "create" | "update" | "delete" | "check";
|
|
216
228
|
/**
|
|
217
229
|
* Number of rows this operation must affect for the transaction to succeed.
|
|
218
230
|
* If actual affected rows doesn't match, it indicates a version conflict.
|
|
219
231
|
* null means don't check affected rows (e.g., for create operations).
|
|
220
232
|
*/
|
|
221
|
-
expectedAffectedRows:
|
|
233
|
+
expectedAffectedRows: bigint | null;
|
|
222
234
|
/**
|
|
223
235
|
* Number of rows this SELECT query must return for the transaction to succeed.
|
|
224
236
|
* Used for check operations to verify version without modifying data.
|
|
@@ -277,7 +289,7 @@ export interface UOWDecoder<TRawInput = unknown> {
|
|
|
277
289
|
* @param operations - Array of retrieval operations that produced these results
|
|
278
290
|
* @returns Decoded results in application format
|
|
279
291
|
*/
|
|
280
|
-
(rawResults: TRawInput[], operations: RetrievalOperation<AnySchema>[]): unknown[];
|
|
292
|
+
decode(rawResults: TRawInput[], operations: RetrievalOperation<AnySchema>[]): unknown[];
|
|
281
293
|
}
|
|
282
294
|
|
|
283
295
|
/**
|
|
@@ -419,8 +431,12 @@ export class FindBuilder<
|
|
|
419
431
|
|
|
420
432
|
/**
|
|
421
433
|
* Set the number of results per page
|
|
434
|
+
* @throws {RangeError} If size is not a positive integer
|
|
422
435
|
*/
|
|
423
436
|
pageSize(size: number): this {
|
|
437
|
+
if (!Number.isInteger(size) || size <= 0) {
|
|
438
|
+
throw new RangeError(`pageSize must be a positive integer, received: ${size}`);
|
|
439
|
+
}
|
|
424
440
|
this.#pageSizeValue = size;
|
|
425
441
|
return this;
|
|
426
442
|
}
|
|
@@ -719,8 +735,12 @@ export class JoinFindBuilder<
|
|
|
719
735
|
|
|
720
736
|
/**
|
|
721
737
|
* Set the number of results to return
|
|
738
|
+
* @throws {RangeError} If size is not a positive integer
|
|
722
739
|
*/
|
|
723
740
|
pageSize(size: number): this {
|
|
741
|
+
if (!Number.isInteger(size) || size <= 0) {
|
|
742
|
+
throw new RangeError(`pageSize must be a positive integer, received: ${size}`);
|
|
743
|
+
}
|
|
724
744
|
this.#pageSizeValue = size;
|
|
725
745
|
return this;
|
|
726
746
|
}
|
|
@@ -903,10 +923,21 @@ export interface IUnitOfWork {
|
|
|
903
923
|
reset(): void;
|
|
904
924
|
|
|
905
925
|
// Schema-specific view (for cross-schema operations)
|
|
906
|
-
|
|
926
|
+
// The optional hooks parameter is for type inference only - pass your hooks map
|
|
927
|
+
// to get proper typing for triggerHook. The value is not used at runtime.
|
|
928
|
+
forSchema<TOtherSchema extends AnySchema, TOtherHooks extends HooksMap = {}>(
|
|
907
929
|
schema: TOtherSchema,
|
|
930
|
+
hooks?: TOtherHooks,
|
|
908
931
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
909
|
-
): TypedUnitOfWork<TOtherSchema, [], any>;
|
|
932
|
+
): TypedUnitOfWork<TOtherSchema, [], any, TOtherHooks>;
|
|
933
|
+
|
|
934
|
+
// Schema registration (for cross-fragment operations like hooks)
|
|
935
|
+
registerSchema(schema: AnySchema, namespace: string): void;
|
|
936
|
+
|
|
937
|
+
// Hook triggering (schema-agnostic, string-based hook names)
|
|
938
|
+
triggerHook(hookName: string, payload: unknown, options?: TriggerHookOptions): void;
|
|
939
|
+
|
|
940
|
+
getTriggeredHooks(): readonly TriggeredHook[];
|
|
910
941
|
}
|
|
911
942
|
|
|
912
943
|
/**
|
|
@@ -1175,7 +1206,7 @@ export class UnitOfWork<const TRawInput = unknown> implements IUnitOfWork {
|
|
|
1175
1206
|
#compiler: UOWCompiler<unknown>;
|
|
1176
1207
|
#executor: UOWExecutor<unknown, TRawInput>;
|
|
1177
1208
|
#decoder: UOWDecoder<TRawInput>;
|
|
1178
|
-
#schemaNamespaceMap
|
|
1209
|
+
#schemaNamespaceMap: WeakMap<AnySchema, string>;
|
|
1179
1210
|
|
|
1180
1211
|
#retrievalResults?: unknown[];
|
|
1181
1212
|
#createdInternalIds: (bigint | null)[] = [];
|
|
@@ -1191,6 +1222,9 @@ export class UnitOfWork<const TRawInput = unknown> implements IUnitOfWork {
|
|
|
1191
1222
|
// Child coordination
|
|
1192
1223
|
#coordinator: UOWChildCoordinator<TRawInput> = new UOWChildCoordinator();
|
|
1193
1224
|
|
|
1225
|
+
// Hook triggers
|
|
1226
|
+
#triggeredHooks: TriggeredHook[] = [];
|
|
1227
|
+
|
|
1194
1228
|
constructor(
|
|
1195
1229
|
compiler: UOWCompiler<unknown>,
|
|
1196
1230
|
executor: UOWExecutor<unknown, TRawInput>,
|
|
@@ -1202,24 +1236,39 @@ export class UnitOfWork<const TRawInput = unknown> implements IUnitOfWork {
|
|
|
1202
1236
|
this.#compiler = compiler;
|
|
1203
1237
|
this.#executor = executor;
|
|
1204
1238
|
this.#decoder = decoder;
|
|
1205
|
-
this.#schemaNamespaceMap = schemaNamespaceMap;
|
|
1239
|
+
this.#schemaNamespaceMap = schemaNamespaceMap ?? new WeakMap();
|
|
1206
1240
|
this.#name = name;
|
|
1207
1241
|
this.#config = config;
|
|
1208
1242
|
this.#nonce = config?.nonce ?? crypto.randomUUID();
|
|
1209
1243
|
}
|
|
1210
1244
|
|
|
1245
|
+
/**
|
|
1246
|
+
* Register a schema with its namespace for cross-fragment operations.
|
|
1247
|
+
* This is used for internal fragments like hooks that need to create
|
|
1248
|
+
* records in a different schema during the same transaction.
|
|
1249
|
+
*/
|
|
1250
|
+
registerSchema(schema: AnySchema, namespace: string): void {
|
|
1251
|
+
this.#schemaNamespaceMap.set(schema, namespace);
|
|
1252
|
+
}
|
|
1253
|
+
|
|
1211
1254
|
/**
|
|
1212
1255
|
* Get a schema-specific typed view of this UOW for type-safe operations.
|
|
1213
1256
|
* Returns a wrapper that provides typed operations for the given schema.
|
|
1214
1257
|
* The namespace is automatically resolved from the schema-namespace map.
|
|
1258
|
+
* The optional hooks parameter is for type inference only - pass your hooks map
|
|
1259
|
+
* to get proper typing for triggerHook. The value is not used at runtime.
|
|
1215
1260
|
*/
|
|
1216
|
-
forSchema<TOtherSchema extends AnySchema,
|
|
1261
|
+
forSchema<TOtherSchema extends AnySchema, TOtherHooks extends HooksMap = {}>(
|
|
1217
1262
|
schema: TOtherSchema,
|
|
1218
|
-
|
|
1219
|
-
|
|
1220
|
-
const resolvedNamespace = this.#schemaNamespaceMap
|
|
1221
|
-
|
|
1222
|
-
return new TypedUnitOfWork
|
|
1263
|
+
_hooks?: TOtherHooks,
|
|
1264
|
+
): TypedUnitOfWork<TOtherSchema, [], TRawInput, TOtherHooks> {
|
|
1265
|
+
const resolvedNamespace = this.#schemaNamespaceMap.get(schema);
|
|
1266
|
+
|
|
1267
|
+
return new TypedUnitOfWork<TOtherSchema, [], TRawInput, TOtherHooks>(
|
|
1268
|
+
schema,
|
|
1269
|
+
resolvedNamespace,
|
|
1270
|
+
this,
|
|
1271
|
+
);
|
|
1223
1272
|
}
|
|
1224
1273
|
|
|
1225
1274
|
/**
|
|
@@ -1248,6 +1297,7 @@ export class UnitOfWork<const TRawInput = unknown> implements IUnitOfWork {
|
|
|
1248
1297
|
child.#mutationPhaseDeferred = this.#mutationPhaseDeferred;
|
|
1249
1298
|
child.#retrievalError = this.#retrievalError;
|
|
1250
1299
|
child.#mutationError = this.#mutationError;
|
|
1300
|
+
child.#triggeredHooks = this.#triggeredHooks;
|
|
1251
1301
|
|
|
1252
1302
|
this.#coordinator.addChild(child);
|
|
1253
1303
|
|
|
@@ -1301,6 +1351,27 @@ export class UnitOfWork<const TRawInput = unknown> implements IUnitOfWork {
|
|
|
1301
1351
|
|
|
1302
1352
|
// Reset child coordination
|
|
1303
1353
|
this.#coordinator.reset();
|
|
1354
|
+
|
|
1355
|
+
// Reset hooks
|
|
1356
|
+
this.#triggeredHooks = [];
|
|
1357
|
+
}
|
|
1358
|
+
|
|
1359
|
+
/**
|
|
1360
|
+
* Trigger a hook to be executed after the transaction commits.
|
|
1361
|
+
*/
|
|
1362
|
+
triggerHook(hookName: string, payload: unknown, options?: TriggerHookOptions): void {
|
|
1363
|
+
this.#triggeredHooks.push({
|
|
1364
|
+
hookName,
|
|
1365
|
+
payload,
|
|
1366
|
+
options,
|
|
1367
|
+
});
|
|
1368
|
+
}
|
|
1369
|
+
|
|
1370
|
+
/**
|
|
1371
|
+
* Get all triggered hooks for this UOW.
|
|
1372
|
+
*/
|
|
1373
|
+
getTriggeredHooks(): ReadonlyArray<TriggeredHook> {
|
|
1374
|
+
return this.#triggeredHooks;
|
|
1304
1375
|
}
|
|
1305
1376
|
|
|
1306
1377
|
get state(): UOWState {
|
|
@@ -1376,7 +1447,7 @@ export class UnitOfWork<const TRawInput = unknown> implements IUnitOfWork {
|
|
|
1376
1447
|
|
|
1377
1448
|
const rawResults = await this.#executor.executeRetrievalPhase(retrievalBatch);
|
|
1378
1449
|
|
|
1379
|
-
const results = this.#decoder(rawResults, this.#retrievalOps);
|
|
1450
|
+
const results = this.#decoder.decode(rawResults, this.#retrievalOps);
|
|
1380
1451
|
|
|
1381
1452
|
// Store results and transition to mutation phase
|
|
1382
1453
|
this.#retrievalResults = results;
|
|
@@ -1562,6 +1633,7 @@ export class TypedUnitOfWork<
|
|
|
1562
1633
|
const TSchema extends AnySchema,
|
|
1563
1634
|
const TRetrievalResults extends unknown[] = [],
|
|
1564
1635
|
const TRawInput = unknown,
|
|
1636
|
+
const THooks extends HooksMap = {},
|
|
1565
1637
|
> implements IUnitOfWork
|
|
1566
1638
|
{
|
|
1567
1639
|
#schema: TSchema;
|
|
@@ -1648,10 +1720,15 @@ export class TypedUnitOfWork<
|
|
|
1648
1720
|
return this.#uow.reset();
|
|
1649
1721
|
}
|
|
1650
1722
|
|
|
1651
|
-
forSchema<TOtherSchema extends AnySchema>(
|
|
1723
|
+
forSchema<TOtherSchema extends AnySchema, TOtherHooks extends HooksMap = {}>(
|
|
1652
1724
|
schema: TOtherSchema,
|
|
1653
|
-
|
|
1654
|
-
|
|
1725
|
+
hooks?: TOtherHooks,
|
|
1726
|
+
): TypedUnitOfWork<TOtherSchema, [], TRawInput, TOtherHooks> {
|
|
1727
|
+
return this.#uow.forSchema<TOtherSchema, TOtherHooks>(schema, hooks);
|
|
1728
|
+
}
|
|
1729
|
+
|
|
1730
|
+
registerSchema(schema: AnySchema, namespace: string): void {
|
|
1731
|
+
this.#uow.registerSchema(schema, namespace);
|
|
1655
1732
|
}
|
|
1656
1733
|
|
|
1657
1734
|
compile<TOutput>(compiler: UOWCompiler<TOutput>): {
|
|
@@ -1677,14 +1754,16 @@ export class TypedUnitOfWork<
|
|
|
1677
1754
|
Extract<ExtractSelect<TBuilderResult>, SelectClause<TSchema["tables"][TTableName]>>
|
|
1678
1755
|
>[],
|
|
1679
1756
|
],
|
|
1680
|
-
TRawInput
|
|
1757
|
+
TRawInput,
|
|
1758
|
+
THooks
|
|
1681
1759
|
>;
|
|
1682
1760
|
find<TTableName extends keyof TSchema["tables"] & string>(
|
|
1683
1761
|
tableName: TTableName,
|
|
1684
1762
|
): TypedUnitOfWork<
|
|
1685
1763
|
TSchema,
|
|
1686
1764
|
[...TRetrievalResults, SelectResult<TSchema["tables"][TTableName], {}, true>[]],
|
|
1687
|
-
TRawInput
|
|
1765
|
+
TRawInput,
|
|
1766
|
+
THooks
|
|
1688
1767
|
>;
|
|
1689
1768
|
find<TTableName extends keyof TSchema["tables"] & string, const TBuilderResult>(
|
|
1690
1769
|
tableName: TTableName,
|
|
@@ -1701,7 +1780,8 @@ export class TypedUnitOfWork<
|
|
|
1701
1780
|
Extract<ExtractSelect<TBuilderResult>, SelectClause<TSchema["tables"][TTableName]>>
|
|
1702
1781
|
>[],
|
|
1703
1782
|
],
|
|
1704
|
-
TRawInput
|
|
1783
|
+
TRawInput,
|
|
1784
|
+
THooks
|
|
1705
1785
|
> {
|
|
1706
1786
|
const table = this.#schema.tables[tableName];
|
|
1707
1787
|
if (!table) {
|
|
@@ -1749,14 +1829,16 @@ export class TypedUnitOfWork<
|
|
|
1749
1829
|
Extract<ExtractSelect<TBuilderResult>, SelectClause<TSchema["tables"][TTableName]>>
|
|
1750
1830
|
> | null,
|
|
1751
1831
|
],
|
|
1752
|
-
TRawInput
|
|
1832
|
+
TRawInput,
|
|
1833
|
+
THooks
|
|
1753
1834
|
>;
|
|
1754
1835
|
findFirst<TTableName extends keyof TSchema["tables"] & string>(
|
|
1755
1836
|
tableName: TTableName,
|
|
1756
1837
|
): TypedUnitOfWork<
|
|
1757
1838
|
TSchema,
|
|
1758
1839
|
[...TRetrievalResults, SelectResult<TSchema["tables"][TTableName], {}, true> | null],
|
|
1759
|
-
TRawInput
|
|
1840
|
+
TRawInput,
|
|
1841
|
+
THooks
|
|
1760
1842
|
>;
|
|
1761
1843
|
findFirst<TTableName extends keyof TSchema["tables"] & string, const TBuilderResult>(
|
|
1762
1844
|
tableName: TTableName,
|
|
@@ -1773,7 +1855,8 @@ export class TypedUnitOfWork<
|
|
|
1773
1855
|
Extract<ExtractSelect<TBuilderResult>, SelectClause<TSchema["tables"][TTableName]>>
|
|
1774
1856
|
> | null,
|
|
1775
1857
|
],
|
|
1776
|
-
TRawInput
|
|
1858
|
+
TRawInput,
|
|
1859
|
+
THooks
|
|
1777
1860
|
> {
|
|
1778
1861
|
const table = this.#schema.tables[tableName];
|
|
1779
1862
|
if (!table) {
|
|
@@ -1826,7 +1909,8 @@ export class TypedUnitOfWork<
|
|
|
1826
1909
|
>
|
|
1827
1910
|
>,
|
|
1828
1911
|
],
|
|
1829
|
-
TRawInput
|
|
1912
|
+
TRawInput,
|
|
1913
|
+
THooks
|
|
1830
1914
|
> {
|
|
1831
1915
|
const table = this.#schema.tables[tableName];
|
|
1832
1916
|
if (!table) {
|
|
@@ -1981,4 +2065,23 @@ export class TypedUnitOfWork<
|
|
|
1981
2065
|
id,
|
|
1982
2066
|
});
|
|
1983
2067
|
}
|
|
2068
|
+
|
|
2069
|
+
get $hooks(): THooks {
|
|
2070
|
+
throw new Error("type only");
|
|
2071
|
+
}
|
|
2072
|
+
|
|
2073
|
+
/**
|
|
2074
|
+
* Trigger a hook to be executed after the transaction commits.
|
|
2075
|
+
*/
|
|
2076
|
+
triggerHook<K extends keyof THooks & string>(
|
|
2077
|
+
hookName: K,
|
|
2078
|
+
payload: HookPayload<THooks[K]>,
|
|
2079
|
+
options?: TriggerHookOptions,
|
|
2080
|
+
): void {
|
|
2081
|
+
this.#uow.triggerHook(hookName, payload, options);
|
|
2082
|
+
}
|
|
2083
|
+
|
|
2084
|
+
getTriggeredHooks(): ReadonlyArray<TriggeredHook> {
|
|
2085
|
+
return this.#uow.getTriggeredHooks();
|
|
2086
|
+
}
|
|
1984
2087
|
}
|