drizzle-orm 0.38.3-7db411e → 0.38.3-8e428d1
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/alias.cjs.map +1 -1
- package/alias.d.cts +3 -3
- package/alias.d.ts +3 -3
- package/alias.js.map +1 -1
- package/aws-data-api/pg/driver.cjs +5 -19
- package/aws-data-api/pg/driver.cjs.map +1 -1
- package/aws-data-api/pg/driver.d.cts +8 -9
- package/aws-data-api/pg/driver.d.ts +8 -9
- package/aws-data-api/pg/driver.js +8 -9
- package/aws-data-api/pg/driver.js.map +1 -1
- package/aws-data-api/pg/migrator.cjs.map +1 -1
- package/aws-data-api/pg/migrator.d.cts +1 -2
- package/aws-data-api/pg/migrator.d.ts +1 -2
- package/aws-data-api/pg/migrator.js.map +1 -1
- package/aws-data-api/pg/session.cjs +4 -67
- package/aws-data-api/pg/session.cjs.map +1 -1
- package/aws-data-api/pg/session.d.cts +8 -13
- package/aws-data-api/pg/session.d.ts +8 -13
- package/aws-data-api/pg/session.js +4 -67
- package/aws-data-api/pg/session.js.map +1 -1
- package/better-sqlite3/driver.cjs +5 -12
- package/better-sqlite3/driver.cjs.map +1 -1
- package/better-sqlite3/driver.d.cts +6 -7
- package/better-sqlite3/driver.d.ts +6 -7
- package/better-sqlite3/driver.js +8 -12
- package/better-sqlite3/driver.js.map +1 -1
- package/better-sqlite3/migrator.cjs.map +1 -1
- package/better-sqlite3/migrator.d.cts +1 -2
- package/better-sqlite3/migrator.d.ts +1 -2
- package/better-sqlite3/migrator.js.map +1 -1
- package/better-sqlite3/session.cjs +4 -49
- package/better-sqlite3/session.cjs.map +1 -1
- package/better-sqlite3/session.d.cts +8 -14
- package/better-sqlite3/session.d.ts +8 -14
- package/better-sqlite3/session.js +4 -49
- package/better-sqlite3/session.js.map +1 -1
- package/bun-sqlite/driver.cjs +5 -22
- package/bun-sqlite/driver.cjs.map +1 -1
- package/bun-sqlite/driver.d.cts +6 -7
- package/bun-sqlite/driver.d.ts +6 -7
- package/bun-sqlite/driver.js +8 -12
- package/bun-sqlite/driver.js.map +1 -1
- package/bun-sqlite/migrator.cjs.map +1 -1
- package/bun-sqlite/migrator.d.cts +1 -2
- package/bun-sqlite/migrator.d.ts +1 -2
- package/bun-sqlite/migrator.js.map +1 -1
- package/bun-sqlite/session.cjs +4 -49
- package/bun-sqlite/session.cjs.map +1 -1
- package/bun-sqlite/session.d.cts +8 -14
- package/bun-sqlite/session.d.ts +8 -14
- package/bun-sqlite/session.js +4 -49
- package/bun-sqlite/session.js.map +1 -1
- package/d1/driver.cjs +5 -22
- package/d1/driver.cjs.map +1 -1
- package/d1/driver.d.cts +2 -3
- package/d1/driver.d.ts +2 -3
- package/d1/driver.js +8 -12
- package/d1/driver.js.map +1 -1
- package/d1/migrator.cjs.map +1 -1
- package/d1/migrator.d.cts +1 -2
- package/d1/migrator.d.ts +1 -2
- package/d1/migrator.js.map +1 -1
- package/d1/session.cjs +6 -48
- package/d1/session.cjs.map +1 -1
- package/d1/session.d.cts +8 -15
- package/d1/session.d.ts +8 -15
- package/d1/session.js +6 -48
- package/d1/session.js.map +1 -1
- package/durable-sqlite/driver.cjs +5 -16
- package/durable-sqlite/driver.cjs.map +1 -1
- package/durable-sqlite/driver.d.cts +2 -3
- package/durable-sqlite/driver.d.ts +2 -3
- package/durable-sqlite/driver.js +8 -6
- package/durable-sqlite/driver.js.map +1 -1
- package/durable-sqlite/migrator.cjs.map +1 -1
- package/durable-sqlite/migrator.d.cts +1 -2
- package/durable-sqlite/migrator.d.ts +1 -2
- package/durable-sqlite/migrator.js.map +1 -1
- package/durable-sqlite/session.cjs +4 -46
- package/durable-sqlite/session.cjs.map +1 -1
- package/durable-sqlite/session.d.cts +8 -14
- package/durable-sqlite/session.d.ts +8 -14
- package/durable-sqlite/session.js +4 -46
- package/durable-sqlite/session.js.map +1 -1
- package/expo-sqlite/driver.cjs +5 -22
- package/expo-sqlite/driver.cjs.map +1 -1
- package/expo-sqlite/driver.d.cts +2 -3
- package/expo-sqlite/driver.d.ts +2 -3
- package/expo-sqlite/driver.js +8 -12
- package/expo-sqlite/driver.js.map +1 -1
- package/expo-sqlite/migrator.cjs.map +1 -1
- package/expo-sqlite/migrator.d.cts +2 -3
- package/expo-sqlite/migrator.d.ts +2 -3
- package/expo-sqlite/migrator.js.map +1 -1
- package/expo-sqlite/query.cjs +2 -13
- package/expo-sqlite/query.cjs.map +1 -1
- package/expo-sqlite/query.d.cts +1 -2
- package/expo-sqlite/query.d.ts +1 -2
- package/expo-sqlite/query.js +2 -3
- package/expo-sqlite/query.js.map +1 -1
- package/expo-sqlite/session.cjs +4 -47
- package/expo-sqlite/session.cjs.map +1 -1
- package/expo-sqlite/session.d.cts +8 -14
- package/expo-sqlite/session.d.ts +8 -14
- package/expo-sqlite/session.js +4 -47
- package/expo-sqlite/session.js.map +1 -1
- package/libsql/driver-core.cjs +5 -22
- package/libsql/driver-core.cjs.map +1 -1
- package/libsql/driver-core.d.cts +1 -2
- package/libsql/driver-core.d.ts +1 -2
- package/libsql/driver-core.js +8 -12
- package/libsql/driver-core.js.map +1 -1
- package/libsql/driver.cjs.map +1 -1
- package/libsql/driver.d.cts +5 -6
- package/libsql/driver.d.ts +5 -6
- package/libsql/driver.js.map +1 -1
- package/libsql/http/index.cjs.map +1 -1
- package/libsql/http/index.d.cts +5 -6
- package/libsql/http/index.d.ts +5 -6
- package/libsql/http/index.js.map +1 -1
- package/libsql/migrator.cjs.map +1 -1
- package/libsql/migrator.d.cts +1 -2
- package/libsql/migrator.d.ts +1 -2
- package/libsql/migrator.js.map +1 -1
- package/libsql/node/index.cjs.map +1 -1
- package/libsql/node/index.d.cts +5 -6
- package/libsql/node/index.d.ts +5 -6
- package/libsql/node/index.js.map +1 -1
- package/libsql/session.cjs +4 -60
- package/libsql/session.cjs.map +1 -1
- package/libsql/session.d.cts +9 -15
- package/libsql/session.d.ts +9 -15
- package/libsql/session.js +4 -60
- package/libsql/session.js.map +1 -1
- package/libsql/sqlite3/index.cjs.map +1 -1
- package/libsql/sqlite3/index.d.cts +5 -6
- package/libsql/sqlite3/index.d.ts +5 -6
- package/libsql/sqlite3/index.js.map +1 -1
- package/libsql/wasm/index.cjs.map +1 -1
- package/libsql/wasm/index.d.cts +5 -6
- package/libsql/wasm/index.d.ts +5 -6
- package/libsql/wasm/index.js.map +1 -1
- package/libsql/web/index.cjs.map +1 -1
- package/libsql/web/index.d.cts +5 -6
- package/libsql/web/index.d.ts +5 -6
- package/libsql/web/index.js.map +1 -1
- package/libsql/ws/index.cjs.map +1 -1
- package/libsql/ws/index.d.cts +5 -6
- package/libsql/ws/index.d.ts +5 -6
- package/libsql/ws/index.js.map +1 -1
- package/mysql-core/db.cjs +8 -29
- package/mysql-core/db.cjs.map +1 -1
- package/mysql-core/db.d.cts +8 -15
- package/mysql-core/db.d.ts +8 -15
- package/mysql-core/db.js +7 -28
- package/mysql-core/db.js.map +1 -1
- package/mysql-core/dialect.cjs +15 -176
- package/mysql-core/dialect.cjs.map +1 -1
- package/mysql-core/dialect.d.cts +13 -31
- package/mysql-core/dialect.d.ts +13 -31
- package/mysql-core/dialect.js +21 -173
- package/mysql-core/dialect.js.map +1 -1
- package/mysql-core/query-builders/count.cjs.map +1 -1
- package/mysql-core/query-builders/count.d.cts +1 -1
- package/mysql-core/query-builders/count.d.ts +1 -1
- package/mysql-core/query-builders/count.js.map +1 -1
- package/mysql-core/query-builders/query.cjs +31 -18
- package/mysql-core/query-builders/query.cjs.map +1 -1
- package/mysql-core/query-builders/query.d.cts +10 -8
- package/mysql-core/query-builders/query.d.ts +10 -8
- package/mysql-core/query-builders/query.js +31 -18
- package/mysql-core/query-builders/query.js.map +1 -1
- package/mysql-core/session.cjs +2 -3
- package/mysql-core/session.cjs.map +1 -1
- package/mysql-core/session.d.cts +7 -10
- package/mysql-core/session.d.ts +7 -10
- package/mysql-core/session.js +2 -3
- package/mysql-core/session.js.map +1 -1
- package/mysql-proxy/driver.cjs +5 -22
- package/mysql-proxy/driver.cjs.map +1 -1
- package/mysql-proxy/driver.d.cts +2 -3
- package/mysql-proxy/driver.d.ts +2 -3
- package/mysql-proxy/driver.js +8 -12
- package/mysql-proxy/driver.js.map +1 -1
- package/mysql-proxy/migrator.cjs.map +1 -1
- package/mysql-proxy/migrator.d.cts +1 -2
- package/mysql-proxy/migrator.d.ts +1 -2
- package/mysql-proxy/migrator.js.map +1 -1
- package/mysql-proxy/session.cjs +2 -47
- package/mysql-proxy/session.cjs.map +1 -1
- package/mysql-proxy/session.d.cts +8 -13
- package/mysql-proxy/session.d.ts +8 -13
- package/mysql-proxy/session.js +2 -47
- package/mysql-proxy/session.js.map +1 -1
- package/mysql2/driver.cjs +7 -24
- package/mysql2/driver.cjs.map +1 -1
- package/mysql2/driver.d.cts +9 -10
- package/mysql2/driver.d.ts +9 -10
- package/mysql2/driver.js +10 -14
- package/mysql2/driver.js.map +1 -1
- package/mysql2/migrator.cjs.map +1 -1
- package/mysql2/migrator.d.cts +1 -2
- package/mysql2/migrator.d.ts +1 -2
- package/mysql2/migrator.js.map +1 -1
- package/mysql2/session.cjs +2 -51
- package/mysql2/session.cjs.map +1 -1
- package/mysql2/session.d.cts +8 -13
- package/mysql2/session.d.ts +8 -13
- package/mysql2/session.js +2 -51
- package/mysql2/session.js.map +1 -1
- package/neon-http/driver.cjs +7 -21
- package/neon-http/driver.cjs.map +1 -1
- package/neon-http/driver.d.cts +9 -10
- package/neon-http/driver.d.ts +9 -10
- package/neon-http/driver.js +7 -11
- package/neon-http/driver.js.map +1 -1
- package/neon-http/migrator.cjs.map +1 -1
- package/neon-http/migrator.d.cts +1 -2
- package/neon-http/migrator.d.ts +1 -2
- package/neon-http/migrator.js.map +1 -1
- package/neon-http/session.cjs +2 -32
- package/neon-http/session.cjs.map +1 -1
- package/neon-http/session.d.cts +8 -13
- package/neon-http/session.d.ts +8 -13
- package/neon-http/session.js +2 -32
- package/neon-http/session.js.map +1 -1
- package/neon-serverless/driver.cjs +7 -18
- package/neon-serverless/driver.cjs.map +1 -1
- package/neon-serverless/driver.d.cts +8 -9
- package/neon-serverless/driver.d.ts +8 -9
- package/neon-serverless/driver.js +10 -8
- package/neon-serverless/driver.js.map +1 -1
- package/neon-serverless/migrator.cjs.map +1 -1
- package/neon-serverless/migrator.d.cts +1 -2
- package/neon-serverless/migrator.d.ts +1 -2
- package/neon-serverless/migrator.js.map +1 -1
- package/neon-serverless/session.cjs +5 -40
- package/neon-serverless/session.cjs.map +1 -1
- package/neon-serverless/session.d.cts +8 -13
- package/neon-serverless/session.d.ts +8 -13
- package/neon-serverless/session.js +5 -40
- package/neon-serverless/session.js.map +1 -1
- package/node-postgres/driver.cjs +7 -13
- package/node-postgres/driver.cjs.map +1 -1
- package/node-postgres/driver.d.cts +8 -9
- package/node-postgres/driver.d.ts +8 -9
- package/node-postgres/driver.js +10 -13
- package/node-postgres/driver.js.map +1 -1
- package/node-postgres/migrator.cjs.map +1 -1
- package/node-postgres/migrator.d.cts +1 -2
- package/node-postgres/migrator.d.ts +1 -2
- package/node-postgres/migrator.js.map +1 -1
- package/node-postgres/session.cjs +4 -45
- package/node-postgres/session.cjs.map +1 -1
- package/node-postgres/session.d.cts +8 -13
- package/node-postgres/session.d.ts +8 -13
- package/node-postgres/session.js +4 -45
- package/node-postgres/session.js.map +1 -1
- package/op-sqlite/driver.cjs +5 -22
- package/op-sqlite/driver.cjs.map +1 -1
- package/op-sqlite/driver.d.cts +2 -3
- package/op-sqlite/driver.d.ts +2 -3
- package/op-sqlite/driver.js +8 -12
- package/op-sqlite/driver.js.map +1 -1
- package/op-sqlite/migrator.cjs.map +1 -1
- package/op-sqlite/migrator.d.cts +2 -3
- package/op-sqlite/migrator.d.ts +2 -3
- package/op-sqlite/migrator.js.map +1 -1
- package/op-sqlite/session.cjs +4 -47
- package/op-sqlite/session.cjs.map +1 -1
- package/op-sqlite/session.d.cts +8 -14
- package/op-sqlite/session.d.ts +8 -14
- package/op-sqlite/session.js +4 -47
- package/op-sqlite/session.js.map +1 -1
- package/package.json +63 -99
- package/pg-core/db.cjs +7 -31
- package/pg-core/db.cjs.map +1 -1
- package/pg-core/db.d.cts +9 -16
- package/pg-core/db.d.ts +9 -16
- package/pg-core/db.js +6 -30
- package/pg-core/db.js.map +1 -1
- package/pg-core/dialect.cjs +488 -152
- package/pg-core/dialect.cjs.map +1 -1
- package/pg-core/dialect.d.cts +7 -23
- package/pg-core/dialect.d.ts +7 -23
- package/pg-core/dialect.js +494 -149
- package/pg-core/dialect.js.map +1 -1
- package/pg-core/query-builders/count.cjs.map +1 -1
- package/pg-core/query-builders/count.d.cts +1 -1
- package/pg-core/query-builders/count.d.ts +1 -1
- package/pg-core/query-builders/count.js.map +1 -1
- package/pg-core/query-builders/query.cjs +18 -15
- package/pg-core/query-builders/query.cjs.map +1 -1
- package/pg-core/query-builders/query.d.cts +6 -6
- package/pg-core/query-builders/query.d.ts +6 -6
- package/pg-core/query-builders/query.js +18 -15
- package/pg-core/query-builders/query.js.map +1 -1
- package/pg-core/session.cjs +2 -3
- package/pg-core/session.cjs.map +1 -1
- package/pg-core/session.d.cts +6 -9
- package/pg-core/session.d.ts +6 -9
- package/pg-core/session.js +2 -3
- package/pg-core/session.js.map +1 -1
- package/pg-proxy/driver.cjs +5 -21
- package/pg-proxy/driver.cjs.map +1 -1
- package/pg-proxy/driver.d.cts +2 -3
- package/pg-proxy/driver.d.ts +2 -3
- package/pg-proxy/driver.js +8 -11
- package/pg-proxy/driver.js.map +1 -1
- package/pg-proxy/migrator.cjs.map +1 -1
- package/pg-proxy/migrator.d.cts +1 -2
- package/pg-proxy/migrator.d.ts +1 -2
- package/pg-proxy/migrator.js.map +1 -1
- package/pg-proxy/session.cjs +2 -37
- package/pg-proxy/session.cjs.map +1 -1
- package/pg-proxy/session.d.cts +8 -13
- package/pg-proxy/session.d.ts +8 -13
- package/pg-proxy/session.js +2 -37
- package/pg-proxy/session.js.map +1 -1
- package/pglite/driver.cjs +7 -23
- package/pglite/driver.cjs.map +1 -1
- package/pglite/driver.d.cts +8 -9
- package/pglite/driver.d.ts +8 -9
- package/pglite/driver.js +10 -13
- package/pglite/driver.js.map +1 -1
- package/pglite/migrator.cjs.map +1 -1
- package/pglite/migrator.d.cts +1 -2
- package/pglite/migrator.d.ts +1 -2
- package/pglite/migrator.js.map +1 -1
- package/pglite/session.cjs +3 -34
- package/pglite/session.cjs.map +1 -1
- package/pglite/session.d.cts +8 -13
- package/pglite/session.d.ts +8 -13
- package/pglite/session.js +3 -34
- package/pglite/session.js.map +1 -1
- package/planetscale-serverless/driver.cjs +5 -22
- package/planetscale-serverless/driver.cjs.map +1 -1
- package/planetscale-serverless/driver.d.cts +6 -7
- package/planetscale-serverless/driver.d.ts +6 -7
- package/planetscale-serverless/driver.js +8 -12
- package/planetscale-serverless/driver.js.map +1 -1
- package/planetscale-serverless/migrator.cjs.map +1 -1
- package/planetscale-serverless/migrator.d.cts +1 -2
- package/planetscale-serverless/migrator.d.ts +1 -2
- package/planetscale-serverless/migrator.js.map +1 -1
- package/planetscale-serverless/session.cjs +5 -68
- package/planetscale-serverless/session.cjs.map +1 -1
- package/planetscale-serverless/session.d.cts +9 -14
- package/planetscale-serverless/session.d.ts +9 -14
- package/planetscale-serverless/session.js +5 -68
- package/planetscale-serverless/session.js.map +1 -1
- package/postgres-js/driver.cjs +5 -6
- package/postgres-js/driver.cjs.map +1 -1
- package/postgres-js/driver.d.cts +6 -7
- package/postgres-js/driver.d.ts +6 -7
- package/postgres-js/driver.js +8 -6
- package/postgres-js/driver.js.map +1 -1
- package/postgres-js/migrator.cjs.map +1 -1
- package/postgres-js/migrator.d.cts +1 -2
- package/postgres-js/migrator.d.ts +1 -2
- package/postgres-js/migrator.js.map +1 -1
- package/postgres-js/session.cjs +6 -51
- package/postgres-js/session.cjs.map +1 -1
- package/postgres-js/session.d.cts +9 -15
- package/postgres-js/session.d.ts +9 -15
- package/postgres-js/session.js +6 -51
- package/postgres-js/session.js.map +1 -1
- package/prisma/mysql/driver.cjs +1 -1
- package/prisma/mysql/driver.cjs.map +1 -1
- package/prisma/mysql/driver.js +1 -1
- package/prisma/mysql/driver.js.map +1 -1
- package/prisma/mysql/session.cjs +0 -3
- package/prisma/mysql/session.cjs.map +1 -1
- package/prisma/mysql/session.d.cts +1 -3
- package/prisma/mysql/session.d.ts +1 -3
- package/prisma/mysql/session.js +0 -3
- package/prisma/mysql/session.js.map +1 -1
- package/prisma/pg/driver.cjs +1 -1
- package/prisma/pg/driver.cjs.map +1 -1
- package/prisma/pg/driver.js +1 -1
- package/prisma/pg/driver.js.map +1 -1
- package/prisma/pg/session.cjs +0 -3
- package/prisma/pg/session.cjs.map +1 -1
- package/prisma/pg/session.d.cts +1 -3
- package/prisma/pg/session.d.ts +1 -3
- package/prisma/pg/session.js +0 -3
- package/prisma/pg/session.js.map +1 -1
- package/prisma/sqlite/driver.cjs +1 -1
- package/prisma/sqlite/driver.cjs.map +1 -1
- package/prisma/sqlite/driver.js +1 -1
- package/prisma/sqlite/driver.js.map +1 -1
- package/prisma/sqlite/session.cjs +0 -3
- package/prisma/sqlite/session.cjs.map +1 -1
- package/prisma/sqlite/session.d.cts +2 -4
- package/prisma/sqlite/session.d.ts +2 -4
- package/prisma/sqlite/session.js +0 -3
- package/prisma/sqlite/session.js.map +1 -1
- package/relations.cjs +246 -477
- package/relations.cjs.map +1 -1
- package/relations.d.cts +131 -263
- package/relations.d.ts +131 -263
- package/relations.js +241 -466
- package/relations.js.map +1 -1
- package/singlestore/driver.cjs +1 -1
- package/singlestore/driver.cjs.map +1 -1
- package/singlestore/driver.d.cts +1 -1
- package/singlestore/driver.d.ts +1 -1
- package/singlestore/driver.js +3 -3
- package/singlestore/driver.js.map +1 -1
- package/singlestore/session.cjs.map +1 -1
- package/singlestore/session.d.cts +4 -4
- package/singlestore/session.d.ts +4 -4
- package/singlestore/session.js.map +1 -1
- package/singlestore-core/columns/all.cjs +2 -0
- package/singlestore-core/columns/all.cjs.map +1 -1
- package/singlestore-core/columns/all.d.cts +2 -0
- package/singlestore-core/columns/all.d.ts +2 -0
- package/singlestore-core/columns/all.js +2 -0
- package/singlestore-core/columns/all.js.map +1 -1
- package/singlestore-core/columns/index.cjs +2 -0
- package/singlestore-core/columns/index.cjs.map +1 -1
- package/singlestore-core/columns/index.d.cts +1 -0
- package/singlestore-core/columns/index.d.ts +1 -0
- package/singlestore-core/columns/index.js +1 -0
- package/singlestore-core/columns/index.js.map +1 -1
- package/singlestore-core/columns/vector.cjs +72 -0
- package/singlestore-core/columns/vector.cjs.map +1 -0
- package/singlestore-core/columns/vector.d.cts +32 -0
- package/singlestore-core/columns/vector.d.ts +32 -0
- package/singlestore-core/columns/vector.js +46 -0
- package/singlestore-core/columns/vector.js.map +1 -0
- package/singlestore-core/db.cjs.map +1 -1
- package/singlestore-core/db.d.cts +3 -3
- package/singlestore-core/db.d.ts +3 -3
- package/singlestore-core/db.js.map +1 -1
- package/singlestore-core/dialect.cjs +6 -16
- package/singlestore-core/dialect.cjs.map +1 -1
- package/singlestore-core/dialect.d.cts +6 -6
- package/singlestore-core/dialect.d.ts +6 -6
- package/singlestore-core/dialect.js +12 -6
- package/singlestore-core/dialect.js.map +1 -1
- package/singlestore-core/expressions.cjs +10 -0
- package/singlestore-core/expressions.cjs.map +1 -1
- package/singlestore-core/expressions.d.cts +2 -0
- package/singlestore-core/expressions.d.ts +2 -0
- package/singlestore-core/expressions.js +8 -0
- package/singlestore-core/expressions.js.map +1 -1
- package/singlestore-core/query-builders/query.cjs +2 -12
- package/singlestore-core/query-builders/query.cjs.map +1 -1
- package/singlestore-core/query-builders/query.d.cts +6 -6
- package/singlestore-core/query-builders/query.d.ts +6 -6
- package/singlestore-core/query-builders/query.js +4 -2
- package/singlestore-core/query-builders/query.js.map +1 -1
- package/singlestore-core/session.cjs.map +1 -1
- package/singlestore-core/session.d.cts +5 -5
- package/singlestore-core/session.d.ts +5 -5
- package/singlestore-core/session.js.map +1 -1
- package/singlestore-proxy/driver.cjs +1 -1
- package/singlestore-proxy/driver.cjs.map +1 -1
- package/singlestore-proxy/driver.js +3 -3
- package/singlestore-proxy/driver.js.map +1 -1
- package/singlestore-proxy/session.cjs.map +1 -1
- package/singlestore-proxy/session.d.cts +4 -4
- package/singlestore-proxy/session.d.ts +4 -4
- package/singlestore-proxy/session.js.map +1 -1
- package/sql/sql.cjs.map +1 -1
- package/sql/sql.d.cts +8 -8
- package/sql/sql.d.ts +8 -8
- package/sql/sql.js.map +1 -1
- package/sql-js/driver.cjs +5 -16
- package/sql-js/driver.cjs.map +1 -1
- package/sql-js/driver.d.cts +2 -3
- package/sql-js/driver.d.ts +2 -3
- package/sql-js/driver.js +8 -6
- package/sql-js/driver.js.map +1 -1
- package/sql-js/migrator.cjs.map +1 -1
- package/sql-js/migrator.d.cts +1 -2
- package/sql-js/migrator.d.ts +1 -2
- package/sql-js/migrator.js.map +1 -1
- package/sql-js/session.cjs +4 -58
- package/sql-js/session.cjs.map +1 -1
- package/sql-js/session.d.cts +8 -14
- package/sql-js/session.d.ts +8 -14
- package/sql-js/session.js +4 -58
- package/sql-js/session.js.map +1 -1
- package/sqlite-core/db.cjs +14 -36
- package/sqlite-core/db.cjs.map +1 -1
- package/sqlite-core/db.d.cts +8 -15
- package/sqlite-core/db.d.ts +8 -15
- package/sqlite-core/db.js +13 -35
- package/sqlite-core/db.js.map +1 -1
- package/sqlite-core/dialect.cjs +7 -171
- package/sqlite-core/dialect.cjs.map +1 -1
- package/sqlite-core/dialect.d.cts +9 -27
- package/sqlite-core/dialect.d.ts +9 -27
- package/sqlite-core/dialect.js +13 -168
- package/sqlite-core/dialect.js.map +1 -1
- package/sqlite-core/query-builders/count.cjs.map +1 -1
- package/sqlite-core/query-builders/count.d.cts +1 -1
- package/sqlite-core/query-builders/count.d.ts +1 -1
- package/sqlite-core/query-builders/count.js.map +1 -1
- package/sqlite-core/query-builders/delete.cjs.map +1 -1
- package/sqlite-core/query-builders/delete.d.cts +1 -1
- package/sqlite-core/query-builders/delete.d.ts +1 -1
- package/sqlite-core/query-builders/delete.js.map +1 -1
- package/sqlite-core/query-builders/insert.cjs.map +1 -1
- package/sqlite-core/query-builders/insert.d.cts +3 -3
- package/sqlite-core/query-builders/insert.d.ts +3 -3
- package/sqlite-core/query-builders/insert.js.map +1 -1
- package/sqlite-core/query-builders/query.cjs +29 -32
- package/sqlite-core/query-builders/query.cjs.map +1 -1
- package/sqlite-core/query-builders/query.d.cts +16 -15
- package/sqlite-core/query-builders/query.d.ts +16 -15
- package/sqlite-core/query-builders/query.js +29 -32
- package/sqlite-core/query-builders/query.js.map +1 -1
- package/sqlite-core/query-builders/select.cjs.map +1 -1
- package/sqlite-core/query-builders/select.d.cts +3 -3
- package/sqlite-core/query-builders/select.d.ts +3 -3
- package/sqlite-core/query-builders/select.js.map +1 -1
- package/sqlite-core/query-builders/update.cjs.map +1 -1
- package/sqlite-core/query-builders/update.d.cts +3 -3
- package/sqlite-core/query-builders/update.d.ts +3 -3
- package/sqlite-core/query-builders/update.js.map +1 -1
- package/sqlite-core/session.cjs +2 -6
- package/sqlite-core/session.cjs.map +1 -1
- package/sqlite-core/session.d.cts +6 -14
- package/sqlite-core/session.d.ts +6 -14
- package/sqlite-core/session.js +2 -6
- package/sqlite-core/session.js.map +1 -1
- package/sqlite-proxy/driver.cjs +5 -22
- package/sqlite-proxy/driver.cjs.map +1 -1
- package/sqlite-proxy/driver.d.cts +3 -4
- package/sqlite-proxy/driver.d.ts +3 -4
- package/sqlite-proxy/driver.js +5 -12
- package/sqlite-proxy/driver.js.map +1 -1
- package/sqlite-proxy/migrator.cjs.map +1 -1
- package/sqlite-proxy/migrator.d.cts +1 -2
- package/sqlite-proxy/migrator.d.ts +1 -2
- package/sqlite-proxy/migrator.js.map +1 -1
- package/sqlite-proxy/session.cjs +4 -47
- package/sqlite-proxy/session.cjs.map +1 -1
- package/sqlite-proxy/session.d.cts +8 -14
- package/sqlite-proxy/session.d.ts +8 -14
- package/sqlite-proxy/session.js +4 -47
- package/sqlite-proxy/session.js.map +1 -1
- package/table.cjs.map +1 -1
- package/table.d.cts +1 -1
- package/table.d.ts +1 -1
- package/table.js.map +1 -1
- package/tidb-serverless/driver.cjs +5 -22
- package/tidb-serverless/driver.cjs.map +1 -1
- package/tidb-serverless/driver.d.cts +6 -7
- package/tidb-serverless/driver.d.ts +6 -7
- package/tidb-serverless/driver.js +8 -12
- package/tidb-serverless/driver.js.map +1 -1
- package/tidb-serverless/migrator.cjs.map +1 -1
- package/tidb-serverless/migrator.d.cts +1 -2
- package/tidb-serverless/migrator.d.ts +1 -2
- package/tidb-serverless/migrator.js.map +1 -1
- package/tidb-serverless/session.cjs +5 -62
- package/tidb-serverless/session.cjs.map +1 -1
- package/tidb-serverless/session.d.cts +9 -14
- package/tidb-serverless/session.d.ts +9 -14
- package/tidb-serverless/session.js +5 -62
- package/tidb-serverless/session.js.map +1 -1
- package/utils.cjs +2 -2
- package/utils.cjs.map +1 -1
- package/utils.d.cts +1 -3
- package/utils.d.ts +1 -3
- package/utils.js +2 -2
- package/utils.js.map +1 -1
- package/vercel-postgres/driver.cjs +7 -23
- package/vercel-postgres/driver.cjs.map +1 -1
- package/vercel-postgres/driver.d.cts +8 -9
- package/vercel-postgres/driver.d.ts +8 -9
- package/vercel-postgres/driver.js +10 -13
- package/vercel-postgres/driver.js.map +1 -1
- package/vercel-postgres/migrator.cjs.map +1 -1
- package/vercel-postgres/migrator.d.cts +1 -2
- package/vercel-postgres/migrator.d.ts +1 -2
- package/vercel-postgres/migrator.js.map +1 -1
- package/vercel-postgres/session.cjs +4 -34
- package/vercel-postgres/session.cjs.map +1 -1
- package/vercel-postgres/session.d.cts +8 -13
- package/vercel-postgres/session.d.ts +8 -13
- package/vercel-postgres/session.js +4 -34
- package/vercel-postgres/session.js.map +1 -1
- package/version.cjs +1 -1
- package/version.d.cts +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/xata-http/driver.cjs +5 -17
- package/xata-http/driver.cjs.map +1 -1
- package/xata-http/driver.d.cts +4 -5
- package/xata-http/driver.d.ts +4 -5
- package/xata-http/driver.js +5 -7
- package/xata-http/driver.js.map +1 -1
- package/xata-http/migrator.cjs.map +1 -1
- package/xata-http/migrator.d.cts +1 -2
- package/xata-http/migrator.d.ts +1 -2
- package/xata-http/migrator.js.map +1 -1
- package/xata-http/session.cjs +2 -30
- package/xata-http/session.cjs.map +1 -1
- package/xata-http/session.d.cts +8 -13
- package/xata-http/session.d.ts +8 -13
- package/xata-http/session.js +2 -30
- package/xata-http/session.js.map +1 -1
- package/_relations.cjs +0 -328
- package/_relations.cjs.map +0 -1
- package/_relations.d.cts +0 -215
- package/_relations.d.ts +0 -215
- package/_relations.js +0 -316
- package/_relations.js.map +0 -1
- package/mysql-core/query-builders/_query.cjs +0 -149
- package/mysql-core/query-builders/_query.cjs.map +0 -1
- package/mysql-core/query-builders/_query.d.cts +0 -44
- package/mysql-core/query-builders/_query.d.ts +0 -44
- package/mysql-core/query-builders/_query.js +0 -114
- package/mysql-core/query-builders/_query.js.map +0 -1
- package/pg-core/query-builders/_query.cjs +0 -155
- package/pg-core/query-builders/_query.cjs.map +0 -1
- package/pg-core/query-builders/_query.d.cts +0 -47
- package/pg-core/query-builders/_query.d.ts +0 -47
- package/pg-core/query-builders/_query.js +0 -120
- package/pg-core/query-builders/_query.js.map +0 -1
- package/sqlite-core/query-builders/_query.cjs +0 -187
- package/sqlite-core/query-builders/_query.cjs.map +0 -1
- package/sqlite-core/query-builders/_query.d.cts +0 -55
- package/sqlite-core/query-builders/_query.d.ts +0 -55
- package/sqlite-core/query-builders/_query.js +0 -151
- package/sqlite-core/query-builders/_query.js.map +0 -1
package/relations.d.cts
CHANGED
|
@@ -2,80 +2,70 @@ import { type AnyTable, type InferModelFromColumns, Table } from "./table.cjs";
|
|
|
2
2
|
import { type AnyColumn, Column } from "./column.cjs";
|
|
3
3
|
import { entityKind } from "./entity.cjs";
|
|
4
4
|
import { and, asc, between, desc, exists, ilike, inArray, isNotNull, isNull, like, not, notBetween, notExists, notIlike, notInArray, notLike, or } from "./sql/expressions/index.cjs";
|
|
5
|
-
import { Placeholder, SQL, sql
|
|
6
|
-
import {
|
|
7
|
-
export declare class
|
|
8
|
-
readonly
|
|
9
|
-
readonly
|
|
10
|
-
|
|
11
|
-
static readonly [entityKind]: string;
|
|
12
|
-
readonly $brand: 'RelationsV2';
|
|
13
|
-
/** table DB name -> schema table key */
|
|
14
|
-
readonly tableNamesMap: Record<string, string>;
|
|
15
|
-
readonly tablesConfig: TablesRelationalConfig;
|
|
16
|
-
constructor(schema: TSchema, tables: TTables, config: TConfig);
|
|
17
|
-
}
|
|
18
|
-
export type EmptyRelations = Relations<Record<string, never>, Record<string, never>, Record<string, never>>;
|
|
19
|
-
export type AnyRelations = Relations<Record<string, any>, Record<string, any>, Record<string, any>>;
|
|
20
|
-
export declare abstract class Relation<TSourceTableName extends string = string, TTargetTableName extends string = string> {
|
|
21
|
-
readonly targetTable: AnyTable<{
|
|
22
|
-
name: TTargetTableName;
|
|
5
|
+
import { type Placeholder, SQL, sql } from "./sql/sql.cjs";
|
|
6
|
+
import type { Assume, ColumnsWithTable, Equal, Simplify, ValueOrArray } from "./utils.cjs";
|
|
7
|
+
export declare abstract class Relation<TTableName extends string = string> {
|
|
8
|
+
readonly sourceTable: Table;
|
|
9
|
+
readonly referencedTable: AnyTable<{
|
|
10
|
+
name: TTableName;
|
|
23
11
|
}>;
|
|
12
|
+
readonly relationName: string | undefined;
|
|
24
13
|
static readonly [entityKind]: string;
|
|
25
|
-
readonly $brand: '
|
|
14
|
+
readonly $brand: 'Relation';
|
|
15
|
+
readonly referencedTableName: TTableName;
|
|
26
16
|
fieldName: string;
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
tableName: TTargetTableName;
|
|
32
|
-
}>[];
|
|
33
|
-
alias: string | undefined;
|
|
34
|
-
where: RelationsFilter<Record<string, Column>> | undefined;
|
|
35
|
-
sourceTable: AnyTable<{
|
|
36
|
-
name: TSourceTableName;
|
|
37
|
-
}>;
|
|
38
|
-
constructor(targetTable: AnyTable<{
|
|
39
|
-
name: TTargetTableName;
|
|
40
|
-
}>);
|
|
41
|
-
}
|
|
42
|
-
export declare class One<TSourceTableName extends string, TTargetTableName extends string, TOptional extends boolean = boolean> extends Relation<TSourceTableName, TTargetTableName> {
|
|
43
|
-
static readonly [entityKind]: string;
|
|
44
|
-
protected $relationBrand: 'OneV2';
|
|
45
|
-
readonly optional: TOptional;
|
|
46
|
-
constructor(targetTable: AnyTable<{
|
|
47
|
-
name: TTargetTableName;
|
|
48
|
-
}>, config: AnyOneConfig | undefined);
|
|
17
|
+
constructor(sourceTable: Table, referencedTable: AnyTable<{
|
|
18
|
+
name: TTableName;
|
|
19
|
+
}>, relationName: string | undefined);
|
|
20
|
+
abstract withFieldName(fieldName: string): Relation<TTableName>;
|
|
49
21
|
}
|
|
50
|
-
export declare class
|
|
51
|
-
readonly
|
|
22
|
+
export declare class Relations<TTableName extends string = string, TConfig extends Record<string, Relation> = Record<string, Relation>> {
|
|
23
|
+
readonly table: AnyTable<{
|
|
24
|
+
name: TTableName;
|
|
25
|
+
}>;
|
|
26
|
+
readonly config: (helpers: TableRelationsHelpers<TTableName>) => TConfig;
|
|
52
27
|
static readonly [entityKind]: string;
|
|
53
|
-
|
|
54
|
-
constructor(
|
|
55
|
-
name:
|
|
56
|
-
}>, config:
|
|
28
|
+
readonly $brand: 'Relations';
|
|
29
|
+
constructor(table: AnyTable<{
|
|
30
|
+
name: TTableName;
|
|
31
|
+
}>, config: (helpers: TableRelationsHelpers<TTableName>) => TConfig);
|
|
57
32
|
}
|
|
58
|
-
export declare
|
|
33
|
+
export declare class One<TTableName extends string = string, TIsNullable extends boolean = boolean> extends Relation<TTableName> {
|
|
34
|
+
readonly config: RelationConfig<TTableName, string, AnyColumn<{
|
|
35
|
+
tableName: TTableName;
|
|
36
|
+
}>[]> | undefined;
|
|
37
|
+
readonly isNullable: TIsNullable;
|
|
59
38
|
static readonly [entityKind]: string;
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
39
|
+
protected $relationBrand: 'One';
|
|
40
|
+
constructor(sourceTable: Table, referencedTable: AnyTable<{
|
|
41
|
+
name: TTableName;
|
|
42
|
+
}>, config: RelationConfig<TTableName, string, AnyColumn<{
|
|
43
|
+
tableName: TTableName;
|
|
44
|
+
}>[]> | undefined, isNullable: TIsNullable);
|
|
45
|
+
withFieldName(fieldName: string): One<TTableName>;
|
|
67
46
|
}
|
|
68
|
-
export declare class
|
|
47
|
+
export declare class Many<TTableName extends string> extends Relation<TTableName> {
|
|
48
|
+
readonly config: {
|
|
49
|
+
relationName: string;
|
|
50
|
+
} | undefined;
|
|
69
51
|
static readonly [entityKind]: string;
|
|
70
|
-
protected $
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
}
|
|
52
|
+
protected $relationBrand: 'Many';
|
|
53
|
+
constructor(sourceTable: Table, referencedTable: AnyTable<{
|
|
54
|
+
name: TTableName;
|
|
55
|
+
}>, config: {
|
|
56
|
+
relationName: string;
|
|
57
|
+
} | undefined);
|
|
58
|
+
withFieldName(fieldName: string): Many<TTableName>;
|
|
59
|
+
}
|
|
60
|
+
export type TableRelationsKeysOnly<TSchema extends Record<string, unknown>, TTableName extends string, K extends keyof TSchema> = TSchema[K] extends Relations<TTableName> ? K : never;
|
|
61
|
+
export type ExtractTableRelationsFromSchema<TSchema extends Record<string, unknown>, TTableName extends string> = ExtractObjectValues<{
|
|
62
|
+
[K in keyof TSchema as TableRelationsKeysOnly<TSchema, TTableName, K>]: TSchema[K] extends Relations<TTableName, infer TConfig> ? TConfig : never;
|
|
63
|
+
}>;
|
|
74
64
|
export type ExtractObjectValues<T> = T[keyof T];
|
|
75
65
|
export type ExtractRelationsFromTableExtraConfigSchema<TConfig extends unknown[]> = ExtractObjectValues<{
|
|
76
66
|
[K in keyof TConfig as TConfig[K] extends Relations<any> ? K : never]: TConfig[K] extends Relations<infer TRelationConfig> ? TRelationConfig : never;
|
|
77
67
|
}>;
|
|
78
|
-
export declare
|
|
68
|
+
export declare function getOperators(): {
|
|
79
69
|
and: typeof and;
|
|
80
70
|
between: typeof between;
|
|
81
71
|
eq: import("./expressions.ts").BinaryOperator;
|
|
@@ -99,72 +89,65 @@ export declare const operators: {
|
|
|
99
89
|
or: typeof or;
|
|
100
90
|
sql: typeof sql;
|
|
101
91
|
};
|
|
102
|
-
export type Operators = typeof
|
|
103
|
-
export declare const orderByOperators: {
|
|
104
|
-
sql: typeof sql;
|
|
105
|
-
asc: typeof asc;
|
|
106
|
-
desc: typeof desc;
|
|
107
|
-
};
|
|
92
|
+
export type Operators = ReturnType<typeof getOperators>;
|
|
108
93
|
export declare function getOrderByOperators(): {
|
|
109
94
|
sql: typeof sql;
|
|
110
95
|
asc: typeof asc;
|
|
111
96
|
desc: typeof desc;
|
|
112
97
|
};
|
|
113
98
|
export type OrderByOperators = ReturnType<typeof getOrderByOperators>;
|
|
114
|
-
export type
|
|
115
|
-
[K in keyof TSchema as TSchema[K]['
|
|
99
|
+
export type FindTableByDBName<TSchema extends TablesRelationalConfig, TTableName extends string> = ExtractObjectValues<{
|
|
100
|
+
[K in keyof TSchema as TSchema[K]['dbName'] extends TTableName ? K : never]: TSchema[K];
|
|
116
101
|
}>;
|
|
117
|
-
export type
|
|
118
|
-
sql: Operators['sql'];
|
|
119
|
-
};
|
|
120
|
-
export type DBQueryConfig<TRelationType extends 'one' | 'many' = 'one' | 'many', TSchema extends TablesRelationalConfig = TablesRelationalConfig, TTableConfig extends TableRelationalConfig = TableRelationalConfig> = {
|
|
102
|
+
export type DBQueryConfig<TRelationType extends 'one' | 'many' = 'one' | 'many', TIsRoot extends boolean = boolean, TSchema extends TablesRelationalConfig = TablesRelationalConfig, TTableConfig extends TableRelationalConfig = TableRelationalConfig> = {
|
|
121
103
|
columns?: {
|
|
122
|
-
[K in keyof TTableConfig['columns']]?: boolean
|
|
104
|
+
[K in keyof TTableConfig['columns']]?: boolean;
|
|
123
105
|
} | undefined;
|
|
124
106
|
with?: {
|
|
125
|
-
[K in keyof TTableConfig['relations']]?: true |
|
|
107
|
+
[K in keyof TTableConfig['relations']]?: true | DBQueryConfig<TTableConfig['relations'][K] extends One ? 'one' : 'many', false, TSchema, FindTableByDBName<TSchema, TTableConfig['relations'][K]['referencedTableName']>> | undefined;
|
|
126
108
|
} | undefined;
|
|
127
|
-
extras?: Record<string,
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
} | ((fields: Simplify<AnyTable<TTableConfig> & TTableConfig['columns']>, operators: OrderByOperators) => ValueOrArray<AnyColumn | SQL>) | undefined;
|
|
109
|
+
extras?: Record<string, SQL.Aliased> | ((fields: Simplify<[
|
|
110
|
+
TTableConfig['columns']
|
|
111
|
+
] extends [never] ? {} : TTableConfig['columns']>, operators: {
|
|
112
|
+
sql: Operators['sql'];
|
|
113
|
+
}) => Record<string, SQL.Aliased>) | undefined;
|
|
133
114
|
} & (TRelationType extends 'many' ? {
|
|
115
|
+
where?: SQL | undefined | ((fields: Simplify<[
|
|
116
|
+
TTableConfig['columns']
|
|
117
|
+
] extends [never] ? {} : TTableConfig['columns']>, operators: Operators) => SQL | undefined);
|
|
118
|
+
orderBy?: ValueOrArray<AnyColumn | SQL> | ((fields: Simplify<[
|
|
119
|
+
TTableConfig['columns']
|
|
120
|
+
] extends [never] ? {} : TTableConfig['columns']>, operators: OrderByOperators) => ValueOrArray<AnyColumn | SQL>) | undefined;
|
|
134
121
|
limit?: number | Placeholder | undefined;
|
|
135
|
-
}
|
|
122
|
+
} & (TIsRoot extends true ? {
|
|
123
|
+
offset?: number | Placeholder | undefined;
|
|
124
|
+
} : {}) : {});
|
|
136
125
|
export interface TableRelationalConfig {
|
|
137
|
-
table: Table;
|
|
138
126
|
tsName: string;
|
|
139
127
|
dbName: string;
|
|
140
128
|
columns: Record<string, Column>;
|
|
141
|
-
relations: Record<string,
|
|
129
|
+
relations: Record<string, Relation>;
|
|
142
130
|
primaryKey: AnyColumn[];
|
|
143
|
-
schema
|
|
131
|
+
schema?: string;
|
|
144
132
|
}
|
|
145
133
|
export type TablesRelationalConfig = Record<string, TableRelationalConfig>;
|
|
146
|
-
export interface RelationalSchemaConfig<
|
|
147
|
-
|
|
148
|
-
|
|
134
|
+
export interface RelationalSchemaConfig<TSchema extends TablesRelationalConfig> {
|
|
135
|
+
fullSchema: Record<string, unknown>;
|
|
136
|
+
schema: TSchema;
|
|
149
137
|
tableNamesMap: Record<string, string>;
|
|
150
138
|
}
|
|
151
|
-
type
|
|
152
|
-
[K in keyof
|
|
153
|
-
};
|
|
154
|
-
export type ExtractTablesWithRelations<TRelations extends Relations, TTables extends Record<string, Table> = TRelations['tables']> = {
|
|
155
|
-
[K in keyof TTables]: {
|
|
156
|
-
table: TTables[K];
|
|
139
|
+
export type ExtractTablesWithRelations<TSchema extends Record<string, unknown>> = {
|
|
140
|
+
[K in keyof TSchema as TSchema[K] extends Table ? K : never]: TSchema[K] extends Table ? {
|
|
157
141
|
tsName: K & string;
|
|
158
|
-
dbName:
|
|
159
|
-
columns:
|
|
160
|
-
relations:
|
|
142
|
+
dbName: TSchema[K]['_']['name'];
|
|
143
|
+
columns: TSchema[K]['_']['columns'];
|
|
144
|
+
relations: ExtractTableRelationsFromSchema<TSchema, TSchema[K]['_']['name']>;
|
|
161
145
|
primaryKey: AnyColumn[];
|
|
162
|
-
|
|
163
|
-
};
|
|
146
|
+
} : never;
|
|
164
147
|
};
|
|
165
148
|
export type ReturnTypeOrValue<T> = T extends (...args: any[]) => infer R ? R : T;
|
|
166
|
-
export type BuildRelationResult<
|
|
167
|
-
[K in NonUndefinedKeysOnly<TInclude> & keyof TRelations]: TRelations[K] extends infer TRel extends Relation ? BuildQueryResult<
|
|
149
|
+
export type BuildRelationResult<TSchema extends TablesRelationalConfig, TInclude, TRelations extends Record<string, Relation>> = {
|
|
150
|
+
[K in NonUndefinedKeysOnly<TInclude> & keyof TRelations]: TRelations[K] extends infer TRel extends Relation ? BuildQueryResult<TSchema, FindTableByDBName<TSchema, TRel['referencedTableName']>, Assume<TInclude[K], true | Record<string, unknown>>> extends infer TResult ? TRel extends One ? TResult | (Equal<TRel['isNullable'], false> extends true ? null : never) : TResult[] : never : never;
|
|
168
151
|
};
|
|
169
152
|
export type NonUndefinedKeysOnly<T> = ExtractObjectValues<{
|
|
170
153
|
[K in keyof T as T[K] extends undefined ? never : K]: K;
|
|
@@ -174,174 +157,59 @@ export type BuildQueryResult<TSchema extends TablesRelationalConfig, TTableConfi
|
|
|
174
157
|
[K in keyof TFullSelection['columns']]: Equal<TFullSelection['columns'][K], true> extends true ? K : never;
|
|
175
158
|
}[keyof TFullSelection['columns']] & keyof TTableConfig['columns']]: TTableConfig['columns'][K];
|
|
176
159
|
}> : InferModelFromColumns<TTableConfig['columns']>) & (TFullSelection['extras'] extends Record<string, unknown> | ((...args: any[]) => Record<string, unknown>) ? {
|
|
177
|
-
[K in NonUndefinedKeysOnly<ReturnTypeOrValue<TFullSelection['extras']>>]:
|
|
160
|
+
[K in NonUndefinedKeysOnly<ReturnTypeOrValue<TFullSelection['extras']>>]: Assume<ReturnTypeOrValue<TFullSelection['extras']>[K], SQL.Aliased>['_']['type'];
|
|
178
161
|
} : {}) & (TFullSelection['with'] extends Record<string, unknown> ? BuildRelationResult<TSchema, TFullSelection['with'], TTableConfig['relations']> : {})> : never;
|
|
162
|
+
export interface RelationConfig<TTableName extends string, TForeignTableName extends string, TColumns extends AnyColumn<{
|
|
163
|
+
tableName: TTableName;
|
|
164
|
+
}>[]> {
|
|
165
|
+
relationName?: string;
|
|
166
|
+
fields: TColumns;
|
|
167
|
+
references: ColumnsWithTable<TTableName, TForeignTableName, TColumns>;
|
|
168
|
+
}
|
|
169
|
+
export declare function extractTablesRelationalConfig<TTables extends TablesRelationalConfig>(schema: Record<string, unknown>, configHelpers: (table: Table) => any): {
|
|
170
|
+
tables: TTables;
|
|
171
|
+
tableNamesMap: Record<string, string>;
|
|
172
|
+
};
|
|
173
|
+
export declare function relations<TTableName extends string, TRelations extends Record<string, Relation<any>>>(table: AnyTable<{
|
|
174
|
+
name: TTableName;
|
|
175
|
+
}>, relations: (helpers: TableRelationsHelpers<TTableName>) => TRelations): Relations<TTableName, TRelations>;
|
|
176
|
+
export declare function createOne<TTableName extends string>(sourceTable: Table): <TForeignTable extends Table, TColumns extends [AnyColumn<{
|
|
177
|
+
tableName: TTableName;
|
|
178
|
+
}>, ...AnyColumn<{
|
|
179
|
+
tableName: TTableName;
|
|
180
|
+
}>[]]>(table: TForeignTable, config?: RelationConfig<TTableName, TForeignTable["_"]["name"], TColumns>) => One<TForeignTable["_"]["name"], Equal<TColumns[number]["_"]["notNull"], true>>;
|
|
181
|
+
export declare function createMany(sourceTable: Table): <TForeignTable extends Table>(referencedTable: TForeignTable, config?: {
|
|
182
|
+
relationName: string;
|
|
183
|
+
}) => Many<TForeignTable["_"]["name"]>;
|
|
179
184
|
export interface NormalizedRelation {
|
|
180
185
|
fields: AnyColumn[];
|
|
181
186
|
references: AnyColumn[];
|
|
182
187
|
}
|
|
183
|
-
export
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
selection?: BuildRelationalQueryResult['selection'];
|
|
189
|
-
}[];
|
|
190
|
-
sql: SQL;
|
|
191
|
-
}
|
|
192
|
-
export declare function mapRelationalRow(row: Record<string, unknown>, buildQueryResultSelection: BuildRelationalQueryResult['selection'], mapColumnValue?: (value: unknown) => unknown,
|
|
193
|
-
/** Needed for SQLite as it returns JSON values as strings */
|
|
194
|
-
parseJson?: boolean): Record<string, unknown>;
|
|
195
|
-
export declare class RelationsBuilderTable<TTableName extends string = string> implements SQLWrapper {
|
|
196
|
-
static readonly [entityKind]: string;
|
|
197
|
-
readonly _: {
|
|
198
|
-
readonly name: TTableName;
|
|
199
|
-
readonly table: AnyTable<{
|
|
200
|
-
name: TTableName;
|
|
201
|
-
}>;
|
|
202
|
-
};
|
|
203
|
-
constructor(table: AnyTable<{
|
|
204
|
-
name: TTableName;
|
|
205
|
-
}>);
|
|
206
|
-
getSQL(): SQL;
|
|
207
|
-
}
|
|
208
|
-
export type RelationsBuilderColumnConfig<TTableName extends string = string, TData = unknown> = {
|
|
209
|
-
readonly tableName: TTableName;
|
|
210
|
-
readonly data: TData;
|
|
211
|
-
readonly column: AnyColumn<{
|
|
188
|
+
export declare function normalizeRelation(schema: TablesRelationalConfig, tableNamesMap: Record<string, string>, relation: Relation): NormalizedRelation;
|
|
189
|
+
export declare function createTableRelationsHelpers<TTableName extends string>(sourceTable: AnyTable<{
|
|
190
|
+
name: TTableName;
|
|
191
|
+
}>): {
|
|
192
|
+
one: <TForeignTable extends Table, TColumns extends [AnyColumn<{
|
|
212
193
|
tableName: TTableName;
|
|
213
|
-
}
|
|
214
|
-
through?: RelationsBuilderColumnBase;
|
|
215
|
-
};
|
|
216
|
-
export type RelationsBuilderColumnBase<TTableName extends string = string, TData = unknown> = {
|
|
217
|
-
_: RelationsBuilderColumnConfig<TTableName, TData>;
|
|
218
|
-
} & SQLWrapper;
|
|
219
|
-
export declare class RelationsBuilderColumn<TTableName extends string = string, TData = unknown> implements SQLWrapper, RelationsBuilderColumnBase<TTableName, TData> {
|
|
220
|
-
static readonly [entityKind]: string;
|
|
221
|
-
readonly _: {
|
|
222
|
-
readonly tableName: TTableName;
|
|
223
|
-
readonly data: TData;
|
|
224
|
-
readonly column: AnyColumn<{
|
|
225
|
-
tableName: TTableName;
|
|
226
|
-
}>;
|
|
227
|
-
through?: RelationsBuilderColumnBase;
|
|
228
|
-
};
|
|
229
|
-
constructor(column: AnyColumn<{
|
|
194
|
+
}>, ...AnyColumn<{
|
|
230
195
|
tableName: TTableName;
|
|
231
|
-
}>)
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
}
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
gte?: T;
|
|
240
|
-
lt?: T;
|
|
241
|
-
lte?: T;
|
|
242
|
-
in?: T[];
|
|
243
|
-
notIn?: T[];
|
|
244
|
-
like?: string;
|
|
245
|
-
ilike?: string;
|
|
246
|
-
notLike?: string;
|
|
247
|
-
notIlike?: string;
|
|
248
|
-
isNull?: true;
|
|
249
|
-
isNotNull?: true;
|
|
250
|
-
NOT?: RelationsFieldFilter<T>;
|
|
251
|
-
OR?: RelationsFieldFilter<T>[];
|
|
252
|
-
};
|
|
253
|
-
export type RelationsFieldFilter<T> = T | RelationFieldsFilterInternals<T | Placeholder>;
|
|
254
|
-
export type RelationsFilter<TColumns extends Record<string, Column>> = {
|
|
255
|
-
[K in keyof TColumns]?: RelationsFieldFilter<TColumns[K]['_']['data']>;
|
|
256
|
-
} & {
|
|
257
|
-
OR?: RelationsFilter<TColumns>[];
|
|
258
|
-
NOT?: RelationsFilter<TColumns>;
|
|
259
|
-
RAW?: (table: Simplify<AnyTable<{
|
|
260
|
-
columns: TColumns;
|
|
261
|
-
}> & {
|
|
262
|
-
[K in keyof TColumns]: TColumns[K];
|
|
263
|
-
}>, operators: Operators) => SQL;
|
|
264
|
-
};
|
|
265
|
-
export interface OneConfig<TSchema extends Record<string, Table>, TSourceColumns extends Readonly<[RelationsBuilderColumnBase, ...RelationsBuilderColumnBase[]]> | Readonly<RelationsBuilderColumnBase>, TTargetTableName extends string, TOptional extends boolean> {
|
|
266
|
-
from?: TSourceColumns | Writable<TSourceColumns>;
|
|
267
|
-
to?: TSourceColumns extends [RelationsBuilderColumnBase, ...RelationsBuilderColumnBase[]] ? {
|
|
268
|
-
[K in keyof TSourceColumns]: RelationsBuilderColumnBase<TTargetTableName>;
|
|
269
|
-
} : RelationsBuilderColumnBase<TTargetTableName>;
|
|
270
|
-
where?: TSourceColumns extends [RelationsBuilderColumnBase, ...RelationsBuilderColumnBase[]] ? RelationsFilter<TSchema[TSourceColumns[number]['_']['tableName']]['_']['columns']> : RelationsFilter<TSchema[Assume<TSourceColumns, RelationsBuilderColumnBase>['_']['tableName']]['_']['columns']>;
|
|
271
|
-
optional?: TOptional;
|
|
272
|
-
alias?: string;
|
|
273
|
-
}
|
|
274
|
-
export type AnyOneConfig = OneConfig<Record<string, Table>, Readonly<[RelationsBuilderColumnBase, ...RelationsBuilderColumnBase[]] | RelationsBuilderColumnBase<string, unknown>>, string, boolean>;
|
|
275
|
-
export interface ManyConfig<TSchema extends Record<string, Table>, TSourceColumns extends Readonly<[RelationsBuilderColumnBase, ...RelationsBuilderColumnBase[]]> | Readonly<RelationsBuilderColumnBase>, TTargetTableName extends string> {
|
|
276
|
-
from?: TSourceColumns;
|
|
277
|
-
to?: TSourceColumns extends [RelationsBuilderColumnBase, ...RelationsBuilderColumnBase[]] ? {
|
|
278
|
-
[K in keyof TSourceColumns]: RelationsBuilderColumnBase<TTargetTableName>;
|
|
279
|
-
} : RelationsBuilderColumnBase<TTargetTableName>;
|
|
280
|
-
where?: TSourceColumns extends [RelationsBuilderColumnBase, ...RelationsBuilderColumnBase[]] ? RelationsFilter<TSchema[TSourceColumns[number]['_']['tableName']]['_']['columns']> : RelationsFilter<TSchema[Assume<TSourceColumns, RelationsBuilderColumnBase>['_']['tableName']]['_']['columns']>;
|
|
281
|
-
alias?: string;
|
|
282
|
-
}
|
|
283
|
-
export type AnyManyConfig = ManyConfig<Record<string, Table>, Readonly<[RelationsBuilderColumnBase, ...RelationsBuilderColumnBase[]]> | Readonly<RelationsBuilderColumnBase>, string>;
|
|
284
|
-
export interface OneFn<TTables extends Record<string, Table>, TTargetTableName extends string> {
|
|
285
|
-
<TSourceColumns extends Readonly<[RelationsBuilderColumnBase, ...RelationsBuilderColumnBase[]]> | RelationsBuilderColumnBase = any, TOptional extends boolean = false>(config?: OneConfig<TTables, TSourceColumns, TTargetTableName, TOptional>): One<TSourceColumns extends [RelationsBuilderColumnBase, ...RelationsBuilderColumnBase[]] ? TSourceColumns[number]['_']['tableName'] : Assume<TSourceColumns, RelationsBuilderColumnBase>['_']['tableName'], TTargetTableName, TOptional>;
|
|
286
|
-
}
|
|
287
|
-
export interface ManyFn<TTables extends Record<string, Table>, TTargetTableName extends string> {
|
|
288
|
-
<TSourceColumns extends Readonly<[RelationsBuilderColumnBase, ...RelationsBuilderColumnBase[]]> | RelationsBuilderColumnBase = any>(config?: ManyConfig<TTables, TSourceColumns, TTargetTableName>): Many<TSourceColumns extends [RelationsBuilderColumnBase, ...RelationsBuilderColumnBase[]] ? TSourceColumns[number]['_']['tableName'] : Assume<TSourceColumns, RelationsBuilderColumnBase>['_']['tableName'], TTargetTableName>;
|
|
289
|
-
}
|
|
290
|
-
export declare class RelationsHelperStatic<TTables extends Record<string, Table>> {
|
|
291
|
-
static readonly [entityKind]: string;
|
|
292
|
-
readonly $brand: 'RelationsHelperStatic';
|
|
293
|
-
readonly _: {
|
|
294
|
-
readonly tables: TTables;
|
|
295
|
-
};
|
|
296
|
-
constructor(tables: TTables);
|
|
297
|
-
one: {
|
|
298
|
-
[K in keyof TTables]: OneFn<TTables, K & string>;
|
|
299
|
-
};
|
|
300
|
-
many: {
|
|
301
|
-
[K in keyof TTables]: ManyFn<TTables, K & string>;
|
|
302
|
-
};
|
|
303
|
-
aggs: {
|
|
304
|
-
count(): Count;
|
|
305
|
-
};
|
|
306
|
-
}
|
|
307
|
-
export type RelationsBuilder<TSchema extends Record<string, Table>> = {
|
|
308
|
-
[TTableName in keyof TSchema & string]: {
|
|
309
|
-
[TColumnName in keyof TSchema[TTableName]['_']['columns']]: RelationsBuilderColumn<TTableName, TSchema[TTableName]['_']['columns'][TColumnName]['_']['data']>;
|
|
310
|
-
} & RelationsBuilderTable<TTableName>;
|
|
311
|
-
} & RelationsHelperStatic<TSchema>;
|
|
312
|
-
export type RelationsBuilderConfig<TTables extends Record<string, Table>> = {
|
|
313
|
-
[TTableName in keyof TTables & string]?: Record<string, RelationsBuilderEntry<TTables, TTableName>>;
|
|
314
|
-
};
|
|
315
|
-
export type RelationsBuilderEntry<TTables extends Record<string, Table> = Record<string, Table>, TSourceTableName extends string = string> = Relation<TSourceTableName, keyof TTables & string> | AggregatedField<any>;
|
|
316
|
-
export type ExtractTablesFromSchema<TSchema extends Record<string, unknown>> = {
|
|
317
|
-
[K in keyof TSchema as TSchema[K] extends Table ? K : never]: TSchema[K] extends Table ? TSchema[K] : never;
|
|
318
|
-
};
|
|
319
|
-
export declare function createRelationsHelper<TSchema extends Record<string, unknown>, TTables extends Record<string, Table>>(schema: TSchema): RelationsBuilder<TTables>;
|
|
320
|
-
export declare function defineRelations<TSchema extends Record<string, unknown>, TConfig extends RelationsBuilderConfig<TTables>, TTables extends Record<string, Table> = ExtractTablesFromSchema<TSchema>>(schema: TSchema, relations: (helpers: RelationsBuilder<TTables>) => TConfig): Relations<TSchema, TTables, TConfig>;
|
|
321
|
-
export type WithContainer<TRelatedTables extends Record<string, Table> = Record<string, Table>> = {
|
|
322
|
-
with?: {
|
|
323
|
-
[K in keyof TRelatedTables]?: boolean | DBQueryConfig;
|
|
324
|
-
};
|
|
325
|
-
};
|
|
326
|
-
export type ColumnWithTSName = {
|
|
327
|
-
column: Column;
|
|
328
|
-
tsName: string;
|
|
329
|
-
};
|
|
330
|
-
export type RelationsOrder<TColumns extends Record<string, Column>> = {
|
|
331
|
-
[K in keyof TColumns]?: 'asc' | 'desc';
|
|
332
|
-
};
|
|
333
|
-
export type OrderBy = Exclude<DBQueryConfig['orderBy'], undefined>;
|
|
334
|
-
export type Extras = Exclude<DBQueryConfig['extras'], undefined>;
|
|
335
|
-
export declare function relationsFilterToSQL(table: Table, filter: RelationsFilter<Record<string, Column>>): SQL | undefined;
|
|
336
|
-
export declare function relationsOrderToSQL(table: Table, orders: OrderBy): SQL | undefined;
|
|
337
|
-
export declare function relationExtrasToSQL(table: Table, extras: Extras): {
|
|
338
|
-
sql: SQL<unknown> | undefined;
|
|
196
|
+
}>[]]>(table: TForeignTable, config?: RelationConfig<TTableName, TForeignTable["_"]["name"], TColumns> | undefined) => One<TForeignTable["_"]["name"], Equal<TColumns[number]["_"]["notNull"], true>>;
|
|
197
|
+
many: <TForeignTable extends Table>(referencedTable: TForeignTable, config?: {
|
|
198
|
+
relationName: string;
|
|
199
|
+
}) => Many<TForeignTable["_"]["name"]>;
|
|
200
|
+
};
|
|
201
|
+
export type TableRelationsHelpers<TTableName extends string> = ReturnType<typeof createTableRelationsHelpers<TTableName>>;
|
|
202
|
+
export interface BuildRelationalQueryResult<TTable extends Table = Table, TColumn extends Column = Column> {
|
|
203
|
+
tableTsKey: string;
|
|
339
204
|
selection: {
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
205
|
+
dbKey: string;
|
|
206
|
+
tsKey: string;
|
|
207
|
+
field: TColumn | SQL | SQL.Aliased;
|
|
208
|
+
relationTableTsKey: string | undefined;
|
|
209
|
+
isJson: boolean;
|
|
210
|
+
isExtra?: boolean;
|
|
211
|
+
selection: BuildRelationalQueryResult<TTable>['selection'];
|
|
344
212
|
}[];
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
export
|
|
213
|
+
sql: TTable | SQL;
|
|
214
|
+
}
|
|
215
|
+
export declare function mapRelationalRow(tablesConfig: TablesRelationalConfig, tableConfig: TableRelationalConfig, row: unknown[], buildQueryResultSelection: BuildRelationalQueryResult['selection'], mapColumnValue?: (value: unknown) => unknown): Record<string, unknown>;
|