drizzle-orm 0.41.0 → 0.42.0-da9af74
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/aws-data-api/pg/driver.cjs +5 -1
- package/aws-data-api/pg/driver.cjs.map +1 -1
- package/aws-data-api/pg/driver.d.cts +1 -0
- package/aws-data-api/pg/driver.d.ts +1 -0
- package/aws-data-api/pg/driver.js +5 -1
- package/aws-data-api/pg/driver.js.map +1 -1
- package/aws-data-api/pg/session.cjs +15 -4
- package/aws-data-api/pg/session.cjs.map +1 -1
- package/aws-data-api/pg/session.d.cts +13 -2
- package/aws-data-api/pg/session.d.ts +13 -2
- package/aws-data-api/pg/session.js +15 -4
- package/aws-data-api/pg/session.js.map +1 -1
- package/better-sqlite3/driver.cjs.map +1 -1
- package/better-sqlite3/driver.js.map +1 -1
- package/better-sqlite3/session.cjs +9 -3
- package/better-sqlite3/session.cjs.map +1 -1
- package/better-sqlite3/session.d.cts +12 -2
- package/better-sqlite3/session.d.ts +12 -2
- package/better-sqlite3/session.js +9 -3
- package/better-sqlite3/session.js.map +1 -1
- package/bun-sql/driver.cjs +5 -1
- package/bun-sql/driver.cjs.map +1 -1
- package/bun-sql/driver.js +5 -1
- package/bun-sql/driver.js.map +1 -1
- package/bun-sql/session.cjs +21 -9
- package/bun-sql/session.cjs.map +1 -1
- package/bun-sql/session.d.cts +12 -2
- package/bun-sql/session.d.ts +12 -2
- package/bun-sql/session.js +21 -9
- package/bun-sql/session.js.map +1 -1
- package/cache/core/cache.cjs +47 -0
- package/cache/core/cache.cjs.map +1 -0
- package/cache/core/cache.d.cts +35 -0
- package/cache/core/cache.d.ts +35 -0
- package/cache/core/cache.js +22 -0
- package/cache/core/cache.js.map +1 -0
- package/{expressions.cjs → cache/core/index.cjs} +5 -5
- package/cache/core/index.cjs.map +1 -0
- package/cache/core/index.d.cts +1 -0
- package/cache/core/index.d.ts +1 -0
- package/cache/core/index.js +2 -0
- package/cache/core/index.js.map +1 -0
- package/cache/core/types.cjs +17 -0
- package/cache/core/types.cjs.map +1 -0
- package/cache/core/types.d.cts +33 -0
- package/cache/core/types.d.ts +33 -0
- package/cache/core/types.js +1 -0
- package/cache/core/types.js.map +1 -0
- package/cache/upstash/cache.cjs +148 -0
- package/cache/upstash/cache.cjs.map +1 -0
- package/cache/upstash/cache.d.cts +29 -0
- package/cache/upstash/cache.d.ts +29 -0
- package/cache/upstash/cache.js +123 -0
- package/cache/upstash/cache.js.map +1 -0
- package/cache/upstash/index.cjs +23 -0
- package/cache/upstash/index.cjs.map +1 -0
- package/cache/upstash/index.d.cts +1 -0
- package/cache/upstash/index.d.ts +1 -0
- package/cache/upstash/index.js +2 -0
- package/cache/upstash/index.js.map +1 -0
- package/d1/driver.cjs +5 -1
- package/d1/driver.cjs.map +1 -1
- package/d1/driver.js +5 -1
- package/d1/driver.js.map +1 -1
- package/d1/session.cjs +23 -9
- package/d1/session.cjs.map +1 -1
- package/d1/session.d.cts +12 -2
- package/d1/session.d.ts +12 -2
- package/d1/session.js +23 -9
- package/d1/session.js.map +1 -1
- package/durable-sqlite/session.cjs +1 -1
- package/durable-sqlite/session.cjs.map +1 -1
- package/durable-sqlite/session.js +1 -1
- package/durable-sqlite/session.js.map +1 -1
- package/gel/driver.cjs +9 -2
- package/gel/driver.cjs.map +1 -1
- package/gel/driver.d.cts +2 -0
- package/gel/driver.d.ts +2 -0
- package/gel/driver.js +9 -2
- package/gel/driver.js.map +1 -1
- package/gel/session.cjs +25 -10
- package/gel/session.cjs.map +1 -1
- package/gel/session.d.cts +12 -2
- package/gel/session.d.ts +12 -2
- package/gel/session.js +25 -10
- package/gel/session.js.map +1 -1
- package/gel-core/db.cjs +1 -0
- package/gel-core/db.cjs.map +1 -1
- package/gel-core/db.d.cts +4 -0
- package/gel-core/db.d.ts +4 -0
- package/gel-core/db.js +1 -0
- package/gel-core/db.js.map +1 -1
- package/gel-core/expressions.cjs +3 -3
- package/gel-core/expressions.cjs.map +1 -1
- package/gel-core/expressions.d.cts +1 -1
- package/gel-core/expressions.d.ts +1 -1
- package/gel-core/expressions.js +2 -2
- package/gel-core/expressions.js.map +1 -1
- package/gel-core/query-builders/delete.cjs +5 -1
- package/gel-core/query-builders/delete.cjs.map +1 -1
- package/gel-core/query-builders/delete.js +5 -1
- package/gel-core/query-builders/delete.js.map +1 -1
- package/gel-core/query-builders/insert.cjs +5 -1
- package/gel-core/query-builders/insert.cjs.map +1 -1
- package/gel-core/query-builders/insert.js +5 -1
- package/gel-core/query-builders/insert.js.map +1 -1
- package/gel-core/query-builders/select.cjs +29 -4
- package/gel-core/query-builders/select.cjs.map +1 -1
- package/gel-core/query-builders/select.d.cts +9 -0
- package/gel-core/query-builders/select.d.ts +9 -0
- package/gel-core/query-builders/select.js +29 -4
- package/gel-core/query-builders/select.js.map +1 -1
- package/gel-core/query-builders/update.cjs +5 -1
- package/gel-core/query-builders/update.cjs.map +1 -1
- package/gel-core/query-builders/update.js +5 -1
- package/gel-core/query-builders/update.js.map +1 -1
- package/gel-core/session.cjs +52 -1
- package/gel-core/session.cjs.map +1 -1
- package/gel-core/session.d.cts +14 -3
- package/gel-core/session.d.ts +14 -3
- package/gel-core/session.js +53 -2
- package/gel-core/session.js.map +1 -1
- package/gel-core/utils.cjs +16 -0
- package/gel-core/utils.cjs.map +1 -1
- package/gel-core/utils.d.cts +8 -4
- package/gel-core/utils.d.ts +8 -4
- package/gel-core/utils.js +15 -0
- package/gel-core/utils.js.map +1 -1
- package/index.cjs +0 -2
- package/index.cjs.map +1 -1
- package/index.d.cts +0 -1
- package/index.d.ts +0 -1
- package/index.js +0 -1
- package/index.js.map +1 -1
- package/libsql/driver-core.cjs +5 -1
- package/libsql/driver-core.cjs.map +1 -1
- package/libsql/driver-core.js +5 -1
- package/libsql/driver-core.js.map +1 -1
- package/libsql/session.cjs +27 -13
- package/libsql/session.cjs.map +1 -1
- package/libsql/session.d.cts +12 -2
- package/libsql/session.d.ts +12 -2
- package/libsql/session.js +27 -13
- package/libsql/session.js.map +1 -1
- package/mysql-core/columns/enum.cjs +40 -5
- package/mysql-core/columns/enum.cjs.map +1 -1
- package/mysql-core/columns/enum.d.cts +25 -2
- package/mysql-core/columns/enum.d.ts +25 -2
- package/mysql-core/columns/enum.js +38 -5
- package/mysql-core/columns/enum.js.map +1 -1
- package/mysql-core/db.cjs +1 -0
- package/mysql-core/db.cjs.map +1 -1
- package/mysql-core/db.d.cts +4 -0
- package/mysql-core/db.d.ts +4 -0
- package/mysql-core/db.js +1 -0
- package/mysql-core/db.js.map +1 -1
- package/mysql-core/dialect.cjs +1 -1
- package/mysql-core/dialect.cjs.map +1 -1
- package/mysql-core/dialect.js +1 -1
- package/mysql-core/dialect.js.map +1 -1
- package/mysql-core/expressions.cjs +3 -3
- package/mysql-core/expressions.cjs.map +1 -1
- package/mysql-core/expressions.d.cts +1 -1
- package/mysql-core/expressions.d.ts +1 -1
- package/mysql-core/expressions.js +2 -2
- package/mysql-core/expressions.js.map +1 -1
- package/mysql-core/query-builders/delete.cjs +9 -1
- package/mysql-core/query-builders/delete.cjs.map +1 -1
- package/mysql-core/query-builders/delete.js +9 -1
- package/mysql-core/query-builders/delete.js.map +1 -1
- package/mysql-core/query-builders/insert.cjs +8 -1
- package/mysql-core/query-builders/insert.cjs.map +1 -1
- package/mysql-core/query-builders/insert.d.cts +2 -0
- package/mysql-core/query-builders/insert.d.ts +2 -0
- package/mysql-core/query-builders/insert.js +8 -1
- package/mysql-core/query-builders/insert.js.map +1 -1
- package/mysql-core/query-builders/select.cjs +27 -3
- package/mysql-core/query-builders/select.cjs.map +1 -1
- package/mysql-core/query-builders/select.d.cts +9 -0
- package/mysql-core/query-builders/select.d.ts +9 -0
- package/mysql-core/query-builders/select.js +28 -4
- package/mysql-core/query-builders/select.js.map +1 -1
- package/mysql-core/query-builders/update.cjs +11 -1
- package/mysql-core/query-builders/update.cjs.map +1 -1
- package/mysql-core/query-builders/update.d.cts +2 -0
- package/mysql-core/query-builders/update.d.ts +2 -0
- package/mysql-core/query-builders/update.js +11 -1
- package/mysql-core/query-builders/update.js.map +1 -1
- package/mysql-core/session.cjs +53 -0
- package/mysql-core/session.cjs.map +1 -1
- package/mysql-core/session.d.cts +15 -2
- package/mysql-core/session.d.ts +15 -2
- package/mysql-core/session.js +54 -1
- package/mysql-core/session.js.map +1 -1
- package/mysql-core/utils.cjs +16 -0
- package/mysql-core/utils.cjs.map +1 -1
- package/mysql-core/utils.d.cts +6 -2
- package/mysql-core/utils.d.ts +6 -2
- package/mysql-core/utils.js +15 -0
- package/mysql-core/utils.js.map +1 -1
- package/mysql-proxy/session.cjs +15 -5
- package/mysql-proxy/session.cjs.map +1 -1
- package/mysql-proxy/session.d.cts +12 -2
- package/mysql-proxy/session.d.ts +12 -2
- package/mysql-proxy/session.js +15 -5
- package/mysql-proxy/session.js.map +1 -1
- package/mysql2/driver.cjs +10 -2
- package/mysql2/driver.cjs.map +1 -1
- package/mysql2/driver.d.cts +2 -0
- package/mysql2/driver.d.ts +2 -0
- package/mysql2/driver.js +10 -2
- package/mysql2/driver.js.map +1 -1
- package/mysql2/session.cjs +15 -5
- package/mysql2/session.cjs.map +1 -1
- package/mysql2/session.d.cts +12 -2
- package/mysql2/session.d.ts +12 -2
- package/mysql2/session.js +15 -5
- package/mysql2/session.js.map +1 -1
- package/neon-http/driver.cjs +9 -2
- package/neon-http/driver.cjs.map +1 -1
- package/neon-http/driver.d.cts +2 -0
- package/neon-http/driver.d.ts +2 -0
- package/neon-http/driver.js +9 -2
- package/neon-http/driver.js.map +1 -1
- package/neon-http/session.cjs +25 -15
- package/neon-http/session.cjs.map +1 -1
- package/neon-http/session.d.cts +12 -2
- package/neon-http/session.d.ts +12 -2
- package/neon-http/session.js +25 -15
- package/neon-http/session.js.map +1 -1
- package/neon-serverless/driver.cjs +9 -2
- package/neon-serverless/driver.cjs.map +1 -1
- package/neon-serverless/driver.d.cts +2 -0
- package/neon-serverless/driver.d.ts +2 -0
- package/neon-serverless/driver.js +9 -2
- package/neon-serverless/driver.js.map +1 -1
- package/neon-serverless/session.cjs +21 -7
- package/neon-serverless/session.cjs.map +1 -1
- package/neon-serverless/session.d.cts +12 -2
- package/neon-serverless/session.d.ts +12 -2
- package/neon-serverless/session.js +21 -7
- package/neon-serverless/session.js.map +1 -1
- package/node-postgres/driver.cjs +9 -2
- package/node-postgres/driver.cjs.map +1 -1
- package/node-postgres/driver.d.cts +2 -0
- package/node-postgres/driver.d.ts +2 -0
- package/node-postgres/driver.js +9 -2
- package/node-postgres/driver.js.map +1 -1
- package/node-postgres/session.cjs +19 -6
- package/node-postgres/session.cjs.map +1 -1
- package/node-postgres/session.d.cts +13 -2
- package/node-postgres/session.d.ts +13 -2
- package/node-postgres/session.js +19 -6
- package/node-postgres/session.js.map +1 -1
- package/op-sqlite/driver.cjs +5 -1
- package/op-sqlite/driver.cjs.map +1 -1
- package/op-sqlite/driver.js +5 -1
- package/op-sqlite/driver.js.map +1 -1
- package/op-sqlite/session.cjs +23 -9
- package/op-sqlite/session.cjs.map +1 -1
- package/op-sqlite/session.d.cts +12 -2
- package/op-sqlite/session.d.ts +12 -2
- package/op-sqlite/session.js +23 -9
- package/op-sqlite/session.js.map +1 -1
- package/package.json +120 -65
- package/pg-core/columns/enum.cjs +46 -2
- package/pg-core/columns/enum.cjs.map +1 -1
- package/pg-core/columns/enum.d.cts +39 -1
- package/pg-core/columns/enum.d.ts +39 -1
- package/pg-core/columns/enum.js +43 -2
- package/pg-core/columns/enum.js.map +1 -1
- package/pg-core/db.cjs +1 -0
- package/pg-core/db.cjs.map +1 -1
- package/pg-core/db.d.cts +4 -0
- package/pg-core/db.d.ts +4 -0
- package/pg-core/db.js +1 -0
- package/pg-core/db.js.map +1 -1
- package/pg-core/expressions.cjs +3 -3
- package/pg-core/expressions.cjs.map +1 -1
- package/pg-core/expressions.d.cts +1 -1
- package/pg-core/expressions.d.ts +1 -1
- package/pg-core/expressions.js +2 -2
- package/pg-core/expressions.js.map +1 -1
- package/pg-core/query-builders/delete.cjs +6 -1
- package/pg-core/query-builders/delete.cjs.map +1 -1
- package/pg-core/query-builders/delete.d.cts +3 -1
- package/pg-core/query-builders/delete.d.ts +3 -1
- package/pg-core/query-builders/delete.js +6 -1
- package/pg-core/query-builders/delete.js.map +1 -1
- package/pg-core/query-builders/insert.cjs +6 -1
- package/pg-core/query-builders/insert.cjs.map +1 -1
- package/pg-core/query-builders/insert.d.cts +2 -0
- package/pg-core/query-builders/insert.d.ts +2 -0
- package/pg-core/query-builders/insert.js +6 -1
- package/pg-core/query-builders/insert.js.map +1 -1
- package/pg-core/query-builders/select.cjs +31 -5
- package/pg-core/query-builders/select.cjs.map +1 -1
- package/pg-core/query-builders/select.d.cts +10 -1
- package/pg-core/query-builders/select.d.ts +10 -1
- package/pg-core/query-builders/select.js +31 -5
- package/pg-core/query-builders/select.js.map +1 -1
- package/pg-core/query-builders/update.cjs +6 -1
- package/pg-core/query-builders/update.cjs.map +1 -1
- package/pg-core/query-builders/update.d.cts +4 -2
- package/pg-core/query-builders/update.d.ts +4 -2
- package/pg-core/query-builders/update.js +6 -1
- package/pg-core/query-builders/update.js.map +1 -1
- package/pg-core/schema.cjs +6 -2
- package/pg-core/schema.cjs.map +1 -1
- package/pg-core/schema.d.cts +1 -2
- package/pg-core/schema.d.ts +1 -2
- package/pg-core/schema.js +7 -3
- package/pg-core/schema.js.map +1 -1
- package/pg-core/session.cjs +52 -1
- package/pg-core/session.cjs.map +1 -1
- package/pg-core/session.d.cts +14 -3
- package/pg-core/session.d.ts +14 -3
- package/pg-core/session.js +53 -2
- package/pg-core/session.js.map +1 -1
- package/pg-core/utils.cjs +16 -0
- package/pg-core/utils.cjs.map +1 -1
- package/pg-core/utils.d.cts +8 -4
- package/pg-core/utils.d.ts +8 -4
- package/pg-core/utils.js +16 -1
- package/pg-core/utils.js.map +1 -1
- package/pg-proxy/driver.cjs +7 -2
- package/pg-proxy/driver.cjs.map +1 -1
- package/pg-proxy/driver.js +7 -2
- package/pg-proxy/driver.js.map +1 -1
- package/pg-proxy/session.cjs +15 -5
- package/pg-proxy/session.cjs.map +1 -1
- package/pg-proxy/session.d.cts +12 -2
- package/pg-proxy/session.d.ts +12 -2
- package/pg-proxy/session.js +15 -5
- package/pg-proxy/session.js.map +1 -1
- package/pglite/driver.cjs +9 -2
- package/pglite/driver.cjs.map +1 -1
- package/pglite/driver.d.cts +2 -0
- package/pglite/driver.d.ts +2 -0
- package/pglite/driver.js +9 -2
- package/pglite/driver.js.map +1 -1
- package/pglite/session.cjs +19 -7
- package/pglite/session.cjs.map +1 -1
- package/pglite/session.d.cts +12 -2
- package/pglite/session.d.ts +12 -2
- package/pglite/session.js +19 -7
- package/pglite/session.js.map +1 -1
- package/planetscale-serverless/driver.cjs +5 -1
- package/planetscale-serverless/driver.cjs.map +1 -1
- package/planetscale-serverless/driver.d.cts +1 -0
- package/planetscale-serverless/driver.d.ts +1 -0
- package/planetscale-serverless/driver.js +5 -1
- package/planetscale-serverless/driver.js.map +1 -1
- package/planetscale-serverless/session.cjs +15 -5
- package/planetscale-serverless/session.cjs.map +1 -1
- package/planetscale-serverless/session.d.cts +12 -2
- package/planetscale-serverless/session.d.ts +12 -2
- package/planetscale-serverless/session.js +15 -5
- package/planetscale-serverless/session.js.map +1 -1
- package/postgres-js/driver.cjs +5 -1
- package/postgres-js/driver.cjs.map +1 -1
- package/postgres-js/driver.js +5 -1
- package/postgres-js/driver.js.map +1 -1
- package/postgres-js/session.cjs +18 -6
- package/postgres-js/session.cjs.map +1 -1
- package/postgres-js/session.d.cts +12 -2
- package/postgres-js/session.d.ts +12 -2
- package/postgres-js/session.js +18 -6
- package/postgres-js/session.js.map +1 -1
- package/prisma/mysql/session.cjs +1 -1
- package/prisma/mysql/session.cjs.map +1 -1
- package/prisma/mysql/session.js +1 -1
- package/prisma/mysql/session.js.map +1 -1
- package/prisma/pg/session.cjs +1 -1
- package/prisma/pg/session.cjs.map +1 -1
- package/prisma/pg/session.js +1 -1
- package/prisma/pg/session.js.map +1 -1
- package/query-builders/query-builder.cjs.map +1 -1
- package/query-builders/query-builder.d.cts +2 -1
- package/query-builders/query-builder.d.ts +2 -1
- package/query-builders/query-builder.js.map +1 -1
- package/relations.d.cts +6 -6
- package/relations.d.ts +6 -6
- package/singlestore/driver.cjs +12 -2
- package/singlestore/driver.cjs.map +1 -1
- package/singlestore/driver.d.cts +2 -0
- package/singlestore/driver.d.ts +2 -0
- package/singlestore/driver.js +12 -2
- package/singlestore/driver.js.map +1 -1
- package/singlestore/session.cjs +15 -5
- package/singlestore/session.cjs.map +1 -1
- package/singlestore/session.d.cts +12 -2
- package/singlestore/session.d.ts +12 -2
- package/singlestore/session.js +15 -5
- package/singlestore/session.js.map +1 -1
- package/singlestore-core/db.cjs +1 -0
- package/singlestore-core/db.cjs.map +1 -1
- package/singlestore-core/db.d.cts +4 -0
- package/singlestore-core/db.d.ts +4 -0
- package/singlestore-core/db.js +1 -0
- package/singlestore-core/db.js.map +1 -1
- package/singlestore-core/dialect.cjs +1 -1
- package/singlestore-core/dialect.cjs.map +1 -1
- package/singlestore-core/dialect.js +1 -1
- package/singlestore-core/dialect.js.map +1 -1
- package/singlestore-core/expressions.cjs +3 -3
- package/singlestore-core/expressions.cjs.map +1 -1
- package/singlestore-core/expressions.d.cts +1 -1
- package/singlestore-core/expressions.d.ts +1 -1
- package/singlestore-core/expressions.js +2 -2
- package/singlestore-core/expressions.js.map +1 -1
- package/singlestore-core/query-builders/delete.cjs +9 -1
- package/singlestore-core/query-builders/delete.cjs.map +1 -1
- package/singlestore-core/query-builders/delete.js +9 -1
- package/singlestore-core/query-builders/delete.js.map +1 -1
- package/singlestore-core/query-builders/insert.cjs +6 -1
- package/singlestore-core/query-builders/insert.cjs.map +1 -1
- package/singlestore-core/query-builders/insert.js +6 -1
- package/singlestore-core/query-builders/insert.js.map +1 -1
- package/singlestore-core/query-builders/select.cjs +28 -3
- package/singlestore-core/query-builders/select.cjs.map +1 -1
- package/singlestore-core/query-builders/select.d.cts +9 -0
- package/singlestore-core/query-builders/select.d.ts +9 -0
- package/singlestore-core/query-builders/select.js +28 -3
- package/singlestore-core/query-builders/select.js.map +1 -1
- package/singlestore-core/query-builders/update.cjs +9 -1
- package/singlestore-core/query-builders/update.cjs.map +1 -1
- package/singlestore-core/query-builders/update.js +9 -1
- package/singlestore-core/query-builders/update.js.map +1 -1
- package/singlestore-core/session.cjs +53 -0
- package/singlestore-core/session.cjs.map +1 -1
- package/singlestore-core/session.d.cts +14 -2
- package/singlestore-core/session.d.ts +14 -2
- package/singlestore-core/session.js +54 -1
- package/singlestore-core/session.js.map +1 -1
- package/singlestore-core/utils.cjs +16 -0
- package/singlestore-core/utils.cjs.map +1 -1
- package/singlestore-core/utils.d.cts +3 -0
- package/singlestore-core/utils.d.ts +3 -0
- package/singlestore-core/utils.js +15 -0
- package/singlestore-core/utils.js.map +1 -1
- package/sql/expressions/conditions.cjs.map +1 -1
- package/sql/expressions/conditions.d.cts +2 -2
- package/sql/expressions/conditions.d.ts +2 -2
- package/sql/expressions/conditions.js.map +1 -1
- package/sql/sql.cjs +10 -0
- package/sql/sql.cjs.map +1 -1
- package/sql/sql.js +10 -0
- package/sql/sql.js.map +1 -1
- package/sqlite-core/db.cjs +1 -0
- package/sqlite-core/db.cjs.map +1 -1
- package/sqlite-core/db.d.cts +4 -0
- package/sqlite-core/db.d.ts +4 -0
- package/sqlite-core/db.js +1 -0
- package/sqlite-core/db.js.map +1 -1
- package/sqlite-core/expressions.cjs +3 -3
- package/sqlite-core/expressions.cjs.map +1 -1
- package/sqlite-core/expressions.d.cts +1 -1
- package/sqlite-core/expressions.d.ts +1 -1
- package/sqlite-core/expressions.js +2 -2
- package/sqlite-core/expressions.js.map +1 -1
- package/sqlite-core/query-builders/delete.cjs +7 -1
- package/sqlite-core/query-builders/delete.cjs.map +1 -1
- package/sqlite-core/query-builders/delete.js +7 -1
- package/sqlite-core/query-builders/delete.js.map +1 -1
- package/sqlite-core/query-builders/insert.cjs +7 -1
- package/sqlite-core/query-builders/insert.cjs.map +1 -1
- package/sqlite-core/query-builders/insert.js +7 -1
- package/sqlite-core/query-builders/insert.js.map +1 -1
- package/sqlite-core/query-builders/select.cjs +31 -3
- package/sqlite-core/query-builders/select.cjs.map +1 -1
- package/sqlite-core/query-builders/select.d.cts +9 -0
- package/sqlite-core/query-builders/select.d.ts +9 -0
- package/sqlite-core/query-builders/select.js +31 -3
- package/sqlite-core/query-builders/select.js.map +1 -1
- package/sqlite-core/query-builders/update.cjs +7 -1
- package/sqlite-core/query-builders/update.cjs.map +1 -1
- package/sqlite-core/query-builders/update.js +7 -1
- package/sqlite-core/query-builders/update.js.map +1 -1
- package/sqlite-core/session.cjs +62 -3
- package/sqlite-core/session.cjs.map +1 -1
- package/sqlite-core/session.d.cts +18 -4
- package/sqlite-core/session.d.ts +18 -4
- package/sqlite-core/session.js +63 -4
- package/sqlite-core/session.js.map +1 -1
- package/sqlite-core/utils.cjs +16 -0
- package/sqlite-core/utils.cjs.map +1 -1
- package/sqlite-core/utils.d.cts +6 -2
- package/sqlite-core/utils.d.ts +6 -2
- package/sqlite-core/utils.js +15 -0
- package/sqlite-core/utils.js.map +1 -1
- package/sqlite-proxy/driver.cjs +9 -2
- package/sqlite-proxy/driver.cjs.map +1 -1
- package/sqlite-proxy/driver.js +9 -2
- package/sqlite-proxy/driver.js.map +1 -1
- package/sqlite-proxy/session.cjs +22 -8
- package/sqlite-proxy/session.cjs.map +1 -1
- package/sqlite-proxy/session.d.cts +12 -2
- package/sqlite-proxy/session.d.ts +12 -2
- package/sqlite-proxy/session.js +22 -8
- package/sqlite-proxy/session.js.map +1 -1
- package/subquery.cjs +4 -3
- package/subquery.cjs.map +1 -1
- package/subquery.d.cts +2 -1
- package/subquery.d.ts +2 -1
- package/subquery.js +4 -3
- package/subquery.js.map +1 -1
- package/table.cjs.map +1 -1
- package/table.d.cts +3 -0
- package/table.d.ts +3 -0
- package/table.js.map +1 -1
- package/tidb-serverless/driver.cjs +5 -1
- package/tidb-serverless/driver.cjs.map +1 -1
- package/tidb-serverless/driver.d.cts +1 -0
- package/tidb-serverless/driver.d.ts +1 -0
- package/tidb-serverless/driver.js +5 -1
- package/tidb-serverless/driver.js.map +1 -1
- package/tidb-serverless/session.cjs +15 -5
- package/tidb-serverless/session.cjs.map +1 -1
- package/tidb-serverless/session.d.cts +12 -2
- package/tidb-serverless/session.d.ts +12 -2
- package/tidb-serverless/session.js +15 -5
- package/tidb-serverless/session.js.map +1 -1
- package/utils.cjs +22 -0
- package/utils.cjs.map +1 -1
- package/utils.d.cts +4 -0
- package/utils.d.ts +4 -0
- package/utils.js +11 -0
- package/utils.js.map +1 -1
- package/vercel-postgres/driver.cjs +9 -2
- package/vercel-postgres/driver.cjs.map +1 -1
- package/vercel-postgres/driver.d.cts +2 -0
- package/vercel-postgres/driver.d.ts +2 -0
- package/vercel-postgres/driver.js +9 -2
- package/vercel-postgres/driver.js.map +1 -1
- package/vercel-postgres/session.cjs +21 -7
- package/vercel-postgres/session.cjs.map +1 -1
- package/vercel-postgres/session.d.cts +12 -2
- package/vercel-postgres/session.d.ts +12 -2
- package/vercel-postgres/session.js +21 -7
- 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 +7 -2
- package/xata-http/driver.cjs.map +1 -1
- package/xata-http/driver.d.cts +2 -0
- package/xata-http/driver.d.ts +2 -0
- package/xata-http/driver.js +7 -2
- package/xata-http/driver.js.map +1 -1
- package/xata-http/session.cjs +21 -7
- package/xata-http/session.cjs.map +1 -1
- package/xata-http/session.d.cts +12 -2
- package/xata-http/session.d.ts +12 -2
- package/xata-http/session.js +21 -7
- package/xata-http/session.js.map +1 -1
- package/expressions.cjs.map +0 -1
- package/expressions.d.cts +0 -1
- package/expressions.d.ts +0 -1
- package/expressions.js +0 -2
- package/expressions.js.map +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "drizzle-orm",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.42.0-da9af74",
|
|
4
4
|
"description": "Drizzle ORM package for SQL databases",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"scripts": {
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
"@neondatabase/serverless": ">=0.10.0",
|
|
54
54
|
"@op-engineering/op-sqlite": ">=2",
|
|
55
55
|
"@opentelemetry/api": "^1.4.1",
|
|
56
|
-
"@planetscale/database": ">=1",
|
|
56
|
+
"@planetscale/database": ">=1.13",
|
|
57
57
|
"@prisma/client": "*",
|
|
58
58
|
"@tidbcloud/serverless": "*",
|
|
59
59
|
"@types/better-sqlite3": "*",
|
|
@@ -71,7 +71,8 @@
|
|
|
71
71
|
"postgres": ">=3",
|
|
72
72
|
"sql.js": ">=1",
|
|
73
73
|
"sqlite3": ">=5",
|
|
74
|
-
"gel": ">=2"
|
|
74
|
+
"gel": ">=2",
|
|
75
|
+
"@upstash/redis": ">=1.34.7"
|
|
75
76
|
},
|
|
76
77
|
"peerDependenciesMeta": {
|
|
77
78
|
"mysql2": {
|
|
@@ -157,6 +158,9 @@
|
|
|
157
158
|
},
|
|
158
159
|
"@prisma/client": {
|
|
159
160
|
"optional": true
|
|
161
|
+
},
|
|
162
|
+
"@upstash/redis": {
|
|
163
|
+
"optional": true
|
|
160
164
|
}
|
|
161
165
|
},
|
|
162
166
|
"devDependencies": {
|
|
@@ -173,18 +177,20 @@
|
|
|
173
177
|
"@planetscale/database": "^1.16.0",
|
|
174
178
|
"@prisma/client": "5.14.0",
|
|
175
179
|
"@tidbcloud/serverless": "^0.1.1",
|
|
176
|
-
"@types/better-sqlite3": "^7.6.
|
|
180
|
+
"@types/better-sqlite3": "^7.6.12",
|
|
177
181
|
"@types/node": "^20.2.5",
|
|
178
182
|
"@types/pg": "^8.10.1",
|
|
179
183
|
"@types/react": "^18.2.45",
|
|
180
184
|
"@types/sql.js": "^1.4.4",
|
|
185
|
+
"@upstash/redis": "^1.34.3",
|
|
181
186
|
"@vercel/postgres": "^0.8.0",
|
|
182
187
|
"@xata.io/client": "^0.29.3",
|
|
183
|
-
"better-sqlite3": "^
|
|
188
|
+
"better-sqlite3": "^11.9.1",
|
|
184
189
|
"bun-types": "^1.2.0",
|
|
185
190
|
"cpy": "^10.1.0",
|
|
186
191
|
"expo-sqlite": "^14.0.0",
|
|
187
192
|
"gel": "^2.0.0",
|
|
193
|
+
"glob": "^11.0.1",
|
|
188
194
|
"knex": "^2.4.2",
|
|
189
195
|
"kysely": "^0.25.0",
|
|
190
196
|
"mysql2": "^3.3.3",
|
|
@@ -194,6 +200,7 @@
|
|
|
194
200
|
"react": "^18.2.0",
|
|
195
201
|
"sql.js": "^1.8.0",
|
|
196
202
|
"sqlite3": "^5.1.2",
|
|
203
|
+
"ts-morph": "^25.0.1",
|
|
197
204
|
"tslib": "^2.5.2",
|
|
198
205
|
"tsx": "^3.12.7",
|
|
199
206
|
"vite-tsconfig-paths": "^4.3.2",
|
|
@@ -286,18 +293,6 @@
|
|
|
286
293
|
"types": "./errors.d.ts",
|
|
287
294
|
"default": "./errors.js"
|
|
288
295
|
},
|
|
289
|
-
"./expressions": {
|
|
290
|
-
"import": {
|
|
291
|
-
"types": "./expressions.d.ts",
|
|
292
|
-
"default": "./expressions.js"
|
|
293
|
-
},
|
|
294
|
-
"require": {
|
|
295
|
-
"types": "./expressions.d.cts",
|
|
296
|
-
"default": "./expressions.cjs"
|
|
297
|
-
},
|
|
298
|
-
"types": "./expressions.d.ts",
|
|
299
|
-
"default": "./expressions.js"
|
|
300
|
-
},
|
|
301
296
|
".": {
|
|
302
297
|
"import": {
|
|
303
298
|
"types": "./index.d.ts",
|
|
@@ -514,54 +509,6 @@
|
|
|
514
509
|
"types": "./view-common.d.ts",
|
|
515
510
|
"default": "./view-common.js"
|
|
516
511
|
},
|
|
517
|
-
"./bun-sql/driver": {
|
|
518
|
-
"import": {
|
|
519
|
-
"types": "./bun-sql/driver.d.ts",
|
|
520
|
-
"default": "./bun-sql/driver.js"
|
|
521
|
-
},
|
|
522
|
-
"require": {
|
|
523
|
-
"types": "./bun-sql/driver.d.cts",
|
|
524
|
-
"default": "./bun-sql/driver.cjs"
|
|
525
|
-
},
|
|
526
|
-
"types": "./bun-sql/driver.d.ts",
|
|
527
|
-
"default": "./bun-sql/driver.js"
|
|
528
|
-
},
|
|
529
|
-
"./bun-sql": {
|
|
530
|
-
"import": {
|
|
531
|
-
"types": "./bun-sql/index.d.ts",
|
|
532
|
-
"default": "./bun-sql/index.js"
|
|
533
|
-
},
|
|
534
|
-
"require": {
|
|
535
|
-
"types": "./bun-sql/index.d.cts",
|
|
536
|
-
"default": "./bun-sql/index.cjs"
|
|
537
|
-
},
|
|
538
|
-
"types": "./bun-sql/index.d.ts",
|
|
539
|
-
"default": "./bun-sql/index.js"
|
|
540
|
-
},
|
|
541
|
-
"./bun-sql/migrator": {
|
|
542
|
-
"import": {
|
|
543
|
-
"types": "./bun-sql/migrator.d.ts",
|
|
544
|
-
"default": "./bun-sql/migrator.js"
|
|
545
|
-
},
|
|
546
|
-
"require": {
|
|
547
|
-
"types": "./bun-sql/migrator.d.cts",
|
|
548
|
-
"default": "./bun-sql/migrator.cjs"
|
|
549
|
-
},
|
|
550
|
-
"types": "./bun-sql/migrator.d.ts",
|
|
551
|
-
"default": "./bun-sql/migrator.js"
|
|
552
|
-
},
|
|
553
|
-
"./bun-sql/session": {
|
|
554
|
-
"import": {
|
|
555
|
-
"types": "./bun-sql/session.d.ts",
|
|
556
|
-
"default": "./bun-sql/session.js"
|
|
557
|
-
},
|
|
558
|
-
"require": {
|
|
559
|
-
"types": "./bun-sql/session.d.cts",
|
|
560
|
-
"default": "./bun-sql/session.cjs"
|
|
561
|
-
},
|
|
562
|
-
"types": "./bun-sql/session.d.ts",
|
|
563
|
-
"default": "./bun-sql/session.js"
|
|
564
|
-
},
|
|
565
512
|
"./better-sqlite3/driver": {
|
|
566
513
|
"import": {
|
|
567
514
|
"types": "./better-sqlite3/driver.d.ts",
|
|
@@ -610,6 +557,54 @@
|
|
|
610
557
|
"types": "./better-sqlite3/session.d.ts",
|
|
611
558
|
"default": "./better-sqlite3/session.js"
|
|
612
559
|
},
|
|
560
|
+
"./bun-sql/driver": {
|
|
561
|
+
"import": {
|
|
562
|
+
"types": "./bun-sql/driver.d.ts",
|
|
563
|
+
"default": "./bun-sql/driver.js"
|
|
564
|
+
},
|
|
565
|
+
"require": {
|
|
566
|
+
"types": "./bun-sql/driver.d.cts",
|
|
567
|
+
"default": "./bun-sql/driver.cjs"
|
|
568
|
+
},
|
|
569
|
+
"types": "./bun-sql/driver.d.ts",
|
|
570
|
+
"default": "./bun-sql/driver.js"
|
|
571
|
+
},
|
|
572
|
+
"./bun-sql": {
|
|
573
|
+
"import": {
|
|
574
|
+
"types": "./bun-sql/index.d.ts",
|
|
575
|
+
"default": "./bun-sql/index.js"
|
|
576
|
+
},
|
|
577
|
+
"require": {
|
|
578
|
+
"types": "./bun-sql/index.d.cts",
|
|
579
|
+
"default": "./bun-sql/index.cjs"
|
|
580
|
+
},
|
|
581
|
+
"types": "./bun-sql/index.d.ts",
|
|
582
|
+
"default": "./bun-sql/index.js"
|
|
583
|
+
},
|
|
584
|
+
"./bun-sql/migrator": {
|
|
585
|
+
"import": {
|
|
586
|
+
"types": "./bun-sql/migrator.d.ts",
|
|
587
|
+
"default": "./bun-sql/migrator.js"
|
|
588
|
+
},
|
|
589
|
+
"require": {
|
|
590
|
+
"types": "./bun-sql/migrator.d.cts",
|
|
591
|
+
"default": "./bun-sql/migrator.cjs"
|
|
592
|
+
},
|
|
593
|
+
"types": "./bun-sql/migrator.d.ts",
|
|
594
|
+
"default": "./bun-sql/migrator.js"
|
|
595
|
+
},
|
|
596
|
+
"./bun-sql/session": {
|
|
597
|
+
"import": {
|
|
598
|
+
"types": "./bun-sql/session.d.ts",
|
|
599
|
+
"default": "./bun-sql/session.js"
|
|
600
|
+
},
|
|
601
|
+
"require": {
|
|
602
|
+
"types": "./bun-sql/session.d.cts",
|
|
603
|
+
"default": "./bun-sql/session.cjs"
|
|
604
|
+
},
|
|
605
|
+
"types": "./bun-sql/session.d.ts",
|
|
606
|
+
"default": "./bun-sql/session.js"
|
|
607
|
+
},
|
|
613
608
|
"./bun-sqlite/driver": {
|
|
614
609
|
"import": {
|
|
615
610
|
"types": "./bun-sqlite/driver.d.ts",
|
|
@@ -3046,6 +3041,66 @@
|
|
|
3046
3041
|
"types": "./aws-data-api/pg/session.d.ts",
|
|
3047
3042
|
"default": "./aws-data-api/pg/session.js"
|
|
3048
3043
|
},
|
|
3044
|
+
"./cache/core/cache": {
|
|
3045
|
+
"import": {
|
|
3046
|
+
"types": "./cache/core/cache.d.ts",
|
|
3047
|
+
"default": "./cache/core/cache.js"
|
|
3048
|
+
},
|
|
3049
|
+
"require": {
|
|
3050
|
+
"types": "./cache/core/cache.d.cts",
|
|
3051
|
+
"default": "./cache/core/cache.cjs"
|
|
3052
|
+
},
|
|
3053
|
+
"types": "./cache/core/cache.d.ts",
|
|
3054
|
+
"default": "./cache/core/cache.js"
|
|
3055
|
+
},
|
|
3056
|
+
"./cache/core": {
|
|
3057
|
+
"import": {
|
|
3058
|
+
"types": "./cache/core/index.d.ts",
|
|
3059
|
+
"default": "./cache/core/index.js"
|
|
3060
|
+
},
|
|
3061
|
+
"require": {
|
|
3062
|
+
"types": "./cache/core/index.d.cts",
|
|
3063
|
+
"default": "./cache/core/index.cjs"
|
|
3064
|
+
},
|
|
3065
|
+
"types": "./cache/core/index.d.ts",
|
|
3066
|
+
"default": "./cache/core/index.js"
|
|
3067
|
+
},
|
|
3068
|
+
"./cache/core/types": {
|
|
3069
|
+
"import": {
|
|
3070
|
+
"types": "./cache/core/types.d.ts",
|
|
3071
|
+
"default": "./cache/core/types.js"
|
|
3072
|
+
},
|
|
3073
|
+
"require": {
|
|
3074
|
+
"types": "./cache/core/types.d.cts",
|
|
3075
|
+
"default": "./cache/core/types.cjs"
|
|
3076
|
+
},
|
|
3077
|
+
"types": "./cache/core/types.d.ts",
|
|
3078
|
+
"default": "./cache/core/types.js"
|
|
3079
|
+
},
|
|
3080
|
+
"./cache/upstash/cache": {
|
|
3081
|
+
"import": {
|
|
3082
|
+
"types": "./cache/upstash/cache.d.ts",
|
|
3083
|
+
"default": "./cache/upstash/cache.js"
|
|
3084
|
+
},
|
|
3085
|
+
"require": {
|
|
3086
|
+
"types": "./cache/upstash/cache.d.cts",
|
|
3087
|
+
"default": "./cache/upstash/cache.cjs"
|
|
3088
|
+
},
|
|
3089
|
+
"types": "./cache/upstash/cache.d.ts",
|
|
3090
|
+
"default": "./cache/upstash/cache.js"
|
|
3091
|
+
},
|
|
3092
|
+
"./cache/upstash": {
|
|
3093
|
+
"import": {
|
|
3094
|
+
"types": "./cache/upstash/index.d.ts",
|
|
3095
|
+
"default": "./cache/upstash/index.js"
|
|
3096
|
+
},
|
|
3097
|
+
"require": {
|
|
3098
|
+
"types": "./cache/upstash/index.d.cts",
|
|
3099
|
+
"default": "./cache/upstash/index.cjs"
|
|
3100
|
+
},
|
|
3101
|
+
"types": "./cache/upstash/index.d.ts",
|
|
3102
|
+
"default": "./cache/upstash/index.js"
|
|
3103
|
+
},
|
|
3049
3104
|
"./gel-core/columns/all": {
|
|
3050
3105
|
"import": {
|
|
3051
3106
|
"types": "./gel-core/columns/all.d.ts",
|
package/pg-core/columns/enum.cjs
CHANGED
|
@@ -20,13 +20,42 @@ var enum_exports = {};
|
|
|
20
20
|
__export(enum_exports, {
|
|
21
21
|
PgEnumColumn: () => PgEnumColumn,
|
|
22
22
|
PgEnumColumnBuilder: () => PgEnumColumnBuilder,
|
|
23
|
+
PgEnumObjectColumn: () => PgEnumObjectColumn,
|
|
24
|
+
PgEnumObjectColumnBuilder: () => PgEnumObjectColumnBuilder,
|
|
23
25
|
isPgEnum: () => isPgEnum,
|
|
24
26
|
pgEnum: () => pgEnum,
|
|
27
|
+
pgEnumObjectWithSchema: () => pgEnumObjectWithSchema,
|
|
25
28
|
pgEnumWithSchema: () => pgEnumWithSchema
|
|
26
29
|
});
|
|
27
30
|
module.exports = __toCommonJS(enum_exports);
|
|
28
31
|
var import_entity = require("../../entity.cjs");
|
|
29
32
|
var import_common = require("./common.cjs");
|
|
33
|
+
class PgEnumObjectColumnBuilder extends import_common.PgColumnBuilder {
|
|
34
|
+
static [import_entity.entityKind] = "PgEnumObjectColumnBuilder";
|
|
35
|
+
constructor(name, enumInstance) {
|
|
36
|
+
super(name, "string", "PgEnumObjectColumn");
|
|
37
|
+
this.config.enum = enumInstance;
|
|
38
|
+
}
|
|
39
|
+
/** @internal */
|
|
40
|
+
build(table) {
|
|
41
|
+
return new PgEnumObjectColumn(
|
|
42
|
+
table,
|
|
43
|
+
this.config
|
|
44
|
+
);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
class PgEnumObjectColumn extends import_common.PgColumn {
|
|
48
|
+
static [import_entity.entityKind] = "PgEnumObjectColumn";
|
|
49
|
+
enum;
|
|
50
|
+
enumValues = this.config.enum.enumValues;
|
|
51
|
+
constructor(table, config) {
|
|
52
|
+
super(table, config);
|
|
53
|
+
this.enum = config.enum;
|
|
54
|
+
}
|
|
55
|
+
getSQLType() {
|
|
56
|
+
return this.enum.enumName;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
30
59
|
const isPgEnumSym = Symbol.for("drizzle:isPgEnum");
|
|
31
60
|
function isPgEnum(obj) {
|
|
32
61
|
return !!obj && typeof obj === "function" && isPgEnumSym in obj && obj[isPgEnumSym] === true;
|
|
@@ -57,8 +86,8 @@ class PgEnumColumn extends import_common.PgColumn {
|
|
|
57
86
|
return this.enum.enumName;
|
|
58
87
|
}
|
|
59
88
|
}
|
|
60
|
-
function pgEnum(enumName,
|
|
61
|
-
return pgEnumWithSchema(enumName,
|
|
89
|
+
function pgEnum(enumName, input) {
|
|
90
|
+
return Array.isArray(input) ? pgEnumWithSchema(enumName, [...input], void 0) : pgEnumObjectWithSchema(enumName, input, void 0);
|
|
62
91
|
}
|
|
63
92
|
function pgEnumWithSchema(enumName, values, schema) {
|
|
64
93
|
const enumInstance = Object.assign(
|
|
@@ -72,12 +101,27 @@ function pgEnumWithSchema(enumName, values, schema) {
|
|
|
72
101
|
);
|
|
73
102
|
return enumInstance;
|
|
74
103
|
}
|
|
104
|
+
function pgEnumObjectWithSchema(enumName, values, schema) {
|
|
105
|
+
const enumInstance = Object.assign(
|
|
106
|
+
(name) => new PgEnumObjectColumnBuilder(name ?? "", enumInstance),
|
|
107
|
+
{
|
|
108
|
+
enumName,
|
|
109
|
+
enumValues: Object.values(values),
|
|
110
|
+
schema,
|
|
111
|
+
[isPgEnumSym]: true
|
|
112
|
+
}
|
|
113
|
+
);
|
|
114
|
+
return enumInstance;
|
|
115
|
+
}
|
|
75
116
|
// Annotate the CommonJS export names for ESM import in node:
|
|
76
117
|
0 && (module.exports = {
|
|
77
118
|
PgEnumColumn,
|
|
78
119
|
PgEnumColumnBuilder,
|
|
120
|
+
PgEnumObjectColumn,
|
|
121
|
+
PgEnumObjectColumnBuilder,
|
|
79
122
|
isPgEnum,
|
|
80
123
|
pgEnum,
|
|
124
|
+
pgEnumObjectWithSchema,
|
|
81
125
|
pgEnumWithSchema
|
|
82
126
|
});
|
|
83
127
|
//# sourceMappingURL=enum.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/pg-core/columns/enum.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnyPgTable } from '~/pg-core/table.ts';\nimport type { Writable } from '~/utils.ts';\nimport { PgColumn, PgColumnBuilder } from './common.ts';\n\nexport type PgEnumColumnBuilderInitial<TName extends string, TValues extends [string, ...string[]]> =\n\tPgEnumColumnBuilder<{\n\t\tname: TName;\n\t\tdataType: 'string';\n\t\tcolumnType: 'PgEnumColumn';\n\t\tdata: TValues[number];\n\t\tenumValues: TValues;\n\t\tdriverParam: string;\n\t}>;\n\nconst isPgEnumSym = Symbol.for('drizzle:isPgEnum');\nexport interface PgEnum<TValues extends [string, ...string[]]> {\n\t(): PgEnumColumnBuilderInitial<'', TValues>;\n\t<TName extends string>(name: TName): PgEnumColumnBuilderInitial<TName, TValues>;\n\t<TName extends string>(name?: TName): PgEnumColumnBuilderInitial<TName, TValues>;\n\n\treadonly enumName: string;\n\treadonly enumValues: TValues;\n\treadonly schema: string | undefined;\n\t/** @internal */\n\t[isPgEnumSym]: true;\n}\n\nexport function isPgEnum(obj: unknown): obj is PgEnum<[string, ...string[]]> {\n\treturn !!obj && typeof obj === 'function' && isPgEnumSym in obj && obj[isPgEnumSym] === true;\n}\n\nexport class PgEnumColumnBuilder<\n\tT extends ColumnBuilderBaseConfig<'string', 'PgEnumColumn'> & { enumValues: [string, ...string[]] },\n> extends PgColumnBuilder<T, { enum: PgEnum<T['enumValues']> }> {\n\tstatic override readonly [entityKind]: string = 'PgEnumColumnBuilder';\n\n\tconstructor(name: T['name'], enumInstance: PgEnum<T['enumValues']>) {\n\t\tsuper(name, 'string', 'PgEnumColumn');\n\t\tthis.config.enum = enumInstance;\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyPgTable<{ name: TTableName }>,\n\t): PgEnumColumn<MakeColumnConfig<T, TTableName>> {\n\t\treturn new PgEnumColumn<MakeColumnConfig<T, TTableName>>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class PgEnumColumn<T extends ColumnBaseConfig<'string', 'PgEnumColumn'> & { enumValues: [string, ...string[]] }>\n\textends PgColumn<T, { enum: PgEnum<T['enumValues']> }>\n{\n\tstatic override readonly [entityKind]: string = 'PgEnumColumn';\n\n\treadonly enum = this.config.enum;\n\toverride readonly enumValues = this.config.enum.enumValues;\n\n\tconstructor(\n\t\ttable: AnyPgTable<{ name: T['tableName'] }>,\n\t\tconfig: PgEnumColumnBuilder<T>['config'],\n\t) {\n\t\tsuper(table, config);\n\t\tthis.enum = config.enum;\n\t}\n\n\tgetSQLType(): string {\n\t\treturn this.enum.enumName;\n\t}\n}\n\
|
|
1
|
+
{"version":3,"sources":["../../../src/pg-core/columns/enum.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnyPgTable } from '~/pg-core/table.ts';\nimport type { NonArray, Writable } from '~/utils.ts';\nimport { PgColumn, PgColumnBuilder } from './common.ts';\n\n// Enum as ts enum\n\nexport type PgEnumObjectColumnBuilderInitial<TName extends string, TValues extends object> = PgEnumObjectColumnBuilder<{\n\tname: TName;\n\tdataType: 'string';\n\tcolumnType: 'PgEnumObjectColumn';\n\tdata: TValues[keyof TValues];\n\tenumValues: string[];\n\tdriverParam: string;\n}>;\n\nexport interface PgEnumObject<TValues extends object> {\n\t(): PgEnumObjectColumnBuilderInitial<'', TValues>;\n\t<TName extends string>(name: TName): PgEnumObjectColumnBuilderInitial<TName, TValues>;\n\t<TName extends string>(name?: TName): PgEnumObjectColumnBuilderInitial<TName, TValues>;\n\n\treadonly enumName: string;\n\treadonly enumValues: string[];\n\treadonly schema: string | undefined;\n\t/** @internal */\n\t[isPgEnumSym]: true;\n}\n\nexport class PgEnumObjectColumnBuilder<\n\tT extends ColumnBuilderBaseConfig<'string', 'PgEnumObjectColumn'> & { enumValues: string[] },\n> extends PgColumnBuilder<T, { enum: PgEnumObject<any> }> {\n\tstatic override readonly [entityKind]: string = 'PgEnumObjectColumnBuilder';\n\n\tconstructor(name: T['name'], enumInstance: PgEnumObject<any>) {\n\t\tsuper(name, 'string', 'PgEnumObjectColumn');\n\t\tthis.config.enum = enumInstance;\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyPgTable<{ name: TTableName }>,\n\t): PgEnumObjectColumn<MakeColumnConfig<T, TTableName>> {\n\t\treturn new PgEnumObjectColumn<MakeColumnConfig<T, TTableName>>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class PgEnumObjectColumn<T extends ColumnBaseConfig<'string', 'PgEnumObjectColumn'> & { enumValues: object }>\n\textends PgColumn<T, { enum: PgEnumObject<object> }>\n{\n\tstatic override readonly [entityKind]: string = 'PgEnumObjectColumn';\n\n\treadonly enum;\n\toverride readonly enumValues = this.config.enum.enumValues;\n\n\tconstructor(\n\t\ttable: AnyPgTable<{ name: T['tableName'] }>,\n\t\tconfig: PgEnumObjectColumnBuilder<T>['config'],\n\t) {\n\t\tsuper(table, config);\n\t\tthis.enum = config.enum;\n\t}\n\n\tgetSQLType(): string {\n\t\treturn this.enum.enumName;\n\t}\n}\n\n// Enum as string union\n\nexport type PgEnumColumnBuilderInitial<TName extends string, TValues extends [string, ...string[]]> =\n\tPgEnumColumnBuilder<{\n\t\tname: TName;\n\t\tdataType: 'string';\n\t\tcolumnType: 'PgEnumColumn';\n\t\tdata: TValues[number];\n\t\tenumValues: TValues;\n\t\tdriverParam: string;\n\t}>;\n\nconst isPgEnumSym = Symbol.for('drizzle:isPgEnum');\nexport interface PgEnum<TValues extends [string, ...string[]]> {\n\t(): PgEnumColumnBuilderInitial<'', TValues>;\n\t<TName extends string>(name: TName): PgEnumColumnBuilderInitial<TName, TValues>;\n\t<TName extends string>(name?: TName): PgEnumColumnBuilderInitial<TName, TValues>;\n\n\treadonly enumName: string;\n\treadonly enumValues: TValues;\n\treadonly schema: string | undefined;\n\t/** @internal */\n\t[isPgEnumSym]: true;\n}\n\nexport function isPgEnum(obj: unknown): obj is PgEnum<[string, ...string[]]> {\n\treturn !!obj && typeof obj === 'function' && isPgEnumSym in obj && obj[isPgEnumSym] === true;\n}\n\nexport class PgEnumColumnBuilder<\n\tT extends ColumnBuilderBaseConfig<'string', 'PgEnumColumn'> & { enumValues: [string, ...string[]] },\n> extends PgColumnBuilder<T, { enum: PgEnum<T['enumValues']> }> {\n\tstatic override readonly [entityKind]: string = 'PgEnumColumnBuilder';\n\n\tconstructor(name: T['name'], enumInstance: PgEnum<T['enumValues']>) {\n\t\tsuper(name, 'string', 'PgEnumColumn');\n\t\tthis.config.enum = enumInstance;\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyPgTable<{ name: TTableName }>,\n\t): PgEnumColumn<MakeColumnConfig<T, TTableName>> {\n\t\treturn new PgEnumColumn<MakeColumnConfig<T, TTableName>>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class PgEnumColumn<T extends ColumnBaseConfig<'string', 'PgEnumColumn'> & { enumValues: [string, ...string[]] }>\n\textends PgColumn<T, { enum: PgEnum<T['enumValues']> }>\n{\n\tstatic override readonly [entityKind]: string = 'PgEnumColumn';\n\n\treadonly enum = this.config.enum;\n\toverride readonly enumValues = this.config.enum.enumValues;\n\n\tconstructor(\n\t\ttable: AnyPgTable<{ name: T['tableName'] }>,\n\t\tconfig: PgEnumColumnBuilder<T>['config'],\n\t) {\n\t\tsuper(table, config);\n\t\tthis.enum = config.enum;\n\t}\n\n\tgetSQLType(): string {\n\t\treturn this.enum.enumName;\n\t}\n}\n\nexport function pgEnum<U extends string, T extends Readonly<[U, ...U[]]>>(\n\tenumName: string,\n\tvalues: T | Writable<T>,\n): PgEnum<Writable<T>>;\n\nexport function pgEnum<E extends Record<string, string>>(\n\tenumName: string,\n\tenumObj: NonArray<E>,\n): PgEnumObject<E>;\n\nexport function pgEnum(\n\tenumName: any,\n\tinput: any,\n): any {\n\treturn Array.isArray(input)\n\t\t? pgEnumWithSchema(enumName, [...input] as [string, ...string[]], undefined)\n\t\t: pgEnumObjectWithSchema(enumName, input, undefined);\n}\n\n/** @internal */\nexport function pgEnumWithSchema<U extends string, T extends Readonly<[U, ...U[]]>>(\n\tenumName: string,\n\tvalues: T | Writable<T>,\n\tschema?: string,\n): PgEnum<Writable<T>> {\n\tconst enumInstance: PgEnum<Writable<T>> = Object.assign(\n\t\t<TName extends string>(name?: TName): PgEnumColumnBuilderInitial<TName, Writable<T>> =>\n\t\t\tnew PgEnumColumnBuilder(name ?? '' as TName, enumInstance),\n\t\t{\n\t\t\tenumName,\n\t\t\tenumValues: values,\n\t\t\tschema,\n\t\t\t[isPgEnumSym]: true,\n\t\t} as const,\n\t);\n\n\treturn enumInstance;\n}\n\n/** @internal */\nexport function pgEnumObjectWithSchema<T extends object>(\n\tenumName: string,\n\tvalues: T,\n\tschema?: string,\n): PgEnumObject<T> {\n\tconst enumInstance: PgEnumObject<T> = Object.assign(\n\t\t<TName extends string>(name?: TName): PgEnumObjectColumnBuilderInitial<TName, T> =>\n\t\t\tnew PgEnumObjectColumnBuilder(name ?? '' as TName, enumInstance),\n\t\t{\n\t\t\tenumName,\n\t\t\tenumValues: Object.values(values),\n\t\t\tschema,\n\t\t\t[isPgEnumSym]: true,\n\t\t} as const,\n\t);\n\n\treturn enumInstance;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,oBAA2B;AAG3B,oBAA0C;AAyBnC,MAAM,kCAEH,8BAAgD;AAAA,EACzD,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YAAY,MAAiB,cAAiC;AAC7D,UAAM,MAAM,UAAU,oBAAoB;AAC1C,SAAK,OAAO,OAAO;AAAA,EACpB;AAAA;AAAA,EAGS,MACR,OACsD;AACtD,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,2BACJ,uBACT;AAAA,EACC,QAA0B,wBAAU,IAAY;AAAA,EAEvC;AAAA,EACS,aAAa,KAAK,OAAO,KAAK;AAAA,EAEhD,YACC,OACA,QACC;AACD,UAAM,OAAO,MAAM;AACnB,SAAK,OAAO,OAAO;AAAA,EACpB;AAAA,EAEA,aAAqB;AACpB,WAAO,KAAK,KAAK;AAAA,EAClB;AACD;AAcA,MAAM,cAAc,OAAO,IAAI,kBAAkB;AAa1C,SAAS,SAAS,KAAoD;AAC5E,SAAO,CAAC,CAAC,OAAO,OAAO,QAAQ,cAAc,eAAe,OAAO,IAAI,WAAW,MAAM;AACzF;AAEO,MAAM,4BAEH,8BAAsD;AAAA,EAC/D,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YAAY,MAAiB,cAAuC;AACnE,UAAM,MAAM,UAAU,cAAc;AACpC,SAAK,OAAO,OAAO;AAAA,EACpB;AAAA;AAAA,EAGS,MACR,OACgD;AAChD,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,qBACJ,uBACT;AAAA,EACC,QAA0B,wBAAU,IAAY;AAAA,EAEvC,OAAO,KAAK,OAAO;AAAA,EACV,aAAa,KAAK,OAAO,KAAK;AAAA,EAEhD,YACC,OACA,QACC;AACD,UAAM,OAAO,MAAM;AACnB,SAAK,OAAO,OAAO;AAAA,EACpB;AAAA,EAEA,aAAqB;AACpB,WAAO,KAAK,KAAK;AAAA,EAClB;AACD;AAYO,SAAS,OACf,UACA,OACM;AACN,SAAO,MAAM,QAAQ,KAAK,IACvB,iBAAiB,UAAU,CAAC,GAAG,KAAK,GAA4B,MAAS,IACzE,uBAAuB,UAAU,OAAO,MAAS;AACrD;AAGO,SAAS,iBACf,UACA,QACA,QACsB;AACtB,QAAM,eAAoC,OAAO;AAAA,IAChD,CAAuB,SACtB,IAAI,oBAAoB,QAAQ,IAAa,YAAY;AAAA,IAC1D;AAAA,MACC;AAAA,MACA,YAAY;AAAA,MACZ;AAAA,MACA,CAAC,WAAW,GAAG;AAAA,IAChB;AAAA,EACD;AAEA,SAAO;AACR;AAGO,SAAS,uBACf,UACA,QACA,QACkB;AAClB,QAAM,eAAgC,OAAO;AAAA,IAC5C,CAAuB,SACtB,IAAI,0BAA0B,QAAQ,IAAa,YAAY;AAAA,IAChE;AAAA,MACC;AAAA,MACA,YAAY,OAAO,OAAO,MAAM;AAAA,MAChC;AAAA,MACA,CAAC,WAAW,GAAG;AAAA,IAChB;AAAA,EACD;AAEA,SAAO;AACR;","names":[]}
|
|
@@ -2,8 +2,45 @@ import type { ColumnBuilderBaseConfig } from "../../column-builder.cjs";
|
|
|
2
2
|
import type { ColumnBaseConfig } from "../../column.cjs";
|
|
3
3
|
import { entityKind } from "../../entity.cjs";
|
|
4
4
|
import type { AnyPgTable } from "../table.cjs";
|
|
5
|
-
import type { Writable } from "../../utils.cjs";
|
|
5
|
+
import type { NonArray, Writable } from "../../utils.cjs";
|
|
6
6
|
import { PgColumn, PgColumnBuilder } from "./common.cjs";
|
|
7
|
+
export type PgEnumObjectColumnBuilderInitial<TName extends string, TValues extends object> = PgEnumObjectColumnBuilder<{
|
|
8
|
+
name: TName;
|
|
9
|
+
dataType: 'string';
|
|
10
|
+
columnType: 'PgEnumObjectColumn';
|
|
11
|
+
data: TValues[keyof TValues];
|
|
12
|
+
enumValues: string[];
|
|
13
|
+
driverParam: string;
|
|
14
|
+
}>;
|
|
15
|
+
export interface PgEnumObject<TValues extends object> {
|
|
16
|
+
(): PgEnumObjectColumnBuilderInitial<'', TValues>;
|
|
17
|
+
<TName extends string>(name: TName): PgEnumObjectColumnBuilderInitial<TName, TValues>;
|
|
18
|
+
<TName extends string>(name?: TName): PgEnumObjectColumnBuilderInitial<TName, TValues>;
|
|
19
|
+
readonly enumName: string;
|
|
20
|
+
readonly enumValues: string[];
|
|
21
|
+
readonly schema: string | undefined;
|
|
22
|
+
}
|
|
23
|
+
export declare class PgEnumObjectColumnBuilder<T extends ColumnBuilderBaseConfig<'string', 'PgEnumObjectColumn'> & {
|
|
24
|
+
enumValues: string[];
|
|
25
|
+
}> extends PgColumnBuilder<T, {
|
|
26
|
+
enum: PgEnumObject<any>;
|
|
27
|
+
}> {
|
|
28
|
+
static readonly [entityKind]: string;
|
|
29
|
+
constructor(name: T['name'], enumInstance: PgEnumObject<any>);
|
|
30
|
+
}
|
|
31
|
+
export declare class PgEnumObjectColumn<T extends ColumnBaseConfig<'string', 'PgEnumObjectColumn'> & {
|
|
32
|
+
enumValues: object;
|
|
33
|
+
}> extends PgColumn<T, {
|
|
34
|
+
enum: PgEnumObject<object>;
|
|
35
|
+
}> {
|
|
36
|
+
static readonly [entityKind]: string;
|
|
37
|
+
readonly enum: PgEnumObject<any>;
|
|
38
|
+
readonly enumValues: string[];
|
|
39
|
+
constructor(table: AnyPgTable<{
|
|
40
|
+
name: T['tableName'];
|
|
41
|
+
}>, config: PgEnumObjectColumnBuilder<T>['config']);
|
|
42
|
+
getSQLType(): string;
|
|
43
|
+
}
|
|
7
44
|
export type PgEnumColumnBuilderInitial<TName extends string, TValues extends [string, ...string[]]> = PgEnumColumnBuilder<{
|
|
8
45
|
name: TName;
|
|
9
46
|
dataType: 'string';
|
|
@@ -43,3 +80,4 @@ export declare class PgEnumColumn<T extends ColumnBaseConfig<'string', 'PgEnumCo
|
|
|
43
80
|
getSQLType(): string;
|
|
44
81
|
}
|
|
45
82
|
export declare function pgEnum<U extends string, T extends Readonly<[U, ...U[]]>>(enumName: string, values: T | Writable<T>): PgEnum<Writable<T>>;
|
|
83
|
+
export declare function pgEnum<E extends Record<string, string>>(enumName: string, enumObj: NonArray<E>): PgEnumObject<E>;
|
|
@@ -2,8 +2,45 @@ import type { ColumnBuilderBaseConfig } from "../../column-builder.js";
|
|
|
2
2
|
import type { ColumnBaseConfig } from "../../column.js";
|
|
3
3
|
import { entityKind } from "../../entity.js";
|
|
4
4
|
import type { AnyPgTable } from "../table.js";
|
|
5
|
-
import type { Writable } from "../../utils.js";
|
|
5
|
+
import type { NonArray, Writable } from "../../utils.js";
|
|
6
6
|
import { PgColumn, PgColumnBuilder } from "./common.js";
|
|
7
|
+
export type PgEnumObjectColumnBuilderInitial<TName extends string, TValues extends object> = PgEnumObjectColumnBuilder<{
|
|
8
|
+
name: TName;
|
|
9
|
+
dataType: 'string';
|
|
10
|
+
columnType: 'PgEnumObjectColumn';
|
|
11
|
+
data: TValues[keyof TValues];
|
|
12
|
+
enumValues: string[];
|
|
13
|
+
driverParam: string;
|
|
14
|
+
}>;
|
|
15
|
+
export interface PgEnumObject<TValues extends object> {
|
|
16
|
+
(): PgEnumObjectColumnBuilderInitial<'', TValues>;
|
|
17
|
+
<TName extends string>(name: TName): PgEnumObjectColumnBuilderInitial<TName, TValues>;
|
|
18
|
+
<TName extends string>(name?: TName): PgEnumObjectColumnBuilderInitial<TName, TValues>;
|
|
19
|
+
readonly enumName: string;
|
|
20
|
+
readonly enumValues: string[];
|
|
21
|
+
readonly schema: string | undefined;
|
|
22
|
+
}
|
|
23
|
+
export declare class PgEnumObjectColumnBuilder<T extends ColumnBuilderBaseConfig<'string', 'PgEnumObjectColumn'> & {
|
|
24
|
+
enumValues: string[];
|
|
25
|
+
}> extends PgColumnBuilder<T, {
|
|
26
|
+
enum: PgEnumObject<any>;
|
|
27
|
+
}> {
|
|
28
|
+
static readonly [entityKind]: string;
|
|
29
|
+
constructor(name: T['name'], enumInstance: PgEnumObject<any>);
|
|
30
|
+
}
|
|
31
|
+
export declare class PgEnumObjectColumn<T extends ColumnBaseConfig<'string', 'PgEnumObjectColumn'> & {
|
|
32
|
+
enumValues: object;
|
|
33
|
+
}> extends PgColumn<T, {
|
|
34
|
+
enum: PgEnumObject<object>;
|
|
35
|
+
}> {
|
|
36
|
+
static readonly [entityKind]: string;
|
|
37
|
+
readonly enum: PgEnumObject<any>;
|
|
38
|
+
readonly enumValues: string[];
|
|
39
|
+
constructor(table: AnyPgTable<{
|
|
40
|
+
name: T['tableName'];
|
|
41
|
+
}>, config: PgEnumObjectColumnBuilder<T>['config']);
|
|
42
|
+
getSQLType(): string;
|
|
43
|
+
}
|
|
7
44
|
export type PgEnumColumnBuilderInitial<TName extends string, TValues extends [string, ...string[]]> = PgEnumColumnBuilder<{
|
|
8
45
|
name: TName;
|
|
9
46
|
dataType: 'string';
|
|
@@ -43,3 +80,4 @@ export declare class PgEnumColumn<T extends ColumnBaseConfig<'string', 'PgEnumCo
|
|
|
43
80
|
getSQLType(): string;
|
|
44
81
|
}
|
|
45
82
|
export declare function pgEnum<U extends string, T extends Readonly<[U, ...U[]]>>(enumName: string, values: T | Writable<T>): PgEnum<Writable<T>>;
|
|
83
|
+
export declare function pgEnum<E extends Record<string, string>>(enumName: string, enumObj: NonArray<E>): PgEnumObject<E>;
|
package/pg-core/columns/enum.js
CHANGED
|
@@ -1,5 +1,31 @@
|
|
|
1
1
|
import { entityKind } from "../../entity.js";
|
|
2
2
|
import { PgColumn, PgColumnBuilder } from "./common.js";
|
|
3
|
+
class PgEnumObjectColumnBuilder extends PgColumnBuilder {
|
|
4
|
+
static [entityKind] = "PgEnumObjectColumnBuilder";
|
|
5
|
+
constructor(name, enumInstance) {
|
|
6
|
+
super(name, "string", "PgEnumObjectColumn");
|
|
7
|
+
this.config.enum = enumInstance;
|
|
8
|
+
}
|
|
9
|
+
/** @internal */
|
|
10
|
+
build(table) {
|
|
11
|
+
return new PgEnumObjectColumn(
|
|
12
|
+
table,
|
|
13
|
+
this.config
|
|
14
|
+
);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
class PgEnumObjectColumn extends PgColumn {
|
|
18
|
+
static [entityKind] = "PgEnumObjectColumn";
|
|
19
|
+
enum;
|
|
20
|
+
enumValues = this.config.enum.enumValues;
|
|
21
|
+
constructor(table, config) {
|
|
22
|
+
super(table, config);
|
|
23
|
+
this.enum = config.enum;
|
|
24
|
+
}
|
|
25
|
+
getSQLType() {
|
|
26
|
+
return this.enum.enumName;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
3
29
|
const isPgEnumSym = Symbol.for("drizzle:isPgEnum");
|
|
4
30
|
function isPgEnum(obj) {
|
|
5
31
|
return !!obj && typeof obj === "function" && isPgEnumSym in obj && obj[isPgEnumSym] === true;
|
|
@@ -30,8 +56,8 @@ class PgEnumColumn extends PgColumn {
|
|
|
30
56
|
return this.enum.enumName;
|
|
31
57
|
}
|
|
32
58
|
}
|
|
33
|
-
function pgEnum(enumName,
|
|
34
|
-
return pgEnumWithSchema(enumName,
|
|
59
|
+
function pgEnum(enumName, input) {
|
|
60
|
+
return Array.isArray(input) ? pgEnumWithSchema(enumName, [...input], void 0) : pgEnumObjectWithSchema(enumName, input, void 0);
|
|
35
61
|
}
|
|
36
62
|
function pgEnumWithSchema(enumName, values, schema) {
|
|
37
63
|
const enumInstance = Object.assign(
|
|
@@ -45,11 +71,26 @@ function pgEnumWithSchema(enumName, values, schema) {
|
|
|
45
71
|
);
|
|
46
72
|
return enumInstance;
|
|
47
73
|
}
|
|
74
|
+
function pgEnumObjectWithSchema(enumName, values, schema) {
|
|
75
|
+
const enumInstance = Object.assign(
|
|
76
|
+
(name) => new PgEnumObjectColumnBuilder(name ?? "", enumInstance),
|
|
77
|
+
{
|
|
78
|
+
enumName,
|
|
79
|
+
enumValues: Object.values(values),
|
|
80
|
+
schema,
|
|
81
|
+
[isPgEnumSym]: true
|
|
82
|
+
}
|
|
83
|
+
);
|
|
84
|
+
return enumInstance;
|
|
85
|
+
}
|
|
48
86
|
export {
|
|
49
87
|
PgEnumColumn,
|
|
50
88
|
PgEnumColumnBuilder,
|
|
89
|
+
PgEnumObjectColumn,
|
|
90
|
+
PgEnumObjectColumnBuilder,
|
|
51
91
|
isPgEnum,
|
|
52
92
|
pgEnum,
|
|
93
|
+
pgEnumObjectWithSchema,
|
|
53
94
|
pgEnumWithSchema
|
|
54
95
|
};
|
|
55
96
|
//# sourceMappingURL=enum.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/pg-core/columns/enum.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnyPgTable } from '~/pg-core/table.ts';\nimport type { Writable } from '~/utils.ts';\nimport { PgColumn, PgColumnBuilder } from './common.ts';\n\nexport type PgEnumColumnBuilderInitial<TName extends string, TValues extends [string, ...string[]]> =\n\tPgEnumColumnBuilder<{\n\t\tname: TName;\n\t\tdataType: 'string';\n\t\tcolumnType: 'PgEnumColumn';\n\t\tdata: TValues[number];\n\t\tenumValues: TValues;\n\t\tdriverParam: string;\n\t}>;\n\nconst isPgEnumSym = Symbol.for('drizzle:isPgEnum');\nexport interface PgEnum<TValues extends [string, ...string[]]> {\n\t(): PgEnumColumnBuilderInitial<'', TValues>;\n\t<TName extends string>(name: TName): PgEnumColumnBuilderInitial<TName, TValues>;\n\t<TName extends string>(name?: TName): PgEnumColumnBuilderInitial<TName, TValues>;\n\n\treadonly enumName: string;\n\treadonly enumValues: TValues;\n\treadonly schema: string | undefined;\n\t/** @internal */\n\t[isPgEnumSym]: true;\n}\n\nexport function isPgEnum(obj: unknown): obj is PgEnum<[string, ...string[]]> {\n\treturn !!obj && typeof obj === 'function' && isPgEnumSym in obj && obj[isPgEnumSym] === true;\n}\n\nexport class PgEnumColumnBuilder<\n\tT extends ColumnBuilderBaseConfig<'string', 'PgEnumColumn'> & { enumValues: [string, ...string[]] },\n> extends PgColumnBuilder<T, { enum: PgEnum<T['enumValues']> }> {\n\tstatic override readonly [entityKind]: string = 'PgEnumColumnBuilder';\n\n\tconstructor(name: T['name'], enumInstance: PgEnum<T['enumValues']>) {\n\t\tsuper(name, 'string', 'PgEnumColumn');\n\t\tthis.config.enum = enumInstance;\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyPgTable<{ name: TTableName }>,\n\t): PgEnumColumn<MakeColumnConfig<T, TTableName>> {\n\t\treturn new PgEnumColumn<MakeColumnConfig<T, TTableName>>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class PgEnumColumn<T extends ColumnBaseConfig<'string', 'PgEnumColumn'> & { enumValues: [string, ...string[]] }>\n\textends PgColumn<T, { enum: PgEnum<T['enumValues']> }>\n{\n\tstatic override readonly [entityKind]: string = 'PgEnumColumn';\n\n\treadonly enum = this.config.enum;\n\toverride readonly enumValues = this.config.enum.enumValues;\n\n\tconstructor(\n\t\ttable: AnyPgTable<{ name: T['tableName'] }>,\n\t\tconfig: PgEnumColumnBuilder<T>['config'],\n\t) {\n\t\tsuper(table, config);\n\t\tthis.enum = config.enum;\n\t}\n\n\tgetSQLType(): string {\n\t\treturn this.enum.enumName;\n\t}\n}\n\
|
|
1
|
+
{"version":3,"sources":["../../../src/pg-core/columns/enum.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnyPgTable } from '~/pg-core/table.ts';\nimport type { NonArray, Writable } from '~/utils.ts';\nimport { PgColumn, PgColumnBuilder } from './common.ts';\n\n// Enum as ts enum\n\nexport type PgEnumObjectColumnBuilderInitial<TName extends string, TValues extends object> = PgEnumObjectColumnBuilder<{\n\tname: TName;\n\tdataType: 'string';\n\tcolumnType: 'PgEnumObjectColumn';\n\tdata: TValues[keyof TValues];\n\tenumValues: string[];\n\tdriverParam: string;\n}>;\n\nexport interface PgEnumObject<TValues extends object> {\n\t(): PgEnumObjectColumnBuilderInitial<'', TValues>;\n\t<TName extends string>(name: TName): PgEnumObjectColumnBuilderInitial<TName, TValues>;\n\t<TName extends string>(name?: TName): PgEnumObjectColumnBuilderInitial<TName, TValues>;\n\n\treadonly enumName: string;\n\treadonly enumValues: string[];\n\treadonly schema: string | undefined;\n\t/** @internal */\n\t[isPgEnumSym]: true;\n}\n\nexport class PgEnumObjectColumnBuilder<\n\tT extends ColumnBuilderBaseConfig<'string', 'PgEnumObjectColumn'> & { enumValues: string[] },\n> extends PgColumnBuilder<T, { enum: PgEnumObject<any> }> {\n\tstatic override readonly [entityKind]: string = 'PgEnumObjectColumnBuilder';\n\n\tconstructor(name: T['name'], enumInstance: PgEnumObject<any>) {\n\t\tsuper(name, 'string', 'PgEnumObjectColumn');\n\t\tthis.config.enum = enumInstance;\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyPgTable<{ name: TTableName }>,\n\t): PgEnumObjectColumn<MakeColumnConfig<T, TTableName>> {\n\t\treturn new PgEnumObjectColumn<MakeColumnConfig<T, TTableName>>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class PgEnumObjectColumn<T extends ColumnBaseConfig<'string', 'PgEnumObjectColumn'> & { enumValues: object }>\n\textends PgColumn<T, { enum: PgEnumObject<object> }>\n{\n\tstatic override readonly [entityKind]: string = 'PgEnumObjectColumn';\n\n\treadonly enum;\n\toverride readonly enumValues = this.config.enum.enumValues;\n\n\tconstructor(\n\t\ttable: AnyPgTable<{ name: T['tableName'] }>,\n\t\tconfig: PgEnumObjectColumnBuilder<T>['config'],\n\t) {\n\t\tsuper(table, config);\n\t\tthis.enum = config.enum;\n\t}\n\n\tgetSQLType(): string {\n\t\treturn this.enum.enumName;\n\t}\n}\n\n// Enum as string union\n\nexport type PgEnumColumnBuilderInitial<TName extends string, TValues extends [string, ...string[]]> =\n\tPgEnumColumnBuilder<{\n\t\tname: TName;\n\t\tdataType: 'string';\n\t\tcolumnType: 'PgEnumColumn';\n\t\tdata: TValues[number];\n\t\tenumValues: TValues;\n\t\tdriverParam: string;\n\t}>;\n\nconst isPgEnumSym = Symbol.for('drizzle:isPgEnum');\nexport interface PgEnum<TValues extends [string, ...string[]]> {\n\t(): PgEnumColumnBuilderInitial<'', TValues>;\n\t<TName extends string>(name: TName): PgEnumColumnBuilderInitial<TName, TValues>;\n\t<TName extends string>(name?: TName): PgEnumColumnBuilderInitial<TName, TValues>;\n\n\treadonly enumName: string;\n\treadonly enumValues: TValues;\n\treadonly schema: string | undefined;\n\t/** @internal */\n\t[isPgEnumSym]: true;\n}\n\nexport function isPgEnum(obj: unknown): obj is PgEnum<[string, ...string[]]> {\n\treturn !!obj && typeof obj === 'function' && isPgEnumSym in obj && obj[isPgEnumSym] === true;\n}\n\nexport class PgEnumColumnBuilder<\n\tT extends ColumnBuilderBaseConfig<'string', 'PgEnumColumn'> & { enumValues: [string, ...string[]] },\n> extends PgColumnBuilder<T, { enum: PgEnum<T['enumValues']> }> {\n\tstatic override readonly [entityKind]: string = 'PgEnumColumnBuilder';\n\n\tconstructor(name: T['name'], enumInstance: PgEnum<T['enumValues']>) {\n\t\tsuper(name, 'string', 'PgEnumColumn');\n\t\tthis.config.enum = enumInstance;\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyPgTable<{ name: TTableName }>,\n\t): PgEnumColumn<MakeColumnConfig<T, TTableName>> {\n\t\treturn new PgEnumColumn<MakeColumnConfig<T, TTableName>>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class PgEnumColumn<T extends ColumnBaseConfig<'string', 'PgEnumColumn'> & { enumValues: [string, ...string[]] }>\n\textends PgColumn<T, { enum: PgEnum<T['enumValues']> }>\n{\n\tstatic override readonly [entityKind]: string = 'PgEnumColumn';\n\n\treadonly enum = this.config.enum;\n\toverride readonly enumValues = this.config.enum.enumValues;\n\n\tconstructor(\n\t\ttable: AnyPgTable<{ name: T['tableName'] }>,\n\t\tconfig: PgEnumColumnBuilder<T>['config'],\n\t) {\n\t\tsuper(table, config);\n\t\tthis.enum = config.enum;\n\t}\n\n\tgetSQLType(): string {\n\t\treturn this.enum.enumName;\n\t}\n}\n\nexport function pgEnum<U extends string, T extends Readonly<[U, ...U[]]>>(\n\tenumName: string,\n\tvalues: T | Writable<T>,\n): PgEnum<Writable<T>>;\n\nexport function pgEnum<E extends Record<string, string>>(\n\tenumName: string,\n\tenumObj: NonArray<E>,\n): PgEnumObject<E>;\n\nexport function pgEnum(\n\tenumName: any,\n\tinput: any,\n): any {\n\treturn Array.isArray(input)\n\t\t? pgEnumWithSchema(enumName, [...input] as [string, ...string[]], undefined)\n\t\t: pgEnumObjectWithSchema(enumName, input, undefined);\n}\n\n/** @internal */\nexport function pgEnumWithSchema<U extends string, T extends Readonly<[U, ...U[]]>>(\n\tenumName: string,\n\tvalues: T | Writable<T>,\n\tschema?: string,\n): PgEnum<Writable<T>> {\n\tconst enumInstance: PgEnum<Writable<T>> = Object.assign(\n\t\t<TName extends string>(name?: TName): PgEnumColumnBuilderInitial<TName, Writable<T>> =>\n\t\t\tnew PgEnumColumnBuilder(name ?? '' as TName, enumInstance),\n\t\t{\n\t\t\tenumName,\n\t\t\tenumValues: values,\n\t\t\tschema,\n\t\t\t[isPgEnumSym]: true,\n\t\t} as const,\n\t);\n\n\treturn enumInstance;\n}\n\n/** @internal */\nexport function pgEnumObjectWithSchema<T extends object>(\n\tenumName: string,\n\tvalues: T,\n\tschema?: string,\n): PgEnumObject<T> {\n\tconst enumInstance: PgEnumObject<T> = Object.assign(\n\t\t<TName extends string>(name?: TName): PgEnumObjectColumnBuilderInitial<TName, T> =>\n\t\t\tnew PgEnumObjectColumnBuilder(name ?? '' as TName, enumInstance),\n\t\t{\n\t\t\tenumName,\n\t\t\tenumValues: Object.values(values),\n\t\t\tschema,\n\t\t\t[isPgEnumSym]: true,\n\t\t} as const,\n\t);\n\n\treturn enumInstance;\n}\n"],"mappings":"AAEA,SAAS,kBAAkB;AAG3B,SAAS,UAAU,uBAAuB;AAyBnC,MAAM,kCAEH,gBAAgD;AAAA,EACzD,QAA0B,UAAU,IAAY;AAAA,EAEhD,YAAY,MAAiB,cAAiC;AAC7D,UAAM,MAAM,UAAU,oBAAoB;AAC1C,SAAK,OAAO,OAAO;AAAA,EACpB;AAAA;AAAA,EAGS,MACR,OACsD;AACtD,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,2BACJ,SACT;AAAA,EACC,QAA0B,UAAU,IAAY;AAAA,EAEvC;AAAA,EACS,aAAa,KAAK,OAAO,KAAK;AAAA,EAEhD,YACC,OACA,QACC;AACD,UAAM,OAAO,MAAM;AACnB,SAAK,OAAO,OAAO;AAAA,EACpB;AAAA,EAEA,aAAqB;AACpB,WAAO,KAAK,KAAK;AAAA,EAClB;AACD;AAcA,MAAM,cAAc,OAAO,IAAI,kBAAkB;AAa1C,SAAS,SAAS,KAAoD;AAC5E,SAAO,CAAC,CAAC,OAAO,OAAO,QAAQ,cAAc,eAAe,OAAO,IAAI,WAAW,MAAM;AACzF;AAEO,MAAM,4BAEH,gBAAsD;AAAA,EAC/D,QAA0B,UAAU,IAAY;AAAA,EAEhD,YAAY,MAAiB,cAAuC;AACnE,UAAM,MAAM,UAAU,cAAc;AACpC,SAAK,OAAO,OAAO;AAAA,EACpB;AAAA;AAAA,EAGS,MACR,OACgD;AAChD,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,qBACJ,SACT;AAAA,EACC,QAA0B,UAAU,IAAY;AAAA,EAEvC,OAAO,KAAK,OAAO;AAAA,EACV,aAAa,KAAK,OAAO,KAAK;AAAA,EAEhD,YACC,OACA,QACC;AACD,UAAM,OAAO,MAAM;AACnB,SAAK,OAAO,OAAO;AAAA,EACpB;AAAA,EAEA,aAAqB;AACpB,WAAO,KAAK,KAAK;AAAA,EAClB;AACD;AAYO,SAAS,OACf,UACA,OACM;AACN,SAAO,MAAM,QAAQ,KAAK,IACvB,iBAAiB,UAAU,CAAC,GAAG,KAAK,GAA4B,MAAS,IACzE,uBAAuB,UAAU,OAAO,MAAS;AACrD;AAGO,SAAS,iBACf,UACA,QACA,QACsB;AACtB,QAAM,eAAoC,OAAO;AAAA,IAChD,CAAuB,SACtB,IAAI,oBAAoB,QAAQ,IAAa,YAAY;AAAA,IAC1D;AAAA,MACC;AAAA,MACA,YAAY;AAAA,MACZ;AAAA,MACA,CAAC,WAAW,GAAG;AAAA,IAChB;AAAA,EACD;AAEA,SAAO;AACR;AAGO,SAAS,uBACf,UACA,QACA,QACkB;AAClB,QAAM,eAAgC,OAAO;AAAA,IAC5C,CAAuB,SACtB,IAAI,0BAA0B,QAAQ,IAAa,YAAY;AAAA,IAChE;AAAA,MACC;AAAA,MACA,YAAY,OAAO,OAAO,MAAM;AAAA,MAChC;AAAA,MACA,CAAC,WAAW,GAAG;AAAA,IAChB;AAAA,EACD;AAEA,SAAO;AACR;","names":[]}
|
package/pg-core/db.cjs
CHANGED