drizzle-orm 0.36.3 → 0.36.4-14e59f4
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.map +1 -1
- package/aws-data-api/pg/driver.d.cts +3 -5
- package/aws-data-api/pg/driver.d.ts +3 -5
- package/aws-data-api/pg/driver.js.map +1 -1
- package/better-sqlite3/driver.cjs.map +1 -1
- package/better-sqlite3/driver.d.cts +3 -5
- package/better-sqlite3/driver.d.ts +3 -5
- package/better-sqlite3/driver.js.map +1 -1
- package/bun-sqlite/driver.cjs.map +1 -1
- package/bun-sqlite/driver.d.cts +3 -5
- package/bun-sqlite/driver.d.ts +3 -5
- package/bun-sqlite/driver.js.map +1 -1
- package/column-builder.cjs.map +1 -1
- package/column-builder.d.cts +14 -8
- package/column-builder.d.ts +14 -8
- package/column-builder.js.map +1 -1
- package/column.cjs.map +1 -1
- package/column.d.cts +1 -0
- package/column.d.ts +1 -0
- package/column.js.map +1 -1
- package/durable-sqlite/driver.cjs +64 -0
- package/durable-sqlite/driver.cjs.map +1 -0
- package/durable-sqlite/driver.d.cts +9 -0
- package/durable-sqlite/driver.d.ts +9 -0
- package/durable-sqlite/driver.js +42 -0
- package/durable-sqlite/driver.js.map +1 -0
- package/durable-sqlite/index.cjs +25 -0
- package/durable-sqlite/index.cjs.map +1 -0
- package/durable-sqlite/index.d.cts +2 -0
- package/durable-sqlite/index.d.ts +2 -0
- package/durable-sqlite/index.js +3 -0
- package/durable-sqlite/index.js.map +1 -0
- package/durable-sqlite/migrator.cjs +85 -0
- package/durable-sqlite/migrator.cjs.map +1 -0
- package/durable-sqlite/migrator.d.cts +14 -0
- package/durable-sqlite/migrator.d.ts +14 -0
- package/durable-sqlite/migrator.js +61 -0
- package/durable-sqlite/migrator.js.map +1 -0
- package/durable-sqlite/session.cjs +131 -0
- package/durable-sqlite/session.cjs.map +1 -0
- package/durable-sqlite/session.d.cts +46 -0
- package/durable-sqlite/session.d.ts +46 -0
- package/durable-sqlite/session.js +107 -0
- package/durable-sqlite/session.js.map +1 -0
- package/libsql/driver.cjs.map +1 -1
- package/libsql/driver.d.cts +3 -5
- package/libsql/driver.d.ts +3 -5
- package/libsql/driver.js.map +1 -1
- package/libsql/http/index.cjs.map +1 -1
- package/libsql/http/index.d.cts +3 -5
- package/libsql/http/index.d.ts +3 -5
- package/libsql/http/index.js.map +1 -1
- package/libsql/node/index.cjs.map +1 -1
- package/libsql/node/index.d.cts +3 -5
- package/libsql/node/index.d.ts +3 -5
- package/libsql/node/index.js.map +1 -1
- package/libsql/sqlite3/index.cjs.map +1 -1
- package/libsql/sqlite3/index.d.cts +3 -5
- package/libsql/sqlite3/index.d.ts +3 -5
- package/libsql/sqlite3/index.js.map +1 -1
- package/libsql/wasm/index.cjs.map +1 -1
- package/libsql/wasm/index.d.cts +3 -5
- package/libsql/wasm/index.d.ts +3 -5
- package/libsql/wasm/index.js.map +1 -1
- package/libsql/web/index.cjs.map +1 -1
- package/libsql/web/index.d.cts +3 -5
- package/libsql/web/index.d.ts +3 -5
- package/libsql/web/index.js.map +1 -1
- package/libsql/ws/index.cjs.map +1 -1
- package/libsql/ws/index.d.cts +3 -5
- package/libsql/ws/index.d.ts +3 -5
- package/libsql/ws/index.js.map +1 -1
- package/mysql2/driver.cjs.map +1 -1
- package/mysql2/driver.d.cts +3 -5
- package/mysql2/driver.d.ts +3 -5
- package/mysql2/driver.js.map +1 -1
- package/neon-http/driver.cjs +31 -0
- package/neon-http/driver.cjs.map +1 -1
- package/neon-http/driver.d.cts +5 -6
- package/neon-http/driver.d.ts +5 -6
- package/neon-http/driver.js +31 -0
- package/neon-http/driver.js.map +1 -1
- package/neon-http/session.cjs +32 -8
- package/neon-http/session.cjs.map +1 -1
- package/neon-http/session.d.cts +3 -3
- package/neon-http/session.d.ts +3 -3
- package/neon-http/session.js +32 -8
- package/neon-http/session.js.map +1 -1
- package/neon-serverless/driver.cjs.map +1 -1
- package/neon-serverless/driver.d.cts +3 -5
- package/neon-serverless/driver.d.ts +3 -5
- package/neon-serverless/driver.js.map +1 -1
- package/node-postgres/driver.cjs.map +1 -1
- package/node-postgres/driver.d.cts +3 -5
- package/node-postgres/driver.d.ts +3 -5
- package/node-postgres/driver.js.map +1 -1
- package/operations.cjs.map +1 -1
- package/operations.d.cts +3 -4
- package/operations.d.ts +3 -4
- package/package.json +798 -17
- package/pg-core/columns/common.cjs.map +1 -1
- package/pg-core/columns/common.d.cts +1 -2
- package/pg-core/columns/common.d.ts +1 -2
- package/pg-core/columns/common.js.map +1 -1
- package/pg-core/columns/int.common.cjs.map +1 -1
- package/pg-core/columns/int.common.d.cts +3 -3
- package/pg-core/columns/int.common.d.ts +3 -3
- package/pg-core/columns/int.common.js.map +1 -1
- package/pg-core/db.cjs +2 -1
- package/pg-core/db.cjs.map +1 -1
- package/pg-core/db.d.cts +2 -1
- package/pg-core/db.d.ts +2 -1
- package/pg-core/db.js +2 -1
- package/pg-core/db.js.map +1 -1
- package/pg-core/dialect.cjs +3 -2
- package/pg-core/dialect.cjs.map +1 -1
- package/pg-core/dialect.d.cts +1 -1
- package/pg-core/dialect.d.ts +1 -1
- package/pg-core/dialect.js +3 -2
- package/pg-core/dialect.js.map +1 -1
- package/pg-core/query-builders/count.cjs +7 -1
- package/pg-core/query-builders/count.cjs.map +1 -1
- package/pg-core/query-builders/count.d.cts +5 -1
- package/pg-core/query-builders/count.d.ts +5 -1
- package/pg-core/query-builders/count.js +7 -1
- package/pg-core/query-builders/count.js.map +1 -1
- package/pg-core/query-builders/delete.cjs +7 -1
- package/pg-core/query-builders/delete.cjs.map +1 -1
- package/pg-core/query-builders/delete.d.cts +1 -0
- package/pg-core/query-builders/delete.d.ts +1 -0
- package/pg-core/query-builders/delete.js +7 -1
- package/pg-core/query-builders/delete.js.map +1 -1
- package/pg-core/query-builders/insert.cjs +30 -5
- package/pg-core/query-builders/insert.cjs.map +1 -1
- package/pg-core/query-builders/insert.d.cts +20 -8
- package/pg-core/query-builders/insert.d.ts +20 -8
- package/pg-core/query-builders/insert.js +30 -5
- package/pg-core/query-builders/insert.js.map +1 -1
- package/pg-core/query-builders/query.cjs +7 -1
- package/pg-core/query-builders/query.cjs.map +1 -1
- package/pg-core/query-builders/query.d.cts +1 -0
- package/pg-core/query-builders/query.d.ts +1 -0
- package/pg-core/query-builders/query.js +7 -1
- package/pg-core/query-builders/query.js.map +1 -1
- package/pg-core/query-builders/refresh-materialized-view.cjs +7 -1
- package/pg-core/query-builders/refresh-materialized-view.cjs.map +1 -1
- package/pg-core/query-builders/refresh-materialized-view.d.cts +1 -0
- package/pg-core/query-builders/refresh-materialized-view.d.ts +1 -0
- package/pg-core/query-builders/refresh-materialized-view.js +7 -1
- package/pg-core/query-builders/refresh-materialized-view.js.map +1 -1
- package/pg-core/query-builders/select.cjs +16 -4
- package/pg-core/query-builders/select.cjs.map +1 -1
- package/pg-core/query-builders/select.d.cts +2 -0
- package/pg-core/query-builders/select.d.ts +2 -0
- package/pg-core/query-builders/select.js +22 -5
- package/pg-core/query-builders/select.js.map +1 -1
- package/pg-core/query-builders/update.cjs +13 -2
- package/pg-core/query-builders/update.cjs.map +1 -1
- package/pg-core/query-builders/update.d.cts +4 -1
- package/pg-core/query-builders/update.d.ts +4 -1
- package/pg-core/query-builders/update.js +18 -3
- package/pg-core/query-builders/update.js.map +1 -1
- package/pg-core/session.cjs +12 -4
- package/pg-core/session.cjs.map +1 -1
- package/pg-core/session.d.cts +2 -0
- package/pg-core/session.d.ts +2 -0
- package/pg-core/session.js +12 -4
- package/pg-core/session.js.map +1 -1
- package/pglite/driver.cjs.map +1 -1
- package/pglite/driver.d.cts +3 -5
- package/pglite/driver.d.ts +3 -5
- package/pglite/driver.js.map +1 -1
- package/planetscale-serverless/driver.cjs.map +1 -1
- package/planetscale-serverless/driver.d.cts +3 -5
- package/planetscale-serverless/driver.d.ts +3 -5
- package/planetscale-serverless/driver.js.map +1 -1
- package/postgres-js/driver.cjs.map +1 -1
- package/postgres-js/driver.d.cts +3 -5
- package/postgres-js/driver.d.ts +3 -5
- package/postgres-js/driver.js.map +1 -1
- package/singlestore/driver.cjs +113 -0
- package/singlestore/driver.cjs.map +1 -0
- package/singlestore/driver.d.cts +52 -0
- package/singlestore/driver.d.ts +52 -0
- package/singlestore/driver.js +89 -0
- package/singlestore/driver.js.map +1 -0
- package/singlestore/index.cjs +25 -0
- package/singlestore/index.cjs.map +1 -0
- package/singlestore/index.d.cts +2 -0
- package/singlestore/index.d.ts +2 -0
- package/singlestore/index.js +3 -0
- package/singlestore/index.js.map +1 -0
- package/singlestore/migrator.cjs +33 -0
- package/singlestore/migrator.cjs.map +1 -0
- package/singlestore/migrator.d.cts +3 -0
- package/singlestore/migrator.d.ts +3 -0
- package/singlestore/migrator.js +9 -0
- package/singlestore/migrator.js.map +1 -0
- package/singlestore/session.cjs +258 -0
- package/singlestore/session.cjs.map +1 -0
- package/singlestore/session.d.cts +52 -0
- package/singlestore/session.d.ts +52 -0
- package/singlestore/session.js +236 -0
- package/singlestore/session.js.map +1 -0
- package/singlestore-core/alias.cjs +32 -0
- package/singlestore-core/alias.cjs.map +1 -0
- package/singlestore-core/alias.d.cts +4 -0
- package/singlestore-core/alias.d.ts +4 -0
- package/singlestore-core/alias.js +8 -0
- package/singlestore-core/alias.js.map +1 -0
- package/singlestore-core/columns/all.cjs +80 -0
- package/singlestore-core/columns/all.cjs.map +1 -0
- package/singlestore-core/columns/all.d.cts +51 -0
- package/singlestore-core/columns/all.d.ts +51 -0
- package/singlestore-core/columns/all.js +56 -0
- package/singlestore-core/columns/all.js.map +1 -0
- package/singlestore-core/columns/bigint.cjs +96 -0
- package/singlestore-core/columns/bigint.cjs.map +1 -0
- package/singlestore-core/columns/bigint.d.cts +54 -0
- package/singlestore-core/columns/bigint.d.ts +54 -0
- package/singlestore-core/columns/bigint.js +68 -0
- package/singlestore-core/columns/bigint.js.map +1 -0
- package/singlestore-core/columns/binary.cjs +60 -0
- package/singlestore-core/columns/binary.cjs.map +1 -0
- package/singlestore-core/columns/binary.d.cts +28 -0
- package/singlestore-core/columns/binary.d.ts +28 -0
- package/singlestore-core/columns/binary.js +34 -0
- package/singlestore-core/columns/binary.js.map +1 -0
- package/singlestore-core/columns/boolean.cjs +62 -0
- package/singlestore-core/columns/boolean.cjs.map +1 -0
- package/singlestore-core/columns/boolean.d.cts +24 -0
- package/singlestore-core/columns/boolean.d.ts +24 -0
- package/singlestore-core/columns/boolean.js +36 -0
- package/singlestore-core/columns/boolean.js.map +1 -0
- package/singlestore-core/columns/char.cjs +62 -0
- package/singlestore-core/columns/char.cjs.map +1 -0
- package/singlestore-core/columns/char.d.cts +31 -0
- package/singlestore-core/columns/char.d.ts +31 -0
- package/singlestore-core/columns/char.js +36 -0
- package/singlestore-core/columns/char.js.map +1 -0
- package/singlestore-core/columns/common.cjs +82 -0
- package/singlestore-core/columns/common.cjs.map +1 -0
- package/singlestore-core/columns/common.d.cts +42 -0
- package/singlestore-core/columns/common.d.ts +42 -0
- package/singlestore-core/columns/common.js +55 -0
- package/singlestore-core/columns/common.js.map +1 -0
- package/singlestore-core/columns/custom.cjs +77 -0
- package/singlestore-core/columns/custom.cjs.map +1 -0
- package/singlestore-core/columns/custom.d.cts +156 -0
- package/singlestore-core/columns/custom.d.ts +156 -0
- package/singlestore-core/columns/custom.js +51 -0
- package/singlestore-core/columns/custom.js.map +1 -0
- package/singlestore-core/columns/date.cjs +93 -0
- package/singlestore-core/columns/date.cjs.map +1 -0
- package/singlestore-core/columns/date.common.cjs +48 -0
- package/singlestore-core/columns/date.common.cjs.map +1 -0
- package/singlestore-core/columns/date.common.d.cts +16 -0
- package/singlestore-core/columns/date.common.d.ts +16 -0
- package/singlestore-core/columns/date.common.js +23 -0
- package/singlestore-core/columns/date.common.js.map +1 -0
- package/singlestore-core/columns/date.d.cts +53 -0
- package/singlestore-core/columns/date.d.ts +53 -0
- package/singlestore-core/columns/date.js +65 -0
- package/singlestore-core/columns/date.js.map +1 -0
- package/singlestore-core/columns/datetime.cjs +106 -0
- package/singlestore-core/columns/datetime.cjs.map +1 -0
- package/singlestore-core/columns/datetime.d.cts +54 -0
- package/singlestore-core/columns/datetime.d.ts +54 -0
- package/singlestore-core/columns/datetime.js +78 -0
- package/singlestore-core/columns/datetime.js.map +1 -0
- package/singlestore-core/columns/decimal.cjs +76 -0
- package/singlestore-core/columns/decimal.cjs.map +1 -0
- package/singlestore-core/columns/decimal.d.cts +32 -0
- package/singlestore-core/columns/decimal.d.ts +32 -0
- package/singlestore-core/columns/decimal.js +50 -0
- package/singlestore-core/columns/decimal.js.map +1 -0
- package/singlestore-core/columns/double.cjs +72 -0
- package/singlestore-core/columns/double.cjs.map +1 -0
- package/singlestore-core/columns/double.d.cts +32 -0
- package/singlestore-core/columns/double.d.ts +32 -0
- package/singlestore-core/columns/double.js +46 -0
- package/singlestore-core/columns/double.js.map +1 -0
- package/singlestore-core/columns/enum.cjs +67 -0
- package/singlestore-core/columns/enum.cjs.map +1 -0
- package/singlestore-core/columns/enum.d.cts +31 -0
- package/singlestore-core/columns/enum.d.ts +31 -0
- package/singlestore-core/columns/enum.js +41 -0
- package/singlestore-core/columns/enum.js.map +1 -0
- package/singlestore-core/columns/float.cjs +72 -0
- package/singlestore-core/columns/float.cjs.map +1 -0
- package/singlestore-core/columns/float.d.cts +32 -0
- package/singlestore-core/columns/float.d.ts +32 -0
- package/singlestore-core/columns/float.js +46 -0
- package/singlestore-core/columns/float.js.map +1 -0
- package/singlestore-core/columns/index.cjs +71 -0
- package/singlestore-core/columns/index.cjs.map +1 -0
- package/singlestore-core/columns/index.d.cts +25 -0
- package/singlestore-core/columns/index.d.ts +25 -0
- package/singlestore-core/columns/index.js +26 -0
- package/singlestore-core/columns/index.js.map +1 -0
- package/singlestore-core/columns/int.cjs +65 -0
- package/singlestore-core/columns/int.cjs.map +1 -0
- package/singlestore-core/columns/int.d.cts +28 -0
- package/singlestore-core/columns/int.d.ts +28 -0
- package/singlestore-core/columns/int.js +39 -0
- package/singlestore-core/columns/int.js.map +1 -0
- package/singlestore-core/columns/json.cjs +59 -0
- package/singlestore-core/columns/json.cjs.map +1 -0
- package/singlestore-core/columns/json.d.cts +24 -0
- package/singlestore-core/columns/json.d.ts +24 -0
- package/singlestore-core/columns/json.js +33 -0
- package/singlestore-core/columns/json.js.map +1 -0
- package/singlestore-core/columns/mediumint.cjs +65 -0
- package/singlestore-core/columns/mediumint.cjs.map +1 -0
- package/singlestore-core/columns/mediumint.d.cts +26 -0
- package/singlestore-core/columns/mediumint.d.ts +26 -0
- package/singlestore-core/columns/mediumint.js +39 -0
- package/singlestore-core/columns/mediumint.js.map +1 -0
- package/singlestore-core/columns/real.cjs +68 -0
- package/singlestore-core/columns/real.cjs.map +1 -0
- package/singlestore-core/columns/real.d.cts +30 -0
- package/singlestore-core/columns/real.d.ts +30 -0
- package/singlestore-core/columns/real.js +42 -0
- package/singlestore-core/columns/real.js.map +1 -0
- package/singlestore-core/columns/serial.cjs +64 -0
- package/singlestore-core/columns/serial.cjs.map +1 -0
- package/singlestore-core/columns/serial.d.cts +24 -0
- package/singlestore-core/columns/serial.d.ts +24 -0
- package/singlestore-core/columns/serial.js +38 -0
- package/singlestore-core/columns/serial.js.map +1 -0
- package/singlestore-core/columns/smallint.cjs +65 -0
- package/singlestore-core/columns/smallint.cjs.map +1 -0
- package/singlestore-core/columns/smallint.d.cts +26 -0
- package/singlestore-core/columns/smallint.d.ts +26 -0
- package/singlestore-core/columns/smallint.js +39 -0
- package/singlestore-core/columns/smallint.js.map +1 -0
- package/singlestore-core/columns/text.cjs +80 -0
- package/singlestore-core/columns/text.cjs.map +1 -0
- package/singlestore-core/columns/text.d.cts +46 -0
- package/singlestore-core/columns/text.d.ts +46 -0
- package/singlestore-core/columns/text.js +51 -0
- package/singlestore-core/columns/text.js.map +1 -0
- package/singlestore-core/columns/time.cjs +56 -0
- package/singlestore-core/columns/time.cjs.map +1 -0
- package/singlestore-core/columns/time.d.cts +23 -0
- package/singlestore-core/columns/time.d.ts +23 -0
- package/singlestore-core/columns/time.js +30 -0
- package/singlestore-core/columns/time.js.map +1 -0
- package/singlestore-core/columns/timestamp.cjs +97 -0
- package/singlestore-core/columns/timestamp.cjs.map +1 -0
- package/singlestore-core/columns/timestamp.d.cts +49 -0
- package/singlestore-core/columns/timestamp.d.ts +49 -0
- package/singlestore-core/columns/timestamp.js +69 -0
- package/singlestore-core/columns/timestamp.js.map +1 -0
- package/singlestore-core/columns/tinyint.cjs +65 -0
- package/singlestore-core/columns/tinyint.cjs.map +1 -0
- package/singlestore-core/columns/tinyint.d.cts +26 -0
- package/singlestore-core/columns/tinyint.d.ts +26 -0
- package/singlestore-core/columns/tinyint.js +39 -0
- package/singlestore-core/columns/tinyint.js.map +1 -0
- package/singlestore-core/columns/varbinary.cjs +61 -0
- package/singlestore-core/columns/varbinary.cjs.map +1 -0
- package/singlestore-core/columns/varbinary.d.cts +26 -0
- package/singlestore-core/columns/varbinary.d.ts +26 -0
- package/singlestore-core/columns/varbinary.js +35 -0
- package/singlestore-core/columns/varbinary.js.map +1 -0
- package/singlestore-core/columns/varchar.cjs +63 -0
- package/singlestore-core/columns/varchar.cjs.map +1 -0
- package/singlestore-core/columns/varchar.d.cts +29 -0
- package/singlestore-core/columns/varchar.d.ts +29 -0
- package/singlestore-core/columns/varchar.js +37 -0
- package/singlestore-core/columns/varchar.js.map +1 -0
- package/singlestore-core/columns/year.cjs +56 -0
- package/singlestore-core/columns/year.cjs.map +1 -0
- package/singlestore-core/columns/year.d.cts +23 -0
- package/singlestore-core/columns/year.d.ts +23 -0
- package/singlestore-core/columns/year.js +30 -0
- package/singlestore-core/columns/year.js.map +1 -0
- package/singlestore-core/db.cjs +261 -0
- package/singlestore-core/db.cjs.map +1 -0
- package/singlestore-core/db.d.cts +231 -0
- package/singlestore-core/db.d.ts +231 -0
- package/singlestore-core/db.js +242 -0
- package/singlestore-core/db.js.map +1 -0
- package/singlestore-core/dialect.cjs +607 -0
- package/singlestore-core/dialect.cjs.map +1 -0
- package/singlestore-core/dialect.d.cts +64 -0
- package/singlestore-core/dialect.d.ts +64 -0
- package/singlestore-core/dialect.js +589 -0
- package/singlestore-core/dialect.js.map +1 -0
- package/singlestore-core/expressions.cjs +49 -0
- package/singlestore-core/expressions.cjs.map +1 -0
- package/singlestore-core/expressions.d.cts +8 -0
- package/singlestore-core/expressions.d.ts +8 -0
- package/singlestore-core/expressions.js +22 -0
- package/singlestore-core/expressions.js.map +1 -0
- package/singlestore-core/index.cjs +47 -0
- package/singlestore-core/index.cjs.map +1 -0
- package/singlestore-core/index.d.cts +13 -0
- package/singlestore-core/index.d.ts +13 -0
- package/singlestore-core/index.js +14 -0
- package/singlestore-core/index.js.map +1 -0
- package/singlestore-core/indexes.cjs +88 -0
- package/singlestore-core/indexes.cjs.map +1 -0
- package/singlestore-core/indexes.d.cts +62 -0
- package/singlestore-core/indexes.d.ts +62 -0
- package/singlestore-core/indexes.js +60 -0
- package/singlestore-core/indexes.js.map +1 -0
- package/singlestore-core/primary-keys.cjs +68 -0
- package/singlestore-core/primary-keys.cjs.map +1 -0
- package/singlestore-core/primary-keys.d.cts +30 -0
- package/singlestore-core/primary-keys.d.ts +30 -0
- package/singlestore-core/primary-keys.js +42 -0
- package/singlestore-core/primary-keys.js.map +1 -0
- package/singlestore-core/query-builders/count.cjs +73 -0
- package/singlestore-core/query-builders/count.cjs.map +1 -0
- package/singlestore-core/query-builders/count.d.cts +25 -0
- package/singlestore-core/query-builders/count.d.ts +25 -0
- package/singlestore-core/query-builders/count.js +49 -0
- package/singlestore-core/query-builders/count.js.map +1 -0
- package/singlestore-core/query-builders/delete.cjs +123 -0
- package/singlestore-core/query-builders/delete.cjs.map +1 -0
- package/singlestore-core/query-builders/delete.d.cts +83 -0
- package/singlestore-core/query-builders/delete.d.ts +83 -0
- package/singlestore-core/query-builders/delete.js +99 -0
- package/singlestore-core/query-builders/delete.js.map +1 -0
- package/singlestore-core/query-builders/index.cjs +33 -0
- package/singlestore-core/query-builders/index.cjs.map +1 -0
- package/singlestore-core/query-builders/index.d.cts +6 -0
- package/singlestore-core/query-builders/index.d.ts +6 -0
- package/singlestore-core/query-builders/index.js +7 -0
- package/singlestore-core/query-builders/index.js.map +1 -0
- package/singlestore-core/query-builders/insert.cjs +146 -0
- package/singlestore-core/query-builders/insert.cjs.map +1 -0
- package/singlestore-core/query-builders/insert.d.cts +106 -0
- package/singlestore-core/query-builders/insert.d.ts +106 -0
- package/singlestore-core/query-builders/insert.js +121 -0
- package/singlestore-core/query-builders/insert.js.map +1 -0
- package/singlestore-core/query-builders/query-builder.cjs +99 -0
- package/singlestore-core/query-builders/query-builder.cjs.map +1 -0
- package/singlestore-core/query-builders/query-builder.d.cts +33 -0
- package/singlestore-core/query-builders/query-builder.d.ts +33 -0
- package/singlestore-core/query-builders/query-builder.js +75 -0
- package/singlestore-core/query-builders/query-builder.js.map +1 -0
- package/singlestore-core/query-builders/query.cjs +126 -0
- package/singlestore-core/query-builders/query.cjs.map +1 -0
- package/singlestore-core/query-builders/query.d.cts +42 -0
- package/singlestore-core/query-builders/query.d.ts +42 -0
- package/singlestore-core/query-builders/query.js +103 -0
- package/singlestore-core/query-builders/query.js.map +1 -0
- package/singlestore-core/query-builders/select.cjs +687 -0
- package/singlestore-core/query-builders/select.cjs.map +1 -0
- package/singlestore-core/query-builders/select.d.cts +585 -0
- package/singlestore-core/query-builders/select.d.ts +585 -0
- package/singlestore-core/query-builders/select.js +662 -0
- package/singlestore-core/query-builders/select.js.map +1 -0
- package/singlestore-core/query-builders/select.types.cjs +17 -0
- package/singlestore-core/query-builders/select.types.cjs.map +1 -0
- package/singlestore-core/query-builders/select.types.d.cts +137 -0
- package/singlestore-core/query-builders/select.types.d.ts +137 -0
- package/singlestore-core/query-builders/select.types.js +1 -0
- package/singlestore-core/query-builders/select.types.js.map +1 -0
- package/singlestore-core/query-builders/update.cjs +147 -0
- package/singlestore-core/query-builders/update.cjs.map +1 -0
- package/singlestore-core/query-builders/update.d.cts +102 -0
- package/singlestore-core/query-builders/update.d.ts +102 -0
- package/singlestore-core/query-builders/update.js +122 -0
- package/singlestore-core/query-builders/update.js.map +1 -0
- package/singlestore-core/schema.cjs +56 -0
- package/singlestore-core/schema.cjs.map +1 -0
- package/singlestore-core/schema.d.cts +22 -0
- package/singlestore-core/schema.d.ts +22 -0
- package/singlestore-core/schema.js +29 -0
- package/singlestore-core/schema.js.map +1 -0
- package/singlestore-core/session.cjs +87 -0
- package/singlestore-core/session.cjs.map +1 -0
- package/singlestore-core/session.d.cts +66 -0
- package/singlestore-core/session.d.ts +66 -0
- package/singlestore-core/session.js +61 -0
- package/singlestore-core/session.js.map +1 -0
- package/singlestore-core/subquery.cjs +17 -0
- package/singlestore-core/subquery.cjs.map +1 -0
- package/singlestore-core/subquery.d.cts +5 -0
- package/singlestore-core/subquery.d.ts +5 -0
- package/singlestore-core/subquery.js +1 -0
- package/singlestore-core/subquery.js.map +1 -0
- package/singlestore-core/table.cjs +73 -0
- package/singlestore-core/table.cjs.map +1 -0
- package/singlestore-core/table.d.cts +40 -0
- package/singlestore-core/table.d.ts +40 -0
- package/singlestore-core/table.js +46 -0
- package/singlestore-core/table.js.map +1 -0
- package/singlestore-core/unique-constraint.cjs +82 -0
- package/singlestore-core/unique-constraint.cjs.map +1 -0
- package/singlestore-core/unique-constraint.d.cts +24 -0
- package/singlestore-core/unique-constraint.d.ts +24 -0
- package/singlestore-core/unique-constraint.js +54 -0
- package/singlestore-core/unique-constraint.js.map +1 -0
- package/singlestore-core/utils.cjs +65 -0
- package/singlestore-core/utils.cjs.map +1 -0
- package/singlestore-core/utils.d.cts +13 -0
- package/singlestore-core/utils.d.ts +13 -0
- package/singlestore-core/utils.js +41 -0
- package/singlestore-core/utils.js.map +1 -0
- package/singlestore-core/view-base.cjs +33 -0
- package/singlestore-core/view-base.cjs.map +1 -0
- package/singlestore-core/view-base.d.cts +9 -0
- package/singlestore-core/view-base.d.ts +9 -0
- package/singlestore-core/view-base.js +9 -0
- package/singlestore-core/view-base.js.map +1 -0
- package/singlestore-core/view-common.cjs +29 -0
- package/singlestore-core/view-common.cjs.map +1 -0
- package/singlestore-core/view-common.d.cts +1 -0
- package/singlestore-core/view-common.d.ts +1 -0
- package/singlestore-core/view-common.js +5 -0
- package/singlestore-core/view-common.js.map +1 -0
- package/singlestore-core/view.cjs +146 -0
- package/singlestore-core/view.cjs.map +1 -0
- package/singlestore-core/view.d.cts +65 -0
- package/singlestore-core/view.d.ts +65 -0
- package/singlestore-core/view.js +119 -0
- package/singlestore-core/view.js.map +1 -0
- package/singlestore-proxy/driver.cjs +62 -0
- package/singlestore-proxy/driver.cjs.map +1 -0
- package/singlestore-proxy/driver.d.cts +13 -0
- package/singlestore-proxy/driver.d.ts +13 -0
- package/singlestore-proxy/driver.js +42 -0
- package/singlestore-proxy/driver.js.map +1 -0
- package/singlestore-proxy/index.cjs +25 -0
- package/singlestore-proxy/index.cjs.map +1 -0
- package/singlestore-proxy/index.d.cts +2 -0
- package/singlestore-proxy/index.d.ts +2 -0
- package/singlestore-proxy/index.js +3 -0
- package/singlestore-proxy/index.js.map +1 -0
- package/singlestore-proxy/migrator.cjs +60 -0
- package/singlestore-proxy/migrator.cjs.map +1 -0
- package/singlestore-proxy/migrator.d.cts +4 -0
- package/singlestore-proxy/migrator.d.ts +4 -0
- package/singlestore-proxy/migrator.js +36 -0
- package/singlestore-proxy/migrator.js.map +1 -0
- package/singlestore-proxy/session.cjs +127 -0
- package/singlestore-proxy/session.cjs.map +1 -0
- package/singlestore-proxy/session.d.cts +50 -0
- package/singlestore-proxy/session.d.ts +50 -0
- package/singlestore-proxy/session.js +101 -0
- package/singlestore-proxy/session.js.map +1 -0
- package/sqlite-core/columns/blob.cjs +16 -2
- package/sqlite-core/columns/blob.cjs.map +1 -1
- package/sqlite-core/columns/blob.d.cts +2 -2
- package/sqlite-core/columns/blob.d.ts +2 -2
- package/sqlite-core/columns/blob.js +16 -2
- package/sqlite-core/columns/blob.js.map +1 -1
- package/supabase/rls.d.cts +11 -0
- package/supabase/rls.d.ts +11 -0
- package/table.cjs.map +1 -1
- package/table.d.cts +5 -1
- package/table.d.ts +5 -1
- package/table.js.map +1 -1
- package/tidb-serverless/driver.cjs.map +1 -1
- package/tidb-serverless/driver.d.cts +3 -5
- package/tidb-serverless/driver.d.ts +3 -5
- package/tidb-serverless/driver.js.map +1 -1
- package/utils.cjs.map +1 -1
- package/utils.d.cts +1 -0
- package/utils.d.ts +1 -0
- package/utils.js.map +1 -1
- package/vercel-postgres/driver.cjs.map +1 -1
- package/vercel-postgres/driver.d.cts +4 -7
- package/vercel-postgres/driver.d.ts +4 -7
- package/vercel-postgres/driver.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
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import type { FieldPacket, ResultSetHeader } from 'mysql2/promise';
|
|
2
|
+
import { entityKind } from "../entity.cjs";
|
|
3
|
+
import type { Logger } from "../logger.cjs";
|
|
4
|
+
import type { RelationalSchemaConfig, TablesRelationalConfig } from "../relations.cjs";
|
|
5
|
+
import type { SingleStoreDialect } from "../singlestore-core/dialect.cjs";
|
|
6
|
+
import { SingleStoreTransaction } from "../singlestore-core/index.cjs";
|
|
7
|
+
import type { SelectedFieldsOrdered } from "../singlestore-core/query-builders/select.types.cjs";
|
|
8
|
+
import type { PreparedQueryKind, SingleStorePreparedQueryConfig, SingleStorePreparedQueryHKT, SingleStoreQueryResultHKT, SingleStoreTransactionConfig } from "../singlestore-core/session.cjs";
|
|
9
|
+
import { SingleStorePreparedQuery as PreparedQueryBase, SingleStoreSession } from "../singlestore-core/session.cjs";
|
|
10
|
+
import type { Query, SQL } from "../sql/sql.cjs";
|
|
11
|
+
import { type Assume } from "../utils.cjs";
|
|
12
|
+
import type { RemoteCallback } from "./driver.cjs";
|
|
13
|
+
export type SingleStoreRawQueryResult = [ResultSetHeader, FieldPacket[]];
|
|
14
|
+
export interface SingleStoreRemoteSessionOptions {
|
|
15
|
+
logger?: Logger;
|
|
16
|
+
}
|
|
17
|
+
export declare class SingleStoreRemoteSession<TFullSchema extends Record<string, unknown>, TSchema extends TablesRelationalConfig> extends SingleStoreSession<SingleStoreRemoteQueryResultHKT, SingleStoreRemotePreparedQueryHKT, TFullSchema, TSchema> {
|
|
18
|
+
private client;
|
|
19
|
+
private schema;
|
|
20
|
+
static readonly [entityKind]: string;
|
|
21
|
+
private logger;
|
|
22
|
+
constructor(client: RemoteCallback, dialect: SingleStoreDialect, schema: RelationalSchemaConfig<TSchema> | undefined, options: SingleStoreRemoteSessionOptions);
|
|
23
|
+
prepareQuery<T extends SingleStorePreparedQueryConfig>(query: Query, fields: SelectedFieldsOrdered | undefined, customResultMapper?: (rows: unknown[][]) => T['execute'], generatedIds?: Record<string, unknown>[], returningIds?: SelectedFieldsOrdered): PreparedQueryKind<SingleStoreRemotePreparedQueryHKT, T>;
|
|
24
|
+
all<T = unknown>(query: SQL): Promise<T[]>;
|
|
25
|
+
transaction<T>(_transaction: (tx: SingleStoreProxyTransaction<TFullSchema, TSchema>) => Promise<T>, _config?: SingleStoreTransactionConfig): Promise<T>;
|
|
26
|
+
}
|
|
27
|
+
export declare class SingleStoreProxyTransaction<TFullSchema extends Record<string, unknown>, TSchema extends TablesRelationalConfig> extends SingleStoreTransaction<SingleStoreRemoteQueryResultHKT, SingleStoreRemotePreparedQueryHKT, TFullSchema, TSchema> {
|
|
28
|
+
static readonly [entityKind]: string;
|
|
29
|
+
transaction<T>(_transaction: (tx: SingleStoreProxyTransaction<TFullSchema, TSchema>) => Promise<T>): Promise<T>;
|
|
30
|
+
}
|
|
31
|
+
export declare class PreparedQuery<T extends SingleStorePreparedQueryConfig> extends PreparedQueryBase<T> {
|
|
32
|
+
private client;
|
|
33
|
+
private queryString;
|
|
34
|
+
private params;
|
|
35
|
+
private logger;
|
|
36
|
+
private fields;
|
|
37
|
+
private customResultMapper?;
|
|
38
|
+
private generatedIds?;
|
|
39
|
+
private returningIds?;
|
|
40
|
+
static readonly [entityKind]: string;
|
|
41
|
+
constructor(client: RemoteCallback, queryString: string, params: unknown[], logger: Logger, fields: SelectedFieldsOrdered | undefined, customResultMapper?: ((rows: unknown[][]) => T["execute"]) | undefined, generatedIds?: Record<string, unknown>[] | undefined, returningIds?: SelectedFieldsOrdered | undefined);
|
|
42
|
+
execute(placeholderValues?: Record<string, unknown> | undefined): Promise<T['execute']>;
|
|
43
|
+
iterator(_placeholderValues?: Record<string, unknown>): AsyncGenerator<T['iterator']>;
|
|
44
|
+
}
|
|
45
|
+
export interface SingleStoreRemoteQueryResultHKT extends SingleStoreQueryResultHKT {
|
|
46
|
+
type: SingleStoreRawQueryResult;
|
|
47
|
+
}
|
|
48
|
+
export interface SingleStoreRemotePreparedQueryHKT extends SingleStorePreparedQueryHKT {
|
|
49
|
+
type: PreparedQuery<Assume<this['config'], SingleStorePreparedQueryConfig>>;
|
|
50
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import type { FieldPacket, ResultSetHeader } from 'mysql2/promise';
|
|
2
|
+
import { entityKind } from "../entity.js";
|
|
3
|
+
import type { Logger } from "../logger.js";
|
|
4
|
+
import type { RelationalSchemaConfig, TablesRelationalConfig } from "../relations.js";
|
|
5
|
+
import type { SingleStoreDialect } from "../singlestore-core/dialect.js";
|
|
6
|
+
import { SingleStoreTransaction } from "../singlestore-core/index.js";
|
|
7
|
+
import type { SelectedFieldsOrdered } from "../singlestore-core/query-builders/select.types.js";
|
|
8
|
+
import type { PreparedQueryKind, SingleStorePreparedQueryConfig, SingleStorePreparedQueryHKT, SingleStoreQueryResultHKT, SingleStoreTransactionConfig } from "../singlestore-core/session.js";
|
|
9
|
+
import { SingleStorePreparedQuery as PreparedQueryBase, SingleStoreSession } from "../singlestore-core/session.js";
|
|
10
|
+
import type { Query, SQL } from "../sql/sql.js";
|
|
11
|
+
import { type Assume } from "../utils.js";
|
|
12
|
+
import type { RemoteCallback } from "./driver.js";
|
|
13
|
+
export type SingleStoreRawQueryResult = [ResultSetHeader, FieldPacket[]];
|
|
14
|
+
export interface SingleStoreRemoteSessionOptions {
|
|
15
|
+
logger?: Logger;
|
|
16
|
+
}
|
|
17
|
+
export declare class SingleStoreRemoteSession<TFullSchema extends Record<string, unknown>, TSchema extends TablesRelationalConfig> extends SingleStoreSession<SingleStoreRemoteQueryResultHKT, SingleStoreRemotePreparedQueryHKT, TFullSchema, TSchema> {
|
|
18
|
+
private client;
|
|
19
|
+
private schema;
|
|
20
|
+
static readonly [entityKind]: string;
|
|
21
|
+
private logger;
|
|
22
|
+
constructor(client: RemoteCallback, dialect: SingleStoreDialect, schema: RelationalSchemaConfig<TSchema> | undefined, options: SingleStoreRemoteSessionOptions);
|
|
23
|
+
prepareQuery<T extends SingleStorePreparedQueryConfig>(query: Query, fields: SelectedFieldsOrdered | undefined, customResultMapper?: (rows: unknown[][]) => T['execute'], generatedIds?: Record<string, unknown>[], returningIds?: SelectedFieldsOrdered): PreparedQueryKind<SingleStoreRemotePreparedQueryHKT, T>;
|
|
24
|
+
all<T = unknown>(query: SQL): Promise<T[]>;
|
|
25
|
+
transaction<T>(_transaction: (tx: SingleStoreProxyTransaction<TFullSchema, TSchema>) => Promise<T>, _config?: SingleStoreTransactionConfig): Promise<T>;
|
|
26
|
+
}
|
|
27
|
+
export declare class SingleStoreProxyTransaction<TFullSchema extends Record<string, unknown>, TSchema extends TablesRelationalConfig> extends SingleStoreTransaction<SingleStoreRemoteQueryResultHKT, SingleStoreRemotePreparedQueryHKT, TFullSchema, TSchema> {
|
|
28
|
+
static readonly [entityKind]: string;
|
|
29
|
+
transaction<T>(_transaction: (tx: SingleStoreProxyTransaction<TFullSchema, TSchema>) => Promise<T>): Promise<T>;
|
|
30
|
+
}
|
|
31
|
+
export declare class PreparedQuery<T extends SingleStorePreparedQueryConfig> extends PreparedQueryBase<T> {
|
|
32
|
+
private client;
|
|
33
|
+
private queryString;
|
|
34
|
+
private params;
|
|
35
|
+
private logger;
|
|
36
|
+
private fields;
|
|
37
|
+
private customResultMapper?;
|
|
38
|
+
private generatedIds?;
|
|
39
|
+
private returningIds?;
|
|
40
|
+
static readonly [entityKind]: string;
|
|
41
|
+
constructor(client: RemoteCallback, queryString: string, params: unknown[], logger: Logger, fields: SelectedFieldsOrdered | undefined, customResultMapper?: ((rows: unknown[][]) => T["execute"]) | undefined, generatedIds?: Record<string, unknown>[] | undefined, returningIds?: SelectedFieldsOrdered | undefined);
|
|
42
|
+
execute(placeholderValues?: Record<string, unknown> | undefined): Promise<T['execute']>;
|
|
43
|
+
iterator(_placeholderValues?: Record<string, unknown>): AsyncGenerator<T['iterator']>;
|
|
44
|
+
}
|
|
45
|
+
export interface SingleStoreRemoteQueryResultHKT extends SingleStoreQueryResultHKT {
|
|
46
|
+
type: SingleStoreRawQueryResult;
|
|
47
|
+
}
|
|
48
|
+
export interface SingleStoreRemotePreparedQueryHKT extends SingleStorePreparedQueryHKT {
|
|
49
|
+
type: PreparedQuery<Assume<this['config'], SingleStorePreparedQueryConfig>>;
|
|
50
|
+
}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { Column } from "../column.js";
|
|
2
|
+
import { entityKind, is } from "../entity.js";
|
|
3
|
+
import { NoopLogger } from "../logger.js";
|
|
4
|
+
import { SingleStoreTransaction } from "../singlestore-core/index.js";
|
|
5
|
+
import { SingleStorePreparedQuery as PreparedQueryBase, SingleStoreSession } from "../singlestore-core/session.js";
|
|
6
|
+
import { fillPlaceholders } from "../sql/sql.js";
|
|
7
|
+
import { mapResultRow } from "../utils.js";
|
|
8
|
+
class SingleStoreRemoteSession extends SingleStoreSession {
|
|
9
|
+
constructor(client, dialect, schema, options) {
|
|
10
|
+
super(dialect);
|
|
11
|
+
this.client = client;
|
|
12
|
+
this.schema = schema;
|
|
13
|
+
this.logger = options.logger ?? new NoopLogger();
|
|
14
|
+
}
|
|
15
|
+
static [entityKind] = "SingleStoreRemoteSession";
|
|
16
|
+
logger;
|
|
17
|
+
prepareQuery(query, fields, customResultMapper, generatedIds, returningIds) {
|
|
18
|
+
return new PreparedQuery(
|
|
19
|
+
this.client,
|
|
20
|
+
query.sql,
|
|
21
|
+
query.params,
|
|
22
|
+
this.logger,
|
|
23
|
+
fields,
|
|
24
|
+
customResultMapper,
|
|
25
|
+
generatedIds,
|
|
26
|
+
returningIds
|
|
27
|
+
);
|
|
28
|
+
}
|
|
29
|
+
all(query) {
|
|
30
|
+
const querySql = this.dialect.sqlToQuery(query);
|
|
31
|
+
this.logger.logQuery(querySql.sql, querySql.params);
|
|
32
|
+
return this.client(querySql.sql, querySql.params, "all").then(({ rows }) => rows);
|
|
33
|
+
}
|
|
34
|
+
async transaction(_transaction, _config) {
|
|
35
|
+
throw new Error("Transactions are not supported by the SingleStore Proxy driver");
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
class SingleStoreProxyTransaction extends SingleStoreTransaction {
|
|
39
|
+
static [entityKind] = "SingleStoreProxyTransaction";
|
|
40
|
+
async transaction(_transaction) {
|
|
41
|
+
throw new Error("Transactions are not supported by the SingleStore Proxy driver");
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
class PreparedQuery extends PreparedQueryBase {
|
|
45
|
+
constructor(client, queryString, params, logger, fields, customResultMapper, generatedIds, returningIds) {
|
|
46
|
+
super();
|
|
47
|
+
this.client = client;
|
|
48
|
+
this.queryString = queryString;
|
|
49
|
+
this.params = params;
|
|
50
|
+
this.logger = logger;
|
|
51
|
+
this.fields = fields;
|
|
52
|
+
this.customResultMapper = customResultMapper;
|
|
53
|
+
this.generatedIds = generatedIds;
|
|
54
|
+
this.returningIds = returningIds;
|
|
55
|
+
}
|
|
56
|
+
static [entityKind] = "SingleStoreProxyPreparedQuery";
|
|
57
|
+
async execute(placeholderValues = {}) {
|
|
58
|
+
const params = fillPlaceholders(this.params, placeholderValues);
|
|
59
|
+
const { fields, client, queryString, logger, joinsNotNullableMap, customResultMapper, returningIds, generatedIds } = this;
|
|
60
|
+
logger.logQuery(queryString, params);
|
|
61
|
+
if (!fields && !customResultMapper) {
|
|
62
|
+
const { rows: data } = await client(queryString, params, "execute");
|
|
63
|
+
const insertId = data[0].insertId;
|
|
64
|
+
const affectedRows = data[0].affectedRows;
|
|
65
|
+
if (returningIds) {
|
|
66
|
+
const returningResponse = [];
|
|
67
|
+
let j = 0;
|
|
68
|
+
for (let i = insertId; i < insertId + affectedRows; i++) {
|
|
69
|
+
for (const column of returningIds) {
|
|
70
|
+
const key = returningIds[0].path[0];
|
|
71
|
+
if (is(column.field, Column)) {
|
|
72
|
+
if (column.field.primary && column.field.autoIncrement) {
|
|
73
|
+
returningResponse.push({ [key]: i });
|
|
74
|
+
}
|
|
75
|
+
if (column.field.defaultFn && generatedIds) {
|
|
76
|
+
returningResponse.push({ [key]: generatedIds[j][key] });
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
j++;
|
|
81
|
+
}
|
|
82
|
+
return returningResponse;
|
|
83
|
+
}
|
|
84
|
+
return data;
|
|
85
|
+
}
|
|
86
|
+
const { rows } = await client(queryString, params, "all");
|
|
87
|
+
if (customResultMapper) {
|
|
88
|
+
return customResultMapper(rows);
|
|
89
|
+
}
|
|
90
|
+
return rows.map((row) => mapResultRow(fields, row, joinsNotNullableMap));
|
|
91
|
+
}
|
|
92
|
+
iterator(_placeholderValues = {}) {
|
|
93
|
+
throw new Error("Streaming is not supported by the SingleStore Proxy driver");
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
export {
|
|
97
|
+
PreparedQuery,
|
|
98
|
+
SingleStoreProxyTransaction,
|
|
99
|
+
SingleStoreRemoteSession
|
|
100
|
+
};
|
|
101
|
+
//# sourceMappingURL=session.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/singlestore-proxy/session.ts"],"sourcesContent":["import type { FieldPacket, ResultSetHeader } from 'mysql2/promise';\nimport { Column } from '~/column.ts';\nimport { entityKind, is } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { NoopLogger } from '~/logger.ts';\nimport type { RelationalSchemaConfig, TablesRelationalConfig } from '~/relations.ts';\nimport type { SingleStoreDialect } from '~/singlestore-core/dialect.ts';\nimport { SingleStoreTransaction } from '~/singlestore-core/index.ts';\nimport type { SelectedFieldsOrdered } from '~/singlestore-core/query-builders/select.types.ts';\nimport type {\n\tPreparedQueryKind,\n\tSingleStorePreparedQueryConfig,\n\tSingleStorePreparedQueryHKT,\n\tSingleStoreQueryResultHKT,\n\tSingleStoreTransactionConfig,\n} from '~/singlestore-core/session.ts';\nimport { SingleStorePreparedQuery as PreparedQueryBase, SingleStoreSession } from '~/singlestore-core/session.ts';\nimport type { Query, SQL } from '~/sql/sql.ts';\nimport { fillPlaceholders } from '~/sql/sql.ts';\nimport { type Assume, mapResultRow } from '~/utils.ts';\nimport type { RemoteCallback } from './driver.ts';\n\nexport type SingleStoreRawQueryResult = [ResultSetHeader, FieldPacket[]];\n\nexport interface SingleStoreRemoteSessionOptions {\n\tlogger?: Logger;\n}\n\nexport class SingleStoreRemoteSession<\n\tTFullSchema extends Record<string, unknown>,\n\tTSchema extends TablesRelationalConfig,\n> extends SingleStoreSession<SingleStoreRemoteQueryResultHKT, SingleStoreRemotePreparedQueryHKT, TFullSchema, TSchema> {\n\tstatic override readonly [entityKind]: string = 'SingleStoreRemoteSession';\n\n\tprivate logger: Logger;\n\n\tconstructor(\n\t\tprivate client: RemoteCallback,\n\t\tdialect: SingleStoreDialect,\n\t\tprivate schema: RelationalSchemaConfig<TSchema> | undefined,\n\t\toptions: SingleStoreRemoteSessionOptions,\n\t) {\n\t\tsuper(dialect);\n\t\tthis.logger = options.logger ?? new NoopLogger();\n\t}\n\n\tprepareQuery<T extends SingleStorePreparedQueryConfig>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\tcustomResultMapper?: (rows: unknown[][]) => T['execute'],\n\t\tgeneratedIds?: Record<string, unknown>[],\n\t\treturningIds?: SelectedFieldsOrdered,\n\t): PreparedQueryKind<SingleStoreRemotePreparedQueryHKT, T> {\n\t\treturn new PreparedQuery(\n\t\t\tthis.client,\n\t\t\tquery.sql,\n\t\t\tquery.params,\n\t\t\tthis.logger,\n\t\t\tfields,\n\t\t\tcustomResultMapper,\n\t\t\tgeneratedIds,\n\t\t\treturningIds,\n\t\t) as PreparedQueryKind<SingleStoreRemotePreparedQueryHKT, T>;\n\t}\n\n\toverride all<T = unknown>(query: SQL): Promise<T[]> {\n\t\tconst querySql = this.dialect.sqlToQuery(query);\n\t\tthis.logger.logQuery(querySql.sql, querySql.params);\n\t\treturn this.client(querySql.sql, querySql.params, 'all').then(({ rows }) => rows) as Promise<T[]>;\n\t}\n\n\toverride async transaction<T>(\n\t\t_transaction: (tx: SingleStoreProxyTransaction<TFullSchema, TSchema>) => Promise<T>,\n\t\t_config?: SingleStoreTransactionConfig,\n\t): Promise<T> {\n\t\tthrow new Error('Transactions are not supported by the SingleStore Proxy driver');\n\t}\n}\n\nexport class SingleStoreProxyTransaction<\n\tTFullSchema extends Record<string, unknown>,\n\tTSchema extends TablesRelationalConfig,\n> extends SingleStoreTransaction<\n\tSingleStoreRemoteQueryResultHKT,\n\tSingleStoreRemotePreparedQueryHKT,\n\tTFullSchema,\n\tTSchema\n> {\n\tstatic override readonly [entityKind]: string = 'SingleStoreProxyTransaction';\n\n\toverride async transaction<T>(\n\t\t_transaction: (tx: SingleStoreProxyTransaction<TFullSchema, TSchema>) => Promise<T>,\n\t): Promise<T> {\n\t\tthrow new Error('Transactions are not supported by the SingleStore Proxy driver');\n\t}\n}\n\nexport class PreparedQuery<T extends SingleStorePreparedQueryConfig> extends PreparedQueryBase<T> {\n\tstatic override readonly [entityKind]: string = 'SingleStoreProxyPreparedQuery';\n\n\tconstructor(\n\t\tprivate client: RemoteCallback,\n\t\tprivate queryString: string,\n\t\tprivate params: unknown[],\n\t\tprivate logger: Logger,\n\t\tprivate fields: SelectedFieldsOrdered | undefined,\n\t\tprivate customResultMapper?: (rows: unknown[][]) => T['execute'],\n\t\t// Keys that were used in $default and the value that was generated for them\n\t\tprivate generatedIds?: Record<string, unknown>[],\n\t\t// Keys that should be returned, it has the column with all properries + key from object\n\t\tprivate returningIds?: SelectedFieldsOrdered,\n\t) {\n\t\tsuper();\n\t}\n\n\tasync execute(placeholderValues: Record<string, unknown> | undefined = {}): Promise<T['execute']> {\n\t\tconst params = fillPlaceholders(this.params, placeholderValues);\n\n\t\tconst { fields, client, queryString, logger, joinsNotNullableMap, customResultMapper, returningIds, generatedIds } =\n\t\t\tthis;\n\n\t\tlogger.logQuery(queryString, params);\n\n\t\tif (!fields && !customResultMapper) {\n\t\t\tconst { rows: data } = await client(queryString, params, 'execute');\n\n\t\t\tconst insertId = data[0].insertId as number;\n\t\t\tconst affectedRows = data[0].affectedRows;\n\n\t\t\tif (returningIds) {\n\t\t\t\tconst returningResponse = [];\n\t\t\t\tlet j = 0;\n\t\t\t\tfor (let i = insertId; i < insertId + affectedRows; i++) {\n\t\t\t\t\tfor (const column of returningIds) {\n\t\t\t\t\t\tconst key = returningIds[0]!.path[0]!;\n\t\t\t\t\t\tif (is(column.field, Column)) {\n\t\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\t\tif (column.field.primary && column.field.autoIncrement) {\n\t\t\t\t\t\t\t\treturningResponse.push({ [key]: i });\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (column.field.defaultFn && generatedIds) {\n\t\t\t\t\t\t\t\t// generatedIds[rowIdx][key]\n\t\t\t\t\t\t\t\treturningResponse.push({ [key]: generatedIds[j]![key] });\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tj++;\n\t\t\t\t}\n\n\t\t\t\treturn returningResponse;\n\t\t\t}\n\n\t\t\treturn data;\n\t\t}\n\n\t\tconst { rows } = await client(queryString, params, 'all');\n\n\t\tif (customResultMapper) {\n\t\t\treturn customResultMapper(rows);\n\t\t}\n\n\t\treturn rows.map((row) => mapResultRow<T['execute']>(fields!, row, joinsNotNullableMap));\n\t}\n\n\toverride iterator(\n\t\t_placeholderValues: Record<string, unknown> = {},\n\t): AsyncGenerator<T['iterator']> {\n\t\tthrow new Error('Streaming is not supported by the SingleStore Proxy driver');\n\t}\n}\n\nexport interface SingleStoreRemoteQueryResultHKT extends SingleStoreQueryResultHKT {\n\ttype: SingleStoreRawQueryResult;\n}\n\nexport interface SingleStoreRemotePreparedQueryHKT extends SingleStorePreparedQueryHKT {\n\ttype: PreparedQuery<Assume<this['config'], SingleStorePreparedQueryConfig>>;\n}\n"],"mappings":"AACA,SAAS,cAAc;AACvB,SAAS,YAAY,UAAU;AAE/B,SAAS,kBAAkB;AAG3B,SAAS,8BAA8B;AASvC,SAAS,4BAA4B,mBAAmB,0BAA0B;AAElF,SAAS,wBAAwB;AACjC,SAAsB,oBAAoB;AASnC,MAAM,iCAGH,mBAA6G;AAAA,EAKtH,YACS,QACR,SACQ,QACR,SACC;AACD,UAAM,OAAO;AALL;AAEA;AAIR,SAAK,SAAS,QAAQ,UAAU,IAAI,WAAW;AAAA,EAChD;AAAA,EAZA,QAA0B,UAAU,IAAY;AAAA,EAExC;AAAA,EAYR,aACC,OACA,QACA,oBACA,cACA,cAC0D;AAC1D,WAAO,IAAI;AAAA,MACV,KAAK;AAAA,MACL,MAAM;AAAA,MACN,MAAM;AAAA,MACN,KAAK;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,EACD;AAAA,EAES,IAAiB,OAA0B;AACnD,UAAM,WAAW,KAAK,QAAQ,WAAW,KAAK;AAC9C,SAAK,OAAO,SAAS,SAAS,KAAK,SAAS,MAAM;AAClD,WAAO,KAAK,OAAO,SAAS,KAAK,SAAS,QAAQ,KAAK,EAAE,KAAK,CAAC,EAAE,KAAK,MAAM,IAAI;AAAA,EACjF;AAAA,EAEA,MAAe,YACd,cACA,SACa;AACb,UAAM,IAAI,MAAM,gEAAgE;AAAA,EACjF;AACD;AAEO,MAAM,oCAGH,uBAKR;AAAA,EACD,QAA0B,UAAU,IAAY;AAAA,EAEhD,MAAe,YACd,cACa;AACb,UAAM,IAAI,MAAM,gEAAgE;AAAA,EACjF;AACD;AAEO,MAAM,sBAAgE,kBAAqB;AAAA,EAGjG,YACS,QACA,aACA,QACA,QACA,QACA,oBAEA,cAEA,cACP;AACD,UAAM;AAXE;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AAAA,EAGT;AAAA,EAfA,QAA0B,UAAU,IAAY;AAAA,EAiBhD,MAAM,QAAQ,oBAAyD,CAAC,GAA0B;AACjG,UAAM,SAAS,iBAAiB,KAAK,QAAQ,iBAAiB;AAE9D,UAAM,EAAE,QAAQ,QAAQ,aAAa,QAAQ,qBAAqB,oBAAoB,cAAc,aAAa,IAChH;AAED,WAAO,SAAS,aAAa,MAAM;AAEnC,QAAI,CAAC,UAAU,CAAC,oBAAoB;AACnC,YAAM,EAAE,MAAM,KAAK,IAAI,MAAM,OAAO,aAAa,QAAQ,SAAS;AAElE,YAAM,WAAW,KAAK,CAAC,EAAE;AACzB,YAAM,eAAe,KAAK,CAAC,EAAE;AAE7B,UAAI,cAAc;AACjB,cAAM,oBAAoB,CAAC;AAC3B,YAAI,IAAI;AACR,iBAAS,IAAI,UAAU,IAAI,WAAW,cAAc,KAAK;AACxD,qBAAW,UAAU,cAAc;AAClC,kBAAM,MAAM,aAAa,CAAC,EAAG,KAAK,CAAC;AACnC,gBAAI,GAAG,OAAO,OAAO,MAAM,GAAG;AAE7B,kBAAI,OAAO,MAAM,WAAW,OAAO,MAAM,eAAe;AACvD,kCAAkB,KAAK,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC;AAAA,cACpC;AACA,kBAAI,OAAO,MAAM,aAAa,cAAc;AAE3C,kCAAkB,KAAK,EAAE,CAAC,GAAG,GAAG,aAAa,CAAC,EAAG,GAAG,EAAE,CAAC;AAAA,cACxD;AAAA,YACD;AAAA,UACD;AACA;AAAA,QACD;AAEA,eAAO;AAAA,MACR;AAEA,aAAO;AAAA,IACR;AAEA,UAAM,EAAE,KAAK,IAAI,MAAM,OAAO,aAAa,QAAQ,KAAK;AAExD,QAAI,oBAAoB;AACvB,aAAO,mBAAmB,IAAI;AAAA,IAC/B;AAEA,WAAO,KAAK,IAAI,CAAC,QAAQ,aAA2B,QAAS,KAAK,mBAAmB,CAAC;AAAA,EACvF;AAAA,EAES,SACR,qBAA8C,CAAC,GACf;AAChC,UAAM,IAAI,MAAM,4DAA4D;AAAA,EAC7E;AACD;","names":[]}
|
|
@@ -46,7 +46,14 @@ class SQLiteBigInt extends import_common.SQLiteColumn {
|
|
|
46
46
|
return "blob";
|
|
47
47
|
}
|
|
48
48
|
mapFromDriverValue(value) {
|
|
49
|
-
|
|
49
|
+
if (Buffer.isBuffer(value)) {
|
|
50
|
+
return BigInt(value.toString());
|
|
51
|
+
}
|
|
52
|
+
if (value instanceof ArrayBuffer) {
|
|
53
|
+
const decoder = new TextDecoder();
|
|
54
|
+
return BigInt(decoder.decode(value));
|
|
55
|
+
}
|
|
56
|
+
return BigInt(String.fromCodePoint(...value));
|
|
50
57
|
}
|
|
51
58
|
mapToDriverValue(value) {
|
|
52
59
|
return Buffer.from(value.toString());
|
|
@@ -71,7 +78,14 @@ class SQLiteBlobJson extends import_common.SQLiteColumn {
|
|
|
71
78
|
return "blob";
|
|
72
79
|
}
|
|
73
80
|
mapFromDriverValue(value) {
|
|
74
|
-
|
|
81
|
+
if (Buffer.isBuffer(value)) {
|
|
82
|
+
return JSON.parse(value.toString());
|
|
83
|
+
}
|
|
84
|
+
if (value instanceof ArrayBuffer) {
|
|
85
|
+
const decoder = new TextDecoder();
|
|
86
|
+
return JSON.parse(decoder.decode(value));
|
|
87
|
+
}
|
|
88
|
+
return JSON.parse(String.fromCodePoint(...value));
|
|
75
89
|
}
|
|
76
90
|
mapToDriverValue(value) {
|
|
77
91
|
return Buffer.from(JSON.stringify(value));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/sqlite-core/columns/blob.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnySQLiteTable } from '~/sqlite-core/table.ts';\nimport { type Equal, getColumnNameAndConfig } from '~/utils.ts';\nimport { SQLiteColumn, SQLiteColumnBuilder } from './common.ts';\n\ntype BlobMode = 'buffer' | 'json' | 'bigint';\n\nexport type SQLiteBigIntBuilderInitial<TName extends string> = SQLiteBigIntBuilder<{\n\tname: TName;\n\tdataType: 'bigint';\n\tcolumnType: 'SQLiteBigInt';\n\tdata: bigint;\n\tdriverParam: Buffer;\n\tenumValues: undefined;\n}>;\n\nexport class SQLiteBigIntBuilder<T extends ColumnBuilderBaseConfig<'bigint', 'SQLiteBigInt'>>\n\textends SQLiteColumnBuilder<T>\n{\n\tstatic override readonly [entityKind]: string = 'SQLiteBigIntBuilder';\n\n\tconstructor(name: T['name']) {\n\t\tsuper(name, 'bigint', 'SQLiteBigInt');\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnySQLiteTable<{ name: TTableName }>,\n\t): SQLiteBigInt<MakeColumnConfig<T, TTableName>> {\n\t\treturn new SQLiteBigInt<MakeColumnConfig<T, TTableName>>(table, this.config as ColumnBuilderRuntimeConfig<any>);\n\t}\n}\n\nexport class SQLiteBigInt<T extends ColumnBaseConfig<'bigint', 'SQLiteBigInt'>> extends SQLiteColumn<T> {\n\tstatic override readonly [entityKind]: string = 'SQLiteBigInt';\n\n\tgetSQLType(): string {\n\t\treturn 'blob';\n\t}\n\n\toverride mapFromDriverValue(value: Buffer | Uint8Array): bigint {\n\t\
|
|
1
|
+
{"version":3,"sources":["../../../src/sqlite-core/columns/blob.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnySQLiteTable } from '~/sqlite-core/table.ts';\nimport { type Equal, getColumnNameAndConfig } from '~/utils.ts';\nimport { SQLiteColumn, SQLiteColumnBuilder } from './common.ts';\n\ntype BlobMode = 'buffer' | 'json' | 'bigint';\n\nexport type SQLiteBigIntBuilderInitial<TName extends string> = SQLiteBigIntBuilder<{\n\tname: TName;\n\tdataType: 'bigint';\n\tcolumnType: 'SQLiteBigInt';\n\tdata: bigint;\n\tdriverParam: Buffer;\n\tenumValues: undefined;\n}>;\n\nexport class SQLiteBigIntBuilder<T extends ColumnBuilderBaseConfig<'bigint', 'SQLiteBigInt'>>\n\textends SQLiteColumnBuilder<T>\n{\n\tstatic override readonly [entityKind]: string = 'SQLiteBigIntBuilder';\n\n\tconstructor(name: T['name']) {\n\t\tsuper(name, 'bigint', 'SQLiteBigInt');\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnySQLiteTable<{ name: TTableName }>,\n\t): SQLiteBigInt<MakeColumnConfig<T, TTableName>> {\n\t\treturn new SQLiteBigInt<MakeColumnConfig<T, TTableName>>(table, this.config as ColumnBuilderRuntimeConfig<any>);\n\t}\n}\n\nexport class SQLiteBigInt<T extends ColumnBaseConfig<'bigint', 'SQLiteBigInt'>> extends SQLiteColumn<T> {\n\tstatic override readonly [entityKind]: string = 'SQLiteBigInt';\n\n\tgetSQLType(): string {\n\t\treturn 'blob';\n\t}\n\n\toverride mapFromDriverValue(value: Buffer | Uint8Array | ArrayBuffer): bigint {\n\t\tif (Buffer.isBuffer(value)) {\n\t\t\treturn BigInt(value.toString());\n\t\t}\n\n\t\t// for sqlite durable objects\n\t\t// eslint-disable-next-line no-instanceof/no-instanceof\n\t\tif (value instanceof ArrayBuffer) {\n\t\t\tconst decoder = new TextDecoder();\n\t\t\treturn BigInt(decoder.decode(value));\n\t\t}\n\n\t\treturn BigInt(String.fromCodePoint(...value));\n\t}\n\n\toverride mapToDriverValue(value: bigint): Buffer {\n\t\treturn Buffer.from(value.toString());\n\t}\n}\n\nexport type SQLiteBlobJsonBuilderInitial<TName extends string> = SQLiteBlobJsonBuilder<{\n\tname: TName;\n\tdataType: 'json';\n\tcolumnType: 'SQLiteBlobJson';\n\tdata: unknown;\n\tdriverParam: Buffer;\n\tenumValues: undefined;\n}>;\n\nexport class SQLiteBlobJsonBuilder<T extends ColumnBuilderBaseConfig<'json', 'SQLiteBlobJson'>>\n\textends SQLiteColumnBuilder<T>\n{\n\tstatic override readonly [entityKind]: string = 'SQLiteBlobJsonBuilder';\n\n\tconstructor(name: T['name']) {\n\t\tsuper(name, 'json', 'SQLiteBlobJson');\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnySQLiteTable<{ name: TTableName }>,\n\t): SQLiteBlobJson<MakeColumnConfig<T, TTableName>> {\n\t\treturn new SQLiteBlobJson<MakeColumnConfig<T, TTableName>>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any>,\n\t\t);\n\t}\n}\n\nexport class SQLiteBlobJson<T extends ColumnBaseConfig<'json', 'SQLiteBlobJson'>> extends SQLiteColumn<T> {\n\tstatic override readonly [entityKind]: string = 'SQLiteBlobJson';\n\n\tgetSQLType(): string {\n\t\treturn 'blob';\n\t}\n\n\toverride mapFromDriverValue(value: Buffer | Uint8Array | ArrayBuffer): T['data'] {\n\t\tif (Buffer.isBuffer(value)) {\n\t\t\treturn JSON.parse(value.toString());\n\t\t}\n\n\t\t// for sqlite durable objects\n\t\t// eslint-disable-next-line no-instanceof/no-instanceof\n\t\tif (value instanceof ArrayBuffer) {\n\t\t\tconst decoder = new TextDecoder();\n\t\t\treturn JSON.parse(decoder.decode(value));\n\t\t}\n\n\t\treturn JSON.parse(String.fromCodePoint(...value));\n\t}\n\n\toverride mapToDriverValue(value: T['data']): Buffer {\n\t\treturn Buffer.from(JSON.stringify(value));\n\t}\n}\n\nexport type SQLiteBlobBufferBuilderInitial<TName extends string> = SQLiteBlobBufferBuilder<{\n\tname: TName;\n\tdataType: 'buffer';\n\tcolumnType: 'SQLiteBlobBuffer';\n\tdata: Buffer;\n\tdriverParam: Buffer;\n\tenumValues: undefined;\n}>;\n\nexport class SQLiteBlobBufferBuilder<T extends ColumnBuilderBaseConfig<'buffer', 'SQLiteBlobBuffer'>>\n\textends SQLiteColumnBuilder<T>\n{\n\tstatic override readonly [entityKind]: string = 'SQLiteBlobBufferBuilder';\n\n\tconstructor(name: T['name']) {\n\t\tsuper(name, 'buffer', 'SQLiteBlobBuffer');\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnySQLiteTable<{ name: TTableName }>,\n\t): SQLiteBlobBuffer<MakeColumnConfig<T, TTableName>> {\n\t\treturn new SQLiteBlobBuffer<MakeColumnConfig<T, TTableName>>(table, this.config as ColumnBuilderRuntimeConfig<any>);\n\t}\n}\n\nexport class SQLiteBlobBuffer<T extends ColumnBaseConfig<'buffer', 'SQLiteBlobBuffer'>> extends SQLiteColumn<T> {\n\tstatic override readonly [entityKind]: string = 'SQLiteBlobBuffer';\n\n\tgetSQLType(): string {\n\t\treturn 'blob';\n\t}\n}\n\nexport interface BlobConfig<TMode extends BlobMode = BlobMode> {\n\tmode: TMode;\n}\n\n/**\n * It's recommended to use `text('...', { mode: 'json' })` instead of `blob` in JSON mode, because it supports JSON functions:\n * >All JSON functions currently throw an error if any of their arguments are BLOBs because BLOBs are reserved for a future enhancement in which BLOBs will store the binary encoding for JSON.\n *\n * https://www.sqlite.org/json1.html\n */\nexport function blob(): SQLiteBlobJsonBuilderInitial<''>;\nexport function blob<TMode extends BlobMode = BlobMode>(\n\tconfig?: BlobConfig<TMode>,\n): Equal<TMode, 'bigint'> extends true ? SQLiteBigIntBuilderInitial<''>\n\t: Equal<TMode, 'buffer'> extends true ? SQLiteBlobBufferBuilderInitial<''>\n\t: SQLiteBlobJsonBuilderInitial<''>;\nexport function blob<TName extends string, TMode extends BlobMode = BlobMode>(\n\tname: TName,\n\tconfig?: BlobConfig<TMode>,\n): Equal<TMode, 'bigint'> extends true ? SQLiteBigIntBuilderInitial<TName>\n\t: Equal<TMode, 'buffer'> extends true ? SQLiteBlobBufferBuilderInitial<TName>\n\t: SQLiteBlobJsonBuilderInitial<TName>;\nexport function blob(a?: string | BlobConfig, b?: BlobConfig) {\n\tconst { name, config } = getColumnNameAndConfig<BlobConfig | undefined>(a, b);\n\tif (config?.mode === 'json') {\n\t\treturn new SQLiteBlobJsonBuilder(name);\n\t}\n\tif (config?.mode === 'bigint') {\n\t\treturn new SQLiteBigIntBuilder(name);\n\t}\n\treturn new SQLiteBlobBufferBuilder(name);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,oBAA2B;AAE3B,mBAAmD;AACnD,oBAAkD;AAa3C,MAAM,4BACJ,kCACT;AAAA,EACC,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YAAY,MAAiB;AAC5B,UAAM,MAAM,UAAU,cAAc;AAAA,EACrC;AAAA;AAAA,EAGS,MACR,OACgD;AAChD,WAAO,IAAI,aAA8C,OAAO,KAAK,MAAyC;AAAA,EAC/G;AACD;AAEO,MAAM,qBAA2E,2BAAgB;AAAA,EACvG,QAA0B,wBAAU,IAAY;AAAA,EAEhD,aAAqB;AACpB,WAAO;AAAA,EACR;AAAA,EAES,mBAAmB,OAAkD;AAC7E,QAAI,OAAO,SAAS,KAAK,GAAG;AAC3B,aAAO,OAAO,MAAM,SAAS,CAAC;AAAA,IAC/B;AAIA,QAAI,iBAAiB,aAAa;AACjC,YAAM,UAAU,IAAI,YAAY;AAChC,aAAO,OAAO,QAAQ,OAAO,KAAK,CAAC;AAAA,IACpC;AAEA,WAAO,OAAO,OAAO,cAAc,GAAG,KAAK,CAAC;AAAA,EAC7C;AAAA,EAES,iBAAiB,OAAuB;AAChD,WAAO,OAAO,KAAK,MAAM,SAAS,CAAC;AAAA,EACpC;AACD;AAWO,MAAM,8BACJ,kCACT;AAAA,EACC,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YAAY,MAAiB;AAC5B,UAAM,MAAM,QAAQ,gBAAgB;AAAA,EACrC;AAAA;AAAA,EAGS,MACR,OACkD;AAClD,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,uBAA6E,2BAAgB;AAAA,EACzG,QAA0B,wBAAU,IAAY;AAAA,EAEhD,aAAqB;AACpB,WAAO;AAAA,EACR;AAAA,EAES,mBAAmB,OAAqD;AAChF,QAAI,OAAO,SAAS,KAAK,GAAG;AAC3B,aAAO,KAAK,MAAM,MAAM,SAAS,CAAC;AAAA,IACnC;AAIA,QAAI,iBAAiB,aAAa;AACjC,YAAM,UAAU,IAAI,YAAY;AAChC,aAAO,KAAK,MAAM,QAAQ,OAAO,KAAK,CAAC;AAAA,IACxC;AAEA,WAAO,KAAK,MAAM,OAAO,cAAc,GAAG,KAAK,CAAC;AAAA,EACjD;AAAA,EAES,iBAAiB,OAA0B;AACnD,WAAO,OAAO,KAAK,KAAK,UAAU,KAAK,CAAC;AAAA,EACzC;AACD;AAWO,MAAM,gCACJ,kCACT;AAAA,EACC,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YAAY,MAAiB;AAC5B,UAAM,MAAM,UAAU,kBAAkB;AAAA,EACzC;AAAA;AAAA,EAGS,MACR,OACoD;AACpD,WAAO,IAAI,iBAAkD,OAAO,KAAK,MAAyC;AAAA,EACnH;AACD;AAEO,MAAM,yBAAmF,2BAAgB;AAAA,EAC/G,QAA0B,wBAAU,IAAY;AAAA,EAEhD,aAAqB;AACpB,WAAO;AAAA,EACR;AACD;AAwBO,SAAS,KAAK,GAAyB,GAAgB;AAC7D,QAAM,EAAE,MAAM,OAAO,QAAI,qCAA+C,GAAG,CAAC;AAC5E,MAAI,QAAQ,SAAS,QAAQ;AAC5B,WAAO,IAAI,sBAAsB,IAAI;AAAA,EACtC;AACA,MAAI,QAAQ,SAAS,UAAU;AAC9B,WAAO,IAAI,oBAAoB,IAAI;AAAA,EACpC;AACA,SAAO,IAAI,wBAAwB,IAAI;AACxC;","names":[]}
|
|
@@ -19,7 +19,7 @@ export declare class SQLiteBigIntBuilder<T extends ColumnBuilderBaseConfig<'bigi
|
|
|
19
19
|
export declare class SQLiteBigInt<T extends ColumnBaseConfig<'bigint', 'SQLiteBigInt'>> extends SQLiteColumn<T> {
|
|
20
20
|
static readonly [entityKind]: string;
|
|
21
21
|
getSQLType(): string;
|
|
22
|
-
mapFromDriverValue(value: Buffer | Uint8Array): bigint;
|
|
22
|
+
mapFromDriverValue(value: Buffer | Uint8Array | ArrayBuffer): bigint;
|
|
23
23
|
mapToDriverValue(value: bigint): Buffer;
|
|
24
24
|
}
|
|
25
25
|
export type SQLiteBlobJsonBuilderInitial<TName extends string> = SQLiteBlobJsonBuilder<{
|
|
@@ -37,7 +37,7 @@ export declare class SQLiteBlobJsonBuilder<T extends ColumnBuilderBaseConfig<'js
|
|
|
37
37
|
export declare class SQLiteBlobJson<T extends ColumnBaseConfig<'json', 'SQLiteBlobJson'>> extends SQLiteColumn<T> {
|
|
38
38
|
static readonly [entityKind]: string;
|
|
39
39
|
getSQLType(): string;
|
|
40
|
-
mapFromDriverValue(value: Buffer | Uint8Array): T['data'];
|
|
40
|
+
mapFromDriverValue(value: Buffer | Uint8Array | ArrayBuffer): T['data'];
|
|
41
41
|
mapToDriverValue(value: T['data']): Buffer;
|
|
42
42
|
}
|
|
43
43
|
export type SQLiteBlobBufferBuilderInitial<TName extends string> = SQLiteBlobBufferBuilder<{
|
|
@@ -19,7 +19,7 @@ export declare class SQLiteBigIntBuilder<T extends ColumnBuilderBaseConfig<'bigi
|
|
|
19
19
|
export declare class SQLiteBigInt<T extends ColumnBaseConfig<'bigint', 'SQLiteBigInt'>> extends SQLiteColumn<T> {
|
|
20
20
|
static readonly [entityKind]: string;
|
|
21
21
|
getSQLType(): string;
|
|
22
|
-
mapFromDriverValue(value: Buffer | Uint8Array): bigint;
|
|
22
|
+
mapFromDriverValue(value: Buffer | Uint8Array | ArrayBuffer): bigint;
|
|
23
23
|
mapToDriverValue(value: bigint): Buffer;
|
|
24
24
|
}
|
|
25
25
|
export type SQLiteBlobJsonBuilderInitial<TName extends string> = SQLiteBlobJsonBuilder<{
|
|
@@ -37,7 +37,7 @@ export declare class SQLiteBlobJsonBuilder<T extends ColumnBuilderBaseConfig<'js
|
|
|
37
37
|
export declare class SQLiteBlobJson<T extends ColumnBaseConfig<'json', 'SQLiteBlobJson'>> extends SQLiteColumn<T> {
|
|
38
38
|
static readonly [entityKind]: string;
|
|
39
39
|
getSQLType(): string;
|
|
40
|
-
mapFromDriverValue(value: Buffer | Uint8Array): T['data'];
|
|
40
|
+
mapFromDriverValue(value: Buffer | Uint8Array | ArrayBuffer): T['data'];
|
|
41
41
|
mapToDriverValue(value: T['data']): Buffer;
|
|
42
42
|
}
|
|
43
43
|
export type SQLiteBlobBufferBuilderInitial<TName extends string> = SQLiteBlobBufferBuilder<{
|
|
@@ -17,7 +17,14 @@ class SQLiteBigInt extends SQLiteColumn {
|
|
|
17
17
|
return "blob";
|
|
18
18
|
}
|
|
19
19
|
mapFromDriverValue(value) {
|
|
20
|
-
|
|
20
|
+
if (Buffer.isBuffer(value)) {
|
|
21
|
+
return BigInt(value.toString());
|
|
22
|
+
}
|
|
23
|
+
if (value instanceof ArrayBuffer) {
|
|
24
|
+
const decoder = new TextDecoder();
|
|
25
|
+
return BigInt(decoder.decode(value));
|
|
26
|
+
}
|
|
27
|
+
return BigInt(String.fromCodePoint(...value));
|
|
21
28
|
}
|
|
22
29
|
mapToDriverValue(value) {
|
|
23
30
|
return Buffer.from(value.toString());
|
|
@@ -42,7 +49,14 @@ class SQLiteBlobJson extends SQLiteColumn {
|
|
|
42
49
|
return "blob";
|
|
43
50
|
}
|
|
44
51
|
mapFromDriverValue(value) {
|
|
45
|
-
|
|
52
|
+
if (Buffer.isBuffer(value)) {
|
|
53
|
+
return JSON.parse(value.toString());
|
|
54
|
+
}
|
|
55
|
+
if (value instanceof ArrayBuffer) {
|
|
56
|
+
const decoder = new TextDecoder();
|
|
57
|
+
return JSON.parse(decoder.decode(value));
|
|
58
|
+
}
|
|
59
|
+
return JSON.parse(String.fromCodePoint(...value));
|
|
46
60
|
}
|
|
47
61
|
mapToDriverValue(value) {
|
|
48
62
|
return Buffer.from(JSON.stringify(value));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/sqlite-core/columns/blob.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnySQLiteTable } from '~/sqlite-core/table.ts';\nimport { type Equal, getColumnNameAndConfig } from '~/utils.ts';\nimport { SQLiteColumn, SQLiteColumnBuilder } from './common.ts';\n\ntype BlobMode = 'buffer' | 'json' | 'bigint';\n\nexport type SQLiteBigIntBuilderInitial<TName extends string> = SQLiteBigIntBuilder<{\n\tname: TName;\n\tdataType: 'bigint';\n\tcolumnType: 'SQLiteBigInt';\n\tdata: bigint;\n\tdriverParam: Buffer;\n\tenumValues: undefined;\n}>;\n\nexport class SQLiteBigIntBuilder<T extends ColumnBuilderBaseConfig<'bigint', 'SQLiteBigInt'>>\n\textends SQLiteColumnBuilder<T>\n{\n\tstatic override readonly [entityKind]: string = 'SQLiteBigIntBuilder';\n\n\tconstructor(name: T['name']) {\n\t\tsuper(name, 'bigint', 'SQLiteBigInt');\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnySQLiteTable<{ name: TTableName }>,\n\t): SQLiteBigInt<MakeColumnConfig<T, TTableName>> {\n\t\treturn new SQLiteBigInt<MakeColumnConfig<T, TTableName>>(table, this.config as ColumnBuilderRuntimeConfig<any>);\n\t}\n}\n\nexport class SQLiteBigInt<T extends ColumnBaseConfig<'bigint', 'SQLiteBigInt'>> extends SQLiteColumn<T> {\n\tstatic override readonly [entityKind]: string = 'SQLiteBigInt';\n\n\tgetSQLType(): string {\n\t\treturn 'blob';\n\t}\n\n\toverride mapFromDriverValue(value: Buffer | Uint8Array): bigint {\n\t\
|
|
1
|
+
{"version":3,"sources":["../../../src/sqlite-core/columns/blob.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnySQLiteTable } from '~/sqlite-core/table.ts';\nimport { type Equal, getColumnNameAndConfig } from '~/utils.ts';\nimport { SQLiteColumn, SQLiteColumnBuilder } from './common.ts';\n\ntype BlobMode = 'buffer' | 'json' | 'bigint';\n\nexport type SQLiteBigIntBuilderInitial<TName extends string> = SQLiteBigIntBuilder<{\n\tname: TName;\n\tdataType: 'bigint';\n\tcolumnType: 'SQLiteBigInt';\n\tdata: bigint;\n\tdriverParam: Buffer;\n\tenumValues: undefined;\n}>;\n\nexport class SQLiteBigIntBuilder<T extends ColumnBuilderBaseConfig<'bigint', 'SQLiteBigInt'>>\n\textends SQLiteColumnBuilder<T>\n{\n\tstatic override readonly [entityKind]: string = 'SQLiteBigIntBuilder';\n\n\tconstructor(name: T['name']) {\n\t\tsuper(name, 'bigint', 'SQLiteBigInt');\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnySQLiteTable<{ name: TTableName }>,\n\t): SQLiteBigInt<MakeColumnConfig<T, TTableName>> {\n\t\treturn new SQLiteBigInt<MakeColumnConfig<T, TTableName>>(table, this.config as ColumnBuilderRuntimeConfig<any>);\n\t}\n}\n\nexport class SQLiteBigInt<T extends ColumnBaseConfig<'bigint', 'SQLiteBigInt'>> extends SQLiteColumn<T> {\n\tstatic override readonly [entityKind]: string = 'SQLiteBigInt';\n\n\tgetSQLType(): string {\n\t\treturn 'blob';\n\t}\n\n\toverride mapFromDriverValue(value: Buffer | Uint8Array | ArrayBuffer): bigint {\n\t\tif (Buffer.isBuffer(value)) {\n\t\t\treturn BigInt(value.toString());\n\t\t}\n\n\t\t// for sqlite durable objects\n\t\t// eslint-disable-next-line no-instanceof/no-instanceof\n\t\tif (value instanceof ArrayBuffer) {\n\t\t\tconst decoder = new TextDecoder();\n\t\t\treturn BigInt(decoder.decode(value));\n\t\t}\n\n\t\treturn BigInt(String.fromCodePoint(...value));\n\t}\n\n\toverride mapToDriverValue(value: bigint): Buffer {\n\t\treturn Buffer.from(value.toString());\n\t}\n}\n\nexport type SQLiteBlobJsonBuilderInitial<TName extends string> = SQLiteBlobJsonBuilder<{\n\tname: TName;\n\tdataType: 'json';\n\tcolumnType: 'SQLiteBlobJson';\n\tdata: unknown;\n\tdriverParam: Buffer;\n\tenumValues: undefined;\n}>;\n\nexport class SQLiteBlobJsonBuilder<T extends ColumnBuilderBaseConfig<'json', 'SQLiteBlobJson'>>\n\textends SQLiteColumnBuilder<T>\n{\n\tstatic override readonly [entityKind]: string = 'SQLiteBlobJsonBuilder';\n\n\tconstructor(name: T['name']) {\n\t\tsuper(name, 'json', 'SQLiteBlobJson');\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnySQLiteTable<{ name: TTableName }>,\n\t): SQLiteBlobJson<MakeColumnConfig<T, TTableName>> {\n\t\treturn new SQLiteBlobJson<MakeColumnConfig<T, TTableName>>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any>,\n\t\t);\n\t}\n}\n\nexport class SQLiteBlobJson<T extends ColumnBaseConfig<'json', 'SQLiteBlobJson'>> extends SQLiteColumn<T> {\n\tstatic override readonly [entityKind]: string = 'SQLiteBlobJson';\n\n\tgetSQLType(): string {\n\t\treturn 'blob';\n\t}\n\n\toverride mapFromDriverValue(value: Buffer | Uint8Array | ArrayBuffer): T['data'] {\n\t\tif (Buffer.isBuffer(value)) {\n\t\t\treturn JSON.parse(value.toString());\n\t\t}\n\n\t\t// for sqlite durable objects\n\t\t// eslint-disable-next-line no-instanceof/no-instanceof\n\t\tif (value instanceof ArrayBuffer) {\n\t\t\tconst decoder = new TextDecoder();\n\t\t\treturn JSON.parse(decoder.decode(value));\n\t\t}\n\n\t\treturn JSON.parse(String.fromCodePoint(...value));\n\t}\n\n\toverride mapToDriverValue(value: T['data']): Buffer {\n\t\treturn Buffer.from(JSON.stringify(value));\n\t}\n}\n\nexport type SQLiteBlobBufferBuilderInitial<TName extends string> = SQLiteBlobBufferBuilder<{\n\tname: TName;\n\tdataType: 'buffer';\n\tcolumnType: 'SQLiteBlobBuffer';\n\tdata: Buffer;\n\tdriverParam: Buffer;\n\tenumValues: undefined;\n}>;\n\nexport class SQLiteBlobBufferBuilder<T extends ColumnBuilderBaseConfig<'buffer', 'SQLiteBlobBuffer'>>\n\textends SQLiteColumnBuilder<T>\n{\n\tstatic override readonly [entityKind]: string = 'SQLiteBlobBufferBuilder';\n\n\tconstructor(name: T['name']) {\n\t\tsuper(name, 'buffer', 'SQLiteBlobBuffer');\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnySQLiteTable<{ name: TTableName }>,\n\t): SQLiteBlobBuffer<MakeColumnConfig<T, TTableName>> {\n\t\treturn new SQLiteBlobBuffer<MakeColumnConfig<T, TTableName>>(table, this.config as ColumnBuilderRuntimeConfig<any>);\n\t}\n}\n\nexport class SQLiteBlobBuffer<T extends ColumnBaseConfig<'buffer', 'SQLiteBlobBuffer'>> extends SQLiteColumn<T> {\n\tstatic override readonly [entityKind]: string = 'SQLiteBlobBuffer';\n\n\tgetSQLType(): string {\n\t\treturn 'blob';\n\t}\n}\n\nexport interface BlobConfig<TMode extends BlobMode = BlobMode> {\n\tmode: TMode;\n}\n\n/**\n * It's recommended to use `text('...', { mode: 'json' })` instead of `blob` in JSON mode, because it supports JSON functions:\n * >All JSON functions currently throw an error if any of their arguments are BLOBs because BLOBs are reserved for a future enhancement in which BLOBs will store the binary encoding for JSON.\n *\n * https://www.sqlite.org/json1.html\n */\nexport function blob(): SQLiteBlobJsonBuilderInitial<''>;\nexport function blob<TMode extends BlobMode = BlobMode>(\n\tconfig?: BlobConfig<TMode>,\n): Equal<TMode, 'bigint'> extends true ? SQLiteBigIntBuilderInitial<''>\n\t: Equal<TMode, 'buffer'> extends true ? SQLiteBlobBufferBuilderInitial<''>\n\t: SQLiteBlobJsonBuilderInitial<''>;\nexport function blob<TName extends string, TMode extends BlobMode = BlobMode>(\n\tname: TName,\n\tconfig?: BlobConfig<TMode>,\n): Equal<TMode, 'bigint'> extends true ? SQLiteBigIntBuilderInitial<TName>\n\t: Equal<TMode, 'buffer'> extends true ? SQLiteBlobBufferBuilderInitial<TName>\n\t: SQLiteBlobJsonBuilderInitial<TName>;\nexport function blob(a?: string | BlobConfig, b?: BlobConfig) {\n\tconst { name, config } = getColumnNameAndConfig<BlobConfig | undefined>(a, b);\n\tif (config?.mode === 'json') {\n\t\treturn new SQLiteBlobJsonBuilder(name);\n\t}\n\tif (config?.mode === 'bigint') {\n\t\treturn new SQLiteBigIntBuilder(name);\n\t}\n\treturn new SQLiteBlobBufferBuilder(name);\n}\n"],"mappings":"AAEA,SAAS,kBAAkB;AAE3B,SAAqB,8BAA8B;AACnD,SAAS,cAAc,2BAA2B;AAa3C,MAAM,4BACJ,oBACT;AAAA,EACC,QAA0B,UAAU,IAAY;AAAA,EAEhD,YAAY,MAAiB;AAC5B,UAAM,MAAM,UAAU,cAAc;AAAA,EACrC;AAAA;AAAA,EAGS,MACR,OACgD;AAChD,WAAO,IAAI,aAA8C,OAAO,KAAK,MAAyC;AAAA,EAC/G;AACD;AAEO,MAAM,qBAA2E,aAAgB;AAAA,EACvG,QAA0B,UAAU,IAAY;AAAA,EAEhD,aAAqB;AACpB,WAAO;AAAA,EACR;AAAA,EAES,mBAAmB,OAAkD;AAC7E,QAAI,OAAO,SAAS,KAAK,GAAG;AAC3B,aAAO,OAAO,MAAM,SAAS,CAAC;AAAA,IAC/B;AAIA,QAAI,iBAAiB,aAAa;AACjC,YAAM,UAAU,IAAI,YAAY;AAChC,aAAO,OAAO,QAAQ,OAAO,KAAK,CAAC;AAAA,IACpC;AAEA,WAAO,OAAO,OAAO,cAAc,GAAG,KAAK,CAAC;AAAA,EAC7C;AAAA,EAES,iBAAiB,OAAuB;AAChD,WAAO,OAAO,KAAK,MAAM,SAAS,CAAC;AAAA,EACpC;AACD;AAWO,MAAM,8BACJ,oBACT;AAAA,EACC,QAA0B,UAAU,IAAY;AAAA,EAEhD,YAAY,MAAiB;AAC5B,UAAM,MAAM,QAAQ,gBAAgB;AAAA,EACrC;AAAA;AAAA,EAGS,MACR,OACkD;AAClD,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,uBAA6E,aAAgB;AAAA,EACzG,QAA0B,UAAU,IAAY;AAAA,EAEhD,aAAqB;AACpB,WAAO;AAAA,EACR;AAAA,EAES,mBAAmB,OAAqD;AAChF,QAAI,OAAO,SAAS,KAAK,GAAG;AAC3B,aAAO,KAAK,MAAM,MAAM,SAAS,CAAC;AAAA,IACnC;AAIA,QAAI,iBAAiB,aAAa;AACjC,YAAM,UAAU,IAAI,YAAY;AAChC,aAAO,KAAK,MAAM,QAAQ,OAAO,KAAK,CAAC;AAAA,IACxC;AAEA,WAAO,KAAK,MAAM,OAAO,cAAc,GAAG,KAAK,CAAC;AAAA,EACjD;AAAA,EAES,iBAAiB,OAA0B;AACnD,WAAO,OAAO,KAAK,KAAK,UAAU,KAAK,CAAC;AAAA,EACzC;AACD;AAWO,MAAM,gCACJ,oBACT;AAAA,EACC,QAA0B,UAAU,IAAY;AAAA,EAEhD,YAAY,MAAiB;AAC5B,UAAM,MAAM,UAAU,kBAAkB;AAAA,EACzC;AAAA;AAAA,EAGS,MACR,OACoD;AACpD,WAAO,IAAI,iBAAkD,OAAO,KAAK,MAAyC;AAAA,EACnH;AACD;AAEO,MAAM,yBAAmF,aAAgB;AAAA,EAC/G,QAA0B,UAAU,IAAY;AAAA,EAEhD,aAAqB;AACpB,WAAO;AAAA,EACR;AACD;AAwBO,SAAS,KAAK,GAAyB,GAAgB;AAC7D,QAAM,EAAE,MAAM,OAAO,IAAI,uBAA+C,GAAG,CAAC;AAC5E,MAAI,QAAQ,SAAS,QAAQ;AAC5B,WAAO,IAAI,sBAAsB,IAAI;AAAA,EACtC;AACA,MAAI,QAAQ,SAAS,UAAU;AAC9B,WAAO,IAAI,oBAAoB,IAAI;AAAA,EACpC;AACA,SAAO,IAAI,wBAAwB,IAAI;AACxC;","names":[]}
|
package/supabase/rls.d.cts
CHANGED
|
@@ -21,6 +21,7 @@ export declare const authUsers: import("../pg-core/index.ts").PgTableWithColumns
|
|
|
21
21
|
hasRuntimeDefault: false;
|
|
22
22
|
enumValues: undefined;
|
|
23
23
|
baseColumn: never;
|
|
24
|
+
identity: undefined;
|
|
24
25
|
generated: undefined;
|
|
25
26
|
}, {}, {}>;
|
|
26
27
|
email: import("../pg-core/index.ts").PgColumn<{
|
|
@@ -37,6 +38,7 @@ export declare const authUsers: import("../pg-core/index.ts").PgTableWithColumns
|
|
|
37
38
|
hasRuntimeDefault: false;
|
|
38
39
|
enumValues: [string, ...string[]];
|
|
39
40
|
baseColumn: never;
|
|
41
|
+
identity: undefined;
|
|
40
42
|
generated: undefined;
|
|
41
43
|
}, {}, {}>;
|
|
42
44
|
phone: import("../pg-core/index.ts").PgColumn<{
|
|
@@ -53,6 +55,7 @@ export declare const authUsers: import("../pg-core/index.ts").PgTableWithColumns
|
|
|
53
55
|
hasRuntimeDefault: false;
|
|
54
56
|
enumValues: [string, ...string[]];
|
|
55
57
|
baseColumn: never;
|
|
58
|
+
identity: undefined;
|
|
56
59
|
generated: undefined;
|
|
57
60
|
}, {}, {}>;
|
|
58
61
|
emailConfirmedAt: import("../pg-core/index.ts").PgColumn<{
|
|
@@ -69,6 +72,7 @@ export declare const authUsers: import("../pg-core/index.ts").PgTableWithColumns
|
|
|
69
72
|
hasRuntimeDefault: false;
|
|
70
73
|
enumValues: undefined;
|
|
71
74
|
baseColumn: never;
|
|
75
|
+
identity: undefined;
|
|
72
76
|
generated: undefined;
|
|
73
77
|
}, {}, {}>;
|
|
74
78
|
phoneConfirmedAt: import("../pg-core/index.ts").PgColumn<{
|
|
@@ -85,6 +89,7 @@ export declare const authUsers: import("../pg-core/index.ts").PgTableWithColumns
|
|
|
85
89
|
hasRuntimeDefault: false;
|
|
86
90
|
enumValues: undefined;
|
|
87
91
|
baseColumn: never;
|
|
92
|
+
identity: undefined;
|
|
88
93
|
generated: undefined;
|
|
89
94
|
}, {}, {}>;
|
|
90
95
|
lastSignInAt: import("../pg-core/index.ts").PgColumn<{
|
|
@@ -101,6 +106,7 @@ export declare const authUsers: import("../pg-core/index.ts").PgTableWithColumns
|
|
|
101
106
|
hasRuntimeDefault: false;
|
|
102
107
|
enumValues: undefined;
|
|
103
108
|
baseColumn: never;
|
|
109
|
+
identity: undefined;
|
|
104
110
|
generated: undefined;
|
|
105
111
|
}, {}, {}>;
|
|
106
112
|
createdAt: import("../pg-core/index.ts").PgColumn<{
|
|
@@ -117,6 +123,7 @@ export declare const authUsers: import("../pg-core/index.ts").PgTableWithColumns
|
|
|
117
123
|
hasRuntimeDefault: false;
|
|
118
124
|
enumValues: undefined;
|
|
119
125
|
baseColumn: never;
|
|
126
|
+
identity: undefined;
|
|
120
127
|
generated: undefined;
|
|
121
128
|
}, {}, {}>;
|
|
122
129
|
updatedAt: import("../pg-core/index.ts").PgColumn<{
|
|
@@ -133,6 +140,7 @@ export declare const authUsers: import("../pg-core/index.ts").PgTableWithColumns
|
|
|
133
140
|
hasRuntimeDefault: false;
|
|
134
141
|
enumValues: undefined;
|
|
135
142
|
baseColumn: never;
|
|
143
|
+
identity: undefined;
|
|
136
144
|
generated: undefined;
|
|
137
145
|
}, {}, {}>;
|
|
138
146
|
};
|
|
@@ -156,6 +164,7 @@ export declare const realtimeMessages: import("../pg-core/index.ts").PgTableWith
|
|
|
156
164
|
hasRuntimeDefault: false;
|
|
157
165
|
enumValues: undefined;
|
|
158
166
|
baseColumn: never;
|
|
167
|
+
identity: undefined;
|
|
159
168
|
generated: undefined;
|
|
160
169
|
}, {}, {}>;
|
|
161
170
|
topic: import("../pg-core/index.ts").PgColumn<{
|
|
@@ -172,6 +181,7 @@ export declare const realtimeMessages: import("../pg-core/index.ts").PgTableWith
|
|
|
172
181
|
hasRuntimeDefault: false;
|
|
173
182
|
enumValues: [string, ...string[]];
|
|
174
183
|
baseColumn: never;
|
|
184
|
+
identity: undefined;
|
|
175
185
|
generated: undefined;
|
|
176
186
|
}, {}, {}>;
|
|
177
187
|
extension: import("../pg-core/index.ts").PgColumn<{
|
|
@@ -188,6 +198,7 @@ export declare const realtimeMessages: import("../pg-core/index.ts").PgTableWith
|
|
|
188
198
|
hasRuntimeDefault: false;
|
|
189
199
|
enumValues: ["presence", "broadcast", "postgres_changes"];
|
|
190
200
|
baseColumn: never;
|
|
201
|
+
identity: undefined;
|
|
191
202
|
generated: undefined;
|
|
192
203
|
}, {}, {}>;
|
|
193
204
|
};
|
package/supabase/rls.d.ts
CHANGED
|
@@ -21,6 +21,7 @@ export declare const authUsers: import("../pg-core/index.js").PgTableWithColumns
|
|
|
21
21
|
hasRuntimeDefault: false;
|
|
22
22
|
enumValues: undefined;
|
|
23
23
|
baseColumn: never;
|
|
24
|
+
identity: undefined;
|
|
24
25
|
generated: undefined;
|
|
25
26
|
}, {}, {}>;
|
|
26
27
|
email: import("../pg-core/index.js").PgColumn<{
|
|
@@ -37,6 +38,7 @@ export declare const authUsers: import("../pg-core/index.js").PgTableWithColumns
|
|
|
37
38
|
hasRuntimeDefault: false;
|
|
38
39
|
enumValues: [string, ...string[]];
|
|
39
40
|
baseColumn: never;
|
|
41
|
+
identity: undefined;
|
|
40
42
|
generated: undefined;
|
|
41
43
|
}, {}, {}>;
|
|
42
44
|
phone: import("../pg-core/index.js").PgColumn<{
|
|
@@ -53,6 +55,7 @@ export declare const authUsers: import("../pg-core/index.js").PgTableWithColumns
|
|
|
53
55
|
hasRuntimeDefault: false;
|
|
54
56
|
enumValues: [string, ...string[]];
|
|
55
57
|
baseColumn: never;
|
|
58
|
+
identity: undefined;
|
|
56
59
|
generated: undefined;
|
|
57
60
|
}, {}, {}>;
|
|
58
61
|
emailConfirmedAt: import("../pg-core/index.js").PgColumn<{
|
|
@@ -69,6 +72,7 @@ export declare const authUsers: import("../pg-core/index.js").PgTableWithColumns
|
|
|
69
72
|
hasRuntimeDefault: false;
|
|
70
73
|
enumValues: undefined;
|
|
71
74
|
baseColumn: never;
|
|
75
|
+
identity: undefined;
|
|
72
76
|
generated: undefined;
|
|
73
77
|
}, {}, {}>;
|
|
74
78
|
phoneConfirmedAt: import("../pg-core/index.js").PgColumn<{
|
|
@@ -85,6 +89,7 @@ export declare const authUsers: import("../pg-core/index.js").PgTableWithColumns
|
|
|
85
89
|
hasRuntimeDefault: false;
|
|
86
90
|
enumValues: undefined;
|
|
87
91
|
baseColumn: never;
|
|
92
|
+
identity: undefined;
|
|
88
93
|
generated: undefined;
|
|
89
94
|
}, {}, {}>;
|
|
90
95
|
lastSignInAt: import("../pg-core/index.js").PgColumn<{
|
|
@@ -101,6 +106,7 @@ export declare const authUsers: import("../pg-core/index.js").PgTableWithColumns
|
|
|
101
106
|
hasRuntimeDefault: false;
|
|
102
107
|
enumValues: undefined;
|
|
103
108
|
baseColumn: never;
|
|
109
|
+
identity: undefined;
|
|
104
110
|
generated: undefined;
|
|
105
111
|
}, {}, {}>;
|
|
106
112
|
createdAt: import("../pg-core/index.js").PgColumn<{
|
|
@@ -117,6 +123,7 @@ export declare const authUsers: import("../pg-core/index.js").PgTableWithColumns
|
|
|
117
123
|
hasRuntimeDefault: false;
|
|
118
124
|
enumValues: undefined;
|
|
119
125
|
baseColumn: never;
|
|
126
|
+
identity: undefined;
|
|
120
127
|
generated: undefined;
|
|
121
128
|
}, {}, {}>;
|
|
122
129
|
updatedAt: import("../pg-core/index.js").PgColumn<{
|
|
@@ -133,6 +140,7 @@ export declare const authUsers: import("../pg-core/index.js").PgTableWithColumns
|
|
|
133
140
|
hasRuntimeDefault: false;
|
|
134
141
|
enumValues: undefined;
|
|
135
142
|
baseColumn: never;
|
|
143
|
+
identity: undefined;
|
|
136
144
|
generated: undefined;
|
|
137
145
|
}, {}, {}>;
|
|
138
146
|
};
|
|
@@ -156,6 +164,7 @@ export declare const realtimeMessages: import("../pg-core/index.js").PgTableWith
|
|
|
156
164
|
hasRuntimeDefault: false;
|
|
157
165
|
enumValues: undefined;
|
|
158
166
|
baseColumn: never;
|
|
167
|
+
identity: undefined;
|
|
159
168
|
generated: undefined;
|
|
160
169
|
}, {}, {}>;
|
|
161
170
|
topic: import("../pg-core/index.js").PgColumn<{
|
|
@@ -172,6 +181,7 @@ export declare const realtimeMessages: import("../pg-core/index.js").PgTableWith
|
|
|
172
181
|
hasRuntimeDefault: false;
|
|
173
182
|
enumValues: [string, ...string[]];
|
|
174
183
|
baseColumn: never;
|
|
184
|
+
identity: undefined;
|
|
175
185
|
generated: undefined;
|
|
176
186
|
}, {}, {}>;
|
|
177
187
|
extension: import("../pg-core/index.js").PgColumn<{
|
|
@@ -188,6 +198,7 @@ export declare const realtimeMessages: import("../pg-core/index.js").PgTableWith
|
|
|
188
198
|
hasRuntimeDefault: false;
|
|
189
199
|
enumValues: ["presence", "broadcast", "postgres_changes"];
|
|
190
200
|
baseColumn: never;
|
|
201
|
+
identity: undefined;
|
|
191
202
|
generated: undefined;
|
|
192
203
|
}, {}, {}>;
|
|
193
204
|
};
|
package/table.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/table.ts"],"sourcesContent":["import type { Column, GetColumnData } from './column.ts';\nimport { entityKind } from './entity.ts';\nimport type { OptionalKeyOnly, RequiredKeyOnly } from './operations.ts';\nimport type { ExtraConfigColumn } from './pg-core/index.ts';\nimport type { SQLWrapper } from './sql/sql.ts';\nimport { TableName } from './table.utils.ts';\nimport type { Simplify, Update } from './utils.ts';\n\nexport interface TableConfig<TColumn extends Column = Column<any>> {\n\tname: string;\n\tschema: string | undefined;\n\tcolumns: Record<string, TColumn>;\n\tdialect: string;\n}\n\nexport type UpdateTableConfig<T extends TableConfig, TUpdate extends Partial<TableConfig>> = Required<\n\tUpdate<T, TUpdate>\n>;\n\n/** @internal */\nexport const Schema = Symbol.for('drizzle:Schema');\n\n/** @internal */\nexport const Columns = Symbol.for('drizzle:Columns');\n\n/** @internal */\nexport const ExtraConfigColumns = Symbol.for('drizzle:ExtraConfigColumns');\n\n/** @internal */\nexport const OriginalName = Symbol.for('drizzle:OriginalName');\n\n/** @internal */\nexport const BaseName = Symbol.for('drizzle:BaseName');\n\n/** @internal */\nexport const IsAlias = Symbol.for('drizzle:IsAlias');\n\n/** @internal */\nexport const ExtraConfigBuilder = Symbol.for('drizzle:ExtraConfigBuilder');\n\nconst IsDrizzleTable = Symbol.for('drizzle:IsDrizzleTable');\n\nexport interface Table<\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tT extends TableConfig = TableConfig,\n> extends SQLWrapper {\n\t// SQLWrapper runtime implementation is defined in 'sql/sql.ts'\n}\n\nexport class Table<T extends TableConfig = TableConfig> implements SQLWrapper {\n\tstatic readonly [entityKind]: string = 'Table';\n\n\tdeclare readonly _: {\n\t\treadonly brand: 'Table';\n\t\treadonly config: T;\n\t\treadonly name: T['name'];\n\t\treadonly schema: T['schema'];\n\t\treadonly columns: T['columns'];\n\t\treadonly inferSelect: InferSelectModel<Table<T>>;\n\t\treadonly inferInsert: InferInsertModel<Table<T>>;\n\t};\n\n\tdeclare readonly $inferSelect: InferSelectModel<Table<T>>;\n\tdeclare readonly $inferInsert: InferInsertModel<Table<T>>;\n\n\t/** @internal */\n\tstatic readonly Symbol = {\n\t\tName: TableName as typeof TableName,\n\t\tSchema: Schema as typeof Schema,\n\t\tOriginalName: OriginalName as typeof OriginalName,\n\t\tColumns: Columns as typeof Columns,\n\t\tExtraConfigColumns: ExtraConfigColumns as typeof ExtraConfigColumns,\n\t\tBaseName: BaseName as typeof BaseName,\n\t\tIsAlias: IsAlias as typeof IsAlias,\n\t\tExtraConfigBuilder: ExtraConfigBuilder as typeof ExtraConfigBuilder,\n\t};\n\n\t/**\n\t * @internal\n\t * Can be changed if the table is aliased.\n\t */\n\t[TableName]: string;\n\n\t/**\n\t * @internal\n\t * Used to store the original name of the table, before any aliasing.\n\t */\n\t[OriginalName]: string;\n\n\t/** @internal */\n\t[Schema]: string | undefined;\n\n\t/** @internal */\n\t[Columns]!: T['columns'];\n\n\t/** @internal */\n\t[ExtraConfigColumns]!: Record<string, ExtraConfigColumn>;\n\n\t/**\n\t * @internal\n\t * Used to store the table name before the transformation via the `tableCreator` functions.\n\t */\n\t[BaseName]: string;\n\n\t/** @internal */\n\t[IsAlias] = false;\n\n\t/** @internal */\n\t[IsDrizzleTable] = true;\n\n\t/** @internal */\n\t[ExtraConfigBuilder]: ((self: any) => Record<string, unknown> | unknown[]) | undefined = undefined;\n\n\tconstructor(name: string, schema: string | undefined, baseName: string) {\n\t\tthis[TableName] = this[OriginalName] = name;\n\t\tthis[Schema] = schema;\n\t\tthis[BaseName] = baseName;\n\t}\n}\n\nexport function isTable(table: unknown): table is Table {\n\treturn typeof table === 'object' && table !== null && IsDrizzleTable in table;\n}\n\n/**\n * Any table with a specified boundary.\n *\n * @example\n\t```ts\n\t// Any table with a specific name\n\ttype AnyUsersTable = AnyTable<{ name: 'users' }>;\n\t```\n *\n * To describe any table with any config, simply use `Table` without any type arguments, like this:\n *\n\t```ts\n\tfunction needsTable(table: Table) {\n\t\t...\n\t}\n\t```\n */\nexport type AnyTable<TPartial extends Partial<TableConfig>> = Table<UpdateTableConfig<TableConfig, TPartial>>;\n\nexport function getTableName<T extends Table>(table: T): T['_']['name'] {\n\treturn table[TableName];\n}\n\nexport function getTableUniqueName<T extends Table>(table: T): `${T['_']['schema']}.${T['_']['name']}` {\n\treturn `${table[Schema] ?? 'public'}.${table[TableName]}`;\n}\n\nexport type MapColumnName<TName extends string, TColumn extends Column, TDBColumNames extends boolean> =\n\tTDBColumNames extends true ? TColumn['_']['name']\n\t\t: TName;\n\nexport type InferModelFromColumns<\n\tTColumns extends Record<string, Column>,\n\tTInferMode extends 'select' | 'insert' = 'select',\n\tTConfig extends { dbColumnNames: boolean } = { dbColumnNames: false },\n> = Simplify<\n\tTInferMode extends 'insert' ?\n\t\t\t& {\n\t\t\t\t[\n\t\t\t\t\tKey in keyof TColumns & string as RequiredKeyOnly<\n\t\t\t\t\t\tMapColumnName<Key, TColumns[Key], TConfig['dbColumnNames']>,\n\t\t\t\t\t\tTColumns[Key]\n\t\t\t\t\t>\n\t\t\t\t]: GetColumnData<TColumns[Key], 'query'>;\n\t\t\t}\n\t\t\t& {\n\t\t\t\t[\n\t\t\t\t\tKey in keyof TColumns & string as OptionalKeyOnly<\n\t\t\t\t\t\tMapColumnName<Key, TColumns[Key], TConfig['dbColumnNames']>,\n\t\t\t\t\t\tTColumns[Key]\n\t\t\t\t\t>\n\t\t\t\t]?: GetColumnData<TColumns[Key], 'query'>;\n\t\t\t}\n\t\t: {\n\t\t\t[\n\t\t\t\tKey in keyof TColumns & string as MapColumnName<\n\t\t\t\t\tKey,\n\t\t\t\t\tTColumns[Key],\n\t\t\t\t\tTConfig['dbColumnNames']\n\t\t\t\t>\n\t\t\t]: GetColumnData<TColumns[Key], 'query'>;\n\t\t}\n>;\n\n/** @deprecated Use one of the alternatives: {@link InferSelectModel} / {@link InferInsertModel}, or `table.$inferSelect` / `table.$inferInsert`\n */\nexport type InferModel<\n\tTTable extends Table,\n\tTInferMode extends 'select' | 'insert' = 'select',\n\tTConfig extends { dbColumnNames: boolean } = { dbColumnNames: false },\n> = InferModelFromColumns<TTable['_']['columns'], TInferMode, TConfig>;\n\nexport type InferSelectModel<\n\tTTable extends Table,\n\tTConfig extends { dbColumnNames: boolean } = { dbColumnNames: false },\n> = InferModelFromColumns<TTable['_']['columns'], 'select', TConfig>;\n\nexport type InferInsertModel<\n\tTTable extends Table,\n\tTConfig extends { dbColumnNames: boolean } = { dbColumnNames: false },\n> = InferModelFromColumns<TTable['_']['columns'], 'insert', TConfig>;\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oBAA2B;AAI3B,yBAA0B;AAenB,MAAM,SAAS,OAAO,IAAI,gBAAgB;AAG1C,MAAM,UAAU,OAAO,IAAI,iBAAiB;AAG5C,MAAM,qBAAqB,OAAO,IAAI,4BAA4B;AAGlE,MAAM,eAAe,OAAO,IAAI,sBAAsB;AAGtD,MAAM,WAAW,OAAO,IAAI,kBAAkB;AAG9C,MAAM,UAAU,OAAO,IAAI,iBAAiB;AAG5C,MAAM,qBAAqB,OAAO,IAAI,4BAA4B;AAEzE,MAAM,iBAAiB,OAAO,IAAI,wBAAwB;AASnD,MAAM,MAAiE;AAAA,EAC7E,QAAiB,wBAAU,IAAY;AAAA;AAAA,EAgBvC,OAAgB,SAAS;AAAA,IACxB,MAAM;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,CAAC,4BAAS;AAAA;AAAA;AAAA;AAAA;AAAA,EAMV,CAAC,YAAY;AAAA;AAAA,EAGb,CAAC,MAAM;AAAA;AAAA,EAGP,CAAC,OAAO;AAAA;AAAA,EAGR,CAAC,kBAAkB;AAAA;AAAA;AAAA;AAAA;AAAA,EAMnB,CAAC,QAAQ;AAAA;AAAA,EAGT,CAAC,OAAO,IAAI;AAAA;AAAA,EAGZ,CAAC,cAAc,IAAI;AAAA;AAAA,EAGnB,CAAC,kBAAkB,IAAsE;AAAA,EAEzF,YAAY,MAAc,QAA4B,UAAkB;AACvE,SAAK,4BAAS,IAAI,KAAK,YAAY,IAAI;AACvC,SAAK,MAAM,IAAI;AACf,SAAK,QAAQ,IAAI;AAAA,EAClB;AACD;AAEO,SAAS,QAAQ,OAAgC;AACvD,SAAO,OAAO,UAAU,YAAY,UAAU,QAAQ,kBAAkB;AACzE;AAqBO,SAAS,aAA8B,OAA0B;AACvE,SAAO,MAAM,4BAAS;AACvB;AAEO,SAAS,mBAAoC,OAAmD;AACtG,SAAO,GAAG,MAAM,MAAM,KAAK,QAAQ,IAAI,MAAM,4BAAS,CAAC;AACxD;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../src/table.ts"],"sourcesContent":["import type { Column, GetColumnData } from './column.ts';\nimport { entityKind } from './entity.ts';\nimport type { OptionalKeyOnly, RequiredKeyOnly } from './operations.ts';\nimport type { ExtraConfigColumn } from './pg-core/index.ts';\nimport type { SQLWrapper } from './sql/sql.ts';\nimport { TableName } from './table.utils.ts';\nimport type { Simplify, Update } from './utils.ts';\n\nexport interface TableConfig<TColumn extends Column = Column<any>> {\n\tname: string;\n\tschema: string | undefined;\n\tcolumns: Record<string, TColumn>;\n\tdialect: string;\n}\n\nexport type UpdateTableConfig<T extends TableConfig, TUpdate extends Partial<TableConfig>> = Required<\n\tUpdate<T, TUpdate>\n>;\n\n/** @internal */\nexport const Schema = Symbol.for('drizzle:Schema');\n\n/** @internal */\nexport const Columns = Symbol.for('drizzle:Columns');\n\n/** @internal */\nexport const ExtraConfigColumns = Symbol.for('drizzle:ExtraConfigColumns');\n\n/** @internal */\nexport const OriginalName = Symbol.for('drizzle:OriginalName');\n\n/** @internal */\nexport const BaseName = Symbol.for('drizzle:BaseName');\n\n/** @internal */\nexport const IsAlias = Symbol.for('drizzle:IsAlias');\n\n/** @internal */\nexport const ExtraConfigBuilder = Symbol.for('drizzle:ExtraConfigBuilder');\n\nconst IsDrizzleTable = Symbol.for('drizzle:IsDrizzleTable');\n\nexport interface Table<\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tT extends TableConfig = TableConfig,\n> extends SQLWrapper {\n\t// SQLWrapper runtime implementation is defined in 'sql/sql.ts'\n}\n\nexport class Table<T extends TableConfig = TableConfig> implements SQLWrapper {\n\tstatic readonly [entityKind]: string = 'Table';\n\n\tdeclare readonly _: {\n\t\treadonly brand: 'Table';\n\t\treadonly config: T;\n\t\treadonly name: T['name'];\n\t\treadonly schema: T['schema'];\n\t\treadonly columns: T['columns'];\n\t\treadonly inferSelect: InferSelectModel<Table<T>>;\n\t\treadonly inferInsert: InferInsertModel<Table<T>>;\n\t};\n\n\tdeclare readonly $inferSelect: InferSelectModel<Table<T>>;\n\tdeclare readonly $inferInsert: InferInsertModel<Table<T>>;\n\n\t/** @internal */\n\tstatic readonly Symbol = {\n\t\tName: TableName as typeof TableName,\n\t\tSchema: Schema as typeof Schema,\n\t\tOriginalName: OriginalName as typeof OriginalName,\n\t\tColumns: Columns as typeof Columns,\n\t\tExtraConfigColumns: ExtraConfigColumns as typeof ExtraConfigColumns,\n\t\tBaseName: BaseName as typeof BaseName,\n\t\tIsAlias: IsAlias as typeof IsAlias,\n\t\tExtraConfigBuilder: ExtraConfigBuilder as typeof ExtraConfigBuilder,\n\t};\n\n\t/**\n\t * @internal\n\t * Can be changed if the table is aliased.\n\t */\n\t[TableName]: string;\n\n\t/**\n\t * @internal\n\t * Used to store the original name of the table, before any aliasing.\n\t */\n\t[OriginalName]: string;\n\n\t/** @internal */\n\t[Schema]: string | undefined;\n\n\t/** @internal */\n\t[Columns]!: T['columns'];\n\n\t/** @internal */\n\t[ExtraConfigColumns]!: Record<string, ExtraConfigColumn>;\n\n\t/**\n\t * @internal\n\t * Used to store the table name before the transformation via the `tableCreator` functions.\n\t */\n\t[BaseName]: string;\n\n\t/** @internal */\n\t[IsAlias] = false;\n\n\t/** @internal */\n\t[IsDrizzleTable] = true;\n\n\t/** @internal */\n\t[ExtraConfigBuilder]: ((self: any) => Record<string, unknown> | unknown[]) | undefined = undefined;\n\n\tconstructor(name: string, schema: string | undefined, baseName: string) {\n\t\tthis[TableName] = this[OriginalName] = name;\n\t\tthis[Schema] = schema;\n\t\tthis[BaseName] = baseName;\n\t}\n}\n\nexport function isTable(table: unknown): table is Table {\n\treturn typeof table === 'object' && table !== null && IsDrizzleTable in table;\n}\n\n/**\n * Any table with a specified boundary.\n *\n * @example\n\t```ts\n\t// Any table with a specific name\n\ttype AnyUsersTable = AnyTable<{ name: 'users' }>;\n\t```\n *\n * To describe any table with any config, simply use `Table` without any type arguments, like this:\n *\n\t```ts\n\tfunction needsTable(table: Table) {\n\t\t...\n\t}\n\t```\n */\nexport type AnyTable<TPartial extends Partial<TableConfig>> = Table<UpdateTableConfig<TableConfig, TPartial>>;\n\nexport function getTableName<T extends Table>(table: T): T['_']['name'] {\n\treturn table[TableName];\n}\n\nexport function getTableUniqueName<T extends Table>(table: T): `${T['_']['schema']}.${T['_']['name']}` {\n\treturn `${table[Schema] ?? 'public'}.${table[TableName]}`;\n}\n\nexport type MapColumnName<TName extends string, TColumn extends Column, TDBColumNames extends boolean> =\n\tTDBColumNames extends true ? TColumn['_']['name']\n\t\t: TName;\n\nexport type InferModelFromColumns<\n\tTColumns extends Record<string, Column>,\n\tTInferMode extends 'select' | 'insert' = 'select',\n\tTConfig extends { dbColumnNames: boolean; override?: boolean } = { dbColumnNames: false; override: false },\n> = Simplify<\n\tTInferMode extends 'insert' ?\n\t\t\t& {\n\t\t\t\t[\n\t\t\t\t\tKey in keyof TColumns & string as RequiredKeyOnly<\n\t\t\t\t\t\tMapColumnName<Key, TColumns[Key], TConfig['dbColumnNames']>,\n\t\t\t\t\t\tTColumns[Key]\n\t\t\t\t\t>\n\t\t\t\t]: GetColumnData<TColumns[Key], 'query'>;\n\t\t\t}\n\t\t\t& {\n\t\t\t\t[\n\t\t\t\t\tKey in keyof TColumns & string as OptionalKeyOnly<\n\t\t\t\t\t\tMapColumnName<Key, TColumns[Key], TConfig['dbColumnNames']>,\n\t\t\t\t\t\tTColumns[Key],\n\t\t\t\t\t\tTConfig['override']\n\t\t\t\t\t>\n\t\t\t\t]?: GetColumnData<TColumns[Key], 'query'>;\n\t\t\t}\n\t\t: {\n\t\t\t[\n\t\t\t\tKey in keyof TColumns & string as MapColumnName<\n\t\t\t\t\tKey,\n\t\t\t\t\tTColumns[Key],\n\t\t\t\t\tTConfig['dbColumnNames']\n\t\t\t\t>\n\t\t\t]: GetColumnData<TColumns[Key], 'query'>;\n\t\t}\n>;\n\n/** @deprecated Use one of the alternatives: {@link InferSelectModel} / {@link InferInsertModel}, or `table.$inferSelect` / `table.$inferInsert`\n */\nexport type InferModel<\n\tTTable extends Table,\n\tTInferMode extends 'select' | 'insert' = 'select',\n\tTConfig extends { dbColumnNames: boolean } = { dbColumnNames: false },\n> = InferModelFromColumns<TTable['_']['columns'], TInferMode, TConfig>;\n\nexport type InferSelectModel<\n\tTTable extends Table,\n\tTConfig extends { dbColumnNames: boolean } = { dbColumnNames: false },\n> = InferModelFromColumns<TTable['_']['columns'], 'select', TConfig>;\n\nexport type InferInsertModel<\n\tTTable extends Table,\n\tTConfig extends { dbColumnNames: boolean; override?: boolean } = { dbColumnNames: false; override: false },\n> = InferModelFromColumns<TTable['_']['columns'], 'insert', TConfig>;\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oBAA2B;AAI3B,yBAA0B;AAenB,MAAM,SAAS,OAAO,IAAI,gBAAgB;AAG1C,MAAM,UAAU,OAAO,IAAI,iBAAiB;AAG5C,MAAM,qBAAqB,OAAO,IAAI,4BAA4B;AAGlE,MAAM,eAAe,OAAO,IAAI,sBAAsB;AAGtD,MAAM,WAAW,OAAO,IAAI,kBAAkB;AAG9C,MAAM,UAAU,OAAO,IAAI,iBAAiB;AAG5C,MAAM,qBAAqB,OAAO,IAAI,4BAA4B;AAEzE,MAAM,iBAAiB,OAAO,IAAI,wBAAwB;AASnD,MAAM,MAAiE;AAAA,EAC7E,QAAiB,wBAAU,IAAY;AAAA;AAAA,EAgBvC,OAAgB,SAAS;AAAA,IACxB,MAAM;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,CAAC,4BAAS;AAAA;AAAA;AAAA;AAAA;AAAA,EAMV,CAAC,YAAY;AAAA;AAAA,EAGb,CAAC,MAAM;AAAA;AAAA,EAGP,CAAC,OAAO;AAAA;AAAA,EAGR,CAAC,kBAAkB;AAAA;AAAA;AAAA;AAAA;AAAA,EAMnB,CAAC,QAAQ;AAAA;AAAA,EAGT,CAAC,OAAO,IAAI;AAAA;AAAA,EAGZ,CAAC,cAAc,IAAI;AAAA;AAAA,EAGnB,CAAC,kBAAkB,IAAsE;AAAA,EAEzF,YAAY,MAAc,QAA4B,UAAkB;AACvE,SAAK,4BAAS,IAAI,KAAK,YAAY,IAAI;AACvC,SAAK,MAAM,IAAI;AACf,SAAK,QAAQ,IAAI;AAAA,EAClB;AACD;AAEO,SAAS,QAAQ,OAAgC;AACvD,SAAO,OAAO,UAAU,YAAY,UAAU,QAAQ,kBAAkB;AACzE;AAqBO,SAAS,aAA8B,OAA0B;AACvE,SAAO,MAAM,4BAAS;AACvB;AAEO,SAAS,mBAAoC,OAAmD;AACtG,SAAO,GAAG,MAAM,MAAM,KAAK,QAAQ,IAAI,MAAM,4BAAS,CAAC;AACxD;","names":[]}
|