@fragno-dev/db 0.2.2 → 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 +202 -140
- package/CHANGELOG.md +35 -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 +39 -29
- 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 +18 -7
- package/dist/db-fragment-definition-builder.d.ts.map +1 -1
- package/dist/db-fragment-definition-builder.js +116 -54
- 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 +79 -2
- package/dist/fragments/internal-fragment.d.ts.map +1 -1
- package/dist/fragments/internal-fragment.js +150 -32
- 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 +42 -1
- package/dist/hooks/hooks.d.ts.map +1 -1
- package/dist/hooks/hooks.js +72 -6
- 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 +15 -8
- 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.map +1 -1
- package/dist/query/unit-of-work/execute-unit-of-work.js +11 -6
- 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 +50 -14
- package/dist/query/unit-of-work/unit-of-work.d.ts.map +1 -1
- package/dist/query/unit-of-work/unit-of-work.js +86 -5
- package/dist/query/unit-of-work/unit-of-work.js.map +1 -1
- package/dist/query/value-decoding.js +9 -6
- 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 +38 -14
- package/dist/schema/create.d.ts.map +1 -1
- package/dist/schema/create.js +81 -42
- package/dist/schema/create.js.map +1 -1
- package/dist/schema/generate-id.js +2 -2
- package/dist/schema/generate-id.js.map +1 -1
- 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} +10 -10
- package/src/adapters/{drizzle/drizzle-adapter-sqlite3.test.ts → generic-sql/sql-adapter-sqlite3-uow.test.ts} +7 -7
- 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 +30 -12
- package/src/db-fragment-definition-builder.ts +142 -73
- package/src/db-fragment-instantiator.test.ts +105 -13
- package/src/db-fragment-integration.test.ts +9 -7
- 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 +458 -8
- package/src/fragments/internal-fragment.ts +322 -63
- 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 +165 -5
- package/src/hooks/hooks.ts +197 -9
- 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 +64 -26
- 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 +25 -1
- package/src/query/unit-of-work/execute-unit-of-work.ts +25 -8
- package/src/query/unit-of-work/unit-of-work-coordinator.test.ts +12 -12
- 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 +168 -37
- package/src/query/unit-of-work/unit-of-work.ts +203 -18
- 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 +185 -47
- package/src/schema/generate-id.test.ts +2 -2
- package/src/schema/generate-id.ts +2 -2
- 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
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { createSQLSerializer } from "./serialize/create-sql-serializer.js";
|
|
2
1
|
import { FragnoId, FragnoReference } from "../schema/create.js";
|
|
2
|
+
import { createSQLSerializer } from "./serialize/create-sql-serializer.js";
|
|
3
3
|
|
|
4
4
|
//#region src/query/value-decoding.ts
|
|
5
5
|
/**
|
|
@@ -14,6 +14,7 @@ import { FragnoId, FragnoReference } from "../schema/create.js";
|
|
|
14
14
|
* @param result - The raw database result record
|
|
15
15
|
* @param table - The table schema definition containing column and relation information
|
|
16
16
|
* @param driverConfig - The driver configuration containing database type information
|
|
17
|
+
* @param sqliteStorageMode - Optional SQLite storage mode override
|
|
17
18
|
* @returns A record in application format with deserialized values
|
|
18
19
|
*
|
|
19
20
|
* @example
|
|
@@ -26,18 +27,20 @@ import { FragnoId, FragnoReference } from "../schema/create.js";
|
|
|
26
27
|
* // Returns: { userId: 123, createdAt: Date, posts: { title: 'Hello' } }
|
|
27
28
|
* ```
|
|
28
29
|
*/
|
|
29
|
-
function decodeResult(result, table, driverConfig) {
|
|
30
|
-
const serializer = createSQLSerializer(driverConfig);
|
|
30
|
+
function decodeResult(result, table, driverConfig, sqliteStorageMode, resolver) {
|
|
31
|
+
const serializer = createSQLSerializer(driverConfig, sqliteStorageMode);
|
|
31
32
|
const output = {};
|
|
32
33
|
const columnValues = {};
|
|
34
|
+
const columnMap = resolver ? resolver.getColumnNameMap(table) : void 0;
|
|
33
35
|
const relationData = {};
|
|
34
36
|
for (const k in result) {
|
|
35
37
|
const colonIndex = k.indexOf(":");
|
|
36
38
|
const value = result[k];
|
|
37
39
|
if (colonIndex === -1) {
|
|
38
|
-
const
|
|
40
|
+
const logicalName = columnMap?.[k] ?? k;
|
|
41
|
+
const col = table.columns[logicalName];
|
|
39
42
|
if (!col) continue;
|
|
40
|
-
columnValues[
|
|
43
|
+
columnValues[logicalName] = serializer.deserialize(value, col);
|
|
41
44
|
continue;
|
|
42
45
|
}
|
|
43
46
|
const relationName = k.slice(0, colonIndex);
|
|
@@ -49,7 +52,7 @@ function decodeResult(result, table, driverConfig) {
|
|
|
49
52
|
for (const relationName in relationData) {
|
|
50
53
|
const relation = table.relations[relationName];
|
|
51
54
|
if (!relation) continue;
|
|
52
|
-
output[relationName] = decodeResult(relationData[relationName], relation.table, driverConfig);
|
|
55
|
+
output[relationName] = decodeResult(relationData[relationName], relation.table, driverConfig, sqliteStorageMode, resolver);
|
|
53
56
|
}
|
|
54
57
|
for (const k in columnValues) {
|
|
55
58
|
const col = table.columns[k];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"value-decoding.js","names":["output: Record<string, unknown>","columnValues: Record<string, unknown>","relationData: Record<string, Record<string, unknown>>"],"sources":["../../src/query/value-decoding.ts"],"sourcesContent":["import type { AnyTable } from \"../schema/create\";\nimport { createSQLSerializer } from \"./serialize/create-sql-serializer\";\nimport { FragnoId, FragnoReference } from \"../schema/create\";\nimport type { DriverConfig } from \"../adapters/generic-sql/driver-config\";\n\n/**\n * Decodes a database result record to application format.\n *\n * This function transforms database column names back to application property names\n * and deserializes values according to the database provider's format (e.g., converting\n * SQLite integers back to JavaScript Date objects).\n *\n * Supports relation data encoded with the pattern `relationName:columnName`.\n *\n * @param result - The raw database result record\n * @param table - The table schema definition containing column and relation information\n * @param driverConfig - The driver configuration containing database type information\n * @returns A record in application format with deserialized values\n *\n * @example\n * ```ts\n * const decoded = decodeResult(\n * { user_id: 123, created_at: 1234567890, 'posts:title': 'Hello' },\n * userTable,\n * driverConfig\n * );\n * // Returns: { userId: 123, createdAt: Date, posts: { title: 'Hello' } }\n * ```\n */\nexport function decodeResult(\n result: Record<string, unknown>,\n table: AnyTable,\n driverConfig: DriverConfig,\n): Record<string, unknown> {\n const serializer = createSQLSerializer(driverConfig);\n const output: Record<string, unknown> = {};\n // First pass: collect all column values\n const columnValues: Record<string, unknown> = {};\n\n // Collect all relation data (including nested) keyed by relation name\n const relationData: Record<string, Record<string, unknown>> = {};\n\n for (const k in result) {\n const colonIndex = k.indexOf(\":\");\n const value = result[k];\n\n // Direct column (no colon)\n if (colonIndex === -1) {\n const col = table.columns[
|
|
1
|
+
{"version":3,"file":"value-decoding.js","names":["output: Record<string, unknown>","columnValues: Record<string, unknown>","relationData: Record<string, Record<string, unknown>>"],"sources":["../../src/query/value-decoding.ts"],"sourcesContent":["import type { AnyTable } from \"../schema/create\";\nimport { createSQLSerializer } from \"./serialize/create-sql-serializer\";\nimport { FragnoId, FragnoReference } from \"../schema/create\";\nimport type { DriverConfig } from \"../adapters/generic-sql/driver-config\";\nimport type { SQLiteStorageMode } from \"../adapters/generic-sql/sqlite-storage\";\nimport type { NamingResolver } from \"../naming/sql-naming\";\n\n/**\n * Decodes a database result record to application format.\n *\n * This function transforms database column names back to application property names\n * and deserializes values according to the database provider's format (e.g., converting\n * SQLite integers back to JavaScript Date objects).\n *\n * Supports relation data encoded with the pattern `relationName:columnName`.\n *\n * @param result - The raw database result record\n * @param table - The table schema definition containing column and relation information\n * @param driverConfig - The driver configuration containing database type information\n * @param sqliteStorageMode - Optional SQLite storage mode override\n * @returns A record in application format with deserialized values\n *\n * @example\n * ```ts\n * const decoded = decodeResult(\n * { user_id: 123, created_at: 1234567890, 'posts:title': 'Hello' },\n * userTable,\n * driverConfig\n * );\n * // Returns: { userId: 123, createdAt: Date, posts: { title: 'Hello' } }\n * ```\n */\nexport function decodeResult(\n result: Record<string, unknown>,\n table: AnyTable,\n driverConfig: DriverConfig,\n sqliteStorageMode?: SQLiteStorageMode,\n resolver?: NamingResolver,\n): Record<string, unknown> {\n const serializer = createSQLSerializer(driverConfig, sqliteStorageMode);\n const output: Record<string, unknown> = {};\n // First pass: collect all column values\n const columnValues: Record<string, unknown> = {};\n const columnMap = resolver ? resolver.getColumnNameMap(table) : undefined;\n\n // Collect all relation data (including nested) keyed by relation name\n const relationData: Record<string, Record<string, unknown>> = {};\n\n for (const k in result) {\n const colonIndex = k.indexOf(\":\");\n const value = result[k];\n\n // Direct column (no colon)\n if (colonIndex === -1) {\n const logicalName = columnMap?.[k] ?? k;\n const col = table.columns[logicalName];\n if (!col) {\n continue;\n }\n\n // Store all column values (including hidden ones for FragnoId creation)\n columnValues[logicalName] = serializer.deserialize(value, col);\n continue;\n }\n\n // Relation column (has colon)\n const relationName = k.slice(0, colonIndex);\n const remainder = k.slice(colonIndex + 1);\n\n const relation = table.relations[relationName];\n if (relation === undefined) {\n continue;\n }\n\n // Collect relation data with the remaining key path\n relationData[relationName] ??= {};\n relationData[relationName][remainder] = value;\n }\n\n // Process each relation's data recursively\n for (const relationName in relationData) {\n const relation = table.relations[relationName];\n if (!relation) {\n continue;\n }\n\n // Recursively decode the relation data\n output[relationName] = decodeResult(\n relationData[relationName],\n relation.table,\n driverConfig,\n sqliteStorageMode,\n resolver,\n );\n }\n\n // Second pass: create output with FragnoId objects where appropriate\n for (const k in columnValues) {\n const col = table.columns[k];\n if (!col) {\n continue;\n }\n\n // Filter out hidden columns (like _internalId, _version) from results\n if (col.isHidden) {\n continue;\n }\n\n // For external ID columns, create FragnoId if we have both external and internal IDs\n if (col.role === \"external-id\" && columnValues[\"_internalId\"] !== undefined) {\n output[k] = new FragnoId({\n externalId: columnValues[k] as string,\n internalId: columnValues[\"_internalId\"] as bigint,\n // _version is always selected as a hidden column, so it should always be present\n version: columnValues[\"_version\"] as number,\n });\n } else if (col.role === \"reference\") {\n // For reference columns, create FragnoReference with internal ID\n output[k] = FragnoReference.fromInternal(columnValues[k] as bigint);\n } else {\n output[k] = columnValues[k];\n }\n }\n\n return output;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgCA,SAAgB,aACd,QACA,OACA,cACA,mBACA,UACyB;CACzB,MAAM,aAAa,oBAAoB,cAAc,kBAAkB;CACvE,MAAMA,SAAkC,EAAE;CAE1C,MAAMC,eAAwC,EAAE;CAChD,MAAM,YAAY,WAAW,SAAS,iBAAiB,MAAM,GAAG;CAGhE,MAAMC,eAAwD,EAAE;AAEhE,MAAK,MAAM,KAAK,QAAQ;EACtB,MAAM,aAAa,EAAE,QAAQ,IAAI;EACjC,MAAM,QAAQ,OAAO;AAGrB,MAAI,eAAe,IAAI;GACrB,MAAM,cAAc,YAAY,MAAM;GACtC,MAAM,MAAM,MAAM,QAAQ;AAC1B,OAAI,CAAC,IACH;AAIF,gBAAa,eAAe,WAAW,YAAY,OAAO,IAAI;AAC9D;;EAIF,MAAM,eAAe,EAAE,MAAM,GAAG,WAAW;EAC3C,MAAM,YAAY,EAAE,MAAM,aAAa,EAAE;AAGzC,MADiB,MAAM,UAAU,kBAChB,OACf;AAIF,eAAa,kBAAkB,EAAE;AACjC,eAAa,cAAc,aAAa;;AAI1C,MAAK,MAAM,gBAAgB,cAAc;EACvC,MAAM,WAAW,MAAM,UAAU;AACjC,MAAI,CAAC,SACH;AAIF,SAAO,gBAAgB,aACrB,aAAa,eACb,SAAS,OACT,cACA,mBACA,SACD;;AAIH,MAAK,MAAM,KAAK,cAAc;EAC5B,MAAM,MAAM,MAAM,QAAQ;AAC1B,MAAI,CAAC,IACH;AAIF,MAAI,IAAI,SACN;AAIF,MAAI,IAAI,SAAS,iBAAiB,aAAa,mBAAmB,OAChE,QAAO,KAAK,IAAI,SAAS;GACvB,YAAY,aAAa;GACzB,YAAY,aAAa;GAEzB,SAAS,aAAa;GACvB,CAAC;WACO,IAAI,SAAS,YAEtB,QAAO,KAAK,gBAAgB,aAAa,aAAa,GAAa;MAEnE,QAAO,KAAK,aAAa;;AAI7B,QAAO"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { FragnoId, FragnoReference } from "../schema/create.js";
|
|
2
|
-
import { generateRuntimeDefault } from "./column-defaults.js";
|
|
2
|
+
import { generateDatabaseDefault, generateRuntimeDefault } from "./column-defaults.js";
|
|
3
3
|
|
|
4
4
|
//#region src/query/value-encoding.ts
|
|
5
5
|
/**
|
|
@@ -79,14 +79,15 @@ function resolveFragnoIdValue(value, col) {
|
|
|
79
79
|
* // Returns: { user_id: 123, created_at: Date } (not yet serialized)
|
|
80
80
|
* ```
|
|
81
81
|
*/
|
|
82
|
-
function encodeValues(values, table, generateDefault) {
|
|
82
|
+
function encodeValues(values, table, generateDefault, runtimeDefaults = {}, resolver) {
|
|
83
83
|
const result = {};
|
|
84
84
|
for (const k in table.columns) {
|
|
85
85
|
const col = table.columns[k];
|
|
86
86
|
if (col.role === "internal-id") continue;
|
|
87
87
|
let value = values[k];
|
|
88
|
-
if (generateDefault && value === void 0) value = generateRuntimeDefault(col);
|
|
88
|
+
if (generateDefault && value === void 0) value = generateRuntimeDefault(col, runtimeDefaults);
|
|
89
89
|
if (value !== void 0) {
|
|
90
|
+
const physicalColumnName = resolver ? resolver.getColumnName(table.name, col.name) : col.name;
|
|
90
91
|
if (col.role === "reference") {
|
|
91
92
|
let needsSubquery = false;
|
|
92
93
|
let externalIdForSubquery;
|
|
@@ -97,28 +98,47 @@ function encodeValues(values, table, generateDefault) {
|
|
|
97
98
|
needsSubquery = true;
|
|
98
99
|
externalIdForSubquery = value.externalId;
|
|
99
100
|
} else if (value instanceof FragnoId && value.internalId !== void 0) {
|
|
100
|
-
result[
|
|
101
|
+
result[physicalColumnName] = value.internalId;
|
|
101
102
|
continue;
|
|
102
103
|
} else if (value instanceof FragnoReference) {
|
|
103
|
-
result[
|
|
104
|
+
result[physicalColumnName] = value.internalId;
|
|
104
105
|
continue;
|
|
105
106
|
}
|
|
106
107
|
if (needsSubquery) {
|
|
107
108
|
const relation = Object.values(table.relations).find((rel) => rel.on.some(([localCol]) => localCol === k));
|
|
108
109
|
if (relation) {
|
|
109
|
-
result[
|
|
110
|
+
result[physicalColumnName] = new ReferenceSubquery(relation.table, externalIdForSubquery);
|
|
110
111
|
continue;
|
|
111
112
|
}
|
|
112
113
|
throw new Error(`Reference column ${k} not found in table ${table.name}`);
|
|
113
114
|
}
|
|
114
115
|
}
|
|
115
|
-
|
|
116
|
-
result[col.name] = resolvedValue;
|
|
116
|
+
result[physicalColumnName] = resolveFragnoIdValue(value, col);
|
|
117
117
|
}
|
|
118
118
|
}
|
|
119
119
|
return result;
|
|
120
120
|
}
|
|
121
|
+
/**
|
|
122
|
+
* Encode values and apply database defaults in-process.
|
|
123
|
+
*
|
|
124
|
+
* This is intended for adapters that cannot rely on database DEFAULT constraints,
|
|
125
|
+
* such as the in-memory adapter.
|
|
126
|
+
*
|
|
127
|
+
* @internal
|
|
128
|
+
*/
|
|
129
|
+
function encodeValuesWithDbDefaults(values, table, runtimeDefaults = {}, resolver) {
|
|
130
|
+
const resolved = encodeValues(values, table, true, runtimeDefaults, resolver);
|
|
131
|
+
for (const columnKey of Object.keys(table.columns)) {
|
|
132
|
+
const column = table.columns[columnKey];
|
|
133
|
+
if (column.role === "internal-id") continue;
|
|
134
|
+
const physicalColumnName = resolver ? resolver.getColumnName(table.name, column.name) : column.name;
|
|
135
|
+
if (Object.prototype.hasOwnProperty.call(resolved, physicalColumnName)) continue;
|
|
136
|
+
const fallback = generateDatabaseDefault(column, runtimeDefaults);
|
|
137
|
+
if (fallback !== void 0) resolved[physicalColumnName] = fallback;
|
|
138
|
+
}
|
|
139
|
+
return resolved;
|
|
140
|
+
}
|
|
121
141
|
|
|
122
142
|
//#endregion
|
|
123
|
-
export { ReferenceSubquery, encodeValues, resolveFragnoIdValue };
|
|
143
|
+
export { ReferenceSubquery, encodeValues, encodeValuesWithDbDefaults, resolveFragnoIdValue };
|
|
124
144
|
//# sourceMappingURL=value-encoding.js.map
|
|
@@ -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,4 +1,8 @@
|
|
|
1
|
+
import { DbNow } from "../query/db-now.js";
|
|
2
|
+
import { Prettify } from "../util/types.js";
|
|
1
3
|
import { generateId } from "./generate-id.js";
|
|
4
|
+
import { FragnoDbValidationError } from "./validator.js";
|
|
5
|
+
import { StandardSchemaV1 } from "@standard-schema/spec";
|
|
2
6
|
|
|
3
7
|
//#region src/schema/create.d.ts
|
|
4
8
|
type AnySchema = Schema<Record<string, AnyTable>>;
|
|
@@ -74,7 +78,7 @@ interface Index<TColumns extends AnyColumn[] = AnyColumn[], TColumnNames extends
|
|
|
74
78
|
unique: boolean;
|
|
75
79
|
}
|
|
76
80
|
declare class ExplicitRelationInit<TRelationType extends RelationType, TTables extends Record<string, AnyTable>, TTableName extends keyof TTables> extends RelationInit<TRelationType, TTables, TTableName> {
|
|
77
|
-
init(
|
|
81
|
+
init(name: string): Relation<TRelationType, TTables[TTableName]>;
|
|
78
82
|
}
|
|
79
83
|
interface Relation<TRelationType extends RelationType = RelationType, TTable extends AnyTable = AnyTable> {
|
|
80
84
|
id: string;
|
|
@@ -84,12 +88,28 @@ interface Relation<TRelationType extends RelationType = RelationType, TTable ext
|
|
|
84
88
|
referencer: AnyTable;
|
|
85
89
|
on: [string, string][];
|
|
86
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
|
+
};
|
|
87
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>>;
|
|
88
105
|
name: string;
|
|
89
|
-
ormName: string;
|
|
90
106
|
columns: TColumns;
|
|
91
107
|
relations: TRelations;
|
|
92
108
|
indexes: TIndexes;
|
|
109
|
+
/**
|
|
110
|
+
* Validate insert values at runtime.
|
|
111
|
+
*/
|
|
112
|
+
validate: (value: unknown, options?: TableValidationOptions) => TableInsertValuesFromColumns<TColumns>;
|
|
93
113
|
/**
|
|
94
114
|
* Get column by name
|
|
95
115
|
*/
|
|
@@ -149,7 +169,6 @@ type TypeMap = {
|
|
|
149
169
|
declare class Column<TType extends keyof TypeMap, TIn = unknown, TOut = unknown> {
|
|
150
170
|
type: TType;
|
|
151
171
|
name: string;
|
|
152
|
-
ormName: string;
|
|
153
172
|
isNullable: boolean;
|
|
154
173
|
role: "external-id" | "internal-id" | "version" | "reference" | "regular";
|
|
155
174
|
isHidden: boolean;
|
|
@@ -248,7 +267,8 @@ declare class VersionColumn<TIn = unknown, TOut = unknown> extends Column<"integ
|
|
|
248
267
|
role: "version";
|
|
249
268
|
constructor();
|
|
250
269
|
}
|
|
251
|
-
|
|
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]>;
|
|
252
272
|
/**
|
|
253
273
|
* Create a reference column that points to another table's internal ID.
|
|
254
274
|
* This is used for foreign key relationships.
|
|
@@ -342,11 +362,11 @@ declare class TableBuilder<TColumns extends Record<string, AnyColumn> = Record<s
|
|
|
342
362
|
/**
|
|
343
363
|
* Add a column to the table.
|
|
344
364
|
*/
|
|
345
|
-
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>;
|
|
346
366
|
/**
|
|
347
367
|
* Add a column to the table with simplified syntax.
|
|
348
368
|
*/
|
|
349
|
-
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>;
|
|
350
370
|
/**
|
|
351
371
|
* Create an index on the specified columns.
|
|
352
372
|
*/
|
|
@@ -359,6 +379,10 @@ declare class TableBuilder<TColumns extends Record<string, AnyColumn> = Record<s
|
|
|
359
379
|
build(): Table<TColumns, TRelations, TIndexes>;
|
|
360
380
|
}
|
|
361
381
|
interface Schema<TTables extends Record<string, AnyTable> = Record<string, AnyTable>> {
|
|
382
|
+
/**
|
|
383
|
+
* @description The name of the schema (required).
|
|
384
|
+
*/
|
|
385
|
+
name: string;
|
|
362
386
|
/**
|
|
363
387
|
* @description The version of the schema, automatically incremented on each change.
|
|
364
388
|
*/
|
|
@@ -387,14 +411,14 @@ type UpdateTable<TTables extends Record<string, AnyTable>, TTableName extends ke
|
|
|
387
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[];
|
|
388
412
|
declare class SchemaBuilder<TTables extends Record<string, AnyTable> = {}> {
|
|
389
413
|
#private;
|
|
390
|
-
constructor(existingSchema?: Schema<TTables>);
|
|
414
|
+
constructor(name: string, existingSchema?: Schema<TTables>);
|
|
391
415
|
/**
|
|
392
416
|
* Add an existing schema to this builder.
|
|
393
417
|
* Merges tables and operations from the provided schema.
|
|
394
418
|
*
|
|
395
419
|
* @example
|
|
396
420
|
* ```ts
|
|
397
|
-
* const builder = new SchemaBuilder()
|
|
421
|
+
* const builder = new SchemaBuilder("combined")
|
|
398
422
|
* .add(userSchema)
|
|
399
423
|
* .add(postSchema)
|
|
400
424
|
* .addTable("comments", ...);
|
|
@@ -404,7 +428,7 @@ declare class SchemaBuilder<TTables extends Record<string, AnyTable> = {}> {
|
|
|
404
428
|
/**
|
|
405
429
|
* Add a table to the schema. Increments the version counter.
|
|
406
430
|
*/
|
|
407
|
-
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>>>;
|
|
408
432
|
/**
|
|
409
433
|
* Add a relation between two tables.
|
|
410
434
|
*
|
|
@@ -414,7 +438,7 @@ declare class SchemaBuilder<TTables extends Record<string, AnyTable> = {}> {
|
|
|
414
438
|
* @example
|
|
415
439
|
* ```ts
|
|
416
440
|
* // One-to-one or many-to-one: post -> user
|
|
417
|
-
* schema(s => s
|
|
441
|
+
* schema("blog", s => s
|
|
418
442
|
* .addTable("users", t => t.addColumn("id", idColumn()))
|
|
419
443
|
* .addTable("posts", t => t
|
|
420
444
|
* .addColumn("id", idColumn())
|
|
@@ -462,7 +486,7 @@ declare class SchemaBuilder<TTables extends Record<string, AnyTable> = {}> {
|
|
|
462
486
|
* @example
|
|
463
487
|
* ```ts
|
|
464
488
|
* // Add a new column to an existing table
|
|
465
|
-
* schema(s => s
|
|
489
|
+
* schema("blog", s => s
|
|
466
490
|
* .addTable("users", t => t
|
|
467
491
|
* .addColumn("id", idColumn())
|
|
468
492
|
* .addColumn("name", column("string")))
|
|
@@ -486,8 +510,8 @@ declare class SchemaBuilder<TTables extends Record<string, AnyTable> = {}> {
|
|
|
486
510
|
/**
|
|
487
511
|
* Create a new schema with callback pattern.
|
|
488
512
|
*/
|
|
489
|
-
declare function schema<const TTables extends Record<string, AnyTable> = {}>(callback: (builder: SchemaBuilder<{}>) => SchemaBuilder<TTables>): Schema<TTables>;
|
|
490
|
-
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): {
|
|
491
515
|
name: string;
|
|
492
516
|
table: string;
|
|
493
517
|
referencedTable: string;
|
|
@@ -495,5 +519,5 @@ declare function compileForeignKey(key: ForeignKey, nameType?: "sql" | "orm"): {
|
|
|
495
519
|
columns: string[];
|
|
496
520
|
};
|
|
497
521
|
//#endregion
|
|
498
|
-
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, generateId, 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 };
|
|
499
523
|
//# sourceMappingURL=create.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.d.ts","names":[],"sources":["../../src/schema/create.ts"],"sourcesContent":[],"mappings":";;;KAIY,SAAA,GAAY,OAAO,eAAe;KAElC,WAAA,GAAc;AAFd,KAIA,QAAA,GAAW,KAJF;AAAyB,KAMlC,SAAA,GACR,MAP0C,CAAA,MAO7B,OAP6B,EAAA,OAAA,EAAA,OAAA,CAAA,GAQ1C,QAR0C,CAQjC,YARiC,EAAA,OAAA,EAAA,OAAA,CAAA,GAS1C,gBAT0C,CAAA,OAAA,EAAA,OAAA,CAAA,GAU1C,aAV0C,CAAA,OAAA,EAAA,OAAA,CAAA;;;;AAE9C;AAEY,KAWA,iBAAA,GAXW;EAEX,IAAA,EAAA,YAAS;EACJ,UAAA,EAAA,MAAA;EAAb,MAAA,EASkD,SATlD;CACS,GAAA;EAAT,IAAA,EAAA,WAAA;EACA,IAAA,EAAA,MAAA;EACA,OAAA,EAAA,MAAA,EAAA;EAAa,MAAA,EAAA,OAAA;AAKjB,CAAA,GAAY;EAeA,IAAA,EAAA,iBAAe;EAsBV,IAAA,EAAA,MAAA;EAER,OAAA,EAAA,MAAA,EAAA;EACE,eAAA,EAAA,MAAA;EAEQ,iBAAA,EAAA,MAAA,EAAA;CACE;;AACpB;;;AAIiB,KAjCN,eAAA,GAiCM;EACS,IAAA,EAAA,WAAA;EAEnB,SAAA,EAAA,MAAA;EACW,UAAA,EAjCD,iBAiCC,EAAA;CAAQ,GAAA;EACb,IAAA,EAAA,aAAA;EAGM,SAAA,EAAA,MAAA;EAAgC,UAAA,EAhClC,iBAgCkC,EAAA;CAAQ,GAAA;EAAyB,IAAA,EAAA,eAAA;EAAQ,SAAA,EAAA,MAAA;EAO5E,aAAK,EAAA,MAAA;EACH,MAAA,EAAA;IAAc,IAAA,EAAA,KAAA,GAAA,MAAA;IAItB,IAAA,EAAA;MACI,KAAA,EAAA,MAAA;MAAY,MAAA,EAAA,MAAA;IAId,CAAA;IACW,EAAA,EAAA;MACS,KAAA,EAAA,MAAA;MAAf,MAAA,EAAA,MAAA;IACS,CAAA;EACJ,CAAA;CAAe;AAAS,UAxC9B,UAAA,CAwC8B;EACb,IAAA,EAAA,MAAA;EAAe,KAAA,EAvCxC,QAuCwC;EAAQ,OAAA,EAtC9C,SAsC8C,EAAA;EAAhC,eAAA,EApCN,QAoCM;EADf,iBAAA,EAlCW,SAkCX,EAAA;;AAeV,cA9CM,YA8CmB,CAAA,sBA7CD,YA6CC,EAAA,gBA5CP,MA4CO,CAAA,MAAA,EA5CQ,QA4CR,CAAA,EAAA,mBAAA,MA3CE,OA2CF,CAAA,CAAA;EACD,IAAA,EA1ChB,aA0CgB;EAAe,eAAA,EAzCpB,OAyCoB,CAzCZ,UAyCY,CAAA;EACtB,UAAA,EAzCH,QAyCG;EAAW,EAAA,EAAA,CAAA,MAAA,EAAA,MAAA,CAAA,EAAA;EAIpB,WAAA,CAAA,IAAA,EA1CY,aA0CZ,EAAA,eAAA,EA1C4C,OA0C5C,CA1CoD,UA0CpD,CAAA,EAAA,UAAA,EA1C6E,QA0C7E;;AAGM,UAtCG,KAsCH,CAAA,iBArCK,SAqCL,EAAA,GArCmB,SAqCnB,EAAA,EAAA,qBAAA,SAAA,MAAA,EAAA,GAAA,SAAA,MAAA,EAAA,CAAA,CAAA;EAAQ,IAAA,EAAA,MAAA;EAKL,OAAA,EAtCN,QAsCW;EACY,WAAA,EAtCnB,YAsCmB;EAAf,MAAA,EAAA,OAAA;;AAA4B,cAlClC,oBAkCkC,CAAA,sBAjCvB,YAiCuB,EAAA,gBAhC7B,MAgC6B,CAAA,MAAA,EAhCd,QAgCc,CAAA,EAAA,mBAAA,MA/BpB,OA+BoB,CAAA,SA9BrC,YA8BqC,CA9BxB,aA8BwB,EA9BT,OA8BS,EA9BA,UA8BA,CAAA,CAAA;EACX,IAAA,CAAA,OAAA,EAAA,MAAA,CAAA,EA9BX,QA8BW,CA9BF,aA8BE,EA9Ba,OA8Bb,CA9BqB,UA8BrB,CAAA,CAAA;;AAA8B,UAhBjD,QAgBiD,CAAA,sBAf1C,YAe0C,GAf3B,YAe2B,EAAA,eAdjD,QAciD,GAdtC,QAcsC,CAAA,CAAA;EAAf,EAAA,EAAA,MAAA;EACjB,IAAA,EAAA,MAAA;EAAf,IAAA,EAXX,aAWW;EAAuC,KAAA,EATjD,MASiD;EAAf,UAAA,EAR7B,QAQ6B;EAKhC,EAAA,EAAA,CAAA,MAAA,EAAA,MAAA,CAAA,EAAA;;AAEA,UAVM,KAUN,CAAA,iBATQ,MASR,CAAA,MAAA,EATuB,SASvB,CAAA,GAToC,MASpC,CAAA,MAAA,EATmD,SASnD,CAAA,EAAA,mBARU,MAQV,CAAA,MAAA,EARyB,WAQzB,CAAA,GARwC,MAQxC,CAAA,MAAA,EARuD,WAQvD,CAAA,EAAA,iBAPQ,MAOR,CAAA,MAAA,EAPuB,KAOvB,CAAA,GAPgC,MAOhC,CAAA,MAAA,EAP+C,KAO/C,CAAA,CAAA,CAAA;EAK0B,IAAA,EAAA,MAAA;EAIhB,OAAA,EAAA,MAAA;EAIQ,OAAA,EAflB,QAekB;EAIH,SAAA,EAlBb,UAkBa;EAAS,OAAA,EAjBxB,QAiBwB;EAG9B;AAAS;AAMd;EAQiB,eAAA,EAAA,CAAA,IAAA,EAAqB,MAAA,EAAA,GA7BD,SA+B3B,GAAA,SAED;EAYJ;AAEL;;EAWQ,WAAA,EAAA,GAAA,GAtDa,SAsDb;EACK;;;EAGA,mBAAM,EAAA,GAAA,GAtDU,SAsDV;EAAqB;;;EASjB,gBAAA,EAAA,GAAA,GA3DG,SA2DH;;KAxDlB,SAAA,GA0D4C;EAI7B,GAAA,EAAA,SAAA;EAIoC,KAAA,EAAA,KAAA;CAIlD;KArED,cAAA,GAsEC;EAAyB,GAAA,EAAA,SAAA;EAAqB,KAAA,EAAA,MAAA,GAAA,KAAA;CAAR;;;;AACC,UAlE5B,cAAA,CAkE4B;EAH1B;EAO+B,GAAA,EAAA,EApEzC,SAoEyC;;;;;AA4BX,UA1FtB,qBAAA,CA0FsB;EAA0B;EAAiB,IAAA,EAAA,EAxFxE,cAwFwE;EAAQ;EAC9E,GAAA,EAAA,EAvFH,cAuFG;;KA3EP,YAAA,GA2E0B,WAAA,MAAA,GAAA;AAA1B,KAzEO,OAAA,GAyEP;EA6CM,MAAA,EAAA,MAAA;EAAQ,MAAA,EAAA,MAAA;EAAoB,OAAA,EAAA,MAAA;EAAmB,OAAA,EAAA,MAAA;EAAY,IAAA,EAAA,OAAA;EAAQ,IAAA,EAAA,OAAA;EAClE;;;EAAP,MAAA,EA7GK,UA6GL;EAyBqB,IAAA,EArIlB,IAqIkB;EAAQ,SAAA,EApIrB,IAoIqB;CAiCrB,GApKT,MAoKS,CAAA,WAAA,MAAA,GAAA,EAAA,MAAA,CAAA;AAQC,cA1KD,MA0KC,CAAA,cAAA,MA1K0B,OA0K1B,EAAA,MAAA,OAAA,EAAA,OAAA,OAAA,CAAA,CAAA;EAAI,IAAA,EAzKV,KAyKU;EAKL,IAAA,EAAA,MAAQ;EACL,OAAA,EAAA,MAAA;EAAe,UAAA,EAAA,OAAA;EAGd,IAAA,EAAA,aAAA,GAAA,aAAA,GAAA,SAAA,GAAA,WAAA,GAAA,SAAA;EAAO,QAAA,EAAA,OAAA;EAAK,OAAA,CAAA,EAAA;IAIlB,KAAA,EA9KI,OA8KJ,CA9KY,KA8KZ,CAAA;EAAQ,CAAA,GAAA;IAAoB,SAAA,EAAA,KAAA;EAA0B,CAAA,GAAA;IAAiB,OAAA,EAAA,MAAA,GAAA,KAAA,GAAA,CAAA,GAAA,GA5KzC,OA4KyC,CA5KjC,KA4KiC,CAAA,CAAA;EAAQ,CAAA;EAE3C,SAAA,EAAA,MAAA;EAAO,WAAA,CAAA,IAAA,EA1KlC,KA0KkC;EAAY,QAAA,CAAA,kBAAA,OAAA,GAAA,IAAA,CAAA,CAAA,QAAA,CAAA,EAtKV,SAsKU,CAAA,EAnK/C,MAmK+C,CAlK5D,KAkK4D,EAjK5D,SAiK4D,SAAA,IAAA,GAjKnC,GAiKmC,GAAA,IAAA,GAjKtB,OAiKsB,CAjKd,GAiKc,EAAA,IAAA,CAAA,EAhK5D,SAgK4D,SAAA,IAAA,GAhKnC,IAgKmC,GAAA,IAAA,GAhKrB,OAgKqB,CAhKb,IAgKa,EAAA,IAAA,CAAA,CAAA;EAA5B,MAAA,CAAA,gBAAA,OAAA,GAAA,IAAA,CAAA,CAAA,MAAA,CAAA,EA5JY,OA4JZ,CAAA,EA1JnB,MA0JmB,CA1JZ,KA0JY,EAAA,IAAA,EAAA,IAAA,CAAA;EAI3B;;;;;;;;;;;;AAUX;;;;;AAaA;;;;;EASgB,UAAM,CAAA,KAAA,EApKX,OAoKW,CApKH,KAoKG,CAAA,GAAA,CAAA,CAAA,OAAA,EApKiB,qBAoKjB,EAAA,GApK2C,cAoK3C,GApK4D,OAoK5D,CApKoE,KAoKpE,CAAA,CAAA,CAAA,EAnKjB,MAmKiB,CAnKV,KAmKU,EAnKH,GAmKG,GAAA,IAAA,EAnKS,IAmKT,CAAA;EAAqB;;;;;;;;;AAW3C;;;;;;AAiBA;;;;;AAYA;AAWA;EAca,SAAA,CAAA,KAAQ,EAvLV,OAuLU,CAvLF,KAuLE,CAAA,GAAA,CAAA,CAAA,OAAA,EAvLkB,cAuLlB,EAAA,GAvLqC,SAuLrC,GAvLiD,OAuLjD,CAvLyD,KAuLzD,CAAA,CAAA,CAAA,EAtLhB,MAsLgB,CAtLT,KAsLS,EAtLF,GAsLE,GAAA,IAAA,EAtLU,IAsLV,CAAA;EAMjB;;;;;EAiES,oBAAe,CAAA,CAAA,EApOF,OA8OiB,CA9OT,KA8OS,CAAA,GAAA,SAAe;EAYrD;AAEL;;;EAC8D,IAAA,GAAA,CAAA,CAAA,EA5NjD,GA4NiD;EAAf;;;;EACI,IAAA,IAAA,CAAA,CAAA,EArNrC,IAqNqC;;AAChC,cAjNN,QAiNM,CAAA,cAhNH,YAgNG,GAhNY,YAgNZ,EAAA,MAAA,OAAA,EAAA,OAAA,OAAA,CAAA,SA7MT,MA6MS,CA7MF,KA6ME,EA7MK,GA6ML,EA7MU,IA6MV,CAAA,CAAA;EAAuC,EAAA,EAAA,OAAA;EAAf,UAAA,CAAA,KAAA,EAzMhC,OAyMgC,CAzMxB,KAyMwB,CAAA,GAAA,CAAA,CAAA,OAAA,EAzMJ,qBAyMI,EAAA,GAzMsB,cAyMtB,GAzMuC,OAyMvC,CAzM+C,KAyM/C,CAAA,CAAA,CAAA,EAvML,QAuMK,CAvMI,KAuMJ,EAvMW,GAuMX,GAAA,IAAA,EAvMuB,IAuMvB,CAAA;EAiBrB,SAAA,CAAA,KAAA,EApNX,OAoNW,CApNH,KAoNG,CAAA,GAAA,CAAA,CAAA,OAAA,EApNiB,cAoNjB,EAAA,GApNoC,SAoNpC,GApNgD,OAoNhD,CApNwD,KAoNxD,CAAA,CAAA,CAAA,EAlNe,QAkNf,CAlNwB,KAkNxB,EAlN+B,GAkN/B,GAAA,IAAA,EAlN2C,IAkN3C,CAAA;;;;;;AA0Bb,cApOI,gBAoOJ,CAAA,MAAA,OAAA,EAAA,OAAA,OAAA,CAAA,SApO4D,MAoO5D,CAAA,QAAA,EApO6E,GAoO7E,EApOkF,IAoOlF,CAAA,CAAA;EACS,IAAA,EAAA,aAAA;EAAkB,WAAA,CAAA;;;;;;AAKwB,cA7N/C,aA6N+C,CAAA,MAAA,OAAA,EAAA,OAAA,OAAA,CAAA,SA7NM,MA6NN,CAAA,SAAA,EA7NwB,GA6NxB,EA7N6B,IA6N7B,CAAA,CAAA;EAC/C,IAAA,EAAA,SAAA;EACH,WAAA,CAAA;;AAEY,iBAxNN,MAwNM,CAAA,cAAA,MAxNqB,OAwNrB,CAAA,CAAA,IAAA,EAvNd,KAuNc,CAAA,EAtNnB,MAsNmB,CAtNZ,KAsNY,EAtNL,OAsNK,CAtNG,KAsNH,CAAA,EAtNW,OAsNX,CAtNmB,KAsNnB,CAAA,CAAA;;;;;;AAAa,iBA7MnB,eAAA,CAAA,CA6MmB,EA7MA,MA6MA,CAAA,QAAA,EAAA,MAAA,GAAA,MAAA,GA3Mf,QA2Me,GA3MJ,eA2MI,EA1MjC,eA0MiC,CAAA;;;;;;AAkCzB,iBA9NM,QAAA,CAAA,CA8NN,EA9NkB,QA8NlB,CAAA,aAAA,EAAA,MAAA,GA9NmD,QA8NnD,GAAA,IAAA,EA9NoE,QA8NpE,CAAA;;;;;;AAM6C,iBAxNvC,gBAAA,CAAA,CAwNuC,EAxNnB,gBAwNmB,CAAA,IAAA,EAAA,MAAA,CAAA;;;;;AAAxC,iBA7MC,aAAA,CAAA,CA6MD,EA7MkB,aA6MlB,CAAA,IAAA,EAAA,MAAA,CAAA;;;;;;;AA6Gf;AAAuD,cA5S1C,QAAA,CA4S0C;EAAf,CAAA,OAAA;EAA0C,WAAA,CAAA;IAAA,UAAA;IAAA,UAAA;IAAA;EAY5D,CAZ4D,EAAA;IAAf,UAAA,EAAA,MAAA;IAKzD,UAAA,CAAA,EAAA,MAAA;IAKI,OAAA,EAAA,MAAA;EAEQ,CAAA;EAAP;;AACd;EAOgC,OAAA,YAAA,CAAA,UAAA,EAAA,MAAA,EAAA,OAAA,EAAA,MAAA,CAAA,EA1S2B,QA0S3B;EAAf,IAAA,OAAA,CAAA,CAAA,EAAA,MAAA;EACS,IAAA,UAAA,CAAA,CAAA,EAAA,MAAA;EAEU,IAAA,UAAA,CAAA,CAAA,EAAA,MAAA,GAAA,SAAA;EACb;;;;EAEU,IAAA,UAAA,CAAA,CAAA,EAAA,MAAA,GAAA,MAAA;EAE1B;;;EACQ,MAAA,CAAA,CAAA,EAAA;IACC,UAAA,EAAA,MAAA;IAAyB,UAAA,CAAA,EAAA,MAAA;EAAe,CAAA;EAAQ,QAAA,CAAA,CAAA,EAAA,MAAA;EAAhC,OAAA,CAAA,CAAA,EAAA,MAAA;;;;;;;;AAU5B,cA7QQ,eAAA,CA6QG;EACiB,CAAA,OAAA;EAAf,WAAA,CAAA,UAAA,EAAA,MAAA;EACS;;;EAEY,OAAA,YAAA,CAAA,UAAA,EAAA,MAAA,CAAA,EAvQI,eAuQJ;EAAf;;;EAGV,IAAA,UAAA,CAAA,CAAA,EAAA,MAAA;;KA9PT,YAAA,GA8P6B,KAAA,GAAA,MAAA;AACtB,cA7PC,YA6PD,CAAA,iBA5PO,MA4PP,CAAA,MAAA,EA5PsB,SA4PtB,CAAA,GA5PmC,MA4PnC,CAAA,MAAA,EA5PkD,SA4PlD,CAAA,EAAA,mBA3PS,MA2PT,CAAA,MAAA,EA3PwB,WA2PxB,CAAA,GA3PuC,MA2PvC,CAAA,MAAA,EA3PsD,WA2PtD,CAAA,EAAA,iBA1PO,MA0PP,CAAA,MAAA,EA1PsB,KA0PtB,CAAA,GA1P+B,MA0P/B,CAAA,MAAA,EA1P8C,KA0P9C,CAAA,CAAA,CAAA;EAAa,CAAA,OAAA;EAAe,WAAA,CAAA,IAAA,EAAA,MAAA;EAAlC,UAAA,CAAA,OAAA,EAzOgB,QAyOhB,CAAA,EAAA,IAAA;EACA,YAAA,CAAA,SAAA,EAtOoB,UAsOpB,CAAA,EAAA,IAAA;EAAQ,UAAA,CAAA,OAAA,EAlOQ,QAkOR,CAAA,EAAA,IAAA;EAAC,UAAA,CAAA,CAAA,EA7NC,KA6ND,EAAA;EAMV,cAAA,CAAA,CAAA,EAAc,MAAA,EAAA;EACe;;;EAGpB,SAAA,CAAA,oBAAA,MAAA,EAAA,gBA5N0C,SA4N1C,CAAA,CAAA,OAAA,EA3ND,WA2NC,EAAA,GAAA,EA1NL,OA0NK,CAAA,EAzNT,YAyNS,CAzNI,QAyNJ,GAzNe,MAyNf,CAzNsB,WAyNtB,EAzNmC,OAyNnC,CAAA,EAzN6C,UAyN7C,EAzNyD,QAyNzD,CAAA;EAAe;;;EACvB,SAAA,CAAA,oBAAA,MAAA,EAAA,cAAA,MArNsD,OAqNtD,CAAA,CAAA,OAAA,EApNO,WAoNP,EAAA,IAAA,EAnNI,KAmNJ,CAAA,EAlND,YAkNC,CAjNF,QAiNE,GAjNS,MAiNT,CAjNgB,WAiNhB,EAjN6B,MAiN7B,CAjNoC,KAiNpC,EAjN2C,OAiN3C,CAjNmD,KAiNnD,CAAA,EAjN2D,OAiN3D,CAjNmE,KAiNnE,CAAA,CAAA,CAAA,EAhNF,UAgNE,EA/MF,QA+ME,CAAA;EAAS;;;EAEF,WAAA,CAAA,mBAAA,MAAA,EAAA,2BAAA,SAAA,CAAA,MAAA,GAAA,MAnL2C,QAmL3C,CAAA,EAAA,CAAA,CAAA,IAAA,EAjLH,UAiLG,EAAA,OAAA,EAhLA,YAgLA,EAAA,OAE6C,CAF7C,EAAA;IAEA,MAAA,CAAA,EAAA,OAAa;EAAgC,CAAA,CAAA,EAhLrD,YAgLqD,CA/KtD,QA+KsD,EA9KtD,UA8KsD,EA7KtD,QA6KsD,GA7K3C,MA6K2C,CA7KpC,UA6KoC,EA7KxB,KA6KwB,CA7KlB,cA6KkB,CA7KH,QA6KG,EA7KO,YA6KP,CAAA,EA7KsB,YA6KtB,CAAA,CAAA,CAAA;EAAf;;;EA2BiB,KAAA,CAAA,CAAA,EA3KjD,KA2KiD,CA3K3C,QA2K2C,EA3KjC,UA2KiC,EA3KrB,QA2KqB,CAAA;;AACzC,UA5FF,MA4FE,CAAA,gBA5FqB,MA4FrB,CAAA,MAAA,EA5FoC,QA4FpC,CAAA,GA5FgD,MA4FhD,CAAA,MAAA,EA5F+D,QA4F/D,CAAA,CAAA,CAAA;EAAP;;;EACP,OAAA,EAAA,MAAA;EAa+B,MAAA,EArG1B,OAqG0B;EAAf;;;;EAEA,UAAA,EAlGP,eAkGO,EAAA;EAAuC,KAAA,EAAA,GAAA,GAhG7C,MAgG6C,CAhGtC,OAgGsC,CAAA;;;;;;KAzFvD,oBA+FG,CAAA,gBA9FU,MA8FV,CAAA,MAAA,EA9FyB,QA8FzB,CAAA,EAAA,mBAAA,MA7FmB,OA6FnB,EAAA,uBAAA,MAAA,EAAA,6BAAA,MA3F6B,OA2F7B,EAAA,sBA1FgB,YA0FhB,GA1F+B,YA0F/B,CAAA,GAAA,QACe,MAzFT,OAyFS,GAzFC,CAyFD,SAzFW,UAyFX,GAxFjB,KAwFiB,CAvFf,OAuFe,CAvFP,UAuFO,CAAA,CAAA,SAAA,CAAA,EAtFf,OAsFe,CAtFP,UAsFO,CAAA,CAAA,WAAA,CAAA,GArFb,MAqFa,CArFN,cAqFM,EArFU,QAqFV,CArFmB,aAqFnB,EArFkC,OAqFlC,CArF0C,oBAqF1C,CAAA,CAAA,CAAA,EApFf,OAoFe,CApFP,UAoFO,CAAA,CAAA,SAAA,CAAA,CAAA,GAlFjB,OAkFiB,CAlFT,CAkFS,CAAA,EAAf;;;;;KA3EH,WA6EI,CAAA,gBA5ES,MA4ET,CAAA,MAAA,EA5EwB,QA4ExB,CAAA,EAAA,mBAAA,MA3EkB,OA2ElB,EAAA,oBA1Ea,MA0Eb,CAAA,MAAA,EA1E4B,SA0E5B,CAAA,EAAA,sBAzEe,MAyEf,CAAA,MAAA,EAzE8B,WAyE9B,CAAA,EAAA,oBAxEa,MAwEb,CAAA,MAAA,EAxE4B,KAwE5B,CAAA,CAAA,GAAA,QACU,MAvEL,OAuEK,GAvEK,CAuEL,SAvEe,UAuEf,GAtEb,KAsEa,CAtEP,WAsEO,EAtEM,aAsEN,EAtEqB,WAsErB,CAAA,GArEb,OAqEa,CArEL,CAqEK,CAAA,EAAiB;;;;KA/D/B,cA+D2C,CAAA,iBA9D7B,MA8D6B,CAAA,MAAA,EA9Dd,SA8Dc,CAAA,EAAA,qBAAA,SAAA,CAAA,MA7DT,QA6DS,CAAA,EAAA,CAAA,GAAA,QAAnB,MA3Df,YA2De,GA3DA,YA2DA,CA3Da,CA2Db,CAAA,SAAA,MA3D8B,QA2D9B,GA1DvB,QA0DuB,CA1Dd,YA0Dc,CA1DD,CA0DC,CAAA,CAAA,GAAA,KAAA,EAAxB,GAxDD,SAwDC,EAAA;AAqGqC,cA3J7B,aA2J6B,CAAA,gBA3JC,MA2JD,CAAA,MAAA,EA3JgB,QA2JhB,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA;EACF,CAAA,OAAA;EAEd,WAAA,CAAA,cAAA,CAAA,EAzJK,MAyJL,CAzJY,OAyJZ,CAAA;EAEP;;;;;;;;;;;;EAa6D,uBAAA,CAAA,mBAlJnC,MAkJmC,CAAA,MAAA,EAlJpB,QAkJoB,CAAA,CAAA,CAAA,MAAA,EAjJpE,MAiJoE,CAjJ7D,UAiJ6D,CAAA,CAAA,EAhJ3E,aAgJ2E,CAhJ7D,OAgJ6D,GAhJnD,UAgJmD,CAAA;EAA5E;;;EAwFmC,QAAA,CAAA,mBAAA,MAAA,EAAA,iBA3NlB,MA2NkB,CAAA,MAAA,EA3NH,SA2NG,CAAA,EAAA,mBA1NhB,MA0NgB,CAAA,MAAA,EA1ND,WA0NC,CAAA,EAAA,iBAzNlB,MAyNkB,CAAA,MAAA,EAzNH,KAyNG,CAAA,GAzNM,MAyNN,CAAA,MAAA,EAzNqB,KAyNrB,CAAA,CAAA,CAAA,OAAA,EAvN1B,UAuN0B,EAAA,QAAA,EAAA,CAAA,OAAA,EArNxB,YAqNwB,CApN/B,MAoN+B,CAAA,MAAA,EApNhB,SAoNgB,CAAA,EAnN/B,MAmN+B,CAAA,MAAA,EAnNhB,WAmNgB,CAAA,EAlN/B,MAkN+B,CAAA,MAAA,EAlNhB,KAkNgB,CAAA,CAAA,EAAA,GAhN9B,YAgN8B,CAhNjB,QAgNiB,EAhNP,UAgNO,EAhNK,QAgNL,CAAA,CAAA,EA/MlC,aA+MkC,CA/MpB,OA+MoB,GA/MV,MA+MU,CA/MH,UA+MG,EA/MS,KA+MT,CA/Me,QA+Mf,EA/MyB,UA+MzB,EA/MqC,QA+MrC,CAAA,CAAA,CAAA;EAAf;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgKxB;;;;;;;EAEG,YAAA,CAAA,uBAAA,MAAA,GAAA,MA5QuC,OA4QvC,EAAA,qBAAA,MAAA,GAAA,MA3QqC,OA2QrC,EAAA,uBAAA,MAAA,EAAA,sBAzQuB,YAyQvB,CAAA,CAAA,aAAA,EAvQgB,cAuQhB,EAAA,MAAA,EAAA;IAAM,IAAA,EArQG,aAqQH;IAIO,IAAA,EAAA;aAvQD;oBACO,QAAQ;;;aAGf;oBACO,QAAQ;;MAGzB,cACD,qBAAqB,SAAS,gBAAgB,gBAAgB,cAAc;;;;;;;;;;;;;;;;;;;;;;+CAuF1C,6BACd,eAAe,kCACb,eAAe,kCACjB,eAAe,SAAS,eAAe,mBAEhD,gCAEA,aACP,QAAQ,wBACR,QAAQ,0BACR,eAAe,YAEd,aAAa,aAAa,eAAe,eAC7C,cAAc,YAAY,SAAS,YAAY,aAAa,eAAe;;;;WA+ErE,OAAO;;;;;;;;;iBAqEF,6BAA6B,eAAe,oCACtC,sBAAsB,cAAc,WACvD,OAAO;iBAIM,iBAAA,MAAuB"}
|
|
1
|
+
{"version":3,"file":"create.d.ts","names":[],"sources":["../../src/schema/create.ts"],"sourcesContent":[],"mappings":"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"}
|