@fragno-dev/db 0.2.1 → 0.3.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 +206 -140
- package/CHANGELOG.md +67 -0
- package/README.md +30 -9
- package/dist/adapters/adapters.d.ts +23 -21
- package/dist/adapters/adapters.d.ts.map +1 -1
- package/dist/adapters/adapters.js.map +1 -1
- package/dist/adapters/generic-sql/driver-config.d.ts +16 -1
- package/dist/adapters/generic-sql/driver-config.d.ts.map +1 -1
- package/dist/adapters/generic-sql/driver-config.js +23 -1
- package/dist/adapters/generic-sql/driver-config.js.map +1 -1
- package/dist/adapters/generic-sql/generic-sql-adapter.d.ts +27 -9
- package/dist/adapters/generic-sql/generic-sql-adapter.d.ts.map +1 -1
- package/dist/adapters/generic-sql/generic-sql-adapter.js +55 -16
- package/dist/adapters/generic-sql/generic-sql-adapter.js.map +1 -1
- package/dist/adapters/generic-sql/generic-sql-uow-executor.js +129 -3
- package/dist/adapters/generic-sql/generic-sql-uow-executor.js.map +1 -1
- package/dist/adapters/generic-sql/migration/dialect/mysql.js +24 -5
- package/dist/adapters/generic-sql/migration/dialect/mysql.js.map +1 -1
- package/dist/adapters/generic-sql/migration/dialect/postgres.js +6 -5
- package/dist/adapters/generic-sql/migration/dialect/postgres.js.map +1 -1
- package/dist/adapters/generic-sql/migration/dialect/sqlite.js +21 -10
- package/dist/adapters/generic-sql/migration/dialect/sqlite.js.map +1 -1
- package/dist/adapters/generic-sql/migration/prepared-migrations.d.ts.map +1 -1
- package/dist/adapters/generic-sql/migration/prepared-migrations.js +8 -8
- package/dist/adapters/generic-sql/migration/prepared-migrations.js.map +1 -1
- package/dist/adapters/generic-sql/migration/sql-generator.js +74 -51
- package/dist/adapters/generic-sql/migration/sql-generator.js.map +1 -1
- package/dist/adapters/generic-sql/query/create-sql-query-compiler.js +6 -5
- package/dist/adapters/generic-sql/query/create-sql-query-compiler.js.map +1 -1
- package/dist/adapters/generic-sql/query/cursor-utils.js +42 -4
- package/dist/adapters/generic-sql/query/cursor-utils.js.map +1 -1
- package/dist/adapters/generic-sql/query/generic-sql-uow-operation-compiler.js +25 -17
- package/dist/adapters/generic-sql/query/generic-sql-uow-operation-compiler.js.map +1 -1
- package/dist/adapters/generic-sql/query/select-builder.js +5 -3
- package/dist/adapters/generic-sql/query/select-builder.js.map +1 -1
- package/dist/adapters/generic-sql/query/sql-query-compiler.js +15 -12
- package/dist/adapters/generic-sql/query/sql-query-compiler.js.map +1 -1
- package/dist/adapters/generic-sql/query/where-builder.js +38 -28
- package/dist/adapters/generic-sql/query/where-builder.js.map +1 -1
- package/dist/adapters/generic-sql/sqlite-storage.d.ts +13 -0
- package/dist/adapters/generic-sql/sqlite-storage.d.ts.map +1 -0
- package/dist/adapters/generic-sql/sqlite-storage.js +15 -0
- package/dist/adapters/generic-sql/sqlite-storage.js.map +1 -0
- package/dist/adapters/generic-sql/uow-decoder.js +7 -3
- package/dist/adapters/generic-sql/uow-decoder.js.map +1 -1
- package/dist/adapters/generic-sql/uow-encoder.js +28 -8
- package/dist/adapters/generic-sql/uow-encoder.js.map +1 -1
- package/dist/adapters/in-memory/condition-evaluator.js +131 -0
- package/dist/adapters/in-memory/condition-evaluator.js.map +1 -0
- package/dist/adapters/in-memory/errors.d.ts +13 -0
- package/dist/adapters/in-memory/errors.d.ts.map +1 -0
- package/dist/adapters/in-memory/errors.js +23 -0
- package/dist/adapters/in-memory/errors.js.map +1 -0
- package/dist/adapters/in-memory/in-memory-adapter.d.ts +27 -0
- package/dist/adapters/in-memory/in-memory-adapter.d.ts.map +1 -0
- package/dist/adapters/in-memory/in-memory-adapter.js +176 -0
- package/dist/adapters/in-memory/in-memory-adapter.js.map +1 -0
- package/dist/adapters/in-memory/in-memory-uow.js +648 -0
- package/dist/adapters/in-memory/in-memory-uow.js.map +1 -0
- package/dist/adapters/in-memory/index.d.ts +4 -0
- package/dist/adapters/in-memory/index.js +4 -0
- package/dist/adapters/in-memory/options.d.ts +28 -0
- package/dist/adapters/in-memory/options.d.ts.map +1 -0
- package/dist/adapters/in-memory/options.js +61 -0
- package/dist/adapters/in-memory/options.js.map +1 -0
- package/dist/adapters/in-memory/reference-resolution.js +26 -0
- package/dist/adapters/in-memory/reference-resolution.js.map +1 -0
- package/dist/adapters/in-memory/sorted-array-index.js +129 -0
- package/dist/adapters/in-memory/sorted-array-index.js.map +1 -0
- package/dist/adapters/in-memory/store.js +71 -0
- package/dist/adapters/in-memory/store.js.map +1 -0
- package/dist/adapters/in-memory/value-comparison.js +28 -0
- package/dist/adapters/in-memory/value-comparison.js.map +1 -0
- package/dist/adapters/shared/from-unit-of-work-compiler.js.map +1 -1
- package/dist/adapters/shared/uow-operation-compiler.js +11 -11
- package/dist/adapters/shared/uow-operation-compiler.js.map +1 -1
- package/dist/adapters/sql/index.d.ts +5 -0
- package/dist/adapters/sql/index.js +4 -0
- package/dist/db-fragment-definition-builder.d.ts +45 -96
- package/dist/db-fragment-definition-builder.d.ts.map +1 -1
- package/dist/db-fragment-definition-builder.js +121 -99
- package/dist/db-fragment-definition-builder.js.map +1 -1
- package/dist/dispatchers/cloudflare-do/index.d.ts +26 -0
- package/dist/dispatchers/cloudflare-do/index.d.ts.map +1 -0
- package/dist/dispatchers/cloudflare-do/index.js +63 -0
- package/dist/dispatchers/cloudflare-do/index.js.map +1 -0
- package/dist/dispatchers/node/index.d.ts +17 -0
- package/dist/dispatchers/node/index.d.ts.map +1 -0
- package/dist/dispatchers/node/index.js +59 -0
- package/dist/dispatchers/node/index.js.map +1 -0
- package/dist/fragments/internal-fragment.d.ts +172 -9
- package/dist/fragments/internal-fragment.d.ts.map +1 -1
- package/dist/fragments/internal-fragment.js +193 -74
- package/dist/fragments/internal-fragment.js.map +1 -1
- package/dist/fragments/internal-fragment.routes.js +29 -0
- package/dist/fragments/internal-fragment.routes.js.map +1 -0
- package/dist/fragments/internal-fragment.schema.d.ts +9 -0
- package/dist/fragments/internal-fragment.schema.d.ts.map +1 -0
- package/dist/fragments/internal-fragment.schema.js +22 -0
- package/dist/fragments/internal-fragment.schema.js.map +1 -0
- package/dist/hooks/durable-hooks-processor.d.ts +14 -0
- package/dist/hooks/durable-hooks-processor.d.ts.map +1 -0
- package/dist/hooks/durable-hooks-processor.js +32 -0
- package/dist/hooks/durable-hooks-processor.js.map +1 -0
- package/dist/hooks/hooks.d.ts +47 -4
- package/dist/hooks/hooks.d.ts.map +1 -1
- package/dist/hooks/hooks.js +106 -39
- package/dist/hooks/hooks.js.map +1 -1
- package/dist/migration-engine/auto-from-schema.js +14 -11
- package/dist/migration-engine/auto-from-schema.js.map +1 -1
- package/dist/migration-engine/generation-engine.d.ts +16 -10
- package/dist/migration-engine/generation-engine.d.ts.map +1 -1
- package/dist/migration-engine/generation-engine.js +72 -33
- package/dist/migration-engine/generation-engine.js.map +1 -1
- package/dist/migration-engine/shared.js.map +1 -1
- package/dist/mod.d.ts +17 -10
- package/dist/mod.d.ts.map +1 -1
- package/dist/mod.js +14 -8
- package/dist/mod.js.map +1 -1
- package/dist/naming/sql-naming.d.ts +19 -0
- package/dist/naming/sql-naming.d.ts.map +1 -0
- package/dist/naming/sql-naming.js +116 -0
- package/dist/naming/sql-naming.js.map +1 -0
- package/dist/node_modules/.pnpm/{rou3@0.7.10 → rou3@0.7.12}/node_modules/rou3/dist/index.js +8 -5
- package/dist/node_modules/.pnpm/rou3@0.7.12/node_modules/rou3/dist/index.js.map +1 -0
- package/dist/outbox/outbox-builder.js +156 -0
- package/dist/outbox/outbox-builder.js.map +1 -0
- package/dist/outbox/outbox.d.ts +52 -0
- package/dist/outbox/outbox.d.ts.map +1 -0
- package/dist/outbox/outbox.js +37 -0
- package/dist/outbox/outbox.js.map +1 -0
- package/dist/packages/fragno/dist/api/fragment-definition-builder.js +3 -2
- package/dist/packages/fragno/dist/api/fragment-definition-builder.js.map +1 -1
- package/dist/packages/fragno/dist/api/fragment-instantiator.js +164 -20
- package/dist/packages/fragno/dist/api/fragment-instantiator.js.map +1 -1
- package/dist/packages/fragno/dist/api/request-input-context.js +67 -0
- package/dist/packages/fragno/dist/api/request-input-context.js.map +1 -1
- package/dist/packages/fragno/dist/api/route.js +14 -1
- package/dist/packages/fragno/dist/api/route.js.map +1 -1
- package/dist/packages/fragno/dist/internal/trace-context.js +12 -0
- package/dist/packages/fragno/dist/internal/trace-context.js.map +1 -0
- package/dist/query/column-defaults.js +20 -4
- package/dist/query/column-defaults.js.map +1 -1
- package/dist/query/cursor.d.ts +3 -1
- package/dist/query/cursor.d.ts.map +1 -1
- package/dist/query/cursor.js +45 -14
- package/dist/query/cursor.js.map +1 -1
- package/dist/query/db-now.d.ts +8 -0
- package/dist/query/db-now.d.ts.map +1 -0
- package/dist/query/db-now.js +7 -0
- package/dist/query/db-now.js.map +1 -0
- package/dist/query/serialize/create-sql-serializer.js +3 -2
- package/dist/query/serialize/create-sql-serializer.js.map +1 -1
- package/dist/query/serialize/dialect/mysql-serializer.js +12 -6
- package/dist/query/serialize/dialect/mysql-serializer.js.map +1 -1
- package/dist/query/serialize/dialect/postgres-serializer.js +25 -7
- package/dist/query/serialize/dialect/postgres-serializer.js.map +1 -1
- package/dist/query/serialize/dialect/sqlite-serializer.js +55 -11
- package/dist/query/serialize/dialect/sqlite-serializer.js.map +1 -1
- package/dist/query/serialize/sql-serializer.js +2 -2
- package/dist/query/serialize/sql-serializer.js.map +1 -1
- package/dist/query/simple-query-interface.d.ts +6 -1
- package/dist/query/simple-query-interface.d.ts.map +1 -1
- package/dist/query/unit-of-work/execute-unit-of-work.d.ts +351 -100
- package/dist/query/unit-of-work/execute-unit-of-work.d.ts.map +1 -1
- package/dist/query/unit-of-work/execute-unit-of-work.js +440 -267
- package/dist/query/unit-of-work/execute-unit-of-work.js.map +1 -1
- package/dist/query/unit-of-work/unit-of-work.d.ts +67 -22
- package/dist/query/unit-of-work/unit-of-work.d.ts.map +1 -1
- package/dist/query/unit-of-work/unit-of-work.js +110 -13
- package/dist/query/unit-of-work/unit-of-work.js.map +1 -1
- package/dist/query/value-decoding.js +8 -5
- package/dist/query/value-decoding.js.map +1 -1
- package/dist/query/value-encoding.js +29 -9
- package/dist/query/value-encoding.js.map +1 -1
- package/dist/schema/create.d.ts +40 -14
- package/dist/schema/create.d.ts.map +1 -1
- package/dist/schema/create.js +82 -42
- package/dist/schema/create.js.map +1 -1
- package/dist/schema/generate-id.d.ts +20 -0
- package/dist/schema/generate-id.d.ts.map +1 -0
- package/dist/schema/generate-id.js +28 -0
- package/dist/schema/generate-id.js.map +1 -0
- package/dist/schema/type-conversion/create-sql-type-mapper.js +3 -2
- package/dist/schema/type-conversion/create-sql-type-mapper.js.map +1 -1
- package/dist/schema/type-conversion/dialect/sqlite.js +9 -0
- package/dist/schema/type-conversion/dialect/sqlite.js.map +1 -1
- package/dist/schema/validator.d.ts +10 -0
- package/dist/schema/validator.d.ts.map +1 -0
- package/dist/schema/validator.js +123 -0
- package/dist/schema/validator.js.map +1 -0
- package/dist/schema-output/drizzle.d.ts +30 -0
- package/dist/schema-output/drizzle.d.ts.map +1 -0
- package/dist/{adapters/drizzle/generate.js → schema-output/drizzle.js} +82 -56
- package/dist/schema-output/drizzle.js.map +1 -0
- package/dist/schema-output/prisma.d.ts +17 -0
- package/dist/schema-output/prisma.d.ts.map +1 -0
- package/dist/schema-output/prisma.js +296 -0
- package/dist/schema-output/prisma.js.map +1 -0
- package/dist/util/default-database-adapter.js +61 -0
- package/dist/util/default-database-adapter.js.map +1 -0
- package/dist/with-database.d.ts +1 -1
- package/dist/with-database.d.ts.map +1 -1
- package/dist/with-database.js +12 -3
- package/dist/with-database.js.map +1 -1
- package/package.json +43 -28
- package/src/adapters/adapters.ts +30 -24
- package/src/adapters/drizzle/migrate-drizzle.test.ts +54 -33
- package/src/adapters/drizzle/migration-parity-drizzle-kit.test.ts +599 -0
- package/src/adapters/drizzle/test-utils.ts +12 -8
- package/src/adapters/generic-sql/driver-config.ts +38 -0
- package/src/adapters/generic-sql/generic-sql-adapter.test.ts +5 -5
- package/src/adapters/generic-sql/generic-sql-adapter.ts +110 -24
- package/src/adapters/generic-sql/generic-sql-uow-executor.test.ts +54 -0
- package/src/adapters/generic-sql/generic-sql-uow-executor.ts +231 -3
- package/src/adapters/generic-sql/migration/adapter-migration-parity.test.ts +118 -0
- package/src/adapters/generic-sql/migration/dialect/mysql.test.ts +26 -8
- package/src/adapters/generic-sql/migration/dialect/mysql.ts +46 -8
- package/src/adapters/generic-sql/migration/dialect/postgres.test.ts +25 -7
- package/src/adapters/generic-sql/migration/dialect/postgres.ts +8 -4
- package/src/adapters/generic-sql/migration/dialect/sqlite.test.ts +47 -8
- package/src/adapters/generic-sql/migration/dialect/sqlite.ts +27 -12
- package/src/adapters/generic-sql/migration/prepared-migrations.test.ts +128 -39
- package/src/adapters/generic-sql/migration/prepared-migrations.ts +15 -8
- package/src/adapters/generic-sql/migration/sql-generator.ts +142 -65
- package/src/adapters/generic-sql/query/create-sql-query-compiler.ts +9 -6
- package/src/adapters/generic-sql/query/cursor-utils.test.ts +271 -0
- package/src/adapters/generic-sql/query/cursor-utils.ts +41 -6
- package/src/adapters/generic-sql/query/generic-sql-uow-operation-compiler.test.ts +27 -27
- package/src/adapters/generic-sql/query/generic-sql-uow-operation-compiler.ts +38 -24
- package/src/adapters/generic-sql/query/select-builder.test.ts +15 -11
- package/src/adapters/generic-sql/query/select-builder.ts +6 -2
- package/src/adapters/generic-sql/query/sql-query-compiler.test.ts +52 -2
- package/src/adapters/generic-sql/query/sql-query-compiler.ts +50 -15
- package/src/adapters/generic-sql/query/where-builder.test.ts +91 -17
- package/src/adapters/generic-sql/query/where-builder.ts +90 -38
- package/src/adapters/{kysely/kysely-adapter-pglite.test.ts → generic-sql/sql-adapter-pglite-migrations.test.ts} +6 -6
- package/src/adapters/generic-sql/sql-adapter-pglite-pagination.test.ts +806 -0
- package/src/adapters/{drizzle/drizzle-adapter-pglite.test.ts → generic-sql/sql-adapter-pglite-queries.test.ts} +11 -11
- package/src/adapters/generic-sql/{test/generic-drizzle-adapter-sqlite3.test.ts → sql-adapter-sqlite3-driver.test.ts} +49 -35
- package/src/adapters/{drizzle/drizzle-adapter-sqlite3.test.ts → generic-sql/sql-adapter-sqlite3-uow.test.ts} +48 -32
- package/src/adapters/{kysely/kysely-adapter-sqlocal.test.ts → generic-sql/sql-adapter-sqlocal.test.ts} +6 -6
- package/src/adapters/generic-sql/sqlite-storage.ts +20 -0
- package/src/adapters/generic-sql/uow-decoder.test.ts +1 -1
- package/src/adapters/generic-sql/uow-decoder.ts +21 -3
- package/src/adapters/generic-sql/uow-encoder.test.ts +33 -2
- package/src/adapters/generic-sql/uow-encoder.ts +50 -11
- package/src/adapters/in-memory/condition-evaluator.test.ts +193 -0
- package/src/adapters/in-memory/condition-evaluator.ts +275 -0
- package/src/adapters/in-memory/errors.ts +20 -0
- package/src/adapters/in-memory/in-memory-adapter.ts +277 -0
- package/src/adapters/in-memory/in-memory-uow.mutations.test.ts +296 -0
- package/src/adapters/in-memory/in-memory-uow.retrieval.test.ts +100 -0
- package/src/adapters/in-memory/in-memory-uow.ts +1348 -0
- package/src/adapters/in-memory/index.ts +3 -0
- package/src/adapters/in-memory/options.test.ts +41 -0
- package/src/adapters/in-memory/options.ts +87 -0
- package/src/adapters/in-memory/reference-resolution.test.ts +50 -0
- package/src/adapters/in-memory/reference-resolution.ts +67 -0
- package/src/adapters/in-memory/sorted-array-index.test.ts +123 -0
- package/src/adapters/in-memory/sorted-array-index.ts +228 -0
- package/src/adapters/in-memory/store.test.ts +68 -0
- package/src/adapters/in-memory/store.ts +145 -0
- package/src/adapters/in-memory/value-comparison.ts +53 -0
- package/src/adapters/in-memory/value-normalization.test.ts +57 -0
- package/src/adapters/prisma/prisma-adapter-sqlite3.test.ts +1163 -0
- package/src/adapters/shared/from-unit-of-work-compiler.ts +3 -1
- package/src/adapters/shared/uow-operation-compiler.ts +26 -16
- package/src/adapters/sql/index.ts +12 -0
- package/src/db-fragment-definition-builder.test.ts +88 -54
- package/src/db-fragment-definition-builder.ts +201 -322
- package/src/db-fragment-instantiator.test.ts +169 -101
- package/src/db-fragment-integration.test.ts +301 -149
- package/src/dispatchers/cloudflare-do/index.test.ts +73 -0
- package/src/dispatchers/cloudflare-do/index.ts +104 -0
- package/src/dispatchers/node/index.test.ts +91 -0
- package/src/dispatchers/node/index.ts +87 -0
- package/src/fragments/internal-fragment.routes.ts +42 -0
- package/src/fragments/internal-fragment.schema.ts +51 -0
- package/src/fragments/internal-fragment.test.ts +730 -274
- package/src/fragments/internal-fragment.ts +447 -154
- package/src/hooks/durable-hooks-processor.test.ts +117 -0
- package/src/hooks/durable-hooks-processor.ts +67 -0
- package/src/hooks/hooks.test.ts +411 -259
- package/src/hooks/hooks.ts +265 -66
- package/src/migration-engine/auto-from-schema.test.ts +14 -14
- package/src/migration-engine/auto-from-schema.ts +5 -2
- package/src/migration-engine/create.test.ts +2 -2
- package/src/migration-engine/generation-engine.test.ts +229 -104
- package/src/migration-engine/generation-engine.ts +94 -64
- package/src/migration-engine/shared.ts +1 -0
- package/src/mod.ts +78 -30
- package/src/naming/sql-naming.ts +180 -0
- package/src/outbox/outbox-builder.ts +241 -0
- package/src/outbox/outbox.test.ts +253 -0
- package/src/outbox/outbox.ts +137 -0
- package/src/query/column-defaults.ts +41 -3
- package/src/query/condition-builder.test.ts +3 -3
- package/src/query/cursor.test.ts +116 -18
- package/src/query/cursor.ts +75 -26
- package/src/query/db-now.ts +6 -0
- package/src/query/query-type.test.ts +2 -2
- package/src/query/serialize/create-sql-serializer.ts +7 -2
- package/src/query/serialize/dialect/mysql-serializer.ts +12 -4
- package/src/query/serialize/dialect/postgres-serializer.ts +34 -4
- package/src/query/serialize/dialect/sqlite-serializer.test.ts +51 -1
- package/src/query/serialize/dialect/sqlite-serializer.ts +92 -9
- package/src/query/serialize/sql-serializer.ts +4 -4
- package/src/query/simple-query-interface.ts +5 -0
- package/src/query/unit-of-work/execute-unit-of-work.test.ts +1512 -1458
- package/src/query/unit-of-work/execute-unit-of-work.ts +1708 -596
- package/src/query/unit-of-work/tx-builder.test.ts +1041 -0
- package/src/query/unit-of-work/unit-of-work-coordinator.test.ts +32 -32
- package/src/query/unit-of-work/unit-of-work-types.test.ts +1 -1
- package/src/query/unit-of-work/unit-of-work.test.ts +231 -36
- package/src/query/unit-of-work/unit-of-work.ts +229 -31
- package/src/query/value-decoding.test.ts +13 -2
- package/src/query/value-decoding.ts +17 -4
- package/src/query/value-encoding.test.ts +85 -2
- package/src/query/value-encoding.ts +56 -6
- package/src/schema/create.test.ts +129 -42
- package/src/schema/create.ts +187 -47
- package/src/schema/generate-id.test.ts +57 -0
- package/src/schema/generate-id.ts +38 -0
- package/src/schema/serialize.test.ts +14 -2
- package/src/schema/type-conversion/create-sql-type-mapper.ts +7 -2
- package/src/schema/type-conversion/dialect/sqlite.ts +18 -0
- package/src/schema/type-conversion/type-mapping.test.ts +25 -1
- package/src/schema/validator.test.ts +197 -0
- package/src/schema/validator.ts +231 -0
- package/src/{adapters/drizzle/generate.test.ts → schema-output/drizzle.test.ts} +179 -129
- package/src/{adapters/drizzle/generate.ts → schema-output/drizzle.ts} +143 -93
- package/src/schema-output/prisma.test.ts +536 -0
- package/src/schema-output/prisma.ts +573 -0
- package/src/util/default-database-adapter.ts +106 -0
- package/src/with-database.ts +22 -3
- package/tsdown.config.ts +6 -4
- package/dist/adapters/drizzle/drizzle-adapter.d.ts +0 -20
- package/dist/adapters/drizzle/drizzle-adapter.d.ts.map +0 -1
- package/dist/adapters/drizzle/drizzle-adapter.js +0 -27
- package/dist/adapters/drizzle/drizzle-adapter.js.map +0 -1
- package/dist/adapters/drizzle/generate.d.ts +0 -30
- package/dist/adapters/drizzle/generate.d.ts.map +0 -1
- package/dist/adapters/drizzle/generate.js.map +0 -1
- package/dist/adapters/kysely/kysely-adapter.d.ts +0 -19
- package/dist/adapters/kysely/kysely-adapter.d.ts.map +0 -1
- package/dist/adapters/kysely/kysely-adapter.js +0 -17
- package/dist/adapters/kysely/kysely-adapter.js.map +0 -1
- package/dist/adapters/shared/table-name-mapper.d.ts +0 -12
- package/dist/adapters/shared/table-name-mapper.d.ts.map +0 -1
- package/dist/adapters/shared/table-name-mapper.js +0 -43
- package/dist/adapters/shared/table-name-mapper.js.map +0 -1
- package/dist/node_modules/.pnpm/rou3@0.7.10/node_modules/rou3/dist/index.js.map +0 -1
- package/dist/schema-generator/schema-generator.d.ts +0 -15
- package/dist/schema-generator/schema-generator.d.ts.map +0 -1
- package/src/adapters/drizzle/drizzle-adapter.ts +0 -39
- package/src/adapters/kysely/kysely-adapter.ts +0 -27
- package/src/adapters/shared/table-name-mapper.ts +0 -50
- package/src/schema-generator/schema-generator.ts +0 -12
- package/src/shared/config.ts +0 -10
- package/src/shared/connection-pool.ts +0 -24
- package/src/shared/prisma.ts +0 -45
|
@@ -59,7 +59,7 @@ function createMockDecoder(): UOWDecoder {
|
|
|
59
59
|
|
|
60
60
|
describe("UOW Coordinator - Parent-Child Execution", () => {
|
|
61
61
|
it("should allow child UOWs to add operations and parent to execute them", async () => {
|
|
62
|
-
const testSchema = schema((s) =>
|
|
62
|
+
const testSchema = schema("test", (s) =>
|
|
63
63
|
s.addTable("users", (t) =>
|
|
64
64
|
t.addColumn("id", idColumn()).addColumn("name", "string").addColumn("email", "string"),
|
|
65
65
|
),
|
|
@@ -102,7 +102,7 @@ describe("UOW Coordinator - Parent-Child Execution", () => {
|
|
|
102
102
|
});
|
|
103
103
|
|
|
104
104
|
it("should handle nested service calls that await phase promises without deadlock", async () => {
|
|
105
|
-
const testSchema = schema((s) =>
|
|
105
|
+
const testSchema = schema("test", (s) =>
|
|
106
106
|
s
|
|
107
107
|
.addTable("users", (t) =>
|
|
108
108
|
t.addColumn("id", idColumn()).addColumn("name", "string").addColumn("email", "string"),
|
|
@@ -176,7 +176,7 @@ describe("UOW Coordinator - Parent-Child Execution", () => {
|
|
|
176
176
|
});
|
|
177
177
|
|
|
178
178
|
it("should handle retrieval-to-mutation flow with service composition", async () => {
|
|
179
|
-
const testSchema = schema((s) =>
|
|
179
|
+
const testSchema = schema("test", (s) =>
|
|
180
180
|
s
|
|
181
181
|
.addTable("users", (t) =>
|
|
182
182
|
t
|
|
@@ -303,7 +303,7 @@ describe("UOW Coordinator - Parent-Child Execution", () => {
|
|
|
303
303
|
});
|
|
304
304
|
|
|
305
305
|
it("should handle deeply nested child UOWs (3+ levels)", async () => {
|
|
306
|
-
const testSchema = schema((s) =>
|
|
306
|
+
const testSchema = schema("test", (s) =>
|
|
307
307
|
s
|
|
308
308
|
.addTable("users", (t) =>
|
|
309
309
|
t.addColumn("id", idColumn()).addColumn("name", "string").addColumn("email", "string"),
|
|
@@ -416,7 +416,7 @@ describe("UOW Coordinator - Parent-Child Execution", () => {
|
|
|
416
416
|
});
|
|
417
417
|
|
|
418
418
|
it("should handle sibling child UOWs at same nesting level", async () => {
|
|
419
|
-
const testSchema = schema((s) =>
|
|
419
|
+
const testSchema = schema("test", (s) =>
|
|
420
420
|
s
|
|
421
421
|
.addTable("users", (t) =>
|
|
422
422
|
t
|
|
@@ -526,7 +526,7 @@ describe("UOW Coordinator - Parent-Child Execution", () => {
|
|
|
526
526
|
});
|
|
527
527
|
|
|
528
528
|
it("should support transaction rollback pattern", async () => {
|
|
529
|
-
const testSchema = schema((s) =>
|
|
529
|
+
const testSchema = schema("test", (s) =>
|
|
530
530
|
s
|
|
531
531
|
.addTable("accounts", (t) =>
|
|
532
532
|
t
|
|
@@ -633,7 +633,7 @@ describe("UOW Coordinator - Parent-Child Execution", () => {
|
|
|
633
633
|
});
|
|
634
634
|
|
|
635
635
|
it("should handle errors thrown by service methods without unhandled rejections", async () => {
|
|
636
|
-
const testSchema = schema((s) =>
|
|
636
|
+
const testSchema = schema("test", (s) =>
|
|
637
637
|
s
|
|
638
638
|
.addTable("users", (t) =>
|
|
639
639
|
t
|
|
@@ -722,55 +722,55 @@ describe("UOW Coordinator - Parent-Child Execution", () => {
|
|
|
722
722
|
// If we got here without Node.js throwing an unhandled rejection, the test passes
|
|
723
723
|
});
|
|
724
724
|
|
|
725
|
-
it("should inherit
|
|
725
|
+
it("should inherit idempotencyKey from parent to children for idempotent operations", () => {
|
|
726
726
|
const executor = createMockExecutor();
|
|
727
727
|
const parentUow = createUnitOfWork(createCompiler(), executor, createMockDecoder());
|
|
728
728
|
|
|
729
|
-
// Parent UOW should have
|
|
730
|
-
const
|
|
731
|
-
expect(
|
|
732
|
-
expect(typeof
|
|
733
|
-
expect(
|
|
729
|
+
// Parent UOW should have an idempotencyKey
|
|
730
|
+
const parentIdempotencyKey = parentUow.idempotencyKey;
|
|
731
|
+
expect(parentIdempotencyKey).toBeDefined();
|
|
732
|
+
expect(typeof parentIdempotencyKey).toBe("string");
|
|
733
|
+
expect(parentIdempotencyKey.length).toBeGreaterThan(0);
|
|
734
734
|
|
|
735
735
|
// Create first child
|
|
736
736
|
const child1 = parentUow.restrict();
|
|
737
|
-
expect(child1.
|
|
737
|
+
expect(child1.idempotencyKey).toBe(parentIdempotencyKey);
|
|
738
738
|
|
|
739
739
|
// Create second child (sibling to child1)
|
|
740
740
|
const child2 = parentUow.restrict();
|
|
741
|
-
expect(child2.
|
|
741
|
+
expect(child2.idempotencyKey).toBe(parentIdempotencyKey);
|
|
742
742
|
|
|
743
743
|
// Create nested child (child of child1)
|
|
744
744
|
const grandchild = child1.restrict();
|
|
745
|
-
expect(grandchild.
|
|
745
|
+
expect(grandchild.idempotencyKey).toBe(parentIdempotencyKey);
|
|
746
746
|
|
|
747
|
-
// All UOWs in the hierarchy should share the same
|
|
748
|
-
expect(parentUow.
|
|
749
|
-
expect(child1.
|
|
750
|
-
expect(child2.
|
|
747
|
+
// All UOWs in the hierarchy should share the same idempotencyKey
|
|
748
|
+
expect(parentUow.idempotencyKey).toBe(child1.idempotencyKey);
|
|
749
|
+
expect(child1.idempotencyKey).toBe(child2.idempotencyKey);
|
|
750
|
+
expect(child2.idempotencyKey).toBe(grandchild.idempotencyKey);
|
|
751
751
|
});
|
|
752
752
|
|
|
753
|
-
it("should generate different
|
|
753
|
+
it("should generate different idempotencyKeys for separate UOW hierarchies", () => {
|
|
754
754
|
const executor = createMockExecutor();
|
|
755
755
|
|
|
756
756
|
// Create two separate parent UOWs
|
|
757
757
|
const parentUow1 = createUnitOfWork(createCompiler(), executor, createMockDecoder());
|
|
758
758
|
const parentUow2 = createUnitOfWork(createCompiler(), executor, createMockDecoder());
|
|
759
759
|
|
|
760
|
-
// They should have different
|
|
761
|
-
expect(parentUow1.
|
|
760
|
+
// They should have different idempotencyKeys
|
|
761
|
+
expect(parentUow1.idempotencyKey).not.toBe(parentUow2.idempotencyKey);
|
|
762
762
|
|
|
763
|
-
// But children within each hierarchy should inherit their parent's
|
|
763
|
+
// But children within each hierarchy should inherit their parent's idempotencyKey
|
|
764
764
|
const child1 = parentUow1.restrict();
|
|
765
765
|
const child2 = parentUow2.restrict();
|
|
766
766
|
|
|
767
|
-
expect(child1.
|
|
768
|
-
expect(child2.
|
|
769
|
-
expect(child1.
|
|
767
|
+
expect(child1.idempotencyKey).toBe(parentUow1.idempotencyKey);
|
|
768
|
+
expect(child2.idempotencyKey).toBe(parentUow2.idempotencyKey);
|
|
769
|
+
expect(child1.idempotencyKey).not.toBe(child2.idempotencyKey);
|
|
770
770
|
});
|
|
771
771
|
|
|
772
772
|
it("should not cause unhandled rejection when service method awaits retrievalPhase and executeRetrieve fails", async () => {
|
|
773
|
-
const testSchema = schema((s) =>
|
|
773
|
+
const testSchema = schema("test", (s) =>
|
|
774
774
|
s.addTable("settings", (t) =>
|
|
775
775
|
t
|
|
776
776
|
.addColumn("id", idColumn())
|
|
@@ -830,7 +830,7 @@ describe("UOW Coordinator - Parent-Child Execution", () => {
|
|
|
830
830
|
});
|
|
831
831
|
|
|
832
832
|
it("should allow child UOW to call getCreatedIds() after parent executes mutations", async () => {
|
|
833
|
-
const testSchema = schema((s) =>
|
|
833
|
+
const testSchema = schema("test", (s) =>
|
|
834
834
|
s.addTable("products", (t) =>
|
|
835
835
|
t.addColumn("id", idColumn()).addColumn("name", "string").addColumn("price", "integer"),
|
|
836
836
|
),
|
|
@@ -862,7 +862,7 @@ describe("UOW Coordinator - Parent-Child Execution", () => {
|
|
|
862
862
|
});
|
|
863
863
|
|
|
864
864
|
it("should preserve internal IDs in child UOW when using two-phase pattern with mutationPhase await", async () => {
|
|
865
|
-
const testSchema = schema((s) =>
|
|
865
|
+
const testSchema = schema("test", (s) =>
|
|
866
866
|
s.addTable("orders", (t) =>
|
|
867
867
|
t
|
|
868
868
|
.addColumn("id", idColumn())
|
|
@@ -916,7 +916,7 @@ describe("UOW Coordinator - Parent-Child Execution", () => {
|
|
|
916
916
|
});
|
|
917
917
|
|
|
918
918
|
it("should fail when handler executes mutations before service finishes scheduling them (anti-pattern)", async () => {
|
|
919
|
-
const testSchema = schema((s) =>
|
|
919
|
+
const testSchema = schema("test", (s) =>
|
|
920
920
|
s.addTable("totp_secret", (t) =>
|
|
921
921
|
t
|
|
922
922
|
.addColumn("id", idColumn())
|
|
@@ -997,7 +997,7 @@ describe("UOW Coordinator - Parent-Child Execution", () => {
|
|
|
997
997
|
});
|
|
998
998
|
|
|
999
999
|
it("should succeed when handler awaits service promise between phases (correct pattern)", async () => {
|
|
1000
|
-
const testSchema = schema((s) =>
|
|
1000
|
+
const testSchema = schema("test", (s) =>
|
|
1001
1001
|
s.addTable("totp_secret", (t) =>
|
|
1002
1002
|
t
|
|
1003
1003
|
.addColumn("id", idColumn())
|
|
@@ -23,7 +23,7 @@ type InferJoinOut<T> =
|
|
|
23
23
|
type InferJoinOutPrettify<T> = RecursivePrettify<InferJoinOut<T>>;
|
|
24
24
|
|
|
25
25
|
describe("UnitOfWork type tests", () => {
|
|
26
|
-
const testSchema = schema((s) => {
|
|
26
|
+
const testSchema = schema("test", (s) => {
|
|
27
27
|
return s
|
|
28
28
|
.addTable("users", (t) => {
|
|
29
29
|
return t
|