@fragno-dev/db 0.1.1 → 0.1.3
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 +196 -137
- package/CHANGELOG.md +18 -0
- package/LICENSE.md +16 -0
- package/dist/adapters/adapters.d.ts +11 -1
- package/dist/adapters/adapters.d.ts.map +1 -1
- package/dist/adapters/drizzle/drizzle-adapter.d.ts +9 -2
- package/dist/adapters/drizzle/drizzle-adapter.d.ts.map +1 -1
- package/dist/adapters/drizzle/drizzle-adapter.js +23 -39
- package/dist/adapters/drizzle/drizzle-adapter.js.map +1 -1
- package/dist/adapters/drizzle/drizzle-query.d.ts.map +1 -1
- package/dist/adapters/drizzle/drizzle-query.js +5 -4
- package/dist/adapters/drizzle/drizzle-query.js.map +1 -1
- package/dist/adapters/drizzle/drizzle-uow-compiler.js +12 -10
- package/dist/adapters/drizzle/drizzle-uow-compiler.js.map +1 -1
- package/dist/adapters/drizzle/drizzle-uow-decoder.js +14 -4
- package/dist/adapters/drizzle/drizzle-uow-decoder.js.map +1 -1
- package/dist/adapters/drizzle/drizzle-uow-executor.js +78 -60
- package/dist/adapters/drizzle/drizzle-uow-executor.js.map +1 -1
- package/dist/adapters/drizzle/generate.js +111 -37
- package/dist/adapters/drizzle/generate.js.map +1 -1
- package/dist/adapters/drizzle/shared.js +14 -1
- package/dist/adapters/drizzle/shared.js.map +1 -1
- package/dist/adapters/kysely/kysely-adapter.d.ts +2 -1
- package/dist/adapters/kysely/kysely-adapter.d.ts.map +1 -1
- package/dist/adapters/kysely/kysely-adapter.js +25 -30
- package/dist/adapters/kysely/kysely-adapter.js.map +1 -1
- package/dist/adapters/kysely/kysely-query-builder.js +48 -44
- package/dist/adapters/kysely/kysely-query-builder.js.map +1 -1
- package/dist/adapters/kysely/kysely-query-compiler.js +2 -2
- package/dist/adapters/kysely/kysely-query-compiler.js.map +1 -1
- package/dist/adapters/kysely/kysely-query.js +3 -2
- package/dist/adapters/kysely/kysely-query.js.map +1 -1
- package/dist/adapters/kysely/kysely-shared.js +18 -0
- package/dist/adapters/kysely/kysely-shared.js.map +1 -0
- package/dist/adapters/kysely/kysely-uow-compiler.js +4 -3
- package/dist/adapters/kysely/kysely-uow-compiler.js.map +1 -1
- package/dist/adapters/kysely/migration/execute.js +15 -12
- package/dist/adapters/kysely/migration/execute.js.map +1 -1
- package/dist/migration-engine/auto-from-schema.js +2 -8
- package/dist/migration-engine/auto-from-schema.js.map +1 -1
- package/dist/migration-engine/create.d.ts +1 -5
- package/dist/migration-engine/create.js +1 -1
- package/dist/migration-engine/create.js.map +1 -1
- package/dist/migration-engine/generation-engine.d.ts +51 -0
- package/dist/migration-engine/generation-engine.d.ts.map +1 -0
- package/dist/migration-engine/generation-engine.js +165 -0
- package/dist/migration-engine/generation-engine.js.map +1 -0
- package/dist/migration-engine/shared.d.ts +5 -2
- package/dist/migration-engine/shared.d.ts.map +1 -1
- package/dist/migration-engine/shared.js.map +1 -1
- package/dist/mod.d.ts +0 -8
- package/dist/mod.d.ts.map +1 -1
- package/dist/mod.js +0 -32
- package/dist/mod.js.map +1 -1
- package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/alias.js +77 -0
- package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/alias.js.map +1 -0
- package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/casing.js +49 -0
- package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/casing.js.map +1 -0
- package/dist/node_modules/{.bun/drizzle-orm@0.44.6_4fae081eecb963e2 → .pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8}/node_modules/drizzle-orm/column-builder.js +1 -1
- package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/column-builder.js.map +1 -0
- package/dist/node_modules/{.bun/drizzle-orm@0.44.6_4fae081eecb963e2 → .pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8}/node_modules/drizzle-orm/column.js +1 -1
- package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/column.js.map +1 -0
- package/dist/node_modules/{.bun/drizzle-orm@0.44.6_4fae081eecb963e2 → .pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8}/node_modules/drizzle-orm/entity.js +1 -1
- package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/entity.js.map +1 -0
- package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/errors.js +21 -0
- package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/errors.js.map +1 -0
- package/dist/node_modules/{.bun/drizzle-orm@0.44.6_4fae081eecb963e2 → .pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8}/node_modules/drizzle-orm/pg-core/columns/common.js +1 -1
- package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/pg-core/columns/common.js.map +1 -0
- package/dist/node_modules/{.bun/drizzle-orm@0.44.6_4fae081eecb963e2 → .pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8}/node_modules/drizzle-orm/pg-core/columns/enum.js +1 -1
- package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/pg-core/columns/enum.js.map +1 -0
- package/dist/node_modules/{.bun/drizzle-orm@0.44.6_4fae081eecb963e2 → .pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8}/node_modules/drizzle-orm/pg-core/foreign-keys.js +1 -1
- package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/pg-core/foreign-keys.js.map +1 -0
- package/dist/node_modules/{.bun/drizzle-orm@0.44.6_4fae081eecb963e2 → .pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8}/node_modules/drizzle-orm/pg-core/unique-constraint.js +1 -1
- package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/pg-core/unique-constraint.js.map +1 -0
- package/dist/node_modules/{.bun/drizzle-orm@0.44.6_4fae081eecb963e2 → .pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8}/node_modules/drizzle-orm/pg-core/utils/array.js +1 -1
- package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/pg-core/utils/array.js.map +1 -0
- package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/query-builders/query-builder.js +14 -0
- package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/query-builders/query-builder.js.map +1 -0
- package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/query-promise.js +26 -0
- package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/query-promise.js.map +1 -0
- package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/relations.js +127 -0
- package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/relations.js.map +1 -0
- package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/selection-proxy.js +47 -0
- package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/selection-proxy.js.map +1 -0
- package/dist/node_modules/{.bun/drizzle-orm@0.44.6_4fae081eecb963e2 → .pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8}/node_modules/drizzle-orm/sql/expressions/conditions.js +20 -2
- package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sql/expressions/conditions.js.map +1 -0
- package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sql/expressions/select.js +13 -0
- package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sql/expressions/select.js.map +1 -0
- package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sql/functions/aggregate.js +10 -0
- package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sql/functions/aggregate.js.map +1 -0
- package/dist/node_modules/{.bun/drizzle-orm@0.44.6_4fae081eecb963e2 → .pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8}/node_modules/drizzle-orm/sql/sql.js +1 -1
- package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sql/sql.js.map +1 -0
- package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sqlite-core/columns/common.js +60 -0
- package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sqlite-core/columns/common.js.map +1 -0
- package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sqlite-core/db.js +269 -0
- package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sqlite-core/db.js.map +1 -0
- package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sqlite-core/dialect.js +457 -0
- package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sqlite-core/dialect.js.map +1 -0
- package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sqlite-core/foreign-keys.js +68 -0
- package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sqlite-core/foreign-keys.js.map +1 -0
- package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sqlite-core/query-builders/count.js +41 -0
- package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sqlite-core/query-builders/count.js.map +1 -0
- package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sqlite-core/query-builders/delete.js +119 -0
- package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sqlite-core/query-builders/delete.js.map +1 -0
- package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sqlite-core/query-builders/insert.js +170 -0
- package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sqlite-core/query-builders/insert.js.map +1 -0
- package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sqlite-core/query-builders/query-builder.js +75 -0
- package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sqlite-core/query-builders/query-builder.js.map +1 -0
- package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sqlite-core/query-builders/query.js +107 -0
- package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sqlite-core/query-builders/query.js.map +1 -0
- package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sqlite-core/query-builders/raw.js +37 -0
- package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sqlite-core/query-builders/raw.js.map +1 -0
- package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sqlite-core/query-builders/select.js +621 -0
- package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sqlite-core/query-builders/select.js.map +1 -0
- package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sqlite-core/query-builders/update.js +170 -0
- package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sqlite-core/query-builders/update.js.map +1 -0
- package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sqlite-core/table.js +20 -0
- package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sqlite-core/table.js.map +1 -0
- package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sqlite-core/unique-constraint.js +48 -0
- package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sqlite-core/unique-constraint.js.map +1 -0
- package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sqlite-core/utils.js +17 -0
- package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sqlite-core/utils.js.map +1 -0
- package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sqlite-core/view-base.js +11 -0
- package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/sqlite-core/view-base.js.map +1 -0
- package/dist/node_modules/{.bun/drizzle-orm@0.44.6_4fae081eecb963e2 → .pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8}/node_modules/drizzle-orm/subquery.js +2 -2
- package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/subquery.js.map +1 -0
- package/dist/node_modules/{.bun/drizzle-orm@0.44.6_4fae081eecb963e2 → .pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8}/node_modules/drizzle-orm/table.js +8 -2
- package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/table.js.map +1 -0
- package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/table.utils.js +6 -0
- package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/table.utils.js.map +1 -0
- package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/tracing-utils.js +8 -0
- package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/tracing-utils.js.map +1 -0
- package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/tracing.js +8 -0
- package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/tracing.js.map +1 -0
- package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/utils.js +53 -0
- package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/utils.js.map +1 -0
- package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/view-common.js +6 -0
- package/dist/node_modules/.pnpm/drizzle-orm@0.44.7_@electric-sql_pglite@0.3.11_@types_better-sqlite3@7.6.13_better-sqlite3@12.4.1_kysely@0.28.8/node_modules/drizzle-orm/view-common.js.map +1 -0
- package/dist/query/condition-builder.js.map +1 -1
- package/dist/query/result-transform.js +2 -1
- package/dist/query/result-transform.js.map +1 -1
- package/dist/schema/create.d.ts +74 -16
- package/dist/schema/create.d.ts.map +1 -1
- package/dist/schema/create.js +76 -11
- package/dist/schema/create.js.map +1 -1
- package/dist/schema/serialize.js +3 -0
- package/dist/schema/serialize.js.map +1 -1
- package/dist/shared/settings-schema.js +36 -0
- package/dist/shared/settings-schema.js.map +1 -0
- package/dist/util/import-generator.js.map +1 -1
- package/dist/util/parse.js.map +1 -1
- package/package.json +20 -23
- package/src/adapters/adapters.ts +10 -3
- package/src/adapters/drizzle/drizzle-adapter-pglite.test.ts +11 -7
- package/src/adapters/drizzle/drizzle-adapter-sqlite.test.ts +585 -0
- package/src/adapters/drizzle/drizzle-adapter.test.ts +78 -30
- package/src/adapters/drizzle/drizzle-adapter.ts +38 -78
- package/src/adapters/drizzle/drizzle-query.ts +6 -9
- package/src/adapters/drizzle/drizzle-uow-compiler.test.ts +10 -4
- package/src/adapters/drizzle/drizzle-uow-compiler.ts +12 -6
- package/src/adapters/drizzle/drizzle-uow-decoder.ts +22 -5
- package/src/adapters/drizzle/drizzle-uow-executor.ts +156 -116
- package/src/adapters/drizzle/generate.test.ts +582 -159
- package/src/adapters/drizzle/generate.ts +196 -41
- package/src/adapters/drizzle/migrate-drizzle.test.ts +30 -6
- package/src/adapters/drizzle/shared.ts +31 -1
- package/src/adapters/drizzle/test-utils.ts +3 -1
- package/src/adapters/kysely/kysely-adapter-pglite.test.ts +25 -27
- package/src/adapters/kysely/kysely-adapter.ts +35 -58
- package/src/adapters/kysely/kysely-query-builder.ts +75 -44
- package/src/adapters/kysely/kysely-query-compiler.ts +3 -1
- package/src/adapters/kysely/kysely-query.ts +8 -2
- package/src/adapters/kysely/kysely-shared.ts +23 -0
- package/src/adapters/kysely/kysely-uow-compiler.ts +5 -2
- package/src/adapters/kysely/migration/execute-mysql.test.ts +2 -2
- package/src/adapters/kysely/migration/execute-postgres.test.ts +19 -19
- package/src/adapters/kysely/migration/execute.ts +48 -17
- package/src/adapters/kysely/migration/kysely-migrator.test.ts +19 -37
- package/src/fragment.test.ts +1 -0
- package/src/migration-engine/auto-from-schema.ts +14 -18
- package/src/migration-engine/create.ts +1 -6
- package/src/migration-engine/generation-engine.test.ts +597 -0
- package/src/migration-engine/generation-engine.ts +356 -0
- package/src/migration-engine/shared.ts +1 -4
- package/src/mod.ts +0 -66
- package/src/query/condition-builder.ts +24 -8
- package/src/query/result-transform.ts +7 -1
- package/src/schema/create.test.ts +4 -1
- package/src/schema/create.ts +132 -24
- package/src/schema/serialize.test.ts +1 -0
- package/src/schema/serialize.ts +28 -7
- package/src/shared/settings-schema.ts +61 -0
- package/src/util/deep-equal.ts +21 -7
- package/src/util/import-generator.ts +3 -1
- package/src/util/parse.ts +3 -1
- package/tsdown.config.ts +1 -0
- package/.turbo/turbo-test.log +0 -37
- package/.turbo/turbo-types$colon$check.log +0 -1
- package/dist/node_modules/.bun/drizzle-orm@0.44.6_4fae081eecb963e2/node_modules/drizzle-orm/column-builder.js.map +0 -1
- package/dist/node_modules/.bun/drizzle-orm@0.44.6_4fae081eecb963e2/node_modules/drizzle-orm/column.js.map +0 -1
- package/dist/node_modules/.bun/drizzle-orm@0.44.6_4fae081eecb963e2/node_modules/drizzle-orm/entity.js.map +0 -1
- package/dist/node_modules/.bun/drizzle-orm@0.44.6_4fae081eecb963e2/node_modules/drizzle-orm/pg-core/columns/common.js.map +0 -1
- package/dist/node_modules/.bun/drizzle-orm@0.44.6_4fae081eecb963e2/node_modules/drizzle-orm/pg-core/columns/enum.js.map +0 -1
- package/dist/node_modules/.bun/drizzle-orm@0.44.6_4fae081eecb963e2/node_modules/drizzle-orm/pg-core/foreign-keys.js.map +0 -1
- package/dist/node_modules/.bun/drizzle-orm@0.44.6_4fae081eecb963e2/node_modules/drizzle-orm/pg-core/unique-constraint.js.map +0 -1
- package/dist/node_modules/.bun/drizzle-orm@0.44.6_4fae081eecb963e2/node_modules/drizzle-orm/pg-core/utils/array.js.map +0 -1
- package/dist/node_modules/.bun/drizzle-orm@0.44.6_4fae081eecb963e2/node_modules/drizzle-orm/sql/expressions/conditions.js.map +0 -1
- package/dist/node_modules/.bun/drizzle-orm@0.44.6_4fae081eecb963e2/node_modules/drizzle-orm/sql/expressions/select.js +0 -13
- package/dist/node_modules/.bun/drizzle-orm@0.44.6_4fae081eecb963e2/node_modules/drizzle-orm/sql/expressions/select.js.map +0 -1
- package/dist/node_modules/.bun/drizzle-orm@0.44.6_4fae081eecb963e2/node_modules/drizzle-orm/sql/functions/aggregate.js +0 -10
- package/dist/node_modules/.bun/drizzle-orm@0.44.6_4fae081eecb963e2/node_modules/drizzle-orm/sql/functions/aggregate.js.map +0 -1
- package/dist/node_modules/.bun/drizzle-orm@0.44.6_4fae081eecb963e2/node_modules/drizzle-orm/sql/sql.js.map +0 -1
- package/dist/node_modules/.bun/drizzle-orm@0.44.6_4fae081eecb963e2/node_modules/drizzle-orm/subquery.js.map +0 -1
- package/dist/node_modules/.bun/drizzle-orm@0.44.6_4fae081eecb963e2/node_modules/drizzle-orm/table.js.map +0 -1
- package/dist/node_modules/.bun/drizzle-orm@0.44.6_4fae081eecb963e2/node_modules/drizzle-orm/table.utils.js +0 -6
- package/dist/node_modules/.bun/drizzle-orm@0.44.6_4fae081eecb963e2/node_modules/drizzle-orm/table.utils.js.map +0 -1
- package/dist/node_modules/.bun/drizzle-orm@0.44.6_4fae081eecb963e2/node_modules/drizzle-orm/tracing-utils.js +0 -8
- package/dist/node_modules/.bun/drizzle-orm@0.44.6_4fae081eecb963e2/node_modules/drizzle-orm/tracing-utils.js.map +0 -1
- package/dist/node_modules/.bun/drizzle-orm@0.44.6_4fae081eecb963e2/node_modules/drizzle-orm/tracing.js +0 -8
- package/dist/node_modules/.bun/drizzle-orm@0.44.6_4fae081eecb963e2/node_modules/drizzle-orm/tracing.js.map +0 -1
- package/dist/node_modules/.bun/drizzle-orm@0.44.6_4fae081eecb963e2/node_modules/drizzle-orm/view-common.js +0 -6
- package/dist/node_modules/.bun/drizzle-orm@0.44.6_4fae081eecb963e2/node_modules/drizzle-orm/view-common.js.map +0 -1
package/src/schema/create.ts
CHANGED
|
@@ -151,15 +151,35 @@ export interface Table<
|
|
|
151
151
|
getVersionColumn: () => AnyColumn;
|
|
152
152
|
}
|
|
153
153
|
|
|
154
|
-
type
|
|
155
|
-
|
|
156
|
-
timestamp: "now";
|
|
157
|
-
string: "auto";
|
|
158
|
-
} & Record<`varchar(${number})`, "auto">;
|
|
154
|
+
type DBSpecial = { tag: "special"; value: "now" };
|
|
155
|
+
type RuntimeSpecial = { tag: "special"; value: "cuid" | "now" };
|
|
159
156
|
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
157
|
+
/**
|
|
158
|
+
* Builder for database-level default values.
|
|
159
|
+
*/
|
|
160
|
+
export interface DefaultBuilder {
|
|
161
|
+
/** Database-generated timestamp (DEFAULT NOW()) */
|
|
162
|
+
now(): DBSpecial;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
/**
|
|
166
|
+
* Builder for runtime-generated default values.
|
|
167
|
+
*/
|
|
168
|
+
export interface RuntimeDefaultBuilder {
|
|
169
|
+
/** Generate CUID identifier */
|
|
170
|
+
cuid(): RuntimeSpecial;
|
|
171
|
+
/** Generate current timestamp */
|
|
172
|
+
now(): RuntimeSpecial;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
const defaultBuilder: DefaultBuilder = {
|
|
176
|
+
now: () => ({ tag: "special", value: "now" }),
|
|
177
|
+
};
|
|
178
|
+
|
|
179
|
+
const runtimeDefaultBuilder: RuntimeDefaultBuilder = {
|
|
180
|
+
cuid: () => ({ tag: "special", value: "cuid" }),
|
|
181
|
+
now: () => ({ tag: "special", value: "now" }),
|
|
182
|
+
};
|
|
163
183
|
|
|
164
184
|
type IdColumnType = `varchar(${number})`;
|
|
165
185
|
|
|
@@ -188,9 +208,8 @@ export class Column<TType extends keyof TypeMap, TIn = unknown, TOut = unknown>
|
|
|
188
208
|
|
|
189
209
|
default?:
|
|
190
210
|
| { value: TypeMap[TType] }
|
|
191
|
-
| {
|
|
192
|
-
|
|
193
|
-
};
|
|
211
|
+
| { dbSpecial: "now" }
|
|
212
|
+
| { runtime: "cuid" | "now" | (() => TypeMap[TType]) };
|
|
194
213
|
|
|
195
214
|
tableName: string = "";
|
|
196
215
|
|
|
@@ -214,25 +233,99 @@ export class Column<TType extends keyof TypeMap, TIn = unknown, TOut = unknown>
|
|
|
214
233
|
}
|
|
215
234
|
|
|
216
235
|
/**
|
|
217
|
-
* Generate default value
|
|
236
|
+
* Generate default value at runtime in application code (not in the database).
|
|
237
|
+
*
|
|
238
|
+
* Use this when you need values generated in your application code, either because:
|
|
239
|
+
* - Your database doesn't support the operation (e.g., generating CUIDs)
|
|
240
|
+
* - You want consistent behavior across all databases
|
|
241
|
+
* - You need custom generation logic
|
|
242
|
+
*
|
|
243
|
+
* @param value - Either a literal value or builder callback:
|
|
244
|
+
* - Literal: Any static value of the column type
|
|
245
|
+
* - `(b) => b.cuid()` - Generate a CUID identifier
|
|
246
|
+
* - `(b) => b.now()` - Generate current timestamp
|
|
247
|
+
* - `(b) => ...` - Custom function that returns the default value
|
|
248
|
+
*
|
|
249
|
+
* @example
|
|
250
|
+
* ```ts
|
|
251
|
+
* column("string").defaultTo$((b) => b.cuid()) // Generate CUID at runtime
|
|
252
|
+
* column("timestamp").defaultTo$((b) => b.now()) // Generate timestamp at runtime
|
|
253
|
+
* column("integer").defaultTo$(42) // Static literal
|
|
254
|
+
* column("integer").defaultTo$((b) => Math.floor(Math.random() * 100)) // Custom function
|
|
255
|
+
* ```
|
|
218
256
|
*/
|
|
219
|
-
defaultTo$(
|
|
220
|
-
|
|
257
|
+
defaultTo$(
|
|
258
|
+
value: TypeMap[TType] | ((builder: RuntimeDefaultBuilder) => RuntimeSpecial | TypeMap[TType]),
|
|
259
|
+
): Column<TType, TIn | null, TOut> {
|
|
260
|
+
if (typeof value === "function") {
|
|
261
|
+
const fn = value as (builder: RuntimeDefaultBuilder) => RuntimeSpecial | TypeMap[TType];
|
|
262
|
+
const result = fn(runtimeDefaultBuilder);
|
|
263
|
+
if (
|
|
264
|
+
typeof result === "object" &&
|
|
265
|
+
result !== null &&
|
|
266
|
+
"tag" in result &&
|
|
267
|
+
result.tag === "special"
|
|
268
|
+
) {
|
|
269
|
+
this.default = { runtime: result.value };
|
|
270
|
+
} else {
|
|
271
|
+
// Custom function - we need to wrap the callback to call it again later
|
|
272
|
+
this.default = { runtime: () => fn(runtimeDefaultBuilder) as TypeMap[TType] };
|
|
273
|
+
}
|
|
274
|
+
} else {
|
|
275
|
+
// Direct literal value - wrap it in a function for runtime generation
|
|
276
|
+
this.default = { runtime: () => value };
|
|
277
|
+
}
|
|
221
278
|
return this;
|
|
222
279
|
}
|
|
223
280
|
|
|
224
281
|
/**
|
|
225
|
-
* Set a database-level default value
|
|
282
|
+
* Set a database-level default value (generated by the database, not application code).
|
|
283
|
+
*
|
|
284
|
+
* The database will generate the default value when inserting rows. If the database
|
|
285
|
+
* doesn't support the operation, Fragno will fall back to generating the value in
|
|
286
|
+
* application code.
|
|
287
|
+
*
|
|
288
|
+
* @param value - Either a literal value or builder callback:
|
|
289
|
+
* - Literal: Any static value of the column type
|
|
290
|
+
* - `(b) => b.now()` - Database-generated timestamp
|
|
226
291
|
*
|
|
227
|
-
*
|
|
292
|
+
* @example
|
|
293
|
+
* ```ts
|
|
294
|
+
* // Static defaults
|
|
295
|
+
* column("string").defaultTo("active")
|
|
296
|
+
* column("integer").defaultTo(0)
|
|
297
|
+
* column("boolean").defaultTo(true)
|
|
298
|
+
*
|
|
299
|
+
* // Database-generated timestamp (with fallback)
|
|
300
|
+
* column("timestamp").defaultTo((b) => b.now())
|
|
301
|
+
* ```
|
|
228
302
|
*/
|
|
229
|
-
defaultTo(
|
|
230
|
-
|
|
303
|
+
defaultTo(
|
|
304
|
+
value: TypeMap[TType] | ((builder: DefaultBuilder) => DBSpecial | TypeMap[TType]),
|
|
305
|
+
): Column<TType, TIn | null, TOut> {
|
|
306
|
+
if (typeof value === "function") {
|
|
307
|
+
const fn = value as (builder: DefaultBuilder) => DBSpecial | TypeMap[TType];
|
|
308
|
+
const result = fn(defaultBuilder);
|
|
309
|
+
if (
|
|
310
|
+
typeof result === "object" &&
|
|
311
|
+
result !== null &&
|
|
312
|
+
"tag" in result &&
|
|
313
|
+
result.tag === "special"
|
|
314
|
+
) {
|
|
315
|
+
this.default = { dbSpecial: result.value };
|
|
316
|
+
} else {
|
|
317
|
+
this.default = { value: result as TypeMap[TType] };
|
|
318
|
+
}
|
|
319
|
+
} else {
|
|
320
|
+
this.default = { value };
|
|
321
|
+
}
|
|
231
322
|
return this;
|
|
232
323
|
}
|
|
233
324
|
|
|
234
325
|
/**
|
|
235
|
-
* Generate default value for the column
|
|
326
|
+
* Generate default value for the column at runtime.
|
|
327
|
+
* Used for both runtime defaults (defaultTo$) and fallback generation for
|
|
328
|
+
* database defaults (defaultTo) when the database doesn't support them.
|
|
236
329
|
*/
|
|
237
330
|
generateDefaultValue(): TypeMap[TType] | undefined {
|
|
238
331
|
if (!this.default) {
|
|
@@ -242,13 +335,24 @@ export class Column<TType extends keyof TypeMap, TIn = unknown, TOut = unknown>
|
|
|
242
335
|
if ("value" in this.default) {
|
|
243
336
|
return this.default.value;
|
|
244
337
|
}
|
|
245
|
-
|
|
338
|
+
|
|
339
|
+
if ("dbSpecial" in this.default) {
|
|
340
|
+
// Fallback generation for database-level special functions
|
|
341
|
+
if (this.default.dbSpecial === "now") {
|
|
342
|
+
return new Date(Date.now()) as TypeMap[TType];
|
|
343
|
+
}
|
|
344
|
+
return;
|
|
345
|
+
}
|
|
346
|
+
|
|
347
|
+
// Runtime defaults (defaultTo$)
|
|
348
|
+
if (this.default.runtime === "cuid") {
|
|
246
349
|
return createId() as TypeMap[TType];
|
|
247
350
|
}
|
|
248
351
|
if (this.default.runtime === "now") {
|
|
249
352
|
return new Date(Date.now()) as TypeMap[TType];
|
|
250
353
|
}
|
|
251
354
|
|
|
355
|
+
// Custom function
|
|
252
356
|
return this.default.runtime();
|
|
253
357
|
}
|
|
254
358
|
|
|
@@ -276,11 +380,15 @@ export class IdColumn<
|
|
|
276
380
|
> extends Column<TType, TIn, TOut> {
|
|
277
381
|
id = true;
|
|
278
382
|
|
|
279
|
-
override defaultTo$(
|
|
280
|
-
|
|
383
|
+
override defaultTo$(
|
|
384
|
+
value: TypeMap[TType] | ((builder: RuntimeDefaultBuilder) => RuntimeSpecial | TypeMap[TType]),
|
|
385
|
+
) {
|
|
386
|
+
return super.defaultTo$(value) as IdColumn<TType, TIn | null, TOut>;
|
|
281
387
|
}
|
|
282
388
|
|
|
283
|
-
override defaultTo(
|
|
389
|
+
override defaultTo(
|
|
390
|
+
value: TypeMap[TType] | ((builder: DefaultBuilder) => DBSpecial | TypeMap[TType]),
|
|
391
|
+
) {
|
|
284
392
|
return super.defaultTo(value) as IdColumn<TType, TIn | null, TOut>;
|
|
285
393
|
}
|
|
286
394
|
}
|
|
@@ -342,7 +450,7 @@ export function referenceColumn(): Column<
|
|
|
342
450
|
export function idColumn(): IdColumn<"varchar(30)", string | FragnoId | null, FragnoId> {
|
|
343
451
|
const col = new IdColumn<"varchar(30)", string | FragnoId | null, FragnoId>("varchar(30)");
|
|
344
452
|
col.role = "external-id";
|
|
345
|
-
col.defaultTo$(
|
|
453
|
+
col.defaultTo$((b) => b.cuid());
|
|
346
454
|
return col;
|
|
347
455
|
}
|
|
348
456
|
|
|
@@ -514,6 +514,7 @@ describe("serialize", () => {
|
|
|
514
514
|
|
|
515
515
|
expect(serialize(fragnoId, referenceCol, "postgresql")).toBe(BigInt(456));
|
|
516
516
|
expect(serialize(fragnoId, referenceCol, "sqlite")).toBe(BigInt(456));
|
|
517
|
+
expect(serialize(fragnoId, referenceCol, "mysql")).toBe(BigInt(456));
|
|
517
518
|
});
|
|
518
519
|
|
|
519
520
|
it("should fallback to external ID for reference column when internal ID unavailable", () => {
|
package/src/schema/serialize.ts
CHANGED
|
@@ -188,6 +188,13 @@ export function schemaToDBType(
|
|
|
188
188
|
}
|
|
189
189
|
}
|
|
190
190
|
|
|
191
|
+
if ("role" in column && column.role === "reference") {
|
|
192
|
+
if (provider === "sqlite") {
|
|
193
|
+
return "integer";
|
|
194
|
+
}
|
|
195
|
+
// Other providers use bigint for references
|
|
196
|
+
}
|
|
197
|
+
|
|
191
198
|
if (provider === "sqlite") {
|
|
192
199
|
switch (type) {
|
|
193
200
|
case "integer":
|
|
@@ -205,7 +212,9 @@ export function schemaToDBType(
|
|
|
205
212
|
return "real";
|
|
206
213
|
default:
|
|
207
214
|
// sqlite doesn't support varchar
|
|
208
|
-
if (type.startsWith("varchar"))
|
|
215
|
+
if (type.startsWith("varchar")) {
|
|
216
|
+
return "text";
|
|
217
|
+
}
|
|
209
218
|
}
|
|
210
219
|
}
|
|
211
220
|
|
|
@@ -225,7 +234,9 @@ export function schemaToDBType(
|
|
|
225
234
|
case "json":
|
|
226
235
|
return "varchar(max)";
|
|
227
236
|
default:
|
|
228
|
-
if (type.startsWith("varchar"))
|
|
237
|
+
if (type.startsWith("varchar")) {
|
|
238
|
+
return type as `varchar(${number})`;
|
|
239
|
+
}
|
|
229
240
|
return type;
|
|
230
241
|
}
|
|
231
242
|
}
|
|
@@ -241,7 +252,9 @@ export function schemaToDBType(
|
|
|
241
252
|
case "binary":
|
|
242
253
|
return "bytea";
|
|
243
254
|
default:
|
|
244
|
-
if (type.startsWith("varchar"))
|
|
255
|
+
if (type.startsWith("varchar")) {
|
|
256
|
+
return type as `varchar(${number})`;
|
|
257
|
+
}
|
|
245
258
|
return type;
|
|
246
259
|
}
|
|
247
260
|
}
|
|
@@ -255,7 +268,9 @@ export function schemaToDBType(
|
|
|
255
268
|
case "binary":
|
|
256
269
|
return "longblob";
|
|
257
270
|
default:
|
|
258
|
-
if (type.startsWith("varchar"))
|
|
271
|
+
if (type.startsWith("varchar")) {
|
|
272
|
+
return type as `varchar(${number})`;
|
|
273
|
+
}
|
|
259
274
|
return type;
|
|
260
275
|
}
|
|
261
276
|
}
|
|
@@ -269,7 +284,9 @@ const supportJson: SQLProvider[] = ["postgresql", "cockroachdb", "mysql"];
|
|
|
269
284
|
* Parse from driver value
|
|
270
285
|
*/
|
|
271
286
|
export function deserialize(value: unknown, col: AnyColumn, provider: SQLProvider) {
|
|
272
|
-
if (value === null)
|
|
287
|
+
if (value === null) {
|
|
288
|
+
return null;
|
|
289
|
+
}
|
|
273
290
|
|
|
274
291
|
if (!supportJson.includes(provider) && col.type === "json" && typeof value === "string") {
|
|
275
292
|
return JSON.parse(value);
|
|
@@ -283,7 +300,9 @@ export function deserialize(value: unknown, col: AnyColumn, provider: SQLProvide
|
|
|
283
300
|
return new Date(value);
|
|
284
301
|
}
|
|
285
302
|
|
|
286
|
-
if (col.type === "bool" && typeof value === "number")
|
|
303
|
+
if (col.type === "bool" && typeof value === "number") {
|
|
304
|
+
return value === 1;
|
|
305
|
+
}
|
|
287
306
|
|
|
288
307
|
if (col.type === "bigint" && value instanceof Buffer) {
|
|
289
308
|
return value.readBigInt64BE(0);
|
|
@@ -342,7 +361,9 @@ export function serialize(value: unknown, col: AnyColumn, provider: SQLProvider)
|
|
|
342
361
|
return value.getTime();
|
|
343
362
|
}
|
|
344
363
|
|
|
345
|
-
if (provider === "sqlite" && typeof value === "boolean")
|
|
364
|
+
if (provider === "sqlite" && typeof value === "boolean") {
|
|
365
|
+
return value ? 1 : 0;
|
|
366
|
+
}
|
|
346
367
|
|
|
347
368
|
if (provider === "sqlite" && typeof value === "bigint") {
|
|
348
369
|
const buf = Buffer.alloc(8);
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import type { AbstractQuery } from "../query/query";
|
|
2
|
+
import { schema, idColumn, column, type FragnoId } from "../schema/create";
|
|
3
|
+
|
|
4
|
+
export const SETTINGS_TABLE_NAME = "fragno_db_settings" as const;
|
|
5
|
+
export const SETTINGS_NAMESPACE = "fragno-db-settings" as const;
|
|
6
|
+
|
|
7
|
+
export const settingsSchema = schema((s) => {
|
|
8
|
+
return s.addTable(SETTINGS_TABLE_NAME, (t) => {
|
|
9
|
+
return t
|
|
10
|
+
.addColumn("id", idColumn())
|
|
11
|
+
.addColumn("key", column("string"))
|
|
12
|
+
.addColumn("value", column("string"))
|
|
13
|
+
.createIndex("unique_key", ["key"], { unique: true });
|
|
14
|
+
});
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
export function createSettingsManager(
|
|
18
|
+
// oxlint-disable-next-line no-explicit-any
|
|
19
|
+
queryEngine: AbstractQuery<typeof settingsSchema, any>,
|
|
20
|
+
namespace: string,
|
|
21
|
+
) {
|
|
22
|
+
return {
|
|
23
|
+
async get(key: string): Promise<{ id: FragnoId; key: string; value: string } | undefined> {
|
|
24
|
+
const uow = queryEngine
|
|
25
|
+
.createUnitOfWork()
|
|
26
|
+
.find(SETTINGS_TABLE_NAME, (b) =>
|
|
27
|
+
b.whereIndex("unique_key", (eb) => eb("key", "=", `${namespace}.${key}`)),
|
|
28
|
+
);
|
|
29
|
+
const [[result]] = await uow.executeRetrieve();
|
|
30
|
+
return result; // Safe: result can be undefined if key doesn't exist
|
|
31
|
+
},
|
|
32
|
+
|
|
33
|
+
async set(key: string, value: string) {
|
|
34
|
+
const uow = queryEngine
|
|
35
|
+
.createUnitOfWork("createSettingsManager#set")
|
|
36
|
+
.find(SETTINGS_TABLE_NAME, (b) =>
|
|
37
|
+
b.whereIndex("unique_key", (eb) => eb("key", "=", `${namespace}.${key}`)),
|
|
38
|
+
);
|
|
39
|
+
const [[existing]] = await uow.executeRetrieve();
|
|
40
|
+
|
|
41
|
+
if (existing) {
|
|
42
|
+
uow.update(SETTINGS_TABLE_NAME, existing.id, (b) => b.set({ value }).check());
|
|
43
|
+
} else {
|
|
44
|
+
uow.create(SETTINGS_TABLE_NAME, {
|
|
45
|
+
key: `${namespace}.${key}`,
|
|
46
|
+
value,
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
const { success } = await uow.executeMutations();
|
|
51
|
+
|
|
52
|
+
if (!success) {
|
|
53
|
+
throw new Error("Failed to set schema version");
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
|
|
57
|
+
async delete(id: FragnoId) {
|
|
58
|
+
await queryEngine.delete(SETTINGS_TABLE_NAME, id);
|
|
59
|
+
},
|
|
60
|
+
};
|
|
61
|
+
}
|
package/src/util/deep-equal.ts
CHANGED
|
@@ -1,13 +1,21 @@
|
|
|
1
1
|
// Minimal deep equal utility for primitives, arrays, and plain objects
|
|
2
2
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
3
3
|
export function deepEqual(a: any, b: any): boolean {
|
|
4
|
-
if (a === b)
|
|
5
|
-
|
|
4
|
+
if (a === b) {
|
|
5
|
+
return true;
|
|
6
|
+
}
|
|
7
|
+
if (typeof a !== typeof b) {
|
|
8
|
+
return false;
|
|
9
|
+
}
|
|
6
10
|
|
|
7
11
|
if (Array.isArray(a) && Array.isArray(b)) {
|
|
8
|
-
if (a.length !== b.length)
|
|
12
|
+
if (a.length !== b.length) {
|
|
13
|
+
return false;
|
|
14
|
+
}
|
|
9
15
|
for (let i = 0; i < a.length; i++) {
|
|
10
|
-
if (!deepEqual(a[i], b[i]))
|
|
16
|
+
if (!deepEqual(a[i], b[i])) {
|
|
17
|
+
return false;
|
|
18
|
+
}
|
|
11
19
|
}
|
|
12
20
|
return true;
|
|
13
21
|
}
|
|
@@ -15,11 +23,17 @@ export function deepEqual(a: any, b: any): boolean {
|
|
|
15
23
|
if (typeof a === "object" && typeof b === "object") {
|
|
16
24
|
const aKeys = Object.keys(a);
|
|
17
25
|
const bKeys = Object.keys(b);
|
|
18
|
-
if (aKeys.length !== bKeys.length)
|
|
26
|
+
if (aKeys.length !== bKeys.length) {
|
|
27
|
+
return false;
|
|
28
|
+
}
|
|
19
29
|
for (const key of aKeys) {
|
|
20
|
-
if (!(key in b))
|
|
30
|
+
if (!(key in b)) {
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
21
33
|
|
|
22
|
-
if (!Object.hasOwn(b, key) || !deepEqual(a[key], b[key]))
|
|
34
|
+
if (!Object.hasOwn(b, key) || !deepEqual(a[key], b[key])) {
|
|
35
|
+
return false;
|
|
36
|
+
}
|
|
23
37
|
}
|
|
24
38
|
|
|
25
39
|
return true;
|
|
@@ -17,7 +17,9 @@ export function importGenerator() {
|
|
|
17
17
|
format(): string {
|
|
18
18
|
const v: string[] = [];
|
|
19
19
|
for (const [specifier, names] of map) {
|
|
20
|
-
if (names.length === 0)
|
|
20
|
+
if (names.length === 0) {
|
|
21
|
+
continue;
|
|
22
|
+
}
|
|
21
23
|
|
|
22
24
|
v.push(`import { ${names.join(", ")} } from "${specifier}"`);
|
|
23
25
|
}
|
package/src/util/parse.ts
CHANGED
|
@@ -2,7 +2,9 @@ const RegexVarchar = /^varchar\((\d+)\)$/;
|
|
|
2
2
|
|
|
3
3
|
export function parseVarchar(template: string): number {
|
|
4
4
|
const match = RegexVarchar.exec(template);
|
|
5
|
-
if (!match)
|
|
5
|
+
if (!match) {
|
|
6
|
+
throw new Error("Failed to match varchar(n)");
|
|
7
|
+
}
|
|
6
8
|
return Number(match[1]);
|
|
7
9
|
}
|
|
8
10
|
|
package/tsdown.config.ts
CHANGED
package/.turbo/turbo-test.log
DELETED
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
$ vitest run
|
|
2
|
-
|
|
3
|
-
[1m[46m RUN [49m[22m [36mv3.2.4 [39m[90m/home/runner/work/fragno/fragno/packages/fragno-db[39m
|
|
4
|
-
[2mCoverage enabled with [22m[33mistanbul[39m
|
|
5
|
-
|
|
6
|
-
[32m✓[39m src/adapters/kysely/migration/execute-postgres.test.ts [2m([22m[2m50 tests[22m[2m)[22m[33m 779[2mms[22m[39m
|
|
7
|
-
[32m✓[39m src/adapters/kysely/kysely-query-builder.test.ts [2m([22m[2m83 tests[22m[2m)[22m[33m 575[2mms[22m[39m
|
|
8
|
-
[32m✓[39m src/adapters/kysely/kysely-uow-joins.test.ts [2m([22m[2m26 tests[22m[2m)[22m[33m 422[2mms[22m[39m
|
|
9
|
-
[32m✓[39m src/adapters/kysely/kysely-uow-compiler.test.ts [2m([22m[2m42 tests[22m[2m)[22m[33m 467[2mms[22m[39m
|
|
10
|
-
[32m✓[39m src/schema/create.test.ts [2m([22m[2m28 tests[22m[2m)[22m[32m 208[2mms[22m[39m
|
|
11
|
-
[32m✓[39m src/adapters/kysely/migration/execute-mysql.test.ts [2m([22m[2m36 tests[22m[2m)[22m[33m 331[2mms[22m[39m
|
|
12
|
-
[32m✓[39m src/query/unit-of-work.test.ts [2m([22m[2m30 tests[22m[2m)[22m[32m 262[2mms[22m[39m
|
|
13
|
-
[32m✓[39m src/adapters/drizzle/generate.test.ts [2m([22m[2m13 tests[22m[2m)[22m[32m 154[2mms[22m[39m
|
|
14
|
-
[32m✓[39m src/query/result-transform.test.ts [2m([22m[2m47 tests[22m[2m)[22m[32m 173[2mms[22m[39m
|
|
15
|
-
[32m✓[39m src/schema/serialize.test.ts [2m([22m[2m86 tests[22m[2m)[22m[32m 206[2mms[22m[39m
|
|
16
|
-
[32m✓[39m src/adapters/drizzle/drizzle-uow-compiler.test.ts [2m([22m[2m45 tests[22m[2m)[22m[33m 24852[2mms[22m[39m
|
|
17
|
-
[32m✓[39m src/adapters/kysely/kysely-adapter-pglite.test.ts [2m([22m[2m7 tests[22m[2m)[22m[33m 10686[2mms[22m[39m
|
|
18
|
-
[33m[2m✓[22m[39m KyselyAdapter PGLite[2m > [22mshould run migrations and basic queries [33m 623[2mms[22m[39m
|
|
19
|
-
[33m[2m✓[22m[39m KyselyAdapter PGLite[2m > [22mshould support many-to-many queries through junction table [33m 343[2mms[22m[39m
|
|
20
|
-
[32m✓[39m src/query/query-type.test.ts [2m([22m[2m29 tests[22m[2m)[22m[32m 29[2mms[22m[39m
|
|
21
|
-
[32m✓[39m src/query/condition-builder.test.ts [2m([22m[2m20 tests[22m[2m)[22m[32m 34[2mms[22m[39m
|
|
22
|
-
[32m✓[39m src/migration-engine/create.test.ts [2m([22m[2m20 tests[22m[2m)[22m[32m 56[2mms[22m[39m
|
|
23
|
-
[32m✓[39m src/migration-engine/auto-from-schema.test.ts [2m([22m[2m13 tests[22m[2m)[22m[32m 76[2mms[22m[39m
|
|
24
|
-
[32m✓[39m src/adapters/drizzle/drizzle-adapter-pglite.test.ts [2m([22m[2m5 tests[22m[2m)[22m[33m 8905[2mms[22m[39m
|
|
25
|
-
[32m✓[39m src/adapters/drizzle/migrate-drizzle.test.ts [2m([22m[2m1 test[22m[2m)[22m[33m 491[2mms[22m[39m
|
|
26
|
-
[32m✓[39m src/fragment.test.ts [2m([22m[2m11 tests[22m[2m)[22m[32m 57[2mms[22m[39m
|
|
27
|
-
[32m✓[39m src/query/cursor.test.ts [2m([22m[2m18 tests[22m[2m)[22m[32m 41[2mms[22m[39m
|
|
28
|
-
[32m✓[39m src/query/unit-of-work-types.test.ts [2m([22m[2m5 tests[22m[2m)[22m[32m 37[2mms[22m[39m
|
|
29
|
-
[32m✓[39m src/adapters/kysely/migration/kysely-migrator.test.ts [2m([22m[2m9 tests[22m[2m)[22m[32m 142[2mms[22m[39m
|
|
30
|
-
[32m✓[39m src/adapters/drizzle/drizzle-adapter.test.ts [2m([22m[2m4 tests[22m[2m)[22m[32m 53[2mms[22m[39m
|
|
31
|
-
[32m✓[39m src/adapters/drizzle/join-column-utils.test.ts [2m([22m[2m8 tests[22m[2m)[22m[32m 23[2mms[22m[39m
|
|
32
|
-
|
|
33
|
-
[2m Test Files [22m [1m[32m24 passed[39m[22m[90m (24)[39m
|
|
34
|
-
[2m Tests [22m [1m[32m636 passed[39m[22m[90m (636)[39m
|
|
35
|
-
[2m Start at [22m 12:33:42
|
|
36
|
-
[2m Duration [22m 47.25s[2m (transform 20.15s, setup 0ms, collect 51.86s, tests 49.06s, environment 119ms, prepare 11.76s)[22m
|
|
37
|
-
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
$ tsc --noEmit
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"column-builder.js","names":[],"sources":["../../../../../../../../node_modules/.bun/drizzle-orm@0.44.6+4fae081eecb963e2/node_modules/drizzle-orm/column-builder.js"],"sourcesContent":["import { entityKind } from \"./entity.js\";\nclass ColumnBuilder {\n static [entityKind] = \"ColumnBuilder\";\n config;\n constructor(name, dataType, columnType) {\n this.config = {\n name,\n keyAsName: name === \"\",\n notNull: false,\n default: void 0,\n hasDefault: false,\n primaryKey: false,\n isUnique: false,\n uniqueName: void 0,\n uniqueType: void 0,\n dataType,\n columnType,\n generated: void 0\n };\n }\n /**\n * Changes the data type of the column. Commonly used with `json` columns. Also, useful for branded types.\n *\n * @example\n * ```ts\n * const users = pgTable('users', {\n * \tid: integer('id').$type<UserId>().primaryKey(),\n * \tdetails: json('details').$type<UserDetails>().notNull(),\n * });\n * ```\n */\n $type() {\n return this;\n }\n /**\n * Adds a `not null` clause to the column definition.\n *\n * Affects the `select` model of the table - columns *without* `not null` will be nullable on select.\n */\n notNull() {\n this.config.notNull = true;\n return this;\n }\n /**\n * Adds a `default <value>` clause to the column definition.\n *\n * Affects the `insert` model of the table - columns *with* `default` are optional on insert.\n *\n * If you need to set a dynamic default value, use {@link $defaultFn} instead.\n */\n default(value) {\n this.config.default = value;\n this.config.hasDefault = true;\n return this;\n }\n /**\n * Adds a dynamic default value to the column.\n * The function will be called when the row is inserted, and the returned value will be used as the column value.\n *\n * **Note:** This value does not affect the `drizzle-kit` behavior, it is only used at runtime in `drizzle-orm`.\n */\n $defaultFn(fn) {\n this.config.defaultFn = fn;\n this.config.hasDefault = true;\n return this;\n }\n /**\n * Alias for {@link $defaultFn}.\n */\n $default = this.$defaultFn;\n /**\n * Adds a dynamic update value to the column.\n * The function will be called when the row is updated, and the returned value will be used as the column value if none is provided.\n * If no `default` (or `$defaultFn`) value is provided, the function will be called when the row is inserted as well, and the returned value will be used as the column value.\n *\n * **Note:** This value does not affect the `drizzle-kit` behavior, it is only used at runtime in `drizzle-orm`.\n */\n $onUpdateFn(fn) {\n this.config.onUpdateFn = fn;\n this.config.hasDefault = true;\n return this;\n }\n /**\n * Alias for {@link $onUpdateFn}.\n */\n $onUpdate = this.$onUpdateFn;\n /**\n * Adds a `primary key` clause to the column definition. This implicitly makes the column `not null`.\n *\n * In SQLite, `integer primary key` implicitly makes the column auto-incrementing.\n */\n primaryKey() {\n this.config.primaryKey = true;\n this.config.notNull = true;\n return this;\n }\n /** @internal Sets the name of the column to the key within the table definition if a name was not given. */\n setName(name) {\n if (this.config.name !== \"\") return;\n this.config.name = name;\n }\n}\nexport {\n ColumnBuilder\n};\n//# sourceMappingURL=column-builder.js.map"],"x_google_ignoreList":[0],"mappings":";;;AACA,IAAM,gBAAN,MAAoB;CAClB,QAAQ,cAAc;CACtB;CACA,YAAY,MAAM,UAAU,YAAY;AACtC,OAAK,SAAS;GACZ;GACA,WAAW,SAAS;GACpB,SAAS;GACT,SAAS,KAAK;GACd,YAAY;GACZ,YAAY;GACZ,UAAU;GACV,YAAY,KAAK;GACjB,YAAY,KAAK;GACjB;GACA;GACA,WAAW,KAAK;GACjB;;;;;;;;;;;;;CAaH,QAAQ;AACN,SAAO;;;;;;;CAOT,UAAU;AACR,OAAK,OAAO,UAAU;AACtB,SAAO;;;;;;;;;CAST,QAAQ,OAAO;AACb,OAAK,OAAO,UAAU;AACtB,OAAK,OAAO,aAAa;AACzB,SAAO;;;;;;;;CAQT,WAAW,IAAI;AACb,OAAK,OAAO,YAAY;AACxB,OAAK,OAAO,aAAa;AACzB,SAAO;;;;;CAKT,WAAW,KAAK;;;;;;;;CAQhB,YAAY,IAAI;AACd,OAAK,OAAO,aAAa;AACzB,OAAK,OAAO,aAAa;AACzB,SAAO;;;;;CAKT,YAAY,KAAK;;;;;;CAMjB,aAAa;AACX,OAAK,OAAO,aAAa;AACzB,OAAK,OAAO,UAAU;AACtB,SAAO;;;CAGT,QAAQ,MAAM;AACZ,MAAI,KAAK,OAAO,SAAS,GAAI;AAC7B,OAAK,OAAO,OAAO"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"column.js","names":[],"sources":["../../../../../../../../node_modules/.bun/drizzle-orm@0.44.6+4fae081eecb963e2/node_modules/drizzle-orm/column.js"],"sourcesContent":["import { entityKind } from \"./entity.js\";\nclass Column {\n constructor(table, config) {\n this.table = table;\n this.config = config;\n this.name = config.name;\n this.keyAsName = config.keyAsName;\n this.notNull = config.notNull;\n this.default = config.default;\n this.defaultFn = config.defaultFn;\n this.onUpdateFn = config.onUpdateFn;\n this.hasDefault = config.hasDefault;\n this.primary = config.primaryKey;\n this.isUnique = config.isUnique;\n this.uniqueName = config.uniqueName;\n this.uniqueType = config.uniqueType;\n this.dataType = config.dataType;\n this.columnType = config.columnType;\n this.generated = config.generated;\n this.generatedIdentity = config.generatedIdentity;\n }\n static [entityKind] = \"Column\";\n name;\n keyAsName;\n primary;\n notNull;\n default;\n defaultFn;\n onUpdateFn;\n hasDefault;\n isUnique;\n uniqueName;\n uniqueType;\n dataType;\n columnType;\n enumValues = void 0;\n generated = void 0;\n generatedIdentity = void 0;\n config;\n mapFromDriverValue(value) {\n return value;\n }\n mapToDriverValue(value) {\n return value;\n }\n // ** @internal */\n shouldDisableInsert() {\n return this.config.generated !== void 0 && this.config.generated.type !== \"byDefault\";\n }\n}\nexport {\n Column\n};\n//# sourceMappingURL=column.js.map"],"x_google_ignoreList":[0],"mappings":";;;AACA,IAAM,SAAN,MAAa;CACX,YAAY,OAAO,QAAQ;AACzB,OAAK,QAAQ;AACb,OAAK,SAAS;AACd,OAAK,OAAO,OAAO;AACnB,OAAK,YAAY,OAAO;AACxB,OAAK,UAAU,OAAO;AACtB,OAAK,UAAU,OAAO;AACtB,OAAK,YAAY,OAAO;AACxB,OAAK,aAAa,OAAO;AACzB,OAAK,aAAa,OAAO;AACzB,OAAK,UAAU,OAAO;AACtB,OAAK,WAAW,OAAO;AACvB,OAAK,aAAa,OAAO;AACzB,OAAK,aAAa,OAAO;AACzB,OAAK,WAAW,OAAO;AACvB,OAAK,aAAa,OAAO;AACzB,OAAK,YAAY,OAAO;AACxB,OAAK,oBAAoB,OAAO;;CAElC,QAAQ,cAAc;CACtB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA,aAAa,KAAK;CAClB,YAAY,KAAK;CACjB,oBAAoB,KAAK;CACzB;CACA,mBAAmB,OAAO;AACxB,SAAO;;CAET,iBAAiB,OAAO;AACtB,SAAO;;CAGT,sBAAsB;AACpB,SAAO,KAAK,OAAO,cAAc,KAAK,KAAK,KAAK,OAAO,UAAU,SAAS"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"entity.js","names":[],"sources":["../../../../../../../../node_modules/.bun/drizzle-orm@0.44.6+4fae081eecb963e2/node_modules/drizzle-orm/entity.js"],"sourcesContent":["const entityKind = Symbol.for(\"drizzle:entityKind\");\nconst hasOwnEntityKind = Symbol.for(\"drizzle:hasOwnEntityKind\");\nfunction is(value, type) {\n if (!value || typeof value !== \"object\") {\n return false;\n }\n if (value instanceof type) {\n return true;\n }\n if (!Object.prototype.hasOwnProperty.call(type, entityKind)) {\n throw new Error(\n `Class \"${type.name ?? \"<unknown>\"}\" doesn't look like a Drizzle entity. If this is incorrect and the class is provided by Drizzle, please report this as a bug.`\n );\n }\n let cls = Object.getPrototypeOf(value).constructor;\n if (cls) {\n while (cls) {\n if (entityKind in cls && cls[entityKind] === type[entityKind]) {\n return true;\n }\n cls = Object.getPrototypeOf(cls);\n }\n }\n return false;\n}\nexport {\n entityKind,\n hasOwnEntityKind,\n is\n};\n//# sourceMappingURL=entity.js.map"],"x_google_ignoreList":[0],"mappings":";AAAA,MAAM,aAAa,OAAO,IAAI,qBAAqB;AACnD,MAAM,mBAAmB,OAAO,IAAI,2BAA2B;AAC/D,SAAS,GAAG,OAAO,MAAM;AACvB,KAAI,CAAC,SAAS,OAAO,UAAU,SAC7B,QAAO;AAET,KAAI,iBAAiB,KACnB,QAAO;AAET,KAAI,CAAC,OAAO,UAAU,eAAe,KAAK,MAAM,WAAW,CACzD,OAAM,IAAI,MACR,UAAU,KAAK,QAAQ,YAAY,+HACpC;CAEH,IAAI,MAAM,OAAO,eAAe,MAAM,CAAC;AACvC,KAAI,IACF,QAAO,KAAK;AACV,MAAI,cAAc,OAAO,IAAI,gBAAgB,KAAK,YAChD,QAAO;AAET,QAAM,OAAO,eAAe,IAAI;;AAGpC,QAAO"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","names":[],"sources":["../../../../../../../../../../node_modules/.bun/drizzle-orm@0.44.6+4fae081eecb963e2/node_modules/drizzle-orm/pg-core/columns/common.js"],"sourcesContent":["import { ColumnBuilder } from \"../../column-builder.js\";\nimport { Column } from \"../../column.js\";\nimport { entityKind, is } from \"../../entity.js\";\nimport { ForeignKeyBuilder } from \"../foreign-keys.js\";\nimport { iife } from \"../../tracing-utils.js\";\nimport { uniqueKeyName } from \"../unique-constraint.js\";\nimport { makePgArray, parsePgArray } from \"../utils/array.js\";\nclass PgColumnBuilder extends ColumnBuilder {\n foreignKeyConfigs = [];\n static [entityKind] = \"PgColumnBuilder\";\n array(size) {\n return new PgArrayBuilder(this.config.name, this, size);\n }\n references(ref, actions = {}) {\n this.foreignKeyConfigs.push({ ref, actions });\n return this;\n }\n unique(name, config) {\n this.config.isUnique = true;\n this.config.uniqueName = name;\n this.config.uniqueType = config?.nulls;\n return this;\n }\n generatedAlwaysAs(as) {\n this.config.generated = {\n as,\n type: \"always\",\n mode: \"stored\"\n };\n return this;\n }\n /** @internal */\n buildForeignKeys(column, table) {\n return this.foreignKeyConfigs.map(({ ref, actions }) => {\n return iife(\n (ref2, actions2) => {\n const builder = new ForeignKeyBuilder(() => {\n const foreignColumn = ref2();\n return { columns: [column], foreignColumns: [foreignColumn] };\n });\n if (actions2.onUpdate) {\n builder.onUpdate(actions2.onUpdate);\n }\n if (actions2.onDelete) {\n builder.onDelete(actions2.onDelete);\n }\n return builder.build(table);\n },\n ref,\n actions\n );\n });\n }\n /** @internal */\n buildExtraConfigColumn(table) {\n return new ExtraConfigColumn(table, this.config);\n }\n}\nclass PgColumn extends Column {\n constructor(table, config) {\n if (!config.uniqueName) {\n config.uniqueName = uniqueKeyName(table, [config.name]);\n }\n super(table, config);\n this.table = table;\n }\n static [entityKind] = \"PgColumn\";\n}\nclass ExtraConfigColumn extends PgColumn {\n static [entityKind] = \"ExtraConfigColumn\";\n getSQLType() {\n return this.getSQLType();\n }\n indexConfig = {\n order: this.config.order ?? \"asc\",\n nulls: this.config.nulls ?? \"last\",\n opClass: this.config.opClass\n };\n defaultConfig = {\n order: \"asc\",\n nulls: \"last\",\n opClass: void 0\n };\n asc() {\n this.indexConfig.order = \"asc\";\n return this;\n }\n desc() {\n this.indexConfig.order = \"desc\";\n return this;\n }\n nullsFirst() {\n this.indexConfig.nulls = \"first\";\n return this;\n }\n nullsLast() {\n this.indexConfig.nulls = \"last\";\n return this;\n }\n /**\n * ### PostgreSQL documentation quote\n *\n * > An operator class with optional parameters can be specified for each column of an index.\n * The operator class identifies the operators to be used by the index for that column.\n * For example, a B-tree index on four-byte integers would use the int4_ops class;\n * this operator class includes comparison functions for four-byte integers.\n * In practice the default operator class for the column's data type is usually sufficient.\n * The main point of having operator classes is that for some data types, there could be more than one meaningful ordering.\n * For example, we might want to sort a complex-number data type either by absolute value or by real part.\n * We could do this by defining two operator classes for the data type and then selecting the proper class when creating an index.\n * More information about operator classes check:\n *\n * ### Useful links\n * https://www.postgresql.org/docs/current/sql-createindex.html\n *\n * https://www.postgresql.org/docs/current/indexes-opclass.html\n *\n * https://www.postgresql.org/docs/current/xindex.html\n *\n * ### Additional types\n * If you have the `pg_vector` extension installed in your database, you can use the\n * `vector_l2_ops`, `vector_ip_ops`, `vector_cosine_ops`, `vector_l1_ops`, `bit_hamming_ops`, `bit_jaccard_ops`, `halfvec_l2_ops`, `sparsevec_l2_ops` options, which are predefined types.\n *\n * **You can always specify any string you want in the operator class, in case Drizzle doesn't have it natively in its types**\n *\n * @param opClass\n * @returns\n */\n op(opClass) {\n this.indexConfig.opClass = opClass;\n return this;\n }\n}\nclass IndexedColumn {\n static [entityKind] = \"IndexedColumn\";\n constructor(name, keyAsName, type, indexConfig) {\n this.name = name;\n this.keyAsName = keyAsName;\n this.type = type;\n this.indexConfig = indexConfig;\n }\n name;\n keyAsName;\n type;\n indexConfig;\n}\nclass PgArrayBuilder extends PgColumnBuilder {\n static [entityKind] = \"PgArrayBuilder\";\n constructor(name, baseBuilder, size) {\n super(name, \"array\", \"PgArray\");\n this.config.baseBuilder = baseBuilder;\n this.config.size = size;\n }\n /** @internal */\n build(table) {\n const baseColumn = this.config.baseBuilder.build(table);\n return new PgArray(\n table,\n this.config,\n baseColumn\n );\n }\n}\nclass PgArray extends PgColumn {\n constructor(table, config, baseColumn, range) {\n super(table, config);\n this.baseColumn = baseColumn;\n this.range = range;\n this.size = config.size;\n }\n size;\n static [entityKind] = \"PgArray\";\n getSQLType() {\n return `${this.baseColumn.getSQLType()}[${typeof this.size === \"number\" ? this.size : \"\"}]`;\n }\n mapFromDriverValue(value) {\n if (typeof value === \"string\") {\n value = parsePgArray(value);\n }\n return value.map((v) => this.baseColumn.mapFromDriverValue(v));\n }\n mapToDriverValue(value, isNestedArray = false) {\n const a = value.map(\n (v) => v === null ? null : is(this.baseColumn, PgArray) ? this.baseColumn.mapToDriverValue(v, true) : this.baseColumn.mapToDriverValue(v)\n );\n if (isNestedArray) return a;\n return makePgArray(a);\n }\n}\nexport {\n ExtraConfigColumn,\n IndexedColumn,\n PgArray,\n PgArrayBuilder,\n PgColumn,\n PgColumnBuilder\n};\n//# sourceMappingURL=common.js.map"],"x_google_ignoreList":[0],"mappings":";;;;;;;;;AAOA,IAAM,kBAAN,cAA8B,cAAc;CAC1C,oBAAoB,EAAE;CACtB,QAAQ,cAAc;CACtB,MAAM,MAAM;AACV,SAAO,IAAI,eAAe,KAAK,OAAO,MAAM,MAAM,KAAK;;CAEzD,WAAW,KAAK,UAAU,EAAE,EAAE;AAC5B,OAAK,kBAAkB,KAAK;GAAE;GAAK;GAAS,CAAC;AAC7C,SAAO;;CAET,OAAO,MAAM,QAAQ;AACnB,OAAK,OAAO,WAAW;AACvB,OAAK,OAAO,aAAa;AACzB,OAAK,OAAO,aAAa,QAAQ;AACjC,SAAO;;CAET,kBAAkB,IAAI;AACpB,OAAK,OAAO,YAAY;GACtB;GACA,MAAM;GACN,MAAM;GACP;AACD,SAAO;;;CAGT,iBAAiB,QAAQ,OAAO;AAC9B,SAAO,KAAK,kBAAkB,KAAK,EAAE,KAAK,cAAc;AACtD,UAAO,MACJ,MAAM,aAAa;IAClB,MAAM,UAAU,IAAI,wBAAwB;KAC1C,MAAM,gBAAgB,MAAM;AAC5B,YAAO;MAAE,SAAS,CAAC,OAAO;MAAE,gBAAgB,CAAC,cAAc;MAAE;MAC7D;AACF,QAAI,SAAS,SACX,SAAQ,SAAS,SAAS,SAAS;AAErC,QAAI,SAAS,SACX,SAAQ,SAAS,SAAS,SAAS;AAErC,WAAO,QAAQ,MAAM,MAAM;MAE7B,KACA,QACD;IACD;;;CAGJ,uBAAuB,OAAO;AAC5B,SAAO,IAAI,kBAAkB,OAAO,KAAK,OAAO;;;AAGpD,IAAM,WAAN,cAAuB,OAAO;CAC5B,YAAY,OAAO,QAAQ;AACzB,MAAI,CAAC,OAAO,WACV,QAAO,aAAa,cAAc,OAAO,CAAC,OAAO,KAAK,CAAC;AAEzD,QAAM,OAAO,OAAO;AACpB,OAAK,QAAQ;;CAEf,QAAQ,cAAc;;AAExB,IAAM,oBAAN,cAAgC,SAAS;CACvC,QAAQ,cAAc;CACtB,aAAa;AACX,SAAO,KAAK,YAAY;;CAE1B,cAAc;EACZ,OAAO,KAAK,OAAO,SAAS;EAC5B,OAAO,KAAK,OAAO,SAAS;EAC5B,SAAS,KAAK,OAAO;EACtB;CACD,gBAAgB;EACd,OAAO;EACP,OAAO;EACP,SAAS,KAAK;EACf;CACD,MAAM;AACJ,OAAK,YAAY,QAAQ;AACzB,SAAO;;CAET,OAAO;AACL,OAAK,YAAY,QAAQ;AACzB,SAAO;;CAET,aAAa;AACX,OAAK,YAAY,QAAQ;AACzB,SAAO;;CAET,YAAY;AACV,OAAK,YAAY,QAAQ;AACzB,SAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BT,GAAG,SAAS;AACV,OAAK,YAAY,UAAU;AAC3B,SAAO;;;AAGX,IAAM,gBAAN,MAAoB;CAClB,QAAQ,cAAc;CACtB,YAAY,MAAM,WAAW,MAAM,aAAa;AAC9C,OAAK,OAAO;AACZ,OAAK,YAAY;AACjB,OAAK,OAAO;AACZ,OAAK,cAAc;;CAErB;CACA;CACA;CACA;;AAEF,IAAM,iBAAN,cAA6B,gBAAgB;CAC3C,QAAQ,cAAc;CACtB,YAAY,MAAM,aAAa,MAAM;AACnC,QAAM,MAAM,SAAS,UAAU;AAC/B,OAAK,OAAO,cAAc;AAC1B,OAAK,OAAO,OAAO;;;CAGrB,MAAM,OAAO;EACX,MAAM,aAAa,KAAK,OAAO,YAAY,MAAM,MAAM;AACvD,SAAO,IAAI,QACT,OACA,KAAK,QACL,WACD;;;AAGL,IAAM,UAAN,MAAM,gBAAgB,SAAS;CAC7B,YAAY,OAAO,QAAQ,YAAY,OAAO;AAC5C,QAAM,OAAO,OAAO;AACpB,OAAK,aAAa;AAClB,OAAK,QAAQ;AACb,OAAK,OAAO,OAAO;;CAErB;CACA,QAAQ,cAAc;CACtB,aAAa;AACX,SAAO,GAAG,KAAK,WAAW,YAAY,CAAC,GAAG,OAAO,KAAK,SAAS,WAAW,KAAK,OAAO,GAAG;;CAE3F,mBAAmB,OAAO;AACxB,MAAI,OAAO,UAAU,SACnB,SAAQ,aAAa,MAAM;AAE7B,SAAO,MAAM,KAAK,MAAM,KAAK,WAAW,mBAAmB,EAAE,CAAC;;CAEhE,iBAAiB,OAAO,gBAAgB,OAAO;EAC7C,MAAM,IAAI,MAAM,KACb,MAAM,MAAM,OAAO,OAAO,GAAG,KAAK,YAAY,QAAQ,GAAG,KAAK,WAAW,iBAAiB,GAAG,KAAK,GAAG,KAAK,WAAW,iBAAiB,EAAE,CAC1I;AACD,MAAI,cAAe,QAAO;AAC1B,SAAO,YAAY,EAAE"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"enum.js","names":[],"sources":["../../../../../../../../../../node_modules/.bun/drizzle-orm@0.44.6+4fae081eecb963e2/node_modules/drizzle-orm/pg-core/columns/enum.js"],"sourcesContent":["import { entityKind } from \"../../entity.js\";\nimport { PgColumn, PgColumnBuilder } from \"./common.js\";\nclass PgEnumObjectColumnBuilder extends PgColumnBuilder {\n static [entityKind] = \"PgEnumObjectColumnBuilder\";\n constructor(name, enumInstance) {\n super(name, \"string\", \"PgEnumObjectColumn\");\n this.config.enum = enumInstance;\n }\n /** @internal */\n build(table) {\n return new PgEnumObjectColumn(\n table,\n this.config\n );\n }\n}\nclass PgEnumObjectColumn extends PgColumn {\n static [entityKind] = \"PgEnumObjectColumn\";\n enum;\n enumValues = this.config.enum.enumValues;\n constructor(table, config) {\n super(table, config);\n this.enum = config.enum;\n }\n getSQLType() {\n return this.enum.enumName;\n }\n}\nconst isPgEnumSym = Symbol.for(\"drizzle:isPgEnum\");\nfunction isPgEnum(obj) {\n return !!obj && typeof obj === \"function\" && isPgEnumSym in obj && obj[isPgEnumSym] === true;\n}\nclass PgEnumColumnBuilder extends PgColumnBuilder {\n static [entityKind] = \"PgEnumColumnBuilder\";\n constructor(name, enumInstance) {\n super(name, \"string\", \"PgEnumColumn\");\n this.config.enum = enumInstance;\n }\n /** @internal */\n build(table) {\n return new PgEnumColumn(\n table,\n this.config\n );\n }\n}\nclass PgEnumColumn extends PgColumn {\n static [entityKind] = \"PgEnumColumn\";\n enum = this.config.enum;\n enumValues = this.config.enum.enumValues;\n constructor(table, config) {\n super(table, config);\n this.enum = config.enum;\n }\n getSQLType() {\n return this.enum.enumName;\n }\n}\nfunction pgEnum(enumName, input) {\n return Array.isArray(input) ? pgEnumWithSchema(enumName, [...input], void 0) : pgEnumObjectWithSchema(enumName, input, void 0);\n}\nfunction pgEnumWithSchema(enumName, values, schema) {\n const enumInstance = Object.assign(\n (name) => new PgEnumColumnBuilder(name ?? \"\", enumInstance),\n {\n enumName,\n enumValues: values,\n schema,\n [isPgEnumSym]: true\n }\n );\n return enumInstance;\n}\nfunction pgEnumObjectWithSchema(enumName, values, schema) {\n const enumInstance = Object.assign(\n (name) => new PgEnumObjectColumnBuilder(name ?? \"\", enumInstance),\n {\n enumName,\n enumValues: Object.values(values),\n schema,\n [isPgEnumSym]: true\n }\n );\n return enumInstance;\n}\nexport {\n PgEnumColumn,\n PgEnumColumnBuilder,\n PgEnumObjectColumn,\n PgEnumObjectColumnBuilder,\n isPgEnum,\n pgEnum,\n pgEnumObjectWithSchema,\n pgEnumWithSchema\n};\n//# sourceMappingURL=enum.js.map"],"x_google_ignoreList":[0],"mappings":";;;;AAEA,IAAM,4BAAN,cAAwC,gBAAgB;CACtD,QAAQ,cAAc;CACtB,YAAY,MAAM,cAAc;AAC9B,QAAM,MAAM,UAAU,qBAAqB;AAC3C,OAAK,OAAO,OAAO;;;CAGrB,MAAM,OAAO;AACX,SAAO,IAAI,mBACT,OACA,KAAK,OACN;;;AAGL,IAAM,qBAAN,cAAiC,SAAS;CACxC,QAAQ,cAAc;CACtB;CACA,aAAa,KAAK,OAAO,KAAK;CAC9B,YAAY,OAAO,QAAQ;AACzB,QAAM,OAAO,OAAO;AACpB,OAAK,OAAO,OAAO;;CAErB,aAAa;AACX,SAAO,KAAK,KAAK;;;AAGrB,MAAM,cAAc,OAAO,IAAI,mBAAmB;AAClD,SAAS,SAAS,KAAK;AACrB,QAAO,CAAC,CAAC,OAAO,OAAO,QAAQ,cAAc,eAAe,OAAO,IAAI,iBAAiB;;AAE1F,IAAM,sBAAN,cAAkC,gBAAgB;CAChD,QAAQ,cAAc;CACtB,YAAY,MAAM,cAAc;AAC9B,QAAM,MAAM,UAAU,eAAe;AACrC,OAAK,OAAO,OAAO;;;CAGrB,MAAM,OAAO;AACX,SAAO,IAAI,aACT,OACA,KAAK,OACN;;;AAGL,IAAM,eAAN,cAA2B,SAAS;CAClC,QAAQ,cAAc;CACtB,OAAO,KAAK,OAAO;CACnB,aAAa,KAAK,OAAO,KAAK;CAC9B,YAAY,OAAO,QAAQ;AACzB,QAAM,OAAO,OAAO;AACpB,OAAK,OAAO,OAAO;;CAErB,aAAa;AACX,SAAO,KAAK,KAAK"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"foreign-keys.js","names":[],"sources":["../../../../../../../../../node_modules/.bun/drizzle-orm@0.44.6+4fae081eecb963e2/node_modules/drizzle-orm/pg-core/foreign-keys.js"],"sourcesContent":["import { entityKind } from \"../entity.js\";\nimport { TableName } from \"../table.utils.js\";\nclass ForeignKeyBuilder {\n static [entityKind] = \"PgForeignKeyBuilder\";\n /** @internal */\n reference;\n /** @internal */\n _onUpdate = \"no action\";\n /** @internal */\n _onDelete = \"no action\";\n constructor(config, actions) {\n this.reference = () => {\n const { name, columns, foreignColumns } = config();\n return { name, columns, foreignTable: foreignColumns[0].table, foreignColumns };\n };\n if (actions) {\n this._onUpdate = actions.onUpdate;\n this._onDelete = actions.onDelete;\n }\n }\n onUpdate(action) {\n this._onUpdate = action === void 0 ? \"no action\" : action;\n return this;\n }\n onDelete(action) {\n this._onDelete = action === void 0 ? \"no action\" : action;\n return this;\n }\n /** @internal */\n build(table) {\n return new ForeignKey(table, this);\n }\n}\nclass ForeignKey {\n constructor(table, builder) {\n this.table = table;\n this.reference = builder.reference;\n this.onUpdate = builder._onUpdate;\n this.onDelete = builder._onDelete;\n }\n static [entityKind] = \"PgForeignKey\";\n reference;\n onUpdate;\n onDelete;\n getName() {\n const { name, columns, foreignColumns } = this.reference();\n const columnNames = columns.map((column) => column.name);\n const foreignColumnNames = foreignColumns.map((column) => column.name);\n const chunks = [\n this.table[TableName],\n ...columnNames,\n foreignColumns[0].table[TableName],\n ...foreignColumnNames\n ];\n return name ?? `${chunks.join(\"_\")}_fk`;\n }\n}\nfunction foreignKey(config) {\n function mappedConfig() {\n const { name, columns, foreignColumns } = config;\n return {\n name,\n columns,\n foreignColumns\n };\n }\n return new ForeignKeyBuilder(mappedConfig);\n}\nexport {\n ForeignKey,\n ForeignKeyBuilder,\n foreignKey\n};\n//# sourceMappingURL=foreign-keys.js.map"],"x_google_ignoreList":[0],"mappings":";;;;AAEA,IAAM,oBAAN,MAAwB;CACtB,QAAQ,cAAc;;CAEtB;;CAEA,YAAY;;CAEZ,YAAY;CACZ,YAAY,QAAQ,SAAS;AAC3B,OAAK,kBAAkB;GACrB,MAAM,EAAE,MAAM,SAAS,mBAAmB,QAAQ;AAClD,UAAO;IAAE;IAAM;IAAS,cAAc,eAAe,GAAG;IAAO;IAAgB;;AAEjF,MAAI,SAAS;AACX,QAAK,YAAY,QAAQ;AACzB,QAAK,YAAY,QAAQ;;;CAG7B,SAAS,QAAQ;AACf,OAAK,YAAY,WAAW,KAAK,IAAI,cAAc;AACnD,SAAO;;CAET,SAAS,QAAQ;AACf,OAAK,YAAY,WAAW,KAAK,IAAI,cAAc;AACnD,SAAO;;;CAGT,MAAM,OAAO;AACX,SAAO,IAAI,WAAW,OAAO,KAAK;;;AAGtC,IAAM,aAAN,MAAiB;CACf,YAAY,OAAO,SAAS;AAC1B,OAAK,QAAQ;AACb,OAAK,YAAY,QAAQ;AACzB,OAAK,WAAW,QAAQ;AACxB,OAAK,WAAW,QAAQ;;CAE1B,QAAQ,cAAc;CACtB;CACA;CACA;CACA,UAAU;EACR,MAAM,EAAE,MAAM,SAAS,mBAAmB,KAAK,WAAW;EAC1D,MAAM,cAAc,QAAQ,KAAK,WAAW,OAAO,KAAK;EACxD,MAAM,qBAAqB,eAAe,KAAK,WAAW,OAAO,KAAK;EACtE,MAAM,SAAS;GACb,KAAK,MAAM;GACX,GAAG;GACH,eAAe,GAAG,MAAM;GACxB,GAAG;GACJ;AACD,SAAO,QAAQ,GAAG,OAAO,KAAK,IAAI,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"unique-constraint.js","names":[],"sources":["../../../../../../../../../node_modules/.bun/drizzle-orm@0.44.6+4fae081eecb963e2/node_modules/drizzle-orm/pg-core/unique-constraint.js"],"sourcesContent":["import { entityKind } from \"../entity.js\";\nimport { TableName } from \"../table.utils.js\";\nfunction unique(name) {\n return new UniqueOnConstraintBuilder(name);\n}\nfunction uniqueKeyName(table, columns) {\n return `${table[TableName]}_${columns.join(\"_\")}_unique`;\n}\nclass UniqueConstraintBuilder {\n constructor(columns, name) {\n this.name = name;\n this.columns = columns;\n }\n static [entityKind] = \"PgUniqueConstraintBuilder\";\n /** @internal */\n columns;\n /** @internal */\n nullsNotDistinctConfig = false;\n nullsNotDistinct() {\n this.nullsNotDistinctConfig = true;\n return this;\n }\n /** @internal */\n build(table) {\n return new UniqueConstraint(table, this.columns, this.nullsNotDistinctConfig, this.name);\n }\n}\nclass UniqueOnConstraintBuilder {\n static [entityKind] = \"PgUniqueOnConstraintBuilder\";\n /** @internal */\n name;\n constructor(name) {\n this.name = name;\n }\n on(...columns) {\n return new UniqueConstraintBuilder(columns, this.name);\n }\n}\nclass UniqueConstraint {\n constructor(table, columns, nullsNotDistinct, name) {\n this.table = table;\n this.columns = columns;\n this.name = name ?? uniqueKeyName(this.table, this.columns.map((column) => column.name));\n this.nullsNotDistinct = nullsNotDistinct;\n }\n static [entityKind] = \"PgUniqueConstraint\";\n columns;\n name;\n nullsNotDistinct = false;\n getName() {\n return this.name;\n }\n}\nexport {\n UniqueConstraint,\n UniqueConstraintBuilder,\n UniqueOnConstraintBuilder,\n unique,\n uniqueKeyName\n};\n//# sourceMappingURL=unique-constraint.js.map"],"x_google_ignoreList":[0],"mappings":";;;;AAKA,SAAS,cAAc,OAAO,SAAS;AACrC,QAAO,GAAG,MAAM,WAAW,GAAG,QAAQ,KAAK,IAAI,CAAC;;AAElD,IAAM,0BAAN,MAA8B;CAC5B,YAAY,SAAS,MAAM;AACzB,OAAK,OAAO;AACZ,OAAK,UAAU;;CAEjB,QAAQ,cAAc;;CAEtB;;CAEA,yBAAyB;CACzB,mBAAmB;AACjB,OAAK,yBAAyB;AAC9B,SAAO;;;CAGT,MAAM,OAAO;AACX,SAAO,IAAI,iBAAiB,OAAO,KAAK,SAAS,KAAK,wBAAwB,KAAK,KAAK;;;AAG5F,IAAM,4BAAN,MAAgC;CAC9B,QAAQ,cAAc;;CAEtB;CACA,YAAY,MAAM;AAChB,OAAK,OAAO;;CAEd,GAAG,GAAG,SAAS;AACb,SAAO,IAAI,wBAAwB,SAAS,KAAK,KAAK;;;AAG1D,IAAM,mBAAN,MAAuB;CACrB,YAAY,OAAO,SAAS,kBAAkB,MAAM;AAClD,OAAK,QAAQ;AACb,OAAK,UAAU;AACf,OAAK,OAAO,QAAQ,cAAc,KAAK,OAAO,KAAK,QAAQ,KAAK,WAAW,OAAO,KAAK,CAAC;AACxF,OAAK,mBAAmB;;CAE1B,QAAQ,cAAc;CACtB;CACA;CACA,mBAAmB;CACnB,UAAU;AACR,SAAO,KAAK"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"array.js","names":[],"sources":["../../../../../../../../../../node_modules/.bun/drizzle-orm@0.44.6+4fae081eecb963e2/node_modules/drizzle-orm/pg-core/utils/array.js"],"sourcesContent":["function parsePgArrayValue(arrayString, startFrom, inQuotes) {\n for (let i = startFrom; i < arrayString.length; i++) {\n const char = arrayString[i];\n if (char === \"\\\\\") {\n i++;\n continue;\n }\n if (char === '\"') {\n return [arrayString.slice(startFrom, i).replace(/\\\\/g, \"\"), i + 1];\n }\n if (inQuotes) {\n continue;\n }\n if (char === \",\" || char === \"}\") {\n return [arrayString.slice(startFrom, i).replace(/\\\\/g, \"\"), i];\n }\n }\n return [arrayString.slice(startFrom).replace(/\\\\/g, \"\"), arrayString.length];\n}\nfunction parsePgNestedArray(arrayString, startFrom = 0) {\n const result = [];\n let i = startFrom;\n let lastCharIsComma = false;\n while (i < arrayString.length) {\n const char = arrayString[i];\n if (char === \",\") {\n if (lastCharIsComma || i === startFrom) {\n result.push(\"\");\n }\n lastCharIsComma = true;\n i++;\n continue;\n }\n lastCharIsComma = false;\n if (char === \"\\\\\") {\n i += 2;\n continue;\n }\n if (char === '\"') {\n const [value2, startFrom2] = parsePgArrayValue(arrayString, i + 1, true);\n result.push(value2);\n i = startFrom2;\n continue;\n }\n if (char === \"}\") {\n return [result, i + 1];\n }\n if (char === \"{\") {\n const [value2, startFrom2] = parsePgNestedArray(arrayString, i + 1);\n result.push(value2);\n i = startFrom2;\n continue;\n }\n const [value, newStartFrom] = parsePgArrayValue(arrayString, i, false);\n result.push(value);\n i = newStartFrom;\n }\n return [result, i];\n}\nfunction parsePgArray(arrayString) {\n const [result] = parsePgNestedArray(arrayString, 1);\n return result;\n}\nfunction makePgArray(array) {\n return `{${array.map((item) => {\n if (Array.isArray(item)) {\n return makePgArray(item);\n }\n if (typeof item === \"string\") {\n return `\"${item.replace(/\\\\/g, \"\\\\\\\\\").replace(/\"/g, '\\\\\"')}\"`;\n }\n return `${item}`;\n }).join(\",\")}}`;\n}\nexport {\n makePgArray,\n parsePgArray,\n parsePgNestedArray\n};\n//# sourceMappingURL=array.js.map"],"x_google_ignoreList":[0],"mappings":";AAAA,SAAS,kBAAkB,aAAa,WAAW,UAAU;AAC3D,MAAK,IAAI,IAAI,WAAW,IAAI,YAAY,QAAQ,KAAK;EACnD,MAAM,OAAO,YAAY;AACzB,MAAI,SAAS,MAAM;AACjB;AACA;;AAEF,MAAI,SAAS,KACX,QAAO,CAAC,YAAY,MAAM,WAAW,EAAE,CAAC,QAAQ,OAAO,GAAG,EAAE,IAAI,EAAE;AAEpE,MAAI,SACF;AAEF,MAAI,SAAS,OAAO,SAAS,IAC3B,QAAO,CAAC,YAAY,MAAM,WAAW,EAAE,CAAC,QAAQ,OAAO,GAAG,EAAE,EAAE;;AAGlE,QAAO,CAAC,YAAY,MAAM,UAAU,CAAC,QAAQ,OAAO,GAAG,EAAE,YAAY,OAAO;;AAE9E,SAAS,mBAAmB,aAAa,YAAY,GAAG;CACtD,MAAM,SAAS,EAAE;CACjB,IAAI,IAAI;CACR,IAAI,kBAAkB;AACtB,QAAO,IAAI,YAAY,QAAQ;EAC7B,MAAM,OAAO,YAAY;AACzB,MAAI,SAAS,KAAK;AAChB,OAAI,mBAAmB,MAAM,UAC3B,QAAO,KAAK,GAAG;AAEjB,qBAAkB;AAClB;AACA;;AAEF,oBAAkB;AAClB,MAAI,SAAS,MAAM;AACjB,QAAK;AACL;;AAEF,MAAI,SAAS,MAAK;GAChB,MAAM,CAAC,QAAQ,cAAc,kBAAkB,aAAa,IAAI,GAAG,KAAK;AACxE,UAAO,KAAK,OAAO;AACnB,OAAI;AACJ;;AAEF,MAAI,SAAS,IACX,QAAO,CAAC,QAAQ,IAAI,EAAE;AAExB,MAAI,SAAS,KAAK;GAChB,MAAM,CAAC,QAAQ,cAAc,mBAAmB,aAAa,IAAI,EAAE;AACnE,UAAO,KAAK,OAAO;AACnB,OAAI;AACJ;;EAEF,MAAM,CAAC,OAAO,gBAAgB,kBAAkB,aAAa,GAAG,MAAM;AACtE,SAAO,KAAK,MAAM;AAClB,MAAI;;AAEN,QAAO,CAAC,QAAQ,EAAE;;AAEpB,SAAS,aAAa,aAAa;CACjC,MAAM,CAAC,UAAU,mBAAmB,aAAa,EAAE;AACnD,QAAO;;AAET,SAAS,YAAY,OAAO;AAC1B,QAAO,IAAI,MAAM,KAAK,SAAS;AAC7B,MAAI,MAAM,QAAQ,KAAK,CACrB,QAAO,YAAY,KAAK;AAE1B,MAAI,OAAO,SAAS,SAClB,QAAO,IAAI,KAAK,QAAQ,OAAO,OAAO,CAAC,QAAQ,MAAM,OAAM,CAAC;AAE9D,SAAO,GAAG;GACV,CAAC,KAAK,IAAI,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"conditions.js","names":[],"sources":["../../../../../../../../../../node_modules/.bun/drizzle-orm@0.44.6+4fae081eecb963e2/node_modules/drizzle-orm/sql/expressions/conditions.js"],"sourcesContent":["import { Column } from \"../../column.js\";\nimport { is } from \"../../entity.js\";\nimport { Table } from \"../../table.js\";\nimport {\n isDriverValueEncoder,\n isSQLWrapper,\n Param,\n Placeholder,\n SQL,\n sql,\n StringChunk,\n View\n} from \"../sql.js\";\nfunction bindIfParam(value, column) {\n if (isDriverValueEncoder(column) && !isSQLWrapper(value) && !is(value, Param) && !is(value, Placeholder) && !is(value, Column) && !is(value, Table) && !is(value, View)) {\n return new Param(value, column);\n }\n return value;\n}\nconst eq = (left, right) => {\n return sql`${left} = ${bindIfParam(right, left)}`;\n};\nconst ne = (left, right) => {\n return sql`${left} <> ${bindIfParam(right, left)}`;\n};\nfunction and(...unfilteredConditions) {\n const conditions = unfilteredConditions.filter(\n (c) => c !== void 0\n );\n if (conditions.length === 0) {\n return void 0;\n }\n if (conditions.length === 1) {\n return new SQL(conditions);\n }\n return new SQL([\n new StringChunk(\"(\"),\n sql.join(conditions, new StringChunk(\" and \")),\n new StringChunk(\")\")\n ]);\n}\nfunction or(...unfilteredConditions) {\n const conditions = unfilteredConditions.filter(\n (c) => c !== void 0\n );\n if (conditions.length === 0) {\n return void 0;\n }\n if (conditions.length === 1) {\n return new SQL(conditions);\n }\n return new SQL([\n new StringChunk(\"(\"),\n sql.join(conditions, new StringChunk(\" or \")),\n new StringChunk(\")\")\n ]);\n}\nfunction not(condition) {\n return sql`not ${condition}`;\n}\nconst gt = (left, right) => {\n return sql`${left} > ${bindIfParam(right, left)}`;\n};\nconst gte = (left, right) => {\n return sql`${left} >= ${bindIfParam(right, left)}`;\n};\nconst lt = (left, right) => {\n return sql`${left} < ${bindIfParam(right, left)}`;\n};\nconst lte = (left, right) => {\n return sql`${left} <= ${bindIfParam(right, left)}`;\n};\nfunction inArray(column, values) {\n if (Array.isArray(values)) {\n if (values.length === 0) {\n return sql`false`;\n }\n return sql`${column} in ${values.map((v) => bindIfParam(v, column))}`;\n }\n return sql`${column} in ${bindIfParam(values, column)}`;\n}\nfunction notInArray(column, values) {\n if (Array.isArray(values)) {\n if (values.length === 0) {\n return sql`true`;\n }\n return sql`${column} not in ${values.map((v) => bindIfParam(v, column))}`;\n }\n return sql`${column} not in ${bindIfParam(values, column)}`;\n}\nfunction isNull(value) {\n return sql`${value} is null`;\n}\nfunction isNotNull(value) {\n return sql`${value} is not null`;\n}\nfunction exists(subquery) {\n return sql`exists ${subquery}`;\n}\nfunction notExists(subquery) {\n return sql`not exists ${subquery}`;\n}\nfunction between(column, min, max) {\n return sql`${column} between ${bindIfParam(min, column)} and ${bindIfParam(\n max,\n column\n )}`;\n}\nfunction notBetween(column, min, max) {\n return sql`${column} not between ${bindIfParam(\n min,\n column\n )} and ${bindIfParam(max, column)}`;\n}\nfunction like(column, value) {\n return sql`${column} like ${value}`;\n}\nfunction notLike(column, value) {\n return sql`${column} not like ${value}`;\n}\nfunction ilike(column, value) {\n return sql`${column} ilike ${value}`;\n}\nfunction notIlike(column, value) {\n return sql`${column} not ilike ${value}`;\n}\nfunction arrayContains(column, values) {\n if (Array.isArray(values)) {\n if (values.length === 0) {\n throw new Error(\"arrayContains requires at least one value\");\n }\n const array = sql`${bindIfParam(values, column)}`;\n return sql`${column} @> ${array}`;\n }\n return sql`${column} @> ${bindIfParam(values, column)}`;\n}\nfunction arrayContained(column, values) {\n if (Array.isArray(values)) {\n if (values.length === 0) {\n throw new Error(\"arrayContained requires at least one value\");\n }\n const array = sql`${bindIfParam(values, column)}`;\n return sql`${column} <@ ${array}`;\n }\n return sql`${column} <@ ${bindIfParam(values, column)}`;\n}\nfunction arrayOverlaps(column, values) {\n if (Array.isArray(values)) {\n if (values.length === 0) {\n throw new Error(\"arrayOverlaps requires at least one value\");\n }\n const array = sql`${bindIfParam(values, column)}`;\n return sql`${column} && ${array}`;\n }\n return sql`${column} && ${bindIfParam(values, column)}`;\n}\nexport {\n and,\n arrayContained,\n arrayContains,\n arrayOverlaps,\n between,\n bindIfParam,\n eq,\n exists,\n gt,\n gte,\n ilike,\n inArray,\n isNotNull,\n isNull,\n like,\n lt,\n lte,\n ne,\n not,\n notBetween,\n notExists,\n notIlike,\n notInArray,\n notLike,\n or\n};\n//# sourceMappingURL=conditions.js.map"],"x_google_ignoreList":[0],"mappings":";;;;;;AAaA,SAAS,YAAY,OAAO,QAAQ;AAClC,KAAI,qBAAqB,OAAO,IAAI,CAAC,aAAa,MAAM,IAAI,CAAC,GAAG,OAAO,MAAM,IAAI,CAAC,GAAG,OAAO,YAAY,IAAI,CAAC,GAAG,OAAO,OAAO,IAAI,CAAC,GAAG,OAAO,MAAM,IAAI,CAAC,GAAG,OAAO,KAAK,CACrK,QAAO,IAAI,MAAM,OAAO,OAAO;AAEjC,QAAO;;AAET,MAAM,MAAM,MAAM,UAAU;AAC1B,QAAO,GAAG,GAAG,KAAK,KAAK,YAAY,OAAO,KAAK;;AAEjD,MAAM,MAAM,MAAM,UAAU;AAC1B,QAAO,GAAG,GAAG,KAAK,MAAM,YAAY,OAAO,KAAK;;AAElD,SAAS,IAAI,GAAG,sBAAsB;CACpC,MAAM,aAAa,qBAAqB,QACrC,MAAM,MAAM,KAAK,EACnB;AACD,KAAI,WAAW,WAAW,EACxB;AAEF,KAAI,WAAW,WAAW,EACxB,QAAO,IAAI,IAAI,WAAW;AAE5B,QAAO,IAAI,IAAI;EACb,IAAI,YAAY,IAAI;EACpB,IAAI,KAAK,YAAY,IAAI,YAAY,QAAQ,CAAC;EAC9C,IAAI,YAAY,IAAI;EACrB,CAAC;;AAEJ,SAAS,GAAG,GAAG,sBAAsB;CACnC,MAAM,aAAa,qBAAqB,QACrC,MAAM,MAAM,KAAK,EACnB;AACD,KAAI,WAAW,WAAW,EACxB;AAEF,KAAI,WAAW,WAAW,EACxB,QAAO,IAAI,IAAI,WAAW;AAE5B,QAAO,IAAI,IAAI;EACb,IAAI,YAAY,IAAI;EACpB,IAAI,KAAK,YAAY,IAAI,YAAY,OAAO,CAAC;EAC7C,IAAI,YAAY,IAAI;EACrB,CAAC;;AAEJ,SAAS,IAAI,WAAW;AACtB,QAAO,GAAG,OAAO;;AAEnB,MAAM,MAAM,MAAM,UAAU;AAC1B,QAAO,GAAG,GAAG,KAAK,KAAK,YAAY,OAAO,KAAK;;AAEjD,MAAM,OAAO,MAAM,UAAU;AAC3B,QAAO,GAAG,GAAG,KAAK,MAAM,YAAY,OAAO,KAAK;;AAElD,MAAM,MAAM,MAAM,UAAU;AAC1B,QAAO,GAAG,GAAG,KAAK,KAAK,YAAY,OAAO,KAAK;;AAEjD,MAAM,OAAO,MAAM,UAAU;AAC3B,QAAO,GAAG,GAAG,KAAK,MAAM,YAAY,OAAO,KAAK;;AAElD,SAAS,QAAQ,QAAQ,QAAQ;AAC/B,KAAI,MAAM,QAAQ,OAAO,EAAE;AACzB,MAAI,OAAO,WAAW,EACpB,QAAO,GAAG;AAEZ,SAAO,GAAG,GAAG,OAAO,MAAM,OAAO,KAAK,MAAM,YAAY,GAAG,OAAO,CAAC;;AAErE,QAAO,GAAG,GAAG,OAAO,MAAM,YAAY,QAAQ,OAAO;;AAEvD,SAAS,WAAW,QAAQ,QAAQ;AAClC,KAAI,MAAM,QAAQ,OAAO,EAAE;AACzB,MAAI,OAAO,WAAW,EACpB,QAAO,GAAG;AAEZ,SAAO,GAAG,GAAG,OAAO,UAAU,OAAO,KAAK,MAAM,YAAY,GAAG,OAAO,CAAC;;AAEzE,QAAO,GAAG,GAAG,OAAO,UAAU,YAAY,QAAQ,OAAO;;AAE3D,SAAS,OAAO,OAAO;AACrB,QAAO,GAAG,GAAG,MAAM;;AAErB,SAAS,UAAU,OAAO;AACxB,QAAO,GAAG,GAAG,MAAM;;AAoBrB,SAAS,KAAK,QAAQ,OAAO;AAC3B,QAAO,GAAG,GAAG,OAAO,QAAQ;;AAE9B,SAAS,QAAQ,QAAQ,OAAO;AAC9B,QAAO,GAAG,GAAG,OAAO,YAAY"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { sql } from "../sql.js";
|
|
2
|
-
|
|
3
|
-
//#region ../../node_modules/.bun/drizzle-orm@0.44.6+4fae081eecb963e2/node_modules/drizzle-orm/sql/expressions/select.js
|
|
4
|
-
function asc(column) {
|
|
5
|
-
return sql`${column} asc`;
|
|
6
|
-
}
|
|
7
|
-
function desc(column) {
|
|
8
|
-
return sql`${column} desc`;
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
//#endregion
|
|
12
|
-
export { asc, desc };
|
|
13
|
-
//# sourceMappingURL=select.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"select.js","names":[],"sources":["../../../../../../../../../../node_modules/.bun/drizzle-orm@0.44.6+4fae081eecb963e2/node_modules/drizzle-orm/sql/expressions/select.js"],"sourcesContent":["import { sql } from \"../sql.js\";\nfunction asc(column) {\n return sql`${column} asc`;\n}\nfunction desc(column) {\n return sql`${column} desc`;\n}\nexport {\n asc,\n desc\n};\n//# sourceMappingURL=select.js.map"],"x_google_ignoreList":[0],"mappings":";;;AACA,SAAS,IAAI,QAAQ;AACnB,QAAO,GAAG,GAAG,OAAO;;AAEtB,SAAS,KAAK,QAAQ;AACpB,QAAO,GAAG,GAAG,OAAO"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { sql } from "../sql.js";
|
|
2
|
-
|
|
3
|
-
//#region ../../node_modules/.bun/drizzle-orm@0.44.6+4fae081eecb963e2/node_modules/drizzle-orm/sql/functions/aggregate.js
|
|
4
|
-
function count(expression) {
|
|
5
|
-
return sql`count(${expression || sql.raw("*")})`.mapWith(Number);
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
//#endregion
|
|
9
|
-
export { count };
|
|
10
|
-
//# sourceMappingURL=aggregate.js.map
|