@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"value-encoding.js","names":["#referencedTable","#externalIdValue","result: Record<string, unknown>","externalIdForSubquery: string | undefined"],"sources":["../../src/query/value-encoding.ts"],"sourcesContent":["import type { AnyTable, AnyColumn } from \"../schema/create\";\nimport { FragnoId, FragnoReference } from \"../schema/create\";\nimport {
|
|
1
|
+
{"version":3,"file":"value-encoding.js","names":["#referencedTable","#externalIdValue","result: Record<string, unknown>","externalIdForSubquery: string | undefined"],"sources":["../../src/query/value-encoding.ts"],"sourcesContent":["import type { AnyTable, AnyColumn } from \"../schema/create\";\nimport { FragnoId, FragnoReference } from \"../schema/create\";\nimport {\n generateDatabaseDefault,\n generateRuntimeDefault,\n type RuntimeDefaultContext,\n} from \"./column-defaults\";\nimport type { NamingResolver } from \"../naming/sql-naming\";\n\n/**\n * Marker class for reference column values that need subquery resolution.\n * When a reference column receives a string (external ID), this marker tells\n * the query builder to generate a subquery to look up the internal ID.\n * @internal\n */\nexport class ReferenceSubquery {\n #referencedTable: AnyTable;\n #externalIdValue: string;\n\n constructor(referencedTable: AnyTable, externalIdValue: string) {\n this.#referencedTable = referencedTable;\n this.#externalIdValue = externalIdValue;\n }\n\n get referencedTable() {\n return this.#referencedTable;\n }\n\n get externalIdValue() {\n return this.#externalIdValue;\n }\n}\n\n/**\n * Resolves FragnoId or FragnoReference objects to their appropriate primitive values.\n *\n * This function handles the Fragno ID system's conversion to database values:\n * - FragnoReference objects are resolved to their internal IDs\n * - FragnoId objects are resolved based on the column role:\n * - external-id: uses the external ID\n * - internal-id: uses the internal ID (must be present)\n * - reference: uses databaseId (internal ID if available, else external ID)\n * - other: uses the external ID by default\n *\n * @param value - The value to resolve (may be FragnoId, FragnoReference, or any other value)\n * @param col - The column schema definition\n * @returns The resolved primitive value, or the original value if not a FragnoId/FragnoReference\n * @throws Error if internal ID is required but not available\n * @internal\n */\nexport function resolveFragnoIdValue(value: unknown, col: AnyColumn): unknown {\n // Handle FragnoReference objects (for reference columns)\n if (value instanceof FragnoReference) {\n return value.internalId;\n }\n\n // Handle FragnoId objects\n if (value instanceof FragnoId) {\n // For external ID columns, use the external ID\n if (col.role === \"external-id\") {\n return value.externalId;\n }\n // For internal ID columns, use the internal ID (must be present)\n if (col.role === \"internal-id\") {\n if (value.internalId === undefined) {\n throw new Error(`FragnoId must have internalId for internal-id column ${col.name}`);\n }\n return value.internalId;\n }\n // For reference columns, prefer internal ID if available, else external ID\n if (col.role === \"reference\") {\n return value.databaseId;\n }\n // Default to external ID for other columns\n return value.externalId;\n }\n\n return value;\n}\n\n/**\n * Encodes a record of values from the application format to resolved format.\n *\n * This function:\n * - Transforms object keys from ORM names to database column names\n * - Resolves FragnoId/FragnoReference objects to primitive values\n * - Generates default values for undefined columns\n * - Creates ReferenceSubquery markers for external ID lookups\n *\n * Note: This function does NOT serialize values (Date → number, bigint → Buffer, etc.).\n * Use UnitOfWorkEncoder.encode() to apply driver-specific serialization after this step.\n *\n * @param values - The record of values to encode in application format\n * @param table - The table schema definition containing column information\n * @param generateDefault - Whether to generate default values for undefined columns\n * @returns A record with database column names and resolved (but not serialized) values\n *\n * @example\n * ```ts\n * const encoded = encodeValues(\n * { userId: 123, createdAt: new Date() },\n * userTable,\n * true\n * );\n * // Returns: { user_id: 123, created_at: Date } (not yet serialized)\n * ```\n */\nexport function encodeValues(\n values: Record<string, unknown>,\n table: AnyTable,\n generateDefault: boolean,\n runtimeDefaults: RuntimeDefaultContext = {},\n resolver?: NamingResolver,\n): Record<string, unknown> {\n const result: Record<string, unknown> = {};\n\n for (const k in table.columns) {\n const col = table.columns[k];\n\n // Skip internal ID - never provided by user, auto-generated by database\n if (col.role === \"internal-id\") {\n continue;\n }\n let value = values[k];\n\n if (generateDefault && value === undefined) {\n // Only generate runtime defaults (defaultTo$), not static defaults (defaultTo).\n // Static defaults should be handled by the database via DEFAULT constraints.\n value = generateRuntimeDefault(col, runtimeDefaults);\n }\n\n if (value !== undefined) {\n const physicalColumnName = resolver ? resolver.getColumnName(table.name, col.name) : col.name;\n\n // Handle reference columns: strings or FragnoIds without internal IDs need subqueries\n if (col.role === \"reference\") {\n let needsSubquery = false;\n let externalIdForSubquery: string | undefined;\n\n if (typeof value === \"string\") {\n // String external ID - needs subquery\n needsSubquery = true;\n externalIdForSubquery = value;\n } else if (value instanceof FragnoId && value.internalId === undefined) {\n // FragnoId without internal ID - needs subquery\n needsSubquery = true;\n externalIdForSubquery = value.externalId;\n } else if (value instanceof FragnoId && value.internalId !== undefined) {\n // FragnoId with internal ID - use it directly (will be serialized later)\n result[physicalColumnName] = value.internalId;\n continue;\n } else if (value instanceof FragnoReference) {\n // FragnoReference - use internal ID directly (will be serialized later)\n result[physicalColumnName] = value.internalId;\n continue;\n }\n\n if (needsSubquery) {\n const relation = Object.values(table.relations).find((rel) =>\n rel.on.some(([localCol]) => localCol === k),\n );\n if (relation) {\n result[physicalColumnName] = new ReferenceSubquery(\n relation.table,\n externalIdForSubquery!,\n );\n continue;\n }\n throw new Error(`Reference column ${k} not found in table ${table.name}`);\n }\n }\n\n // Resolve FragnoId/FragnoReference to primitive values (serialization happens later)\n const resolvedValue = resolveFragnoIdValue(value, col);\n result[physicalColumnName] = resolvedValue;\n }\n }\n\n return result;\n}\n\n/**\n * Encode values and apply database defaults in-process.\n *\n * This is intended for adapters that cannot rely on database DEFAULT constraints,\n * such as the in-memory adapter.\n *\n * @internal\n */\nexport function encodeValuesWithDbDefaults(\n values: Record<string, unknown>,\n table: AnyTable,\n runtimeDefaults: RuntimeDefaultContext = {},\n resolver?: NamingResolver,\n): Record<string, unknown> {\n const resolved = encodeValues(values, table, true, runtimeDefaults, resolver);\n\n for (const columnKey of Object.keys(table.columns)) {\n const column = table.columns[columnKey];\n if (column.role === \"internal-id\") {\n continue;\n }\n\n const physicalColumnName = resolver\n ? resolver.getColumnName(table.name, column.name)\n : column.name;\n if (Object.prototype.hasOwnProperty.call(resolved, physicalColumnName)) {\n continue;\n }\n\n const fallback = generateDatabaseDefault(column, runtimeDefaults);\n if (fallback !== undefined) {\n resolved[physicalColumnName] = fallback;\n }\n }\n\n return resolved;\n}\n"],"mappings":";;;;;;;;;;AAeA,IAAa,oBAAb,MAA+B;CAC7B;CACA;CAEA,YAAY,iBAA2B,iBAAyB;AAC9D,QAAKA,kBAAmB;AACxB,QAAKC,kBAAmB;;CAG1B,IAAI,kBAAkB;AACpB,SAAO,MAAKD;;CAGd,IAAI,kBAAkB;AACpB,SAAO,MAAKC;;;;;;;;;;;;;;;;;;;;AAqBhB,SAAgB,qBAAqB,OAAgB,KAAyB;AAE5E,KAAI,iBAAiB,gBACnB,QAAO,MAAM;AAIf,KAAI,iBAAiB,UAAU;AAE7B,MAAI,IAAI,SAAS,cACf,QAAO,MAAM;AAGf,MAAI,IAAI,SAAS,eAAe;AAC9B,OAAI,MAAM,eAAe,OACvB,OAAM,IAAI,MAAM,wDAAwD,IAAI,OAAO;AAErF,UAAO,MAAM;;AAGf,MAAI,IAAI,SAAS,YACf,QAAO,MAAM;AAGf,SAAO,MAAM;;AAGf,QAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8BT,SAAgB,aACd,QACA,OACA,iBACA,kBAAyC,EAAE,EAC3C,UACyB;CACzB,MAAMC,SAAkC,EAAE;AAE1C,MAAK,MAAM,KAAK,MAAM,SAAS;EAC7B,MAAM,MAAM,MAAM,QAAQ;AAG1B,MAAI,IAAI,SAAS,cACf;EAEF,IAAI,QAAQ,OAAO;AAEnB,MAAI,mBAAmB,UAAU,OAG/B,SAAQ,uBAAuB,KAAK,gBAAgB;AAGtD,MAAI,UAAU,QAAW;GACvB,MAAM,qBAAqB,WAAW,SAAS,cAAc,MAAM,MAAM,IAAI,KAAK,GAAG,IAAI;AAGzF,OAAI,IAAI,SAAS,aAAa;IAC5B,IAAI,gBAAgB;IACpB,IAAIC;AAEJ,QAAI,OAAO,UAAU,UAAU;AAE7B,qBAAgB;AAChB,6BAAwB;eACf,iBAAiB,YAAY,MAAM,eAAe,QAAW;AAEtE,qBAAgB;AAChB,6BAAwB,MAAM;eACrB,iBAAiB,YAAY,MAAM,eAAe,QAAW;AAEtE,YAAO,sBAAsB,MAAM;AACnC;eACS,iBAAiB,iBAAiB;AAE3C,YAAO,sBAAsB,MAAM;AACnC;;AAGF,QAAI,eAAe;KACjB,MAAM,WAAW,OAAO,OAAO,MAAM,UAAU,CAAC,MAAM,QACpD,IAAI,GAAG,MAAM,CAAC,cAAc,aAAa,EAAE,CAC5C;AACD,SAAI,UAAU;AACZ,aAAO,sBAAsB,IAAI,kBAC/B,SAAS,OACT,sBACD;AACD;;AAEF,WAAM,IAAI,MAAM,oBAAoB,EAAE,sBAAsB,MAAM,OAAO;;;AAM7E,UAAO,sBADe,qBAAqB,OAAO,IAAI;;;AAK1D,QAAO;;;;;;;;;;AAWT,SAAgB,2BACd,QACA,OACA,kBAAyC,EAAE,EAC3C,UACyB;CACzB,MAAM,WAAW,aAAa,QAAQ,OAAO,MAAM,iBAAiB,SAAS;AAE7E,MAAK,MAAM,aAAa,OAAO,KAAK,MAAM,QAAQ,EAAE;EAClD,MAAM,SAAS,MAAM,QAAQ;AAC7B,MAAI,OAAO,SAAS,cAClB;EAGF,MAAM,qBAAqB,WACvB,SAAS,cAAc,MAAM,MAAM,OAAO,KAAK,GAC/C,OAAO;AACX,MAAI,OAAO,UAAU,eAAe,KAAK,UAAU,mBAAmB,CACpE;EAGF,MAAM,WAAW,wBAAwB,QAAQ,gBAAgB;AACjE,MAAI,aAAa,OACf,UAAS,sBAAsB;;AAInC,QAAO"}
|
package/dist/schema/create.d.ts
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
import { DbNow } from "../query/db-now.js";
|
|
2
|
+
import { Prettify } from "../util/types.js";
|
|
3
|
+
import { generateId } from "./generate-id.js";
|
|
4
|
+
import { FragnoDbValidationError } from "./validator.js";
|
|
5
|
+
import { StandardSchemaV1 } from "@standard-schema/spec";
|
|
6
|
+
|
|
1
7
|
//#region src/schema/create.d.ts
|
|
2
8
|
type AnySchema = Schema<Record<string, AnyTable>>;
|
|
3
9
|
type AnyRelation = Relation;
|
|
@@ -72,7 +78,7 @@ interface Index<TColumns extends AnyColumn[] = AnyColumn[], TColumnNames extends
|
|
|
72
78
|
unique: boolean;
|
|
73
79
|
}
|
|
74
80
|
declare class ExplicitRelationInit<TRelationType extends RelationType, TTables extends Record<string, AnyTable>, TTableName extends keyof TTables> extends RelationInit<TRelationType, TTables, TTableName> {
|
|
75
|
-
init(
|
|
81
|
+
init(name: string): Relation<TRelationType, TTables[TTableName]>;
|
|
76
82
|
}
|
|
77
83
|
interface Relation<TRelationType extends RelationType = RelationType, TTable extends AnyTable = AnyTable> {
|
|
78
84
|
id: string;
|
|
@@ -82,12 +88,28 @@ interface Relation<TRelationType extends RelationType = RelationType, TTable ext
|
|
|
82
88
|
referencer: AnyTable;
|
|
83
89
|
on: [string, string][];
|
|
84
90
|
}
|
|
91
|
+
type PickNullable<T> = { [P in keyof T as null extends T[P] ? P : never]: T[P] };
|
|
92
|
+
type PickNotNullable<T> = { [P in keyof T as null extends T[P] ? never : P]: T[P] };
|
|
93
|
+
type RawInsertValuesFromColumns<TColumns extends Record<string, AnyColumn>> = { [K in keyof TColumns as string extends K ? never : K]: TColumns[K]["$in"] };
|
|
94
|
+
type TableInsertValuesFromColumns<TColumns extends Record<string, AnyColumn>> = Prettify<Partial<PickNullable<RawInsertValuesFromColumns<TColumns>>> & PickNotNullable<RawInsertValuesFromColumns<TColumns>>>;
|
|
95
|
+
type TableInsertValues<T extends AnyTable> = TableInsertValuesFromColumns<T["columns"]>;
|
|
96
|
+
type TableUnknownKeysMode = "strip" | "strict";
|
|
97
|
+
type TableValidationOptions = {
|
|
98
|
+
unknownKeys?: TableUnknownKeysMode;
|
|
99
|
+
};
|
|
85
100
|
interface Table<TColumns extends Record<string, AnyColumn> = Record<string, AnyColumn>, TRelations extends Record<string, AnyRelation> = Record<string, AnyRelation>, TIndexes extends Record<string, Index> = Record<string, Index>> {
|
|
101
|
+
/**
|
|
102
|
+
* Standard Schema-compatible validator for insert values.
|
|
103
|
+
*/
|
|
104
|
+
"~standard": StandardSchemaV1.Props<TableInsertValuesFromColumns<TColumns>, TableInsertValuesFromColumns<TColumns>>;
|
|
86
105
|
name: string;
|
|
87
|
-
ormName: string;
|
|
88
106
|
columns: TColumns;
|
|
89
107
|
relations: TRelations;
|
|
90
108
|
indexes: TIndexes;
|
|
109
|
+
/**
|
|
110
|
+
* Validate insert values at runtime.
|
|
111
|
+
*/
|
|
112
|
+
validate: (value: unknown, options?: TableValidationOptions) => TableInsertValuesFromColumns<TColumns>;
|
|
91
113
|
/**
|
|
92
114
|
* Get column by name
|
|
93
115
|
*/
|
|
@@ -147,7 +169,6 @@ type TypeMap = {
|
|
|
147
169
|
declare class Column<TType extends keyof TypeMap, TIn = unknown, TOut = unknown> {
|
|
148
170
|
type: TType;
|
|
149
171
|
name: string;
|
|
150
|
-
ormName: string;
|
|
151
172
|
isNullable: boolean;
|
|
152
173
|
role: "external-id" | "internal-id" | "version" | "reference" | "regular";
|
|
153
174
|
isHidden: boolean;
|
|
@@ -246,7 +267,8 @@ declare class VersionColumn<TIn = unknown, TOut = unknown> extends Column<"integ
|
|
|
246
267
|
role: "version";
|
|
247
268
|
constructor();
|
|
248
269
|
}
|
|
249
|
-
|
|
270
|
+
type ColumnInput<TType extends keyof TypeMap> = TypeMap[TType] | (TType extends "timestamp" | "date" ? DbNow : never);
|
|
271
|
+
declare function column<TType extends keyof TypeMap>(type: TType): Column<TType, ColumnInput<TType>, TypeMap[TType]>;
|
|
250
272
|
/**
|
|
251
273
|
* Create a reference column that points to another table's internal ID.
|
|
252
274
|
* This is used for foreign key relationships.
|
|
@@ -340,11 +362,11 @@ declare class TableBuilder<TColumns extends Record<string, AnyColumn> = Record<s
|
|
|
340
362
|
/**
|
|
341
363
|
* Add a column to the table.
|
|
342
364
|
*/
|
|
343
|
-
addColumn<TColumnName extends string, TColumn extends AnyColumn>(
|
|
365
|
+
addColumn<TColumnName extends string, TColumn extends AnyColumn>(name: TColumnName, col: TColumn): TableBuilder<TColumns & Record<TColumnName, TColumn>, TRelations, TIndexes>;
|
|
344
366
|
/**
|
|
345
367
|
* Add a column to the table with simplified syntax.
|
|
346
368
|
*/
|
|
347
|
-
addColumn<TColumnName extends string, TType extends keyof TypeMap>(
|
|
369
|
+
addColumn<TColumnName extends string, TType extends keyof TypeMap>(name: TColumnName, type: TType): TableBuilder<TColumns & Record<TColumnName, Column<TType, ColumnInput<TType>, TypeMap[TType]>>, TRelations, TIndexes>;
|
|
348
370
|
/**
|
|
349
371
|
* Create an index on the specified columns.
|
|
350
372
|
*/
|
|
@@ -357,6 +379,10 @@ declare class TableBuilder<TColumns extends Record<string, AnyColumn> = Record<s
|
|
|
357
379
|
build(): Table<TColumns, TRelations, TIndexes>;
|
|
358
380
|
}
|
|
359
381
|
interface Schema<TTables extends Record<string, AnyTable> = Record<string, AnyTable>> {
|
|
382
|
+
/**
|
|
383
|
+
* @description The name of the schema (required).
|
|
384
|
+
*/
|
|
385
|
+
name: string;
|
|
360
386
|
/**
|
|
361
387
|
* @description The version of the schema, automatically incremented on each change.
|
|
362
388
|
*/
|
|
@@ -385,14 +411,14 @@ type UpdateTable<TTables extends Record<string, AnyTable>, TTableName extends ke
|
|
|
385
411
|
type ColumnsToTuple<TColumns extends Record<string, AnyColumn>, TColumnNames extends readonly (keyof TColumns)[]> = { [K in keyof TColumnNames]: TColumnNames[K] extends keyof TColumns ? TColumns[TColumnNames[K]] : never } & AnyColumn[];
|
|
386
412
|
declare class SchemaBuilder<TTables extends Record<string, AnyTable> = {}> {
|
|
387
413
|
#private;
|
|
388
|
-
constructor(existingSchema?: Schema<TTables>);
|
|
414
|
+
constructor(name: string, existingSchema?: Schema<TTables>);
|
|
389
415
|
/**
|
|
390
416
|
* Add an existing schema to this builder.
|
|
391
417
|
* Merges tables and operations from the provided schema.
|
|
392
418
|
*
|
|
393
419
|
* @example
|
|
394
420
|
* ```ts
|
|
395
|
-
* const builder = new SchemaBuilder()
|
|
421
|
+
* const builder = new SchemaBuilder("combined")
|
|
396
422
|
* .add(userSchema)
|
|
397
423
|
* .add(postSchema)
|
|
398
424
|
* .addTable("comments", ...);
|
|
@@ -402,7 +428,7 @@ declare class SchemaBuilder<TTables extends Record<string, AnyTable> = {}> {
|
|
|
402
428
|
/**
|
|
403
429
|
* Add a table to the schema. Increments the version counter.
|
|
404
430
|
*/
|
|
405
|
-
addTable<TTableName extends string, TColumns extends Record<string, AnyColumn>, TRelations extends Record<string, AnyRelation>, TIndexes extends Record<string, Index> = Record<string, Index>>(
|
|
431
|
+
addTable<TTableName extends string, TColumns extends Record<string, AnyColumn>, TRelations extends Record<string, AnyRelation>, TIndexes extends Record<string, Index> = Record<string, Index>>(name: TTableName, callback: (builder: TableBuilder<Record<string, AnyColumn>, Record<string, AnyRelation>, Record<string, Index>>) => TableBuilder<TColumns, TRelations, TIndexes>): SchemaBuilder<TTables & Record<TTableName, Table<TColumns, TRelations, TIndexes>>>;
|
|
406
432
|
/**
|
|
407
433
|
* Add a relation between two tables.
|
|
408
434
|
*
|
|
@@ -412,7 +438,7 @@ declare class SchemaBuilder<TTables extends Record<string, AnyTable> = {}> {
|
|
|
412
438
|
* @example
|
|
413
439
|
* ```ts
|
|
414
440
|
* // One-to-one or many-to-one: post -> user
|
|
415
|
-
* schema(s => s
|
|
441
|
+
* schema("blog", s => s
|
|
416
442
|
* .addTable("users", t => t.addColumn("id", idColumn()))
|
|
417
443
|
* .addTable("posts", t => t
|
|
418
444
|
* .addColumn("id", idColumn())
|
|
@@ -460,7 +486,7 @@ declare class SchemaBuilder<TTables extends Record<string, AnyTable> = {}> {
|
|
|
460
486
|
* @example
|
|
461
487
|
* ```ts
|
|
462
488
|
* // Add a new column to an existing table
|
|
463
|
-
* schema(s => s
|
|
489
|
+
* schema("blog", s => s
|
|
464
490
|
* .addTable("users", t => t
|
|
465
491
|
* .addColumn("id", idColumn())
|
|
466
492
|
* .addColumn("name", column("string")))
|
|
@@ -484,8 +510,8 @@ declare class SchemaBuilder<TTables extends Record<string, AnyTable> = {}> {
|
|
|
484
510
|
/**
|
|
485
511
|
* Create a new schema with callback pattern.
|
|
486
512
|
*/
|
|
487
|
-
declare function schema<const TTables extends Record<string, AnyTable> = {}>(callback: (builder: SchemaBuilder<{}>) => SchemaBuilder<TTables>): Schema<TTables>;
|
|
488
|
-
declare function compileForeignKey(key: ForeignKey
|
|
513
|
+
declare function schema<const TTables extends Record<string, AnyTable> = {}>(name: string, callback: (builder: SchemaBuilder<{}>) => SchemaBuilder<TTables>): Schema<TTables>;
|
|
514
|
+
declare function compileForeignKey(key: ForeignKey): {
|
|
489
515
|
name: string;
|
|
490
516
|
table: string;
|
|
491
517
|
referencedTable: string;
|
|
@@ -493,5 +519,5 @@ declare function compileForeignKey(key: ForeignKey, nameType?: "sql" | "orm"): {
|
|
|
493
519
|
columns: string[];
|
|
494
520
|
};
|
|
495
521
|
//#endregion
|
|
496
|
-
export { AnyColumn, AnyRelation, AnySchema, AnyTable, Column, DefaultBuilder, ExplicitRelationInit, ForeignKey, FragnoId, FragnoReference, IdColumn, Index, InternalIdColumn, Relation, RuntimeDefaultBuilder, Schema, SchemaBuilder, SchemaOperation, Table, TableBuilder, TableSubOperation, TypeMap, VersionColumn, column, compileForeignKey, idColumn, internalIdColumn, referenceColumn, schema, versionColumn };
|
|
522
|
+
export { AnyColumn, AnyRelation, AnySchema, AnyTable, Column, DefaultBuilder, ExplicitRelationInit, ForeignKey, FragnoDbValidationError, FragnoId, FragnoReference, IdColumn, Index, InternalIdColumn, Relation, RuntimeDefaultBuilder, Schema, SchemaBuilder, SchemaOperation, Table, TableBuilder, TableInsertValues, TableSubOperation, TableUnknownKeysMode, TableValidationOptions, TypeMap, VersionColumn, column, compileForeignKey, generateId, idColumn, internalIdColumn, referenceColumn, schema, versionColumn };
|
|
497
523
|
//# sourceMappingURL=create.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.d.ts","names":[],"sources":["../../src/schema/create.ts"],"sourcesContent":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"create.d.ts","names":[],"sources":["../../src/schema/create.ts"],"sourcesContent":[],"mappings":"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"}
|
package/dist/schema/create.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { createId } from "../id.js";
|
|
2
|
+
import { FragnoDbValidationError, createTableStandardSchemaProps, createTableValidator } from "./validator.js";
|
|
3
|
+
import { generateId } from "./generate-id.js";
|
|
2
4
|
|
|
3
5
|
//#region src/schema/create.ts
|
|
4
6
|
var RelationInit = class {
|
|
@@ -13,11 +15,11 @@ var RelationInit = class {
|
|
|
13
15
|
}
|
|
14
16
|
};
|
|
15
17
|
var ExplicitRelationInit = class extends RelationInit {
|
|
16
|
-
init(
|
|
18
|
+
init(name) {
|
|
17
19
|
return {
|
|
18
|
-
id: `${this.referencer.
|
|
20
|
+
id: `${this.referencer.name}_${this.referencedTable.name}`,
|
|
19
21
|
on: this.on,
|
|
20
|
-
name
|
|
22
|
+
name,
|
|
21
23
|
referencer: this.referencer,
|
|
22
24
|
table: this.referencedTable,
|
|
23
25
|
type: this.type
|
|
@@ -41,7 +43,6 @@ const runtimeDefaultBuilder = {
|
|
|
41
43
|
var Column = class {
|
|
42
44
|
type;
|
|
43
45
|
name = "";
|
|
44
|
-
ormName = "";
|
|
45
46
|
isNullable = false;
|
|
46
47
|
role = "regular";
|
|
47
48
|
isHidden = false;
|
|
@@ -303,12 +304,15 @@ var FragnoReference = class FragnoReference {
|
|
|
303
304
|
return this.#internalId;
|
|
304
305
|
}
|
|
305
306
|
};
|
|
307
|
+
const validationClasses = {
|
|
308
|
+
FragnoId,
|
|
309
|
+
FragnoReference
|
|
310
|
+
};
|
|
306
311
|
var TableBuilder = class {
|
|
307
312
|
#name;
|
|
308
313
|
#columns;
|
|
309
314
|
#relations;
|
|
310
315
|
#indexes;
|
|
311
|
-
#ormName = "";
|
|
312
316
|
#columnOrder = [];
|
|
313
317
|
constructor(name) {
|
|
314
318
|
this.#name = name;
|
|
@@ -331,12 +335,11 @@ var TableBuilder = class {
|
|
|
331
335
|
getColumnOrder() {
|
|
332
336
|
return this.#columnOrder;
|
|
333
337
|
}
|
|
334
|
-
addColumn(
|
|
338
|
+
addColumn(name, colOrType) {
|
|
335
339
|
const col = typeof colOrType === "string" ? column(colOrType) : colOrType;
|
|
336
|
-
col.
|
|
337
|
-
|
|
338
|
-
this.#
|
|
339
|
-
this.#columnOrder.push(ormName);
|
|
340
|
+
col.name = name;
|
|
341
|
+
this.#columns[name] = col;
|
|
342
|
+
this.#columnOrder.push(name);
|
|
340
343
|
return this;
|
|
341
344
|
}
|
|
342
345
|
/**
|
|
@@ -366,20 +369,16 @@ var TableBuilder = class {
|
|
|
366
369
|
let versionCol;
|
|
367
370
|
if (!this.#columns["_internalId"]) {
|
|
368
371
|
const col = internalIdColumn();
|
|
369
|
-
col.ormName = "_internalId";
|
|
370
372
|
col.name = "_internalId";
|
|
371
373
|
this.#columns["_internalId"] = col;
|
|
372
374
|
}
|
|
373
375
|
if (!this.#columns["_version"]) {
|
|
374
376
|
const col = versionColumn();
|
|
375
|
-
col.ormName = "_version";
|
|
376
377
|
col.name = "_version";
|
|
377
378
|
this.#columns["_version"] = col;
|
|
378
379
|
}
|
|
379
|
-
const ormName = this.#ormName || this.#name;
|
|
380
380
|
const table = {
|
|
381
381
|
name: this.#name,
|
|
382
|
-
ormName,
|
|
383
382
|
columns: this.#columns,
|
|
384
383
|
relations: this.#relations,
|
|
385
384
|
indexes: this.#indexes,
|
|
@@ -396,6 +395,8 @@ var TableBuilder = class {
|
|
|
396
395
|
return versionCol;
|
|
397
396
|
}
|
|
398
397
|
};
|
|
398
|
+
table["~standard"] = createTableStandardSchemaProps(table, validationClasses);
|
|
399
|
+
table.validate = createTableValidator(table, validationClasses);
|
|
399
400
|
for (const k in this.#columns) {
|
|
400
401
|
const column$1 = this.#columns[k];
|
|
401
402
|
if (!column$1) continue;
|
|
@@ -411,15 +412,31 @@ var TableBuilder = class {
|
|
|
411
412
|
}
|
|
412
413
|
};
|
|
413
414
|
var SchemaBuilder = class SchemaBuilder {
|
|
415
|
+
#name;
|
|
414
416
|
#tables;
|
|
415
417
|
#version = 0;
|
|
416
418
|
#operations = [];
|
|
417
|
-
|
|
419
|
+
#tableNames = /* @__PURE__ */ new Set();
|
|
420
|
+
#indexNames = /* @__PURE__ */ new Set();
|
|
421
|
+
constructor(name, existingSchema) {
|
|
422
|
+
this.#name = name;
|
|
418
423
|
if (existingSchema) {
|
|
419
424
|
this.#tables = existingSchema.tables;
|
|
420
425
|
this.#version = existingSchema.version;
|
|
421
426
|
this.#operations = [...existingSchema.operations];
|
|
422
427
|
} else this.#tables = {};
|
|
428
|
+
for (const table of Object.values(this.#tables)) {
|
|
429
|
+
this.#registerTableName(table.name);
|
|
430
|
+
for (const index of Object.values(table.indexes)) this.#registerIndexName(index.name, table.name);
|
|
431
|
+
}
|
|
432
|
+
}
|
|
433
|
+
#registerTableName(name) {
|
|
434
|
+
if (this.#tableNames.has(name)) throw new Error(`Duplicate table name "${name}" in schema "${this.#name}".`);
|
|
435
|
+
this.#tableNames.add(name);
|
|
436
|
+
}
|
|
437
|
+
#registerIndexName(name, tableName) {
|
|
438
|
+
if (this.#indexNames.has(name)) throw new Error(`Duplicate index name "${name}" in schema "${this.#name}". Index names must be unique across tables (conflict on "${tableName}").`);
|
|
439
|
+
this.#indexNames.add(name);
|
|
423
440
|
}
|
|
424
441
|
/**
|
|
425
442
|
* Add an existing schema to this builder.
|
|
@@ -427,29 +444,39 @@ var SchemaBuilder = class SchemaBuilder {
|
|
|
427
444
|
*
|
|
428
445
|
* @example
|
|
429
446
|
* ```ts
|
|
430
|
-
* const builder = new SchemaBuilder()
|
|
447
|
+
* const builder = new SchemaBuilder("combined")
|
|
431
448
|
* .add(userSchema)
|
|
432
449
|
* .add(postSchema)
|
|
433
450
|
* .addTable("comments", ...);
|
|
434
451
|
* ```
|
|
435
452
|
*/
|
|
436
453
|
mergeWithExistingSchema(schema$1) {
|
|
454
|
+
for (const table of Object.values(schema$1.tables)) {
|
|
455
|
+
if (this.#tableNames.has(table.name)) throw new Error(`Duplicate table name "${table.name}" in schema "${this.#name}" when merging.`);
|
|
456
|
+
for (const index of Object.values(table.indexes)) if (this.#indexNames.has(index.name)) throw new Error(`Duplicate index name "${index.name}" in schema "${this.#name}" when merging (conflict on "${table.name}").`);
|
|
457
|
+
}
|
|
437
458
|
this.#tables = {
|
|
438
459
|
...this.#tables,
|
|
439
460
|
...schema$1.tables
|
|
440
461
|
};
|
|
441
462
|
this.#operations = [...this.#operations, ...schema$1.operations];
|
|
442
463
|
this.#version += schema$1.version;
|
|
464
|
+
for (const table of Object.values(schema$1.tables)) {
|
|
465
|
+
this.#tableNames.add(table.name);
|
|
466
|
+
for (const index of Object.values(table.indexes)) this.#indexNames.add(index.name);
|
|
467
|
+
}
|
|
443
468
|
return this;
|
|
444
469
|
}
|
|
445
470
|
/**
|
|
446
471
|
* Add a table to the schema. Increments the version counter.
|
|
447
472
|
*/
|
|
448
|
-
addTable(
|
|
473
|
+
addTable(name, callback) {
|
|
449
474
|
this.#version++;
|
|
450
|
-
|
|
475
|
+
if (this.#tableNames.has(name)) throw new Error(`Duplicate table name "${name}" in schema "${this.#name}".`);
|
|
476
|
+
const result = callback(new TableBuilder(name));
|
|
451
477
|
const builtTable = result.build();
|
|
452
|
-
|
|
478
|
+
const indexNames = result.getIndexes().map((idx) => idx.name);
|
|
479
|
+
for (const indexName of indexNames) if (this.#indexNames.has(indexName)) throw new Error(`Duplicate index name "${indexName}" in schema "${this.#name}". Index names must be unique across tables (conflict on "${name}").`);
|
|
453
480
|
const subOperations = [];
|
|
454
481
|
const columnOrder = result.getColumnOrder();
|
|
455
482
|
for (const colName of columnOrder) {
|
|
@@ -473,18 +500,20 @@ var SchemaBuilder = class SchemaBuilder {
|
|
|
473
500
|
for (const idx of result.getIndexes()) subOperations.push({
|
|
474
501
|
type: "add-index",
|
|
475
502
|
name: idx.name,
|
|
476
|
-
columns: idx.columns.map((c) => c.
|
|
503
|
+
columns: idx.columns.map((c) => c.name),
|
|
477
504
|
unique: idx.unique
|
|
478
505
|
});
|
|
479
506
|
this.#operations.push({
|
|
480
507
|
type: "add-table",
|
|
481
|
-
tableName:
|
|
508
|
+
tableName: name,
|
|
482
509
|
operations: subOperations
|
|
483
510
|
});
|
|
484
511
|
this.#tables = {
|
|
485
512
|
...this.#tables,
|
|
486
|
-
[
|
|
513
|
+
[name]: builtTable
|
|
487
514
|
};
|
|
515
|
+
this.#tableNames.add(name);
|
|
516
|
+
for (const indexName of indexNames) this.#indexNames.add(indexName);
|
|
488
517
|
return this;
|
|
489
518
|
}
|
|
490
519
|
/**
|
|
@@ -496,7 +525,7 @@ var SchemaBuilder = class SchemaBuilder {
|
|
|
496
525
|
* @example
|
|
497
526
|
* ```ts
|
|
498
527
|
* // One-to-one or many-to-one: post -> user
|
|
499
|
-
* schema(s => s
|
|
528
|
+
* schema("blog", s => s
|
|
500
529
|
* .addTable("users", t => t.addColumn("id", idColumn()))
|
|
501
530
|
* .addTable("posts", t => t
|
|
502
531
|
* .addColumn("id", idColumn())
|
|
@@ -527,6 +556,7 @@ var SchemaBuilder = class SchemaBuilder {
|
|
|
527
556
|
this.#version++;
|
|
528
557
|
const table = this.#tables[config.from.table];
|
|
529
558
|
const referencedTable = this.#tables[config.to.table];
|
|
559
|
+
if (!referenceName || referenceName.trim().length === 0) throw new Error(`referenceName is required for addReference on ${config.from.table}`);
|
|
530
560
|
if (!table) throw new Error(`Table ${config.from.table} not found in schema`);
|
|
531
561
|
if (!referencedTable) throw new Error(`Referenced table ${config.to.table} not found in schema`);
|
|
532
562
|
const columnName = config.from.column;
|
|
@@ -536,6 +566,7 @@ var SchemaBuilder = class SchemaBuilder {
|
|
|
536
566
|
const referencedColumn = referencedTable.columns[actualTargetColumnName];
|
|
537
567
|
if (!column$1) throw new Error(`Column ${columnName} not found in table ${config.from.table}`);
|
|
538
568
|
if (!referencedColumn) throw new Error(`Column ${actualTargetColumnName} not found in table ${config.to.table}`);
|
|
569
|
+
if (table.relations[referenceName]) throw new Error(`Reference ${referenceName} already exists on table ${config.from.table}`);
|
|
539
570
|
if (column$1.role === "reference" && column$1.type !== "bigint") throw new Error(`Reference column ${columnName} must be of type bigint to match internal ID type`);
|
|
540
571
|
const init = new ExplicitRelationInit(config.type, referencedTable, table);
|
|
541
572
|
init.on.push([columnName, targetColumnName]);
|
|
@@ -569,7 +600,7 @@ var SchemaBuilder = class SchemaBuilder {
|
|
|
569
600
|
* @example
|
|
570
601
|
* ```ts
|
|
571
602
|
* // Add a new column to an existing table
|
|
572
|
-
* schema(s => s
|
|
603
|
+
* schema("blog", s => s
|
|
573
604
|
* .addTable("users", t => t
|
|
574
605
|
* .addColumn("id", idColumn())
|
|
575
606
|
* .addColumn("name", column("string")))
|
|
@@ -598,12 +629,15 @@ var SchemaBuilder = class SchemaBuilder {
|
|
|
598
629
|
columnName: colName,
|
|
599
630
|
column: newTable.columns[colName]
|
|
600
631
|
});
|
|
601
|
-
for (const idx of resultBuilder.getIndexes()) if (!existingIndexes.has(idx.name))
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
632
|
+
for (const idx of resultBuilder.getIndexes()) if (!existingIndexes.has(idx.name)) {
|
|
633
|
+
if (this.#indexNames.has(idx.name)) throw new Error(`Duplicate index name "${idx.name}" in schema "${this.#name}". Index names must be unique across tables (conflict on "${tableName}").`);
|
|
634
|
+
subOperations.push({
|
|
635
|
+
type: "add-index",
|
|
636
|
+
name: idx.name,
|
|
637
|
+
columns: idx.columns.map((c) => c.name),
|
|
638
|
+
unique: idx.unique
|
|
639
|
+
});
|
|
640
|
+
}
|
|
607
641
|
if (subOperations.length > 0) {
|
|
608
642
|
this.#version++;
|
|
609
643
|
this.#operations.push({
|
|
@@ -613,6 +647,7 @@ var SchemaBuilder = class SchemaBuilder {
|
|
|
613
647
|
});
|
|
614
648
|
}
|
|
615
649
|
this.#tables[tableName] = newTable;
|
|
650
|
+
for (const idx of resultBuilder.getIndexes()) if (!existingIndexes.has(idx.name)) this.#indexNames.add(idx.name);
|
|
616
651
|
for (const col of Object.values(newTable.columns)) col.tableName = newTable.name;
|
|
617
652
|
return this;
|
|
618
653
|
}
|
|
@@ -624,6 +659,7 @@ var SchemaBuilder = class SchemaBuilder {
|
|
|
624
659
|
const version = this.#version;
|
|
625
660
|
const tables = this.#tables;
|
|
626
661
|
return {
|
|
662
|
+
name: this.#name,
|
|
627
663
|
version,
|
|
628
664
|
tables,
|
|
629
665
|
operations,
|
|
@@ -638,7 +674,6 @@ var SchemaBuilder = class SchemaBuilder {
|
|
|
638
674
|
else if (col instanceof IdColumn) clonedCol = new IdColumn(col.type);
|
|
639
675
|
else clonedCol = new Column(col.type);
|
|
640
676
|
clonedCol.name = col.name;
|
|
641
|
-
clonedCol.ormName = col.ormName;
|
|
642
677
|
clonedCol.isNullable = col.isNullable;
|
|
643
678
|
clonedCol.role = col.role;
|
|
644
679
|
clonedCol.isHidden = col.isHidden;
|
|
@@ -646,19 +681,24 @@ var SchemaBuilder = class SchemaBuilder {
|
|
|
646
681
|
clonedCol.tableName = col.tableName;
|
|
647
682
|
clonedColumns[colName] = clonedCol;
|
|
648
683
|
}
|
|
649
|
-
|
|
684
|
+
const clonedTable = {
|
|
650
685
|
...v,
|
|
651
686
|
columns: clonedColumns
|
|
652
687
|
};
|
|
688
|
+
clonedTable["~standard"] = createTableStandardSchemaProps(clonedTable, validationClasses);
|
|
689
|
+
clonedTable.validate = createTableValidator(clonedTable, validationClasses);
|
|
690
|
+
cloneTables[k] = clonedTable;
|
|
653
691
|
}
|
|
654
|
-
|
|
692
|
+
const clonedSchema = {
|
|
693
|
+
name: this.#name,
|
|
655
694
|
version,
|
|
656
695
|
tables: cloneTables,
|
|
657
696
|
operations: [...operations],
|
|
658
697
|
clone: () => {
|
|
659
698
|
throw new Error("Cannot clone during clone");
|
|
660
699
|
}
|
|
661
|
-
}
|
|
700
|
+
};
|
|
701
|
+
return new SchemaBuilder(this.#name, clonedSchema).build();
|
|
662
702
|
}
|
|
663
703
|
};
|
|
664
704
|
}
|
|
@@ -672,19 +712,19 @@ var SchemaBuilder = class SchemaBuilder {
|
|
|
672
712
|
/**
|
|
673
713
|
* Create a new schema with callback pattern.
|
|
674
714
|
*/
|
|
675
|
-
function schema(callback) {
|
|
676
|
-
return callback(new SchemaBuilder()).build();
|
|
715
|
+
function schema(name, callback) {
|
|
716
|
+
return callback(new SchemaBuilder(name)).build();
|
|
677
717
|
}
|
|
678
|
-
function compileForeignKey(key
|
|
718
|
+
function compileForeignKey(key) {
|
|
679
719
|
return {
|
|
680
720
|
name: key.name,
|
|
681
|
-
table:
|
|
682
|
-
referencedTable:
|
|
683
|
-
referencedColumns: key.referencedColumns.map((col) =>
|
|
684
|
-
columns: key.columns.map((col) =>
|
|
721
|
+
table: key.table.name,
|
|
722
|
+
referencedTable: key.referencedTable.name,
|
|
723
|
+
referencedColumns: key.referencedColumns.map((col) => col.name),
|
|
724
|
+
columns: key.columns.map((col) => col.name)
|
|
685
725
|
};
|
|
686
726
|
}
|
|
687
727
|
|
|
688
728
|
//#endregion
|
|
689
|
-
export { Column, ExplicitRelationInit, FragnoId, FragnoReference, IdColumn, InternalIdColumn, SchemaBuilder, TableBuilder, VersionColumn, column, compileForeignKey, idColumn, internalIdColumn, referenceColumn, schema, versionColumn };
|
|
729
|
+
export { Column, ExplicitRelationInit, FragnoDbValidationError, FragnoId, FragnoReference, IdColumn, InternalIdColumn, SchemaBuilder, TableBuilder, VersionColumn, column, compileForeignKey, generateId, idColumn, internalIdColumn, referenceColumn, schema, versionColumn };
|
|
690
730
|
//# sourceMappingURL=create.js.map
|