drizzle-orm 0.43.1-b08434e → 0.43.1-e3d1c4f
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 +7 -6
- package/aws-data-api/pg/driver.cjs.map +1 -1
- package/aws-data-api/pg/driver.d.cts +4 -3
- package/aws-data-api/pg/driver.d.ts +4 -3
- package/aws-data-api/pg/driver.js +7 -6
- package/aws-data-api/pg/driver.js.map +1 -1
- package/aws-data-api/pg/session.cjs +26 -9
- package/aws-data-api/pg/session.cjs.map +1 -1
- package/aws-data-api/pg/session.d.cts +5 -4
- package/aws-data-api/pg/session.d.ts +5 -4
- package/aws-data-api/pg/session.js +26 -9
- package/aws-data-api/pg/session.js.map +1 -1
- package/better-sqlite3/driver.cjs.map +1 -1
- package/better-sqlite3/driver.d.cts +4 -3
- package/better-sqlite3/driver.d.ts +4 -3
- package/better-sqlite3/driver.js.map +1 -1
- package/better-sqlite3/session.cjs +5 -5
- package/better-sqlite3/session.cjs.map +1 -1
- package/better-sqlite3/session.d.cts +5 -5
- package/better-sqlite3/session.d.ts +5 -5
- package/better-sqlite3/session.js +5 -5
- package/better-sqlite3/session.js.map +1 -1
- package/bun-sql/driver.cjs +3 -2
- package/bun-sql/driver.cjs.map +1 -1
- package/bun-sql/driver.d.cts +4 -3
- package/bun-sql/driver.d.ts +4 -3
- package/bun-sql/driver.js +3 -2
- package/bun-sql/driver.js.map +1 -1
- package/bun-sql/session.cjs +20 -11
- package/bun-sql/session.cjs.map +1 -1
- package/bun-sql/session.d.cts +6 -5
- package/bun-sql/session.d.ts +6 -5
- package/bun-sql/session.js +20 -11
- package/bun-sql/session.js.map +1 -1
- package/bun-sqlite/driver.cjs.map +1 -1
- package/bun-sqlite/driver.d.cts +4 -3
- package/bun-sqlite/driver.d.ts +4 -3
- package/bun-sqlite/driver.js.map +1 -1
- package/bun-sqlite/session.cjs +5 -5
- package/bun-sqlite/session.cjs.map +1 -1
- package/bun-sqlite/session.d.cts +5 -5
- package/bun-sqlite/session.d.ts +5 -5
- package/bun-sqlite/session.js +5 -5
- package/bun-sqlite/session.js.map +1 -1
- package/column-builder.cjs.map +1 -1
- package/column-builder.d.cts +7 -2
- package/column-builder.d.ts +7 -2
- package/column-builder.js.map +1 -1
- package/column.cjs +2 -0
- package/column.cjs.map +1 -1
- package/column.d.cts +6 -0
- package/column.d.ts +6 -0
- package/column.js +2 -0
- package/column.js.map +1 -1
- package/d1/driver.cjs +3 -2
- package/d1/driver.cjs.map +1 -1
- package/d1/driver.d.cts +2 -1
- package/d1/driver.d.ts +2 -1
- package/d1/driver.js +3 -2
- package/d1/driver.js.map +1 -1
- package/d1/session.cjs +20 -11
- package/d1/session.cjs.map +1 -1
- package/d1/session.d.cts +8 -7
- package/d1/session.d.ts +8 -7
- package/d1/session.js +20 -11
- package/d1/session.js.map +1 -1
- package/durable-sqlite/driver.cjs.map +1 -1
- package/durable-sqlite/driver.d.cts +2 -1
- package/durable-sqlite/driver.d.ts +2 -1
- package/durable-sqlite/driver.js.map +1 -1
- package/durable-sqlite/session.cjs +5 -5
- package/durable-sqlite/session.cjs.map +1 -1
- package/durable-sqlite/session.d.cts +5 -5
- package/durable-sqlite/session.d.ts +5 -5
- package/durable-sqlite/session.js +5 -5
- package/durable-sqlite/session.js.map +1 -1
- package/expo-sqlite/driver.cjs.map +1 -1
- package/expo-sqlite/driver.d.cts +2 -1
- package/expo-sqlite/driver.d.ts +2 -1
- package/expo-sqlite/driver.js.map +1 -1
- package/expo-sqlite/session.cjs +5 -5
- package/expo-sqlite/session.cjs.map +1 -1
- package/expo-sqlite/session.d.cts +5 -5
- package/expo-sqlite/session.d.ts +5 -5
- package/expo-sqlite/session.js +5 -5
- package/expo-sqlite/session.js.map +1 -1
- package/extension-core/gel/index.cjs +33 -0
- package/extension-core/gel/index.cjs.map +1 -0
- package/extension-core/gel/index.d.cts +67 -0
- package/extension-core/gel/index.d.ts +67 -0
- package/extension-core/gel/index.js +9 -0
- package/extension-core/gel/index.js.map +1 -0
- package/extension-core/index.cjs +42 -0
- package/extension-core/index.cjs.map +1 -0
- package/extension-core/index.d.cts +9 -0
- package/extension-core/index.d.ts +9 -0
- package/extension-core/index.js +15 -0
- package/extension-core/index.js.map +1 -0
- package/extension-core/mysql/index.cjs +33 -0
- package/extension-core/mysql/index.cjs.map +1 -0
- package/extension-core/mysql/index.d.cts +69 -0
- package/extension-core/mysql/index.d.ts +69 -0
- package/extension-core/mysql/index.js +9 -0
- package/extension-core/mysql/index.js.map +1 -0
- package/extension-core/pg/index.cjs +33 -0
- package/extension-core/pg/index.cjs.map +1 -0
- package/extension-core/pg/index.d.cts +67 -0
- package/extension-core/pg/index.d.ts +67 -0
- package/extension-core/pg/index.js +9 -0
- package/extension-core/pg/index.js.map +1 -0
- package/extension-core/singlestore/index.cjs +33 -0
- package/extension-core/singlestore/index.cjs.map +1 -0
- package/extension-core/singlestore/index.d.cts +67 -0
- package/extension-core/singlestore/index.d.ts +67 -0
- package/extension-core/singlestore/index.js +9 -0
- package/extension-core/singlestore/index.js.map +1 -0
- package/extension-core/sqlite/index.cjs +33 -0
- package/extension-core/sqlite/index.cjs.map +1 -0
- package/extension-core/sqlite/index.d.cts +68 -0
- package/extension-core/sqlite/index.d.ts +68 -0
- package/extension-core/sqlite/index.js +9 -0
- package/extension-core/sqlite/index.js.map +1 -0
- package/extensions/hook/gel/index.cjs +47 -0
- package/extensions/hook/gel/index.cjs.map +1 -0
- package/extensions/hook/gel/index.d.cts +11 -0
- package/extensions/hook/gel/index.d.ts +11 -0
- package/extensions/hook/gel/index.js +22 -0
- package/extensions/hook/gel/index.js.map +1 -0
- package/extensions/hook/mysql/index.cjs +47 -0
- package/extensions/hook/mysql/index.cjs.map +1 -0
- package/extensions/hook/mysql/index.d.cts +11 -0
- package/extensions/hook/mysql/index.d.ts +11 -0
- package/extensions/hook/mysql/index.js +22 -0
- package/extensions/hook/mysql/index.js.map +1 -0
- package/extensions/hook/pg/index.cjs +47 -0
- package/extensions/hook/pg/index.cjs.map +1 -0
- package/extensions/hook/pg/index.d.cts +11 -0
- package/extensions/hook/pg/index.d.ts +11 -0
- package/extensions/hook/pg/index.js +22 -0
- package/extensions/hook/pg/index.js.map +1 -0
- package/extensions/hook/singlestore/index.cjs +47 -0
- package/extensions/hook/singlestore/index.cjs.map +1 -0
- package/extensions/hook/singlestore/index.d.cts +11 -0
- package/extensions/hook/singlestore/index.d.ts +11 -0
- package/extensions/hook/singlestore/index.js +22 -0
- package/extensions/hook/singlestore/index.js.map +1 -0
- package/extensions/hook/sqlite/index.cjs +47 -0
- package/extensions/hook/sqlite/index.cjs.map +1 -0
- package/extensions/hook/sqlite/index.d.cts +11 -0
- package/extensions/hook/sqlite/index.d.ts +11 -0
- package/extensions/hook/sqlite/index.js +22 -0
- package/extensions/hook/sqlite/index.js.map +1 -0
- package/extensions/s3-file/common.cjs +321 -0
- package/extensions/s3-file/common.cjs.map +1 -0
- package/extensions/s3-file/common.d.cts +88 -0
- package/extensions/s3-file/common.d.ts +88 -0
- package/extensions/s3-file/common.js +288 -0
- package/extensions/s3-file/common.js.map +1 -0
- package/extensions/s3-file/gel/column.cjs +124 -0
- package/extensions/s3-file/gel/column.cjs.map +1 -0
- package/extensions/s3-file/gel/column.d.cts +105 -0
- package/extensions/s3-file/gel/column.d.ts +105 -0
- package/extensions/s3-file/gel/column.js +103 -0
- package/extensions/s3-file/gel/column.js.map +1 -0
- package/extensions/s3-file/gel/extension.cjs +271 -0
- package/extensions/s3-file/gel/extension.cjs.map +1 -0
- package/extensions/s3-file/gel/extension.d.cts +18 -0
- package/extensions/s3-file/gel/extension.d.ts +18 -0
- package/extensions/s3-file/gel/extension.js +257 -0
- package/extensions/s3-file/gel/extension.js.map +1 -0
- package/extensions/s3-file/gel/index.cjs +25 -0
- package/extensions/s3-file/gel/index.cjs.map +1 -0
- package/extensions/s3-file/gel/index.d.cts +2 -0
- package/extensions/s3-file/gel/index.d.ts +2 -0
- package/extensions/s3-file/gel/index.js +3 -0
- package/extensions/s3-file/gel/index.js.map +1 -0
- package/extensions/s3-file/index.cjs +23 -0
- package/extensions/s3-file/index.cjs.map +1 -0
- package/extensions/s3-file/index.d.cts +1 -0
- package/extensions/s3-file/index.d.ts +1 -0
- package/extensions/s3-file/index.js +2 -0
- package/extensions/s3-file/index.js.map +1 -0
- package/extensions/s3-file/mysql/column.cjs +121 -0
- package/extensions/s3-file/mysql/column.cjs.map +1 -0
- package/extensions/s3-file/mysql/column.d.cts +63 -0
- package/extensions/s3-file/mysql/column.d.ts +63 -0
- package/extensions/s3-file/mysql/column.js +97 -0
- package/extensions/s3-file/mysql/column.js.map +1 -0
- package/extensions/s3-file/mysql/extension.cjs +250 -0
- package/extensions/s3-file/mysql/extension.cjs.map +1 -0
- package/extensions/s3-file/mysql/extension.d.cts +18 -0
- package/extensions/s3-file/mysql/extension.d.ts +18 -0
- package/extensions/s3-file/mysql/extension.js +236 -0
- package/extensions/s3-file/mysql/extension.js.map +1 -0
- package/extensions/s3-file/mysql/index.cjs +25 -0
- package/extensions/s3-file/mysql/index.cjs.map +1 -0
- package/extensions/s3-file/mysql/index.d.cts +2 -0
- package/extensions/s3-file/mysql/index.d.ts +2 -0
- package/extensions/s3-file/mysql/index.js +3 -0
- package/extensions/s3-file/mysql/index.js.map +1 -0
- package/extensions/s3-file/pg/column.cjs +124 -0
- package/extensions/s3-file/pg/column.cjs.map +1 -0
- package/extensions/s3-file/pg/column.d.cts +105 -0
- package/extensions/s3-file/pg/column.d.ts +105 -0
- package/extensions/s3-file/pg/column.js +103 -0
- package/extensions/s3-file/pg/column.js.map +1 -0
- package/extensions/s3-file/pg/extension.cjs +272 -0
- package/extensions/s3-file/pg/extension.cjs.map +1 -0
- package/extensions/s3-file/pg/extension.d.cts +18 -0
- package/extensions/s3-file/pg/extension.d.ts +18 -0
- package/extensions/s3-file/pg/extension.js +258 -0
- package/extensions/s3-file/pg/extension.js.map +1 -0
- package/extensions/s3-file/pg/index.cjs +25 -0
- package/extensions/s3-file/pg/index.cjs.map +1 -0
- package/extensions/s3-file/pg/index.d.cts +2 -0
- package/extensions/s3-file/pg/index.d.ts +2 -0
- package/extensions/s3-file/pg/index.js +3 -0
- package/extensions/s3-file/pg/index.js.map +1 -0
- package/extensions/s3-file/singlestore/column.cjs +121 -0
- package/extensions/s3-file/singlestore/column.cjs.map +1 -0
- package/extensions/s3-file/singlestore/column.d.cts +63 -0
- package/extensions/s3-file/singlestore/column.d.ts +63 -0
- package/extensions/s3-file/singlestore/column.js +97 -0
- package/extensions/s3-file/singlestore/column.js.map +1 -0
- package/extensions/s3-file/singlestore/extension.cjs +247 -0
- package/extensions/s3-file/singlestore/extension.cjs.map +1 -0
- package/extensions/s3-file/singlestore/extension.d.cts +18 -0
- package/extensions/s3-file/singlestore/extension.d.ts +18 -0
- package/extensions/s3-file/singlestore/extension.js +233 -0
- package/extensions/s3-file/singlestore/extension.js.map +1 -0
- package/extensions/s3-file/singlestore/index.cjs +25 -0
- package/extensions/s3-file/singlestore/index.cjs.map +1 -0
- package/extensions/s3-file/singlestore/index.d.cts +2 -0
- package/extensions/s3-file/singlestore/index.d.ts +2 -0
- package/extensions/s3-file/singlestore/index.js +3 -0
- package/extensions/s3-file/singlestore/index.js.map +1 -0
- package/extensions/s3-file/sqlite/column.cjs +121 -0
- package/extensions/s3-file/sqlite/column.cjs.map +1 -0
- package/extensions/s3-file/sqlite/column.d.cts +63 -0
- package/extensions/s3-file/sqlite/column.d.ts +63 -0
- package/extensions/s3-file/sqlite/column.js +97 -0
- package/extensions/s3-file/sqlite/column.js.map +1 -0
- package/extensions/s3-file/sqlite/extension.cjs +250 -0
- package/extensions/s3-file/sqlite/extension.cjs.map +1 -0
- package/extensions/s3-file/sqlite/extension.d.cts +18 -0
- package/extensions/s3-file/sqlite/extension.d.ts +18 -0
- package/extensions/s3-file/sqlite/extension.js +236 -0
- package/extensions/s3-file/sqlite/extension.js.map +1 -0
- package/extensions/s3-file/sqlite/index.cjs +25 -0
- package/extensions/s3-file/sqlite/index.cjs.map +1 -0
- package/extensions/s3-file/sqlite/index.d.cts +2 -0
- package/extensions/s3-file/sqlite/index.d.ts +2 -0
- package/extensions/s3-file/sqlite/index.js +3 -0
- package/extensions/s3-file/sqlite/index.js.map +1 -0
- package/gel/driver.cjs +6 -4
- package/gel/driver.cjs.map +1 -1
- package/gel/driver.d.cts +6 -4
- package/gel/driver.d.ts +6 -4
- package/gel/driver.js +6 -4
- package/gel/driver.js.map +1 -1
- package/gel/session.cjs +12 -9
- package/gel/session.cjs.map +1 -1
- package/gel/session.d.cts +5 -4
- package/gel/session.d.ts +5 -4
- package/gel/session.js +12 -9
- package/gel/session.js.map +1 -1
- package/gel-core/columns/common.cjs +8 -0
- package/gel-core/columns/common.cjs.map +1 -1
- package/gel-core/columns/common.d.cts +2 -0
- package/gel-core/columns/common.d.ts +2 -0
- package/gel-core/columns/common.js +8 -0
- package/gel-core/columns/common.js.map +1 -1
- package/gel-core/db.cjs +5 -3
- package/gel-core/db.cjs.map +1 -1
- package/gel-core/db.d.cts +3 -1
- package/gel-core/db.d.ts +3 -1
- package/gel-core/db.js +5 -3
- package/gel-core/db.js.map +1 -1
- package/gel-core/dialect.cjs +25 -19
- package/gel-core/dialect.cjs.map +1 -1
- package/gel-core/dialect.d.cts +7 -6
- package/gel-core/dialect.d.ts +7 -6
- package/gel-core/dialect.js +26 -20
- package/gel-core/dialect.js.map +1 -1
- package/gel-core/query-builders/delete.cjs +7 -2
- package/gel-core/query-builders/delete.cjs.map +1 -1
- package/gel-core/query-builders/delete.js +7 -2
- package/gel-core/query-builders/delete.js.map +1 -1
- package/gel-core/query-builders/insert.cjs +32 -6
- package/gel-core/query-builders/insert.cjs.map +1 -1
- package/gel-core/query-builders/insert.js +34 -8
- package/gel-core/query-builders/insert.js.map +1 -1
- package/gel-core/query-builders/query.cjs +12 -1
- package/gel-core/query-builders/query.cjs.map +1 -1
- package/gel-core/query-builders/query.js +12 -1
- package/gel-core/query-builders/query.js.map +1 -1
- package/gel-core/query-builders/select.cjs +9 -2
- package/gel-core/query-builders/select.cjs.map +1 -1
- package/gel-core/query-builders/select.js +9 -2
- package/gel-core/query-builders/select.js.map +1 -1
- package/gel-core/query-builders/update.cjs +8 -3
- package/gel-core/query-builders/update.cjs.map +1 -1
- package/gel-core/query-builders/update.js +8 -3
- package/gel-core/query-builders/update.js.map +1 -1
- package/gel-core/session.cjs +48 -4
- package/gel-core/session.cjs.map +1 -1
- package/gel-core/session.d.cts +11 -5
- package/gel-core/session.d.ts +11 -5
- package/gel-core/session.js +48 -4
- package/gel-core/session.js.map +1 -1
- package/libsql/driver-core.cjs +3 -2
- package/libsql/driver-core.cjs.map +1 -1
- package/libsql/driver-core.js +3 -2
- package/libsql/driver-core.js.map +1 -1
- package/libsql/driver.cjs +4 -1
- package/libsql/driver.cjs.map +1 -1
- package/libsql/driver.d.cts +4 -3
- package/libsql/driver.d.ts +4 -3
- package/libsql/driver.js +4 -1
- package/libsql/driver.js.map +1 -1
- package/libsql/http/index.cjs +4 -1
- package/libsql/http/index.cjs.map +1 -1
- package/libsql/http/index.d.cts +4 -3
- package/libsql/http/index.d.ts +4 -3
- package/libsql/http/index.js +4 -1
- package/libsql/http/index.js.map +1 -1
- package/libsql/node/index.cjs +4 -1
- package/libsql/node/index.cjs.map +1 -1
- package/libsql/node/index.d.cts +4 -3
- package/libsql/node/index.d.ts +4 -3
- package/libsql/node/index.js +4 -1
- package/libsql/node/index.js.map +1 -1
- package/libsql/session.cjs +29 -12
- package/libsql/session.cjs.map +1 -1
- package/libsql/session.d.cts +8 -7
- package/libsql/session.d.ts +8 -7
- package/libsql/session.js +29 -12
- package/libsql/session.js.map +1 -1
- package/libsql/sqlite3/index.cjs +4 -1
- package/libsql/sqlite3/index.cjs.map +1 -1
- package/libsql/sqlite3/index.d.cts +4 -3
- package/libsql/sqlite3/index.d.ts +4 -3
- package/libsql/sqlite3/index.js +4 -1
- package/libsql/sqlite3/index.js.map +1 -1
- package/libsql/wasm/index.cjs +4 -1
- package/libsql/wasm/index.cjs.map +1 -1
- package/libsql/wasm/index.d.cts +4 -3
- package/libsql/wasm/index.d.ts +4 -3
- package/libsql/wasm/index.js +4 -1
- package/libsql/wasm/index.js.map +1 -1
- package/libsql/web/index.cjs +4 -1
- package/libsql/web/index.cjs.map +1 -1
- package/libsql/web/index.d.cts +4 -3
- package/libsql/web/index.d.ts +4 -3
- package/libsql/web/index.js +4 -1
- package/libsql/web/index.js.map +1 -1
- package/libsql/ws/index.cjs +4 -1
- package/libsql/ws/index.cjs.map +1 -1
- package/libsql/ws/index.d.cts +4 -3
- package/libsql/ws/index.d.ts +4 -3
- package/libsql/ws/index.js +4 -1
- package/libsql/ws/index.js.map +1 -1
- package/mysql-core/db.cjs +5 -3
- package/mysql-core/db.cjs.map +1 -1
- package/mysql-core/db.d.cts +3 -1
- package/mysql-core/db.d.ts +3 -1
- package/mysql-core/db.js +5 -3
- package/mysql-core/db.js.map +1 -1
- package/mysql-core/dialect.cjs +30 -23
- package/mysql-core/dialect.cjs.map +1 -1
- package/mysql-core/dialect.d.cts +8 -7
- package/mysql-core/dialect.d.ts +8 -7
- package/mysql-core/dialect.js +31 -24
- package/mysql-core/dialect.js.map +1 -1
- package/mysql-core/query-builders/delete.cjs +8 -2
- package/mysql-core/query-builders/delete.cjs.map +1 -1
- package/mysql-core/query-builders/delete.js +8 -2
- package/mysql-core/query-builders/delete.js.map +1 -1
- package/mysql-core/query-builders/insert.cjs +29 -5
- package/mysql-core/query-builders/insert.cjs.map +1 -1
- package/mysql-core/query-builders/insert.js +31 -7
- package/mysql-core/query-builders/insert.js.map +1 -1
- package/mysql-core/query-builders/query.cjs +14 -2
- package/mysql-core/query-builders/query.cjs.map +1 -1
- package/mysql-core/query-builders/query.js +14 -2
- package/mysql-core/query-builders/query.js.map +1 -1
- package/mysql-core/query-builders/select.cjs +12 -4
- package/mysql-core/query-builders/select.cjs.map +1 -1
- package/mysql-core/query-builders/select.js +12 -4
- package/mysql-core/query-builders/select.js.map +1 -1
- package/mysql-core/query-builders/update.cjs +15 -3
- package/mysql-core/query-builders/update.cjs.map +1 -1
- package/mysql-core/query-builders/update.js +15 -3
- package/mysql-core/query-builders/update.js.map +1 -1
- package/mysql-core/session.cjs +45 -3
- package/mysql-core/session.cjs.map +1 -1
- package/mysql-core/session.d.cts +13 -4
- package/mysql-core/session.d.ts +13 -4
- package/mysql-core/session.js +45 -3
- package/mysql-core/session.js.map +1 -1
- package/mysql-proxy/driver.cjs +3 -2
- package/mysql-proxy/driver.cjs.map +1 -1
- package/mysql-proxy/driver.d.cts +2 -1
- package/mysql-proxy/driver.d.ts +2 -1
- package/mysql-proxy/driver.js +3 -2
- package/mysql-proxy/driver.js.map +1 -1
- package/mysql-proxy/session.cjs +8 -8
- package/mysql-proxy/session.cjs.map +1 -1
- package/mysql-proxy/session.d.cts +5 -6
- package/mysql-proxy/session.d.ts +5 -6
- package/mysql-proxy/session.js +8 -8
- package/mysql-proxy/session.js.map +1 -1
- package/mysql2/driver.cjs +6 -4
- package/mysql2/driver.cjs.map +1 -1
- package/mysql2/driver.d.cts +4 -2
- package/mysql2/driver.d.ts +4 -2
- package/mysql2/driver.js +6 -4
- package/mysql2/driver.js.map +1 -1
- package/mysql2/session.cjs +14 -10
- package/mysql2/session.cjs.map +1 -1
- package/mysql2/session.d.cts +5 -5
- package/mysql2/session.d.ts +5 -5
- package/mysql2/session.js +14 -10
- package/mysql2/session.js.map +1 -1
- package/neon-http/driver.cjs +5 -3
- package/neon-http/driver.cjs.map +1 -1
- package/neon-http/driver.d.cts +6 -4
- package/neon-http/driver.d.ts +6 -4
- package/neon-http/driver.js +5 -3
- package/neon-http/driver.js.map +1 -1
- package/neon-http/session.cjs +8 -6
- package/neon-http/session.cjs.map +1 -1
- package/neon-http/session.d.cts +5 -4
- package/neon-http/session.d.ts +5 -4
- package/neon-http/session.js +8 -6
- package/neon-http/session.js.map +1 -1
- package/neon-serverless/driver.cjs +6 -4
- package/neon-serverless/driver.cjs.map +1 -1
- package/neon-serverless/driver.d.cts +6 -4
- package/neon-serverless/driver.d.ts +6 -4
- package/neon-serverless/driver.js +6 -4
- package/neon-serverless/driver.js.map +1 -1
- package/neon-serverless/session.cjs +23 -9
- package/neon-serverless/session.cjs.map +1 -1
- package/neon-serverless/session.d.cts +5 -4
- package/neon-serverless/session.d.ts +5 -4
- package/neon-serverless/session.js +23 -9
- package/neon-serverless/session.js.map +1 -1
- package/node-postgres/driver.cjs +6 -4
- package/node-postgres/driver.cjs.map +1 -1
- package/node-postgres/driver.d.cts +6 -4
- package/node-postgres/driver.d.ts +6 -4
- package/node-postgres/driver.js +6 -4
- package/node-postgres/driver.js.map +1 -1
- package/node-postgres/session.cjs +18 -9
- package/node-postgres/session.cjs.map +1 -1
- package/node-postgres/session.d.cts +5 -4
- package/node-postgres/session.d.ts +5 -4
- package/node-postgres/session.js +18 -9
- package/node-postgres/session.js.map +1 -1
- package/op-sqlite/driver.cjs.map +1 -1
- package/op-sqlite/driver.d.cts +2 -1
- package/op-sqlite/driver.d.ts +2 -1
- package/op-sqlite/driver.js.map +1 -1
- package/op-sqlite/session.cjs +5 -5
- package/op-sqlite/session.cjs.map +1 -1
- package/op-sqlite/session.d.cts +5 -5
- package/op-sqlite/session.d.ts +5 -5
- package/op-sqlite/session.js +5 -5
- package/op-sqlite/session.js.map +1 -1
- package/package.json +347 -1
- package/pg-core/columns/common.cjs +2 -0
- package/pg-core/columns/common.cjs.map +1 -1
- package/pg-core/columns/common.js +2 -0
- package/pg-core/columns/common.js.map +1 -1
- package/pg-core/db.cjs +5 -3
- package/pg-core/db.cjs.map +1 -1
- package/pg-core/db.d.cts +3 -1
- package/pg-core/db.d.ts +3 -1
- package/pg-core/db.js +5 -3
- package/pg-core/db.js.map +1 -1
- package/pg-core/dialect.cjs +26 -19
- package/pg-core/dialect.cjs.map +1 -1
- package/pg-core/dialect.d.cts +7 -6
- package/pg-core/dialect.d.ts +7 -6
- package/pg-core/dialect.js +27 -20
- package/pg-core/dialect.js.map +1 -1
- package/pg-core/query-builders/delete.cjs +7 -2
- package/pg-core/query-builders/delete.cjs.map +1 -1
- package/pg-core/query-builders/delete.d.cts +1 -1
- package/pg-core/query-builders/delete.d.ts +1 -1
- package/pg-core/query-builders/delete.js +7 -2
- package/pg-core/query-builders/delete.js.map +1 -1
- package/pg-core/query-builders/insert.cjs +37 -6
- package/pg-core/query-builders/insert.cjs.map +1 -1
- package/pg-core/query-builders/insert.js +39 -8
- package/pg-core/query-builders/insert.js.map +1 -1
- package/pg-core/query-builders/query.cjs +12 -1
- package/pg-core/query-builders/query.cjs.map +1 -1
- package/pg-core/query-builders/query.js +12 -1
- package/pg-core/query-builders/query.js.map +1 -1
- package/pg-core/query-builders/select.cjs +11 -4
- package/pg-core/query-builders/select.cjs.map +1 -1
- package/pg-core/query-builders/select.js +11 -4
- package/pg-core/query-builders/select.js.map +1 -1
- package/pg-core/query-builders/update.cjs +8 -3
- package/pg-core/query-builders/update.cjs.map +1 -1
- package/pg-core/query-builders/update.d.cts +2 -2
- package/pg-core/query-builders/update.d.ts +2 -2
- package/pg-core/query-builders/update.js +9 -8
- package/pg-core/query-builders/update.js.map +1 -1
- package/pg-core/session.cjs +49 -4
- package/pg-core/session.cjs.map +1 -1
- package/pg-core/session.d.cts +11 -5
- package/pg-core/session.d.ts +11 -5
- package/pg-core/session.js +49 -4
- package/pg-core/session.js.map +1 -1
- package/pg-proxy/driver.cjs +3 -2
- package/pg-proxy/driver.cjs.map +1 -1
- package/pg-proxy/driver.d.cts +2 -1
- package/pg-proxy/driver.d.ts +2 -1
- package/pg-proxy/driver.js +3 -2
- package/pg-proxy/driver.js.map +1 -1
- package/pg-proxy/session.cjs +8 -6
- package/pg-proxy/session.cjs.map +1 -1
- package/pg-proxy/session.d.cts +5 -4
- package/pg-proxy/session.d.ts +5 -4
- package/pg-proxy/session.js +8 -6
- package/pg-proxy/session.js.map +1 -1
- package/pglite/driver.cjs +6 -4
- package/pglite/driver.cjs.map +1 -1
- package/pglite/driver.d.cts +6 -4
- package/pglite/driver.d.ts +6 -4
- package/pglite/driver.js +6 -4
- package/pglite/driver.js.map +1 -1
- package/pglite/session.cjs +19 -9
- package/pglite/session.cjs.map +1 -1
- package/pglite/session.d.cts +5 -4
- package/pglite/session.d.ts +5 -4
- package/pglite/session.js +19 -9
- package/pglite/session.js.map +1 -1
- package/planetscale-serverless/driver.cjs +3 -2
- package/planetscale-serverless/driver.cjs.map +1 -1
- package/planetscale-serverless/driver.d.cts +4 -3
- package/planetscale-serverless/driver.d.ts +4 -3
- package/planetscale-serverless/driver.js +3 -2
- package/planetscale-serverless/driver.js.map +1 -1
- package/planetscale-serverless/session.cjs +23 -13
- package/planetscale-serverless/session.cjs.map +1 -1
- package/planetscale-serverless/session.d.cts +6 -7
- package/planetscale-serverless/session.d.ts +6 -7
- package/planetscale-serverless/session.js +23 -13
- package/planetscale-serverless/session.js.map +1 -1
- package/postgres-js/driver.cjs +3 -2
- package/postgres-js/driver.cjs.map +1 -1
- package/postgres-js/driver.d.cts +4 -3
- package/postgres-js/driver.d.ts +4 -3
- package/postgres-js/driver.js +3 -2
- package/postgres-js/driver.js.map +1 -1
- package/postgres-js/session.cjs +27 -16
- package/postgres-js/session.cjs.map +1 -1
- package/postgres-js/session.d.cts +6 -5
- package/postgres-js/session.d.ts +6 -5
- package/postgres-js/session.js +27 -16
- package/postgres-js/session.js.map +1 -1
- package/prisma/mysql/driver.cjs +3 -3
- package/prisma/mysql/driver.cjs.map +1 -1
- package/prisma/mysql/driver.d.cts +3 -2
- package/prisma/mysql/driver.d.ts +3 -2
- package/prisma/mysql/driver.js +3 -3
- package/prisma/mysql/driver.js.map +1 -1
- package/prisma/mysql/session.cjs +10 -11
- package/prisma/mysql/session.cjs.map +1 -1
- package/prisma/mysql/session.d.cts +7 -6
- package/prisma/mysql/session.d.ts +7 -6
- package/prisma/mysql/session.js +10 -11
- package/prisma/mysql/session.js.map +1 -1
- package/prisma/pg/driver.cjs +3 -3
- package/prisma/pg/driver.cjs.map +1 -1
- package/prisma/pg/driver.d.cts +2 -1
- package/prisma/pg/driver.d.ts +2 -1
- package/prisma/pg/driver.js +3 -3
- package/prisma/pg/driver.js.map +1 -1
- package/prisma/pg/session.cjs +7 -7
- package/prisma/pg/session.cjs.map +1 -1
- package/prisma/pg/session.d.cts +6 -5
- package/prisma/pg/session.d.ts +6 -5
- package/prisma/pg/session.js +7 -7
- package/prisma/pg/session.js.map +1 -1
- package/prisma/sqlite/driver.cjs +7 -1
- package/prisma/sqlite/driver.cjs.map +1 -1
- package/prisma/sqlite/driver.d.cts +2 -1
- package/prisma/sqlite/driver.d.ts +2 -1
- package/prisma/sqlite/driver.js +7 -1
- package/prisma/sqlite/driver.js.map +1 -1
- package/prisma/sqlite/session.cjs +6 -6
- package/prisma/sqlite/session.cjs.map +1 -1
- package/prisma/sqlite/session.d.cts +6 -5
- package/prisma/sqlite/session.d.ts +6 -5
- package/prisma/sqlite/session.js +6 -6
- package/prisma/sqlite/session.js.map +1 -1
- package/singlestore/driver.cjs +28 -19
- package/singlestore/driver.cjs.map +1 -1
- package/singlestore/driver.d.cts +4 -2
- package/singlestore/driver.d.ts +4 -2
- package/singlestore/driver.js +28 -19
- package/singlestore/driver.js.map +1 -1
- package/singlestore/session.cjs +14 -10
- package/singlestore/session.cjs.map +1 -1
- package/singlestore/session.d.cts +5 -5
- package/singlestore/session.d.ts +5 -5
- package/singlestore/session.js +14 -10
- package/singlestore/session.js.map +1 -1
- package/singlestore-core/db.cjs +5 -3
- package/singlestore-core/db.cjs.map +1 -1
- package/singlestore-core/db.d.cts +3 -1
- package/singlestore-core/db.d.ts +3 -1
- package/singlestore-core/db.js +5 -3
- package/singlestore-core/db.js.map +1 -1
- package/singlestore-core/dialect.cjs +25 -18
- package/singlestore-core/dialect.cjs.map +1 -1
- package/singlestore-core/dialect.d.cts +7 -6
- package/singlestore-core/dialect.d.ts +7 -6
- package/singlestore-core/dialect.js +26 -19
- package/singlestore-core/dialect.js.map +1 -1
- package/singlestore-core/query-builders/delete.cjs +8 -2
- package/singlestore-core/query-builders/delete.cjs.map +1 -1
- package/singlestore-core/query-builders/delete.js +8 -2
- package/singlestore-core/query-builders/delete.js.map +1 -1
- package/singlestore-core/query-builders/insert.cjs +29 -5
- package/singlestore-core/query-builders/insert.cjs.map +1 -1
- package/singlestore-core/query-builders/insert.js +31 -7
- package/singlestore-core/query-builders/insert.js.map +1 -1
- package/singlestore-core/query-builders/query.cjs +12 -1
- package/singlestore-core/query-builders/query.cjs.map +1 -1
- package/singlestore-core/query-builders/query.js +12 -1
- package/singlestore-core/query-builders/query.js.map +1 -1
- package/singlestore-core/query-builders/select.cjs +12 -4
- package/singlestore-core/query-builders/select.cjs.map +1 -1
- package/singlestore-core/query-builders/select.js +12 -4
- package/singlestore-core/query-builders/select.js.map +1 -1
- package/singlestore-core/query-builders/update.cjs +9 -3
- package/singlestore-core/query-builders/update.cjs.map +1 -1
- package/singlestore-core/query-builders/update.js +9 -3
- package/singlestore-core/query-builders/update.js.map +1 -1
- package/singlestore-core/session.cjs +45 -3
- package/singlestore-core/session.cjs.map +1 -1
- package/singlestore-core/session.d.cts +13 -4
- package/singlestore-core/session.d.ts +13 -4
- package/singlestore-core/session.js +45 -3
- package/singlestore-core/session.js.map +1 -1
- package/singlestore-proxy/driver.cjs +3 -2
- package/singlestore-proxy/driver.cjs.map +1 -1
- package/singlestore-proxy/driver.d.cts +2 -1
- package/singlestore-proxy/driver.d.ts +2 -1
- package/singlestore-proxy/driver.js +3 -2
- package/singlestore-proxy/driver.js.map +1 -1
- package/singlestore-proxy/session.cjs +8 -8
- package/singlestore-proxy/session.cjs.map +1 -1
- package/singlestore-proxy/session.d.cts +5 -6
- package/singlestore-proxy/session.d.ts +5 -6
- package/singlestore-proxy/session.js +8 -8
- package/singlestore-proxy/session.js.map +1 -1
- package/sql/sql.cjs +24 -2
- package/sql/sql.cjs.map +1 -1
- package/sql/sql.d.cts +12 -0
- package/sql/sql.d.ts +12 -0
- package/sql/sql.js +23 -2
- package/sql/sql.js.map +1 -1
- package/sql-js/driver.cjs.map +1 -1
- package/sql-js/driver.d.cts +2 -1
- package/sql-js/driver.d.ts +2 -1
- package/sql-js/driver.js.map +1 -1
- package/sql-js/session.cjs +4 -4
- package/sql-js/session.cjs.map +1 -1
- package/sql-js/session.d.cts +4 -4
- package/sql-js/session.d.ts +4 -4
- package/sql-js/session.js +4 -4
- package/sql-js/session.js.map +1 -1
- package/sqlite-core/db.cjs +5 -3
- package/sqlite-core/db.cjs.map +1 -1
- package/sqlite-core/db.d.cts +3 -1
- package/sqlite-core/db.d.ts +3 -1
- package/sqlite-core/db.js +5 -3
- package/sqlite-core/db.js.map +1 -1
- package/sqlite-core/dialect.cjs +30 -19
- package/sqlite-core/dialect.cjs.map +1 -1
- package/sqlite-core/dialect.d.cts +7 -6
- package/sqlite-core/dialect.d.ts +7 -6
- package/sqlite-core/dialect.js +31 -20
- package/sqlite-core/dialect.js.map +1 -1
- package/sqlite-core/query-builders/delete.cjs +8 -2
- package/sqlite-core/query-builders/delete.cjs.map +1 -1
- package/sqlite-core/query-builders/delete.js +8 -2
- package/sqlite-core/query-builders/delete.js.map +1 -1
- package/sqlite-core/query-builders/insert.cjs +28 -5
- package/sqlite-core/query-builders/insert.cjs.map +1 -1
- package/sqlite-core/query-builders/insert.js +35 -7
- package/sqlite-core/query-builders/insert.js.map +1 -1
- package/sqlite-core/query-builders/query.cjs +12 -1
- package/sqlite-core/query-builders/query.cjs.map +1 -1
- package/sqlite-core/query-builders/query.js +12 -1
- package/sqlite-core/query-builders/query.js.map +1 -1
- package/sqlite-core/query-builders/select.cjs +15 -6
- package/sqlite-core/query-builders/select.cjs.map +1 -1
- package/sqlite-core/query-builders/select.js +15 -6
- package/sqlite-core/query-builders/select.js.map +1 -1
- package/sqlite-core/query-builders/update.cjs +9 -3
- package/sqlite-core/query-builders/update.cjs.map +1 -1
- package/sqlite-core/query-builders/update.js +9 -3
- package/sqlite-core/query-builders/update.js.map +1 -1
- package/sqlite-core/session.cjs +80 -6
- package/sqlite-core/session.cjs.map +1 -1
- package/sqlite-core/session.d.cts +19 -9
- package/sqlite-core/session.d.ts +19 -9
- package/sqlite-core/session.js +80 -6
- package/sqlite-core/session.js.map +1 -1
- package/sqlite-proxy/driver.cjs +4 -3
- package/sqlite-proxy/driver.cjs.map +1 -1
- package/sqlite-proxy/driver.d.cts +3 -2
- package/sqlite-proxy/driver.d.ts +3 -2
- package/sqlite-proxy/driver.js +4 -3
- package/sqlite-proxy/driver.js.map +1 -1
- package/sqlite-proxy/session.cjs +20 -11
- package/sqlite-proxy/session.cjs.map +1 -1
- package/sqlite-proxy/session.d.cts +8 -7
- package/sqlite-proxy/session.d.ts +8 -7
- package/sqlite-proxy/session.js +20 -11
- package/sqlite-proxy/session.js.map +1 -1
- package/tidb-serverless/driver.cjs +9 -2
- package/tidb-serverless/driver.cjs.map +1 -1
- package/tidb-serverless/driver.d.cts +4 -3
- package/tidb-serverless/driver.d.ts +4 -3
- package/tidb-serverless/driver.js +9 -2
- package/tidb-serverless/driver.js.map +1 -1
- package/tidb-serverless/session.cjs +23 -13
- package/tidb-serverless/session.cjs.map +1 -1
- package/tidb-serverless/session.d.cts +6 -7
- package/tidb-serverless/session.d.ts +6 -7
- package/tidb-serverless/session.js +23 -13
- package/tidb-serverless/session.js.map +1 -1
- package/tracing.cjs.map +1 -1
- package/tracing.js.map +1 -1
- package/utils.cjs +34 -2
- package/utils.cjs.map +1 -1
- package/utils.d.cts +5 -1
- package/utils.d.ts +5 -1
- package/utils.js +35 -4
- package/utils.js.map +1 -1
- package/vercel-postgres/driver.cjs +10 -5
- package/vercel-postgres/driver.cjs.map +1 -1
- package/vercel-postgres/driver.d.cts +6 -4
- package/vercel-postgres/driver.d.ts +6 -4
- package/vercel-postgres/driver.js +10 -5
- package/vercel-postgres/driver.js.map +1 -1
- package/vercel-postgres/session.cjs +18 -9
- package/vercel-postgres/session.cjs.map +1 -1
- package/vercel-postgres/session.d.cts +5 -4
- package/vercel-postgres/session.d.ts +5 -4
- package/vercel-postgres/session.js +18 -9
- package/vercel-postgres/session.js.map +1 -1
- package/version.cjs +1 -1
- package/version.d.cts +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/xata-http/driver.cjs +7 -4
- package/xata-http/driver.cjs.map +1 -1
- package/xata-http/driver.d.cts +4 -2
- package/xata-http/driver.d.ts +4 -2
- package/xata-http/driver.js +7 -4
- package/xata-http/driver.js.map +1 -1
- package/xata-http/session.cjs +8 -6
- package/xata-http/session.cjs.map +1 -1
- package/xata-http/session.d.cts +5 -4
- package/xata-http/session.d.ts +5 -4
- package/xata-http/session.js +8 -6
- package/xata-http/session.js.map +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/extensions/s3-file/sqlite/extension.ts"],"sourcesContent":["import { S3Client, type S3ClientConfig } from '@aws-sdk/client-s3';\nimport { entityKind, is } from '~/entity.ts';\nimport { DrizzleError } from '~/errors.ts';\nimport { extensionColumnConfig, extensionName, requiredExtension } from '~/extension-core/index.ts';\nimport { DrizzleSQLiteExtension, type DrizzleSQLiteHookContext } from '~/extension-core/sqlite/index.ts';\nimport type { SelectedFieldsOrdered } from '~/operations.ts';\nimport {\n\ttype BuildRelationalQueryResult,\n\tOne,\n\ttype TableRelationalConfig,\n\ttype TablesRelationalConfig,\n} from '~/relations.ts';\nimport { ExtensionParam, Placeholder } from '~/sql/index.ts';\nimport { SQLiteColumn, type SQLiteInsertConfig } from '~/sqlite-core/index.ts';\nimport { orderSelectedFields } from '~/utils.ts';\nimport {\n\tbuildDecoder,\n\tbuildEncoder,\n\tdownloadFile,\n\t// downloadFileMeta,\n\tmapParams,\n\tobjectIdToText,\n\tpresignDownload,\n\ttextToObjectId,\n\tuploadFile,\n} from '../common.ts';\nimport type {\n\tDrizzleS3FileInputMappingInstruction,\n\tDrizzleS3FileOutputMappingInstruction,\n\tDrizzleS3FileOutputMappingInstructionIterableNode,\n\tDrizzleS3FilePlaceholderMappingInstruction,\n\tS3ExtMeta,\n} from '../common.ts';\nimport type { SQLiteS3File } from './column.ts';\n\nexport class DrizzleSQLiteS3Extension extends DrizzleSQLiteExtension<S3ExtMeta> {\n\tstatic override readonly [entityKind]: string = 'DrizzleSQLiteS3Extension';\n\n\tstatic override readonly [extensionName] = 'Drizzle SQLite S3 Extension';\n\n\tprivate s3: S3Client;\n\n\tconstructor(client: S3Client | S3ClientConfig) {\n\t\tsuper();\n\n\t\t// eslint-disable-next-line no-instanceof/no-instanceof\n\t\tthis.s3 = typeof client === 'object' && (client instanceof S3Client || client.constructor.name !== 'Object')\n\t\t\t? client as S3Client\n\t\t\t: new S3Client(client);\n\t}\n\n\tprivate buildOutputMappingInstructions(selection: SelectedFieldsOrdered<SQLiteColumn>) {\n\t\tconst paths: DrizzleS3FileOutputMappingInstruction[] = [];\n\n\t\tfor (const f of selection) {\n\t\t\tif (\n\t\t\t\t!is(f.field, SQLiteColumn) || !(<SQLiteColumn> f.field)[requiredExtension]\n\t\t\t\t|| !is(this, f.field[requiredExtension]!)\n\t\t\t) continue;\n\n\t\t\tconst column = f.field as SQLiteS3File;\n\n\t\t\tconst { fetchMode, fileMode, options } = column[extensionColumnConfig];\n\n\t\t\tpaths.push({\n\t\t\t\tpath: f.path.map((p) => `[${JSON.stringify(p)}]`),\n\t\t\t\tfetchMode: fetchMode,\n\t\t\t\tfileMode: fileMode,\n\t\t\t\toptions: options,\n\t\t\t});\n\t\t}\n\n\t\treturn paths;\n\t}\n\n\tprivate buildRqbOutputMappingInstructions(\n\t\tschema: TablesRelationalConfig,\n\t\ttable: TableRelationalConfig,\n\t\tselection: BuildRelationalQueryResult['selection'],\n\t\tparent?: DrizzleS3FileOutputMappingInstructionIterableNode,\n\t\tprefix: string[] = [],\n\t) {\n\t\tconst p: DrizzleS3FileOutputMappingInstructionIterableNode = parent ?? {\n\t\t\tpath: [],\n\t\t\tsubinstructions: [],\n\t\t};\n\n\t\tfor (const s of selection) {\n\t\t\tif (is(s.field, SQLiteColumn)) {\n\t\t\t\tif (!s.field[requiredExtension] || !is(this, s.field[requiredExtension])) continue;\n\n\t\t\t\tconst extCol = s.field as SQLiteS3File;\n\n\t\t\t\t(p.subinstructions ??= []).push({\n\t\t\t\t\tpath: [...prefix, `[${JSON.stringify(s.tsKey)}]`],\n\t\t\t\t\tfileMode: extCol[extensionColumnConfig].fileMode,\n\t\t\t\t\tfetchMode: extCol[extensionColumnConfig].fetchMode,\n\t\t\t\t\toptions: extCol[extensionColumnConfig].options,\n\t\t\t\t});\n\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (s.selection) {\n\t\t\t\tconst relation = schema[s.relationTableTsKey!]!;\n\n\t\t\t\tif (is(table.relations[s.tsKey]!, One)) {\n\t\t\t\t\tthis.buildRqbOutputMappingInstructions(schema, relation, s.selection, p, [\n\t\t\t\t\t\t...prefix,\n\t\t\t\t\t\t`[${JSON.stringify(s.tsKey)}]`,\n\t\t\t\t\t]);\n\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tconst nestedSubs = this.buildRqbOutputMappingInstructions(schema, relation, s.selection);\n\t\t\t\tif (!nestedSubs.length) continue;\n\n\t\t\t\t(p.subinstructions ??= []).push({\n\t\t\t\t\tpath: [...prefix, `[${JSON.stringify(s.tsKey)}]`],\n\t\t\t\t\tsubinstructions: nestedSubs,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\treturn p.subinstructions;\n\t}\n\n\tprivate buildParamMappingInstructions(params: unknown[]) {\n\t\tconst indexes: DrizzleS3FileInputMappingInstruction[] = [];\n\t\tconst placeholders: DrizzleS3FilePlaceholderMappingInstruction[] = [];\n\t\tlet i = 0;\n\t\tfor (const item of params) {\n\t\t\tif (!is(item, ExtensionParam) || !is(this, item.extension)) {\n\t\t\t\t++i;\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (is(item.value, Placeholder)) {\n\t\t\t\tplaceholders.push({\n\t\t\t\t\tkey: item.value.name,\n\t\t\t\t\tmode: (item.encoder as SQLiteS3File)[extensionColumnConfig].fileMode,\n\t\t\t\t});\n\t\t\t\t++i;\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tindexes.push({\n\t\t\t\tindex: i++,\n\t\t\t\tmode: (item.encoder as SQLiteS3File)[extensionColumnConfig].fileMode,\n\t\t\t});\n\t\t}\n\n\t\treturn {\n\t\t\tplaceholders,\n\t\t\tindexes,\n\t\t};\n\t}\n\n\tprivate async hookBefore(context: DrizzleSQLiteHookContext<S3ExtMeta> & { stage: 'before' }) {\n\t\tif (!context?.params?.length) return;\n\n\t\tlet indexes: DrizzleS3FileInputMappingInstruction[] = [];\n\t\tlet placeholders: DrizzleS3FilePlaceholderMappingInstruction[] = [];\n\t\tconst errors: unknown[] = [];\n\n\t\tswitch (context.query) {\n\t\t\tcase 'select':\n\t\t\tcase 'delete': {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tcase 'update':\n\t\t\tcase 'insert': {\n\t\t\t\tif ((context.config as SQLiteInsertConfig).select) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tconst instr = this.buildParamMappingInstructions(context.params as Record<string, unknown>[]);\n\n\t\t\t\tindexes = instr.indexes;\n\t\t\t\tplaceholders = instr.placeholders;\n\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tawait mapParams(this.s3, context.params, indexes, errors);\n\n\t\tif (errors.length) {\n\t\t\tthrow new DrizzleError({\n\t\t\t\tmessage: `Error${\n\t\t\t\t\terrors.length > 1 ? 's' : ''\n\t\t\t\t} occured during S3 file upload.\\nLog \"(e as DrizzleError).cause\" for details.`,\n\t\t\t\tcause: errors,\n\t\t\t});\n\t\t}\n\n\t\tif (!context.metadata?.encoder) {\n\t\t\tcontext.metadata = context.metadata ?? {};\n\n\t\t\tcontext.metadata.encoder = buildEncoder(placeholders);\n\t\t}\n\n\t\tawait context.metadata.encoder(this.s3, context.placeholders, errors, uploadFile, objectIdToText);\n\n\t\tif (errors.length) {\n\t\t\tthrow new DrizzleError({\n\t\t\t\tmessage: `Error${\n\t\t\t\t\terrors.length > 1 ? 's' : ''\n\t\t\t\t} occured during S3 file upload.\\nLog \"(e as DrizzleError).cause\" for details.`,\n\t\t\t\tcause: errors,\n\t\t\t});\n\t\t}\n\n\t\treturn;\n\t}\n\n\tprivate async hookAfter(context: DrizzleSQLiteHookContext<S3ExtMeta> & { stage: 'after' }) {\n\t\tconst errors: unknown[] = [];\n\t\tif (context.executionMode === 'values' || context.executionMode === 'run') return;\n\t\tif (context.executionMode === 'get' && !context.data) return;\n\t\tif (context.executionMode === 'all' && !context.data.length) return;\n\n\t\tconst data = context.data as Record<string, unknown>[] | Record<string, unknown>;\n\n\t\tswitch (context.query) {\n\t\t\tcase 'select': {\n\t\t\t\tif (!context.metadata?.decoder) {\n\t\t\t\t\tconst fields = context.fieldsOrdered ?? context.config.fieldsFlat\n\t\t\t\t\t\t?? orderSelectedFields<SQLiteColumn>(context.config.fields);\n\n\t\t\t\t\tconst instructions = this.buildOutputMappingInstructions(fields);\n\n\t\t\t\t\tconst decoder = buildDecoder(instructions, context.executionMode === 'get' ? 'first' : 'many');\n\n\t\t\t\t\tcontext.metadata = context.metadata ?? {};\n\t\t\t\t\tcontext.metadata.decoder = decoder;\n\t\t\t\t}\n\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tcase '_query': {\n\t\t\t\tif (!context.metadata?.decoder) {\n\t\t\t\t\tconst instructions = this.buildRqbOutputMappingInstructions(\n\t\t\t\t\t\tcontext.tablesConfig,\n\t\t\t\t\t\tcontext.tableConfig,\n\t\t\t\t\t\tcontext.config.selection,\n\t\t\t\t\t);\n\n\t\t\t\t\tconst decoder = buildDecoder(instructions, context.mode);\n\n\t\t\t\t\tcontext.metadata = context.metadata ?? {};\n\t\t\t\t\tcontext.metadata.decoder = decoder;\n\t\t\t\t}\n\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tcase 'update':\n\t\t\tcase 'delete':\n\t\t\tcase 'insert': {\n\t\t\t\tif (!context.metadata?.decoder) {\n\t\t\t\t\tif (!(context.config.returning)) {\n\t\t\t\t\t\tconst decoder = buildDecoder([]);\n\n\t\t\t\t\t\tcontext.metadata = context.metadata ?? {};\n\t\t\t\t\t\tcontext.metadata.decoder = decoder;\n\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst fields = context.config.returning;\n\n\t\t\t\t\tconst instructions = this.buildOutputMappingInstructions(fields);\n\n\t\t\t\t\tconst decoder = buildDecoder(instructions, context.executionMode === 'get' ? 'first' : 'many');\n\n\t\t\t\t\tcontext.metadata = context.metadata ?? {};\n\t\t\t\t\tcontext.metadata.decoder = decoder;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tawait context.metadata.decoder(\n\t\t\tthis.s3,\n\t\t\tdata!,\n\t\t\terrors,\n\t\t\tdownloadFile,\n\t\t\t// downloadFileMeta,\n\t\t\tpresignDownload,\n\t\t\ttextToObjectId,\n\t\t);\n\n\t\tif (errors.length) {\n\t\t\tthrow new DrizzleError({\n\t\t\t\tmessage: `Error${\n\t\t\t\t\terrors.length > 1 ? 's' : ''\n\t\t\t\t} occured during S3 file download.\\nLog \"(e as DrizzleError).cause\" for details.`,\n\t\t\t\tcause: errors,\n\t\t\t});\n\t\t}\n\n\t\treturn;\n\t}\n\n\toverride async hook(context: DrizzleSQLiteHookContext<S3ExtMeta>) {\n\t\treturn context.stage === 'before' ? await this.hookBefore(context) : await this.hookAfter(context);\n\t}\n}\n\nexport function s3FileExt(client: S3Client | S3ClientConfig): DrizzleSQLiteS3Extension {\n\treturn new DrizzleSQLiteS3Extension(client);\n}\n"],"mappings":"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","names":["decoder"]}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __copyProps = (to, from, except, desc) => {
|
|
7
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
8
|
+
for (let key of __getOwnPropNames(from))
|
|
9
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
10
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
11
|
+
}
|
|
12
|
+
return to;
|
|
13
|
+
};
|
|
14
|
+
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
15
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
16
|
+
var sqlite_exports = {};
|
|
17
|
+
module.exports = __toCommonJS(sqlite_exports);
|
|
18
|
+
__reExport(sqlite_exports, require("./column.cjs"), module.exports);
|
|
19
|
+
__reExport(sqlite_exports, require("./extension.cjs"), module.exports);
|
|
20
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
21
|
+
0 && (module.exports = {
|
|
22
|
+
...require("./column.cjs"),
|
|
23
|
+
...require("./extension.cjs")
|
|
24
|
+
});
|
|
25
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/extensions/s3-file/sqlite/index.ts"],"sourcesContent":["export * from './column.ts';\nexport * from './extension.ts';\n"],"mappings":";;;;;;;;;;;;;;;AAAA;AAAA;AAAA,2BAAc,wBAAd;AACA,2BAAc,2BADd;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/extensions/s3-file/sqlite/index.ts"],"sourcesContent":["export * from './column.ts';\nexport * from './extension.ts';\n"],"mappings":"AAAA,cAAc;AACd,cAAc;","names":[]}
|
package/gel/driver.cjs
CHANGED
|
@@ -32,14 +32,15 @@ var import_relations = require("../relations.cjs");
|
|
|
32
32
|
var import_utils = require("../utils.cjs");
|
|
33
33
|
var import_session = require("./session.cjs");
|
|
34
34
|
class GelDriver {
|
|
35
|
-
constructor(client, dialect, options = {}) {
|
|
35
|
+
constructor(client, dialect, options = {}, extensions) {
|
|
36
36
|
this.client = client;
|
|
37
37
|
this.dialect = dialect;
|
|
38
38
|
this.options = options;
|
|
39
|
+
this.extensions = extensions;
|
|
39
40
|
}
|
|
40
41
|
static [import_entity.entityKind] = "GelDriver";
|
|
41
42
|
createSession(schema) {
|
|
42
|
-
return new import_session.GelDbSession(this.client, this.dialect, schema, { logger: this.options.logger });
|
|
43
|
+
return new import_session.GelDbSession(this.client, this.dialect, schema, { logger: this.options.logger }, this.extensions);
|
|
43
44
|
}
|
|
44
45
|
}
|
|
45
46
|
class GelJsDatabase extends import_db.GelDatabase {
|
|
@@ -62,9 +63,10 @@ function construct(client, config = {}) {
|
|
|
62
63
|
tableNamesMap: tablesConfig.tableNamesMap
|
|
63
64
|
};
|
|
64
65
|
}
|
|
65
|
-
const
|
|
66
|
+
const extensions = config.extensions;
|
|
67
|
+
const driver = new GelDriver(client, dialect, { logger }, extensions);
|
|
66
68
|
const session = driver.createSession(schema);
|
|
67
|
-
const db = new GelJsDatabase(dialect, session, schema);
|
|
69
|
+
const db = new GelJsDatabase(dialect, session, schema, extensions);
|
|
68
70
|
db.$client = client;
|
|
69
71
|
return db;
|
|
70
72
|
}
|
package/gel/driver.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/gel/driver.ts"],"sourcesContent":["import { type Client, type ConnectOptions, createClient } from 'gel';\nimport { entityKind } from '~/entity.ts';\nimport { GelDatabase } from '~/gel-core/db.ts';\nimport { GelDialect } from '~/gel-core/dialect.ts';\nimport type { GelQueryResultHKT } from '~/gel-core/session.ts';\nimport type { Logger } from '~/logger.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport {\n\tcreateTableRelationsHelpers,\n\textractTablesRelationalConfig,\n\ttype RelationalSchemaConfig,\n\ttype TablesRelationalConfig,\n} from '~/relations.ts';\nimport { type DrizzleConfig, isConfig } from '~/utils.ts';\nimport type { GelClient } from './session.ts';\nimport { GelDbSession } from './session.ts';\n\nexport interface GelDriverOptions {\n\tlogger?: Logger;\n}\n\nexport class GelDriver {\n\tstatic readonly [entityKind]: string = 'GelDriver';\n\n\tconstructor(\n\t\tprivate client: GelClient,\n\t\tprivate dialect: GelDialect,\n\t\tprivate options: GelDriverOptions = {},\n\t) {}\n\n\tcreateSession(\n\t\tschema: RelationalSchemaConfig<TablesRelationalConfig> | undefined,\n\t): GelDbSession<Record<string, unknown>, TablesRelationalConfig> {\n\t\treturn new GelDbSession(this.client, this.dialect, schema, { logger: this.options.logger });\n\t}\n}\n\nexport class GelJsDatabase<TSchema extends Record<string, unknown> = Record<string, never>>\n\textends GelDatabase<GelQueryResultHKT, TSchema>\n{\n\tstatic override readonly [entityKind]: string = 'GelJsDatabase';\n}\n\nfunction construct<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTClient extends GelClient = GelClient,\n>(\n\tclient: TClient,\n\tconfig: DrizzleConfig<TSchema> = {},\n): GelJsDatabase<TSchema> & {\n\t$client: TClient;\n} {\n\tconst dialect = new GelDialect({ casing: config.casing });\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\n\tlet schema: RelationalSchemaConfig<TablesRelationalConfig> | undefined;\n\tif (config.schema) {\n\t\tconst tablesConfig = extractTablesRelationalConfig(config.schema, createTableRelationsHelpers);\n\t\tschema = {\n\t\t\tfullSchema: config.schema,\n\t\t\tschema: tablesConfig.tables,\n\t\t\ttableNamesMap: tablesConfig.tableNamesMap,\n\t\t};\n\t}\n\n\tconst driver = new GelDriver(client, dialect, { logger });\n\tconst session = driver.createSession(schema);\n\tconst db = new GelJsDatabase(dialect, session, schema as any) as GelJsDatabase<TSchema>;\n\t(<any> db).$client = client;\n\n\treturn db as any;\n}\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTClient extends GelClient = Client,\n>(\n\t...params:\n\t\t| [TClient | string]\n\t\t| [TClient | string, DrizzleConfig<TSchema>]\n\t\t| [\n\t\t\t& DrizzleConfig<TSchema>\n\t\t\t& (\n\t\t\t\t| {\n\t\t\t\t\tconnection: string | ConnectOptions;\n\t\t\t\t}\n\t\t\t\t| {\n\t\t\t\t\tclient: TClient;\n\t\t\t\t}\n\t\t\t),\n\t\t]\n): GelJsDatabase<TSchema> & {\n\t$client: TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = createClient({ dsn: params[0] });\n\n\t\treturn construct(instance, params[1] as DrizzleConfig<TSchema> | undefined) as any;\n\t}\n\n\tif (isConfig(params[0])) {\n\t\tconst { connection, client, ...drizzleConfig } = params[0] as (\n\t\t\t& ({ connection?: ConnectOptions | string; client?: TClient })\n\t\t\t& DrizzleConfig<TSchema>\n\t\t);\n\n\t\tif (client) return construct(client, drizzleConfig);\n\n\t\tconst instance = createClient(connection);\n\n\t\treturn construct(instance, drizzleConfig) as any;\n\t}\n\n\treturn construct(params[0] as TClient, params[1] as DrizzleConfig<TSchema> | undefined) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<TSchema extends Record<string, unknown> = Record<string, never>>(\n\t\tconfig?: DrizzleConfig<TSchema>,\n\t): GelJsDatabase<TSchema> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, config) as any;\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAA+D;AAC/D,oBAA2B;
|
|
1
|
+
{"version":3,"sources":["../../src/gel/driver.ts"],"sourcesContent":["import { type Client, type ConnectOptions, createClient } from 'gel';\nimport { entityKind } from '~/entity.ts';\nimport type { DrizzleGelExtension } from '~/extension-core/gel/index.ts';\nimport { GelDatabase } from '~/gel-core/db.ts';\nimport { GelDialect } from '~/gel-core/dialect.ts';\nimport type { GelQueryResultHKT } from '~/gel-core/session.ts';\nimport type { Logger } from '~/logger.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport {\n\tcreateTableRelationsHelpers,\n\textractTablesRelationalConfig,\n\ttype RelationalSchemaConfig,\n\ttype TablesRelationalConfig,\n} from '~/relations.ts';\nimport { type DrizzleConfig, isConfig } from '~/utils.ts';\nimport type { GelClient } from './session.ts';\nimport { GelDbSession } from './session.ts';\n\nexport interface GelDriverOptions {\n\tlogger?: Logger;\n}\n\nexport class GelDriver {\n\tstatic readonly [entityKind]: string = 'GelDriver';\n\n\tconstructor(\n\t\tprivate client: GelClient,\n\t\tprivate dialect: GelDialect,\n\t\tprivate options: GelDriverOptions = {},\n\t\tprivate extensions?: DrizzleGelExtension[],\n\t) {}\n\n\tcreateSession(\n\t\tschema: RelationalSchemaConfig<TablesRelationalConfig> | undefined,\n\t): GelDbSession<Record<string, unknown>, TablesRelationalConfig> {\n\t\treturn new GelDbSession(this.client, this.dialect, schema, { logger: this.options.logger }, this.extensions);\n\t}\n}\n\nexport class GelJsDatabase<TSchema extends Record<string, unknown> = Record<string, never>>\n\textends GelDatabase<GelQueryResultHKT, TSchema>\n{\n\tstatic override readonly [entityKind]: string = 'GelJsDatabase';\n}\n\nfunction construct<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTClient extends GelClient = GelClient,\n>(\n\tclient: TClient,\n\tconfig: DrizzleConfig<TSchema, DrizzleGelExtension> = {},\n): GelJsDatabase<TSchema> & {\n\t$client: TClient;\n} {\n\tconst dialect = new GelDialect({ casing: config.casing });\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\n\tlet schema: RelationalSchemaConfig<TablesRelationalConfig> | undefined;\n\tif (config.schema) {\n\t\tconst tablesConfig = extractTablesRelationalConfig(config.schema, createTableRelationsHelpers);\n\t\tschema = {\n\t\t\tfullSchema: config.schema,\n\t\t\tschema: tablesConfig.tables,\n\t\t\ttableNamesMap: tablesConfig.tableNamesMap,\n\t\t};\n\t}\n\n\tconst extensions = config.extensions;\n\tconst driver = new GelDriver(client, dialect, { logger }, extensions);\n\tconst session = driver.createSession(schema);\n\tconst db = new GelJsDatabase(dialect, session, schema as any, extensions) as GelJsDatabase<TSchema>;\n\t(<any> db).$client = client;\n\n\treturn db as any;\n}\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTClient extends GelClient = Client,\n>(\n\t...params:\n\t\t| [TClient | string]\n\t\t| [TClient | string, DrizzleConfig<TSchema, DrizzleGelExtension>]\n\t\t| [\n\t\t\t& DrizzleConfig<TSchema, DrizzleGelExtension>\n\t\t\t& (\n\t\t\t\t| {\n\t\t\t\t\tconnection: string | ConnectOptions;\n\t\t\t\t}\n\t\t\t\t| {\n\t\t\t\t\tclient: TClient;\n\t\t\t\t}\n\t\t\t),\n\t\t]\n): GelJsDatabase<TSchema> & {\n\t$client: TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = createClient({ dsn: params[0] });\n\n\t\treturn construct(instance, params[1] as DrizzleConfig<TSchema, DrizzleGelExtension> | undefined) as any;\n\t}\n\n\tif (isConfig(params[0])) {\n\t\tconst { connection, client, ...drizzleConfig } = params[0] as (\n\t\t\t& ({ connection?: ConnectOptions | string; client?: TClient })\n\t\t\t& DrizzleConfig<TSchema, DrizzleGelExtension>\n\t\t);\n\n\t\tif (client) return construct(client, drizzleConfig);\n\n\t\tconst instance = createClient(connection);\n\n\t\treturn construct(instance, drizzleConfig) as any;\n\t}\n\n\treturn construct(params[0] as TClient, params[1] as DrizzleConfig<TSchema, DrizzleGelExtension> | undefined) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<TSchema extends Record<string, unknown> = Record<string, never>>(\n\t\tconfig?: DrizzleConfig<TSchema, DrizzleGelExtension>,\n\t): GelJsDatabase<TSchema> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, config) as any;\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAA+D;AAC/D,oBAA2B;AAE3B,gBAA4B;AAC5B,qBAA2B;AAG3B,oBAA8B;AAC9B,uBAKO;AACP,mBAA6C;AAE7C,qBAA6B;AAMtB,MAAM,UAAU;AAAA,EAGtB,YACS,QACA,SACA,UAA4B,CAAC,GAC7B,YACP;AAJO;AACA;AACA;AACA;AAAA,EACN;AAAA,EAPH,QAAiB,wBAAU,IAAY;AAAA,EASvC,cACC,QACgE;AAChE,WAAO,IAAI,4BAAa,KAAK,QAAQ,KAAK,SAAS,QAAQ,EAAE,QAAQ,KAAK,QAAQ,OAAO,GAAG,KAAK,UAAU;AAAA,EAC5G;AACD;AAEO,MAAM,sBACJ,sBACT;AAAA,EACC,QAA0B,wBAAU,IAAY;AACjD;AAEA,SAAS,UAIR,QACA,SAAsD,CAAC,GAGtD;AACD,QAAM,UAAU,IAAI,0BAAW,EAAE,QAAQ,OAAO,OAAO,CAAC;AACxD,MAAI;AACJ,MAAI,OAAO,WAAW,MAAM;AAC3B,aAAS,IAAI,4BAAc;AAAA,EAC5B,WAAW,OAAO,WAAW,OAAO;AACnC,aAAS,OAAO;AAAA,EACjB;AAEA,MAAI;AACJ,MAAI,OAAO,QAAQ;AAClB,UAAM,mBAAe,gDAA8B,OAAO,QAAQ,4CAA2B;AAC7F,aAAS;AAAA,MACR,YAAY,OAAO;AAAA,MACnB,QAAQ,aAAa;AAAA,MACrB,eAAe,aAAa;AAAA,IAC7B;AAAA,EACD;AAEA,QAAM,aAAa,OAAO;AAC1B,QAAM,SAAS,IAAI,UAAU,QAAQ,SAAS,EAAE,OAAO,GAAG,UAAU;AACpE,QAAM,UAAU,OAAO,cAAc,MAAM;AAC3C,QAAM,KAAK,IAAI,cAAc,SAAS,SAAS,QAAe,UAAU;AACxE,EAAO,GAAI,UAAU;AAErB,SAAO;AACR;AAEO,SAAS,WAIZ,QAgBF;AACD,MAAI,OAAO,OAAO,CAAC,MAAM,UAAU;AAClC,UAAM,eAAW,yBAAa,EAAE,KAAK,OAAO,CAAC,EAAE,CAAC;AAEhD,WAAO,UAAU,UAAU,OAAO,CAAC,CAA4D;AAAA,EAChG;AAEA,UAAI,uBAAS,OAAO,CAAC,CAAC,GAAG;AACxB,UAAM,EAAE,YAAY,QAAQ,GAAG,cAAc,IAAI,OAAO,CAAC;AAKzD,QAAI;AAAQ,aAAO,UAAU,QAAQ,aAAa;AAElD,UAAM,eAAW,yBAAa,UAAU;AAExC,WAAO,UAAU,UAAU,aAAa;AAAA,EACzC;AAEA,SAAO,UAAU,OAAO,CAAC,GAAc,OAAO,CAAC,CAA4D;AAC5G;AAAA,CAEO,CAAUA,aAAV;AACC,WAAS,KACf,QAGC;AACD,WAAO,UAAU,CAAC,GAAU,MAAM;AAAA,EACnC;AANO,EAAAA,SAAS;AAAA,GADA;","names":["drizzle"]}
|
package/gel/driver.d.cts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { type Client, type ConnectOptions } from 'gel';
|
|
2
2
|
import { entityKind } from "../entity.cjs";
|
|
3
|
+
import type { DrizzleGelExtension } from "../extension-core/gel/index.cjs";
|
|
3
4
|
import { GelDatabase } from "../gel-core/db.cjs";
|
|
4
5
|
import { GelDialect } from "../gel-core/dialect.cjs";
|
|
5
6
|
import type { GelQueryResultHKT } from "../gel-core/session.cjs";
|
|
@@ -15,15 +16,16 @@ export declare class GelDriver {
|
|
|
15
16
|
private client;
|
|
16
17
|
private dialect;
|
|
17
18
|
private options;
|
|
19
|
+
private extensions?;
|
|
18
20
|
static readonly [entityKind]: string;
|
|
19
|
-
constructor(client: GelClient, dialect: GelDialect, options?: GelDriverOptions);
|
|
21
|
+
constructor(client: GelClient, dialect: GelDialect, options?: GelDriverOptions, extensions?: DrizzleGelExtension[] | undefined);
|
|
20
22
|
createSession(schema: RelationalSchemaConfig<TablesRelationalConfig> | undefined): GelDbSession<Record<string, unknown>, TablesRelationalConfig>;
|
|
21
23
|
}
|
|
22
24
|
export declare class GelJsDatabase<TSchema extends Record<string, unknown> = Record<string, never>> extends GelDatabase<GelQueryResultHKT, TSchema> {
|
|
23
25
|
static readonly [entityKind]: string;
|
|
24
26
|
}
|
|
25
|
-
export declare function drizzle<TSchema extends Record<string, unknown> = Record<string, never>, TClient extends GelClient = Client>(...params: [TClient | string] | [TClient | string, DrizzleConfig<TSchema>] | [
|
|
26
|
-
DrizzleConfig<TSchema> & ({
|
|
27
|
+
export declare function drizzle<TSchema extends Record<string, unknown> = Record<string, never>, TClient extends GelClient = Client>(...params: [TClient | string] | [TClient | string, DrizzleConfig<TSchema, DrizzleGelExtension>] | [
|
|
28
|
+
DrizzleConfig<TSchema, DrizzleGelExtension> & ({
|
|
27
29
|
connection: string | ConnectOptions;
|
|
28
30
|
} | {
|
|
29
31
|
client: TClient;
|
|
@@ -32,7 +34,7 @@ export declare function drizzle<TSchema extends Record<string, unknown> = Record
|
|
|
32
34
|
$client: TClient;
|
|
33
35
|
};
|
|
34
36
|
export declare namespace drizzle {
|
|
35
|
-
function mock<TSchema extends Record<string, unknown> = Record<string, never>>(config?: DrizzleConfig<TSchema>): GelJsDatabase<TSchema> & {
|
|
37
|
+
function mock<TSchema extends Record<string, unknown> = Record<string, never>>(config?: DrizzleConfig<TSchema, DrizzleGelExtension>): GelJsDatabase<TSchema> & {
|
|
36
38
|
$client: '$client is not available on drizzle.mock()';
|
|
37
39
|
};
|
|
38
40
|
}
|
package/gel/driver.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { type Client, type ConnectOptions } from 'gel';
|
|
2
2
|
import { entityKind } from "../entity.js";
|
|
3
|
+
import type { DrizzleGelExtension } from "../extension-core/gel/index.js";
|
|
3
4
|
import { GelDatabase } from "../gel-core/db.js";
|
|
4
5
|
import { GelDialect } from "../gel-core/dialect.js";
|
|
5
6
|
import type { GelQueryResultHKT } from "../gel-core/session.js";
|
|
@@ -15,15 +16,16 @@ export declare class GelDriver {
|
|
|
15
16
|
private client;
|
|
16
17
|
private dialect;
|
|
17
18
|
private options;
|
|
19
|
+
private extensions?;
|
|
18
20
|
static readonly [entityKind]: string;
|
|
19
|
-
constructor(client: GelClient, dialect: GelDialect, options?: GelDriverOptions);
|
|
21
|
+
constructor(client: GelClient, dialect: GelDialect, options?: GelDriverOptions, extensions?: DrizzleGelExtension[] | undefined);
|
|
20
22
|
createSession(schema: RelationalSchemaConfig<TablesRelationalConfig> | undefined): GelDbSession<Record<string, unknown>, TablesRelationalConfig>;
|
|
21
23
|
}
|
|
22
24
|
export declare class GelJsDatabase<TSchema extends Record<string, unknown> = Record<string, never>> extends GelDatabase<GelQueryResultHKT, TSchema> {
|
|
23
25
|
static readonly [entityKind]: string;
|
|
24
26
|
}
|
|
25
|
-
export declare function drizzle<TSchema extends Record<string, unknown> = Record<string, never>, TClient extends GelClient = Client>(...params: [TClient | string] | [TClient | string, DrizzleConfig<TSchema>] | [
|
|
26
|
-
DrizzleConfig<TSchema> & ({
|
|
27
|
+
export declare function drizzle<TSchema extends Record<string, unknown> = Record<string, never>, TClient extends GelClient = Client>(...params: [TClient | string] | [TClient | string, DrizzleConfig<TSchema, DrizzleGelExtension>] | [
|
|
28
|
+
DrizzleConfig<TSchema, DrizzleGelExtension> & ({
|
|
27
29
|
connection: string | ConnectOptions;
|
|
28
30
|
} | {
|
|
29
31
|
client: TClient;
|
|
@@ -32,7 +34,7 @@ export declare function drizzle<TSchema extends Record<string, unknown> = Record
|
|
|
32
34
|
$client: TClient;
|
|
33
35
|
};
|
|
34
36
|
export declare namespace drizzle {
|
|
35
|
-
function mock<TSchema extends Record<string, unknown> = Record<string, never>>(config?: DrizzleConfig<TSchema>): GelJsDatabase<TSchema> & {
|
|
37
|
+
function mock<TSchema extends Record<string, unknown> = Record<string, never>>(config?: DrizzleConfig<TSchema, DrizzleGelExtension>): GelJsDatabase<TSchema> & {
|
|
36
38
|
$client: '$client is not available on drizzle.mock()';
|
|
37
39
|
};
|
|
38
40
|
}
|
package/gel/driver.js
CHANGED
|
@@ -10,14 +10,15 @@ import {
|
|
|
10
10
|
import { isConfig } from "../utils.js";
|
|
11
11
|
import { GelDbSession } from "./session.js";
|
|
12
12
|
class GelDriver {
|
|
13
|
-
constructor(client, dialect, options = {}) {
|
|
13
|
+
constructor(client, dialect, options = {}, extensions) {
|
|
14
14
|
this.client = client;
|
|
15
15
|
this.dialect = dialect;
|
|
16
16
|
this.options = options;
|
|
17
|
+
this.extensions = extensions;
|
|
17
18
|
}
|
|
18
19
|
static [entityKind] = "GelDriver";
|
|
19
20
|
createSession(schema) {
|
|
20
|
-
return new GelDbSession(this.client, this.dialect, schema, { logger: this.options.logger });
|
|
21
|
+
return new GelDbSession(this.client, this.dialect, schema, { logger: this.options.logger }, this.extensions);
|
|
21
22
|
}
|
|
22
23
|
}
|
|
23
24
|
class GelJsDatabase extends GelDatabase {
|
|
@@ -40,9 +41,10 @@ function construct(client, config = {}) {
|
|
|
40
41
|
tableNamesMap: tablesConfig.tableNamesMap
|
|
41
42
|
};
|
|
42
43
|
}
|
|
43
|
-
const
|
|
44
|
+
const extensions = config.extensions;
|
|
45
|
+
const driver = new GelDriver(client, dialect, { logger }, extensions);
|
|
44
46
|
const session = driver.createSession(schema);
|
|
45
|
-
const db = new GelJsDatabase(dialect, session, schema);
|
|
47
|
+
const db = new GelJsDatabase(dialect, session, schema, extensions);
|
|
46
48
|
db.$client = client;
|
|
47
49
|
return db;
|
|
48
50
|
}
|
package/gel/driver.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/gel/driver.ts"],"sourcesContent":["import { type Client, type ConnectOptions, createClient } from 'gel';\nimport { entityKind } from '~/entity.ts';\nimport { GelDatabase } from '~/gel-core/db.ts';\nimport { GelDialect } from '~/gel-core/dialect.ts';\nimport type { GelQueryResultHKT } from '~/gel-core/session.ts';\nimport type { Logger } from '~/logger.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport {\n\tcreateTableRelationsHelpers,\n\textractTablesRelationalConfig,\n\ttype RelationalSchemaConfig,\n\ttype TablesRelationalConfig,\n} from '~/relations.ts';\nimport { type DrizzleConfig, isConfig } from '~/utils.ts';\nimport type { GelClient } from './session.ts';\nimport { GelDbSession } from './session.ts';\n\nexport interface GelDriverOptions {\n\tlogger?: Logger;\n}\n\nexport class GelDriver {\n\tstatic readonly [entityKind]: string = 'GelDriver';\n\n\tconstructor(\n\t\tprivate client: GelClient,\n\t\tprivate dialect: GelDialect,\n\t\tprivate options: GelDriverOptions = {},\n\t) {}\n\n\tcreateSession(\n\t\tschema: RelationalSchemaConfig<TablesRelationalConfig> | undefined,\n\t): GelDbSession<Record<string, unknown>, TablesRelationalConfig> {\n\t\treturn new GelDbSession(this.client, this.dialect, schema, { logger: this.options.logger });\n\t}\n}\n\nexport class GelJsDatabase<TSchema extends Record<string, unknown> = Record<string, never>>\n\textends GelDatabase<GelQueryResultHKT, TSchema>\n{\n\tstatic override readonly [entityKind]: string = 'GelJsDatabase';\n}\n\nfunction construct<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTClient extends GelClient = GelClient,\n>(\n\tclient: TClient,\n\tconfig: DrizzleConfig<TSchema> = {},\n): GelJsDatabase<TSchema> & {\n\t$client: TClient;\n} {\n\tconst dialect = new GelDialect({ casing: config.casing });\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\n\tlet schema: RelationalSchemaConfig<TablesRelationalConfig> | undefined;\n\tif (config.schema) {\n\t\tconst tablesConfig = extractTablesRelationalConfig(config.schema, createTableRelationsHelpers);\n\t\tschema = {\n\t\t\tfullSchema: config.schema,\n\t\t\tschema: tablesConfig.tables,\n\t\t\ttableNamesMap: tablesConfig.tableNamesMap,\n\t\t};\n\t}\n\n\tconst driver = new GelDriver(client, dialect, { logger });\n\tconst session = driver.createSession(schema);\n\tconst db = new GelJsDatabase(dialect, session, schema as any) as GelJsDatabase<TSchema>;\n\t(<any> db).$client = client;\n\n\treturn db as any;\n}\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTClient extends GelClient = Client,\n>(\n\t...params:\n\t\t| [TClient | string]\n\t\t| [TClient | string, DrizzleConfig<TSchema>]\n\t\t| [\n\t\t\t& DrizzleConfig<TSchema>\n\t\t\t& (\n\t\t\t\t| {\n\t\t\t\t\tconnection: string | ConnectOptions;\n\t\t\t\t}\n\t\t\t\t| {\n\t\t\t\t\tclient: TClient;\n\t\t\t\t}\n\t\t\t),\n\t\t]\n): GelJsDatabase<TSchema> & {\n\t$client: TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = createClient({ dsn: params[0] });\n\n\t\treturn construct(instance, params[1] as DrizzleConfig<TSchema> | undefined) as any;\n\t}\n\n\tif (isConfig(params[0])) {\n\t\tconst { connection, client, ...drizzleConfig } = params[0] as (\n\t\t\t& ({ connection?: ConnectOptions | string; client?: TClient })\n\t\t\t& DrizzleConfig<TSchema>\n\t\t);\n\n\t\tif (client) return construct(client, drizzleConfig);\n\n\t\tconst instance = createClient(connection);\n\n\t\treturn construct(instance, drizzleConfig) as any;\n\t}\n\n\treturn construct(params[0] as TClient, params[1] as DrizzleConfig<TSchema> | undefined) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<TSchema extends Record<string, unknown> = Record<string, never>>(\n\t\tconfig?: DrizzleConfig<TSchema>,\n\t): GelJsDatabase<TSchema> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, config) as any;\n\t}\n}\n"],"mappings":"AAAA,SAA2C,oBAAoB;AAC/D,SAAS,kBAAkB;
|
|
1
|
+
{"version":3,"sources":["../../src/gel/driver.ts"],"sourcesContent":["import { type Client, type ConnectOptions, createClient } from 'gel';\nimport { entityKind } from '~/entity.ts';\nimport type { DrizzleGelExtension } from '~/extension-core/gel/index.ts';\nimport { GelDatabase } from '~/gel-core/db.ts';\nimport { GelDialect } from '~/gel-core/dialect.ts';\nimport type { GelQueryResultHKT } from '~/gel-core/session.ts';\nimport type { Logger } from '~/logger.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport {\n\tcreateTableRelationsHelpers,\n\textractTablesRelationalConfig,\n\ttype RelationalSchemaConfig,\n\ttype TablesRelationalConfig,\n} from '~/relations.ts';\nimport { type DrizzleConfig, isConfig } from '~/utils.ts';\nimport type { GelClient } from './session.ts';\nimport { GelDbSession } from './session.ts';\n\nexport interface GelDriverOptions {\n\tlogger?: Logger;\n}\n\nexport class GelDriver {\n\tstatic readonly [entityKind]: string = 'GelDriver';\n\n\tconstructor(\n\t\tprivate client: GelClient,\n\t\tprivate dialect: GelDialect,\n\t\tprivate options: GelDriverOptions = {},\n\t\tprivate extensions?: DrizzleGelExtension[],\n\t) {}\n\n\tcreateSession(\n\t\tschema: RelationalSchemaConfig<TablesRelationalConfig> | undefined,\n\t): GelDbSession<Record<string, unknown>, TablesRelationalConfig> {\n\t\treturn new GelDbSession(this.client, this.dialect, schema, { logger: this.options.logger }, this.extensions);\n\t}\n}\n\nexport class GelJsDatabase<TSchema extends Record<string, unknown> = Record<string, never>>\n\textends GelDatabase<GelQueryResultHKT, TSchema>\n{\n\tstatic override readonly [entityKind]: string = 'GelJsDatabase';\n}\n\nfunction construct<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTClient extends GelClient = GelClient,\n>(\n\tclient: TClient,\n\tconfig: DrizzleConfig<TSchema, DrizzleGelExtension> = {},\n): GelJsDatabase<TSchema> & {\n\t$client: TClient;\n} {\n\tconst dialect = new GelDialect({ casing: config.casing });\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\n\tlet schema: RelationalSchemaConfig<TablesRelationalConfig> | undefined;\n\tif (config.schema) {\n\t\tconst tablesConfig = extractTablesRelationalConfig(config.schema, createTableRelationsHelpers);\n\t\tschema = {\n\t\t\tfullSchema: config.schema,\n\t\t\tschema: tablesConfig.tables,\n\t\t\ttableNamesMap: tablesConfig.tableNamesMap,\n\t\t};\n\t}\n\n\tconst extensions = config.extensions;\n\tconst driver = new GelDriver(client, dialect, { logger }, extensions);\n\tconst session = driver.createSession(schema);\n\tconst db = new GelJsDatabase(dialect, session, schema as any, extensions) as GelJsDatabase<TSchema>;\n\t(<any> db).$client = client;\n\n\treturn db as any;\n}\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTClient extends GelClient = Client,\n>(\n\t...params:\n\t\t| [TClient | string]\n\t\t| [TClient | string, DrizzleConfig<TSchema, DrizzleGelExtension>]\n\t\t| [\n\t\t\t& DrizzleConfig<TSchema, DrizzleGelExtension>\n\t\t\t& (\n\t\t\t\t| {\n\t\t\t\t\tconnection: string | ConnectOptions;\n\t\t\t\t}\n\t\t\t\t| {\n\t\t\t\t\tclient: TClient;\n\t\t\t\t}\n\t\t\t),\n\t\t]\n): GelJsDatabase<TSchema> & {\n\t$client: TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = createClient({ dsn: params[0] });\n\n\t\treturn construct(instance, params[1] as DrizzleConfig<TSchema, DrizzleGelExtension> | undefined) as any;\n\t}\n\n\tif (isConfig(params[0])) {\n\t\tconst { connection, client, ...drizzleConfig } = params[0] as (\n\t\t\t& ({ connection?: ConnectOptions | string; client?: TClient })\n\t\t\t& DrizzleConfig<TSchema, DrizzleGelExtension>\n\t\t);\n\n\t\tif (client) return construct(client, drizzleConfig);\n\n\t\tconst instance = createClient(connection);\n\n\t\treturn construct(instance, drizzleConfig) as any;\n\t}\n\n\treturn construct(params[0] as TClient, params[1] as DrizzleConfig<TSchema, DrizzleGelExtension> | undefined) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<TSchema extends Record<string, unknown> = Record<string, never>>(\n\t\tconfig?: DrizzleConfig<TSchema, DrizzleGelExtension>,\n\t): GelJsDatabase<TSchema> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, config) as any;\n\t}\n}\n"],"mappings":"AAAA,SAA2C,oBAAoB;AAC/D,SAAS,kBAAkB;AAE3B,SAAS,mBAAmB;AAC5B,SAAS,kBAAkB;AAG3B,SAAS,qBAAqB;AAC9B;AAAA,EACC;AAAA,EACA;AAAA,OAGM;AACP,SAA6B,gBAAgB;AAE7C,SAAS,oBAAoB;AAMtB,MAAM,UAAU;AAAA,EAGtB,YACS,QACA,SACA,UAA4B,CAAC,GAC7B,YACP;AAJO;AACA;AACA;AACA;AAAA,EACN;AAAA,EAPH,QAAiB,UAAU,IAAY;AAAA,EASvC,cACC,QACgE;AAChE,WAAO,IAAI,aAAa,KAAK,QAAQ,KAAK,SAAS,QAAQ,EAAE,QAAQ,KAAK,QAAQ,OAAO,GAAG,KAAK,UAAU;AAAA,EAC5G;AACD;AAEO,MAAM,sBACJ,YACT;AAAA,EACC,QAA0B,UAAU,IAAY;AACjD;AAEA,SAAS,UAIR,QACA,SAAsD,CAAC,GAGtD;AACD,QAAM,UAAU,IAAI,WAAW,EAAE,QAAQ,OAAO,OAAO,CAAC;AACxD,MAAI;AACJ,MAAI,OAAO,WAAW,MAAM;AAC3B,aAAS,IAAI,cAAc;AAAA,EAC5B,WAAW,OAAO,WAAW,OAAO;AACnC,aAAS,OAAO;AAAA,EACjB;AAEA,MAAI;AACJ,MAAI,OAAO,QAAQ;AAClB,UAAM,eAAe,8BAA8B,OAAO,QAAQ,2BAA2B;AAC7F,aAAS;AAAA,MACR,YAAY,OAAO;AAAA,MACnB,QAAQ,aAAa;AAAA,MACrB,eAAe,aAAa;AAAA,IAC7B;AAAA,EACD;AAEA,QAAM,aAAa,OAAO;AAC1B,QAAM,SAAS,IAAI,UAAU,QAAQ,SAAS,EAAE,OAAO,GAAG,UAAU;AACpE,QAAM,UAAU,OAAO,cAAc,MAAM;AAC3C,QAAM,KAAK,IAAI,cAAc,SAAS,SAAS,QAAe,UAAU;AACxE,EAAO,GAAI,UAAU;AAErB,SAAO;AACR;AAEO,SAAS,WAIZ,QAgBF;AACD,MAAI,OAAO,OAAO,CAAC,MAAM,UAAU;AAClC,UAAM,WAAW,aAAa,EAAE,KAAK,OAAO,CAAC,EAAE,CAAC;AAEhD,WAAO,UAAU,UAAU,OAAO,CAAC,CAA4D;AAAA,EAChG;AAEA,MAAI,SAAS,OAAO,CAAC,CAAC,GAAG;AACxB,UAAM,EAAE,YAAY,QAAQ,GAAG,cAAc,IAAI,OAAO,CAAC;AAKzD,QAAI;AAAQ,aAAO,UAAU,QAAQ,aAAa;AAElD,UAAM,WAAW,aAAa,UAAU;AAExC,WAAO,UAAU,UAAU,aAAa;AAAA,EACzC;AAEA,SAAO,UAAU,OAAO,CAAC,GAAc,OAAO,CAAC,CAA4D;AAC5G;AAAA,CAEO,CAAUA,aAAV;AACC,WAAS,KACf,QAGC;AACD,WAAO,UAAU,CAAC,GAAU,MAAM;AAAA,EACnC;AANO,EAAAA,SAAS;AAAA,GADA;","names":["drizzle"]}
|
package/gel/session.cjs
CHANGED
|
@@ -30,8 +30,8 @@ var import_sql = require("../sql/sql.cjs");
|
|
|
30
30
|
var import_tracing = require("../tracing.cjs");
|
|
31
31
|
var import_utils = require("../utils.cjs");
|
|
32
32
|
class GelDbPreparedQuery extends import_session.GelPreparedQuery {
|
|
33
|
-
constructor(client, queryString, params, logger, fields, _isResponseInArrayMode, customResultMapper, transaction = false) {
|
|
34
|
-
super({ sql: queryString, params });
|
|
33
|
+
constructor(client, queryString, params, logger, fields, _isResponseInArrayMode, extensions, hookContext, customResultMapper, transaction = false) {
|
|
34
|
+
super({ sql: queryString, params }, extensions, hookContext);
|
|
35
35
|
this.client = client;
|
|
36
36
|
this.queryString = queryString;
|
|
37
37
|
this.params = params;
|
|
@@ -42,7 +42,7 @@ class GelDbPreparedQuery extends import_session.GelPreparedQuery {
|
|
|
42
42
|
this.transaction = transaction;
|
|
43
43
|
}
|
|
44
44
|
static [import_entity.entityKind] = "GelPreparedQuery";
|
|
45
|
-
async
|
|
45
|
+
async _execute(placeholderValues = {}) {
|
|
46
46
|
return import_tracing.tracer.startActiveSpan("drizzle.execute", async () => {
|
|
47
47
|
const params = (0, import_sql.fillPlaceholders)(this.params, placeholderValues);
|
|
48
48
|
this.logger.logQuery(this.queryString, params);
|
|
@@ -87,8 +87,8 @@ class GelDbPreparedQuery extends import_session.GelPreparedQuery {
|
|
|
87
87
|
}
|
|
88
88
|
}
|
|
89
89
|
class GelDbSession extends import_session.GelSession {
|
|
90
|
-
constructor(client, dialect, schema, options = {}) {
|
|
91
|
-
super(dialect);
|
|
90
|
+
constructor(client, dialect, schema, options = {}, extensions) {
|
|
91
|
+
super(dialect, extensions);
|
|
92
92
|
this.client = client;
|
|
93
93
|
this.schema = schema;
|
|
94
94
|
this.options = options;
|
|
@@ -96,7 +96,7 @@ class GelDbSession extends import_session.GelSession {
|
|
|
96
96
|
}
|
|
97
97
|
static [import_entity.entityKind] = "GelDbSession";
|
|
98
98
|
logger;
|
|
99
|
-
prepareQuery(query, fields, name, isResponseInArrayMode, customResultMapper) {
|
|
99
|
+
prepareQuery(query, fields, name, isResponseInArrayMode, hookContext, customResultMapper) {
|
|
100
100
|
return new GelDbPreparedQuery(
|
|
101
101
|
this.client,
|
|
102
102
|
query.sql,
|
|
@@ -104,13 +104,15 @@ class GelDbSession extends import_session.GelSession {
|
|
|
104
104
|
this.logger,
|
|
105
105
|
fields,
|
|
106
106
|
isResponseInArrayMode,
|
|
107
|
+
this.extensions,
|
|
108
|
+
hookContext,
|
|
107
109
|
customResultMapper
|
|
108
110
|
);
|
|
109
111
|
}
|
|
110
112
|
async transaction(transaction) {
|
|
111
113
|
return await this.client.transaction(async (clientTx) => {
|
|
112
|
-
const session = new GelDbSession(clientTx, this.dialect, this.schema, this.options);
|
|
113
|
-
const tx = new GelDbTransaction(this.dialect, session, this.schema);
|
|
114
|
+
const session = new GelDbSession(clientTx, this.dialect, this.schema, this.options, this.extensions);
|
|
115
|
+
const tx = new GelDbTransaction(this.dialect, session, this.schema, this.extensions);
|
|
114
116
|
return await transaction(tx);
|
|
115
117
|
});
|
|
116
118
|
}
|
|
@@ -125,7 +127,8 @@ class GelDbTransaction extends import_session.GelTransaction {
|
|
|
125
127
|
const tx = new GelDbTransaction(
|
|
126
128
|
this.dialect,
|
|
127
129
|
this.session,
|
|
128
|
-
this.schema
|
|
130
|
+
this.schema,
|
|
131
|
+
this._.extensions
|
|
129
132
|
);
|
|
130
133
|
return await transaction(tx);
|
|
131
134
|
}
|
package/gel/session.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/gel/session.ts"],"sourcesContent":["import type { Client } from 'gel';\nimport type { Transaction } from 'gel/dist/transaction';\nimport { entityKind } from '~/entity.ts';\nimport type { GelDialect } from '~/gel-core/dialect.ts';\nimport type { SelectedFieldsOrdered } from '~/gel-core/query-builders/select.types.ts';\nimport { GelPreparedQuery, GelSession, GelTransaction, type PreparedQueryConfig } from '~/gel-core/session.ts';\nimport { type Logger, NoopLogger } from '~/logger.ts';\nimport type { RelationalSchemaConfig, TablesRelationalConfig } from '~/relations.ts';\nimport { fillPlaceholders, type Query, type SQL } from '~/sql/sql.ts';\nimport { tracer } from '~/tracing.ts';\nimport { mapResultRow } from '~/utils.ts';\n\nexport type GelClient = Client | Transaction;\n\nexport class GelDbPreparedQuery<T extends PreparedQueryConfig> extends GelPreparedQuery<T> {\n\tstatic override readonly [entityKind]: string = 'GelPreparedQuery';\n\n\tconstructor(\n\t\tprivate client: GelClient,\n\t\tprivate queryString: string,\n\t\tprivate params: unknown[],\n\t\tprivate logger: Logger,\n\t\tprivate fields: SelectedFieldsOrdered | undefined,\n\t\tprivate _isResponseInArrayMode: boolean,\n\t\tprivate customResultMapper?: (rows: unknown[][]) => T['execute'],\n\t\tprivate transaction: boolean = false,\n\t) {\n\t\tsuper({ sql: queryString, params });\n\t}\n\n\tasync
|
|
1
|
+
{"version":3,"sources":["../../src/gel/session.ts"],"sourcesContent":["import type { Client } from 'gel';\nimport type { Transaction } from 'gel/dist/transaction';\nimport { entityKind } from '~/entity.ts';\nimport type { BlankGelHookContext, DrizzleGelExtension } from '~/extension-core/gel/index.ts';\nimport type { GelDialect } from '~/gel-core/dialect.ts';\nimport type { SelectedFieldsOrdered } from '~/gel-core/query-builders/select.types.ts';\nimport { GelPreparedQuery, GelSession, GelTransaction, type PreparedQueryConfig } from '~/gel-core/session.ts';\nimport { type Logger, NoopLogger } from '~/logger.ts';\nimport type { RelationalSchemaConfig, TablesRelationalConfig } from '~/relations.ts';\nimport { fillPlaceholders, type Query, type SQL } from '~/sql/sql.ts';\nimport { tracer } from '~/tracing.ts';\nimport { mapResultRow } from '~/utils.ts';\n\nexport type GelClient = Client | Transaction;\n\nexport class GelDbPreparedQuery<T extends PreparedQueryConfig> extends GelPreparedQuery<T> {\n\tstatic override readonly [entityKind]: string = 'GelPreparedQuery';\n\n\tconstructor(\n\t\tprivate client: GelClient,\n\t\tprivate queryString: string,\n\t\tprivate params: unknown[],\n\t\tprivate logger: Logger,\n\t\tprivate fields: SelectedFieldsOrdered | undefined,\n\t\tprivate _isResponseInArrayMode: boolean,\n\t\textensions?: DrizzleGelExtension[],\n\t\thookContext?: BlankGelHookContext,\n\t\tprivate customResultMapper?: (rows: unknown[][]) => T['execute'],\n\t\tprivate transaction: boolean = false,\n\t) {\n\t\tsuper({ sql: queryString, params }, extensions, hookContext);\n\t}\n\n\tasync _execute(placeholderValues: Record<string, unknown> | undefined = {}): Promise<T['execute']> {\n\t\treturn tracer.startActiveSpan('drizzle.execute', async () => {\n\t\t\tconst params = fillPlaceholders(this.params, placeholderValues);\n\n\t\t\tthis.logger.logQuery(this.queryString, params);\n\t\t\tconst { fields, queryString: query, client, joinsNotNullableMap, customResultMapper } = this;\n\t\t\tif (!fields && !customResultMapper) {\n\t\t\t\treturn tracer.startActiveSpan('drizzle.driver.execute', async (span) => {\n\t\t\t\t\tspan?.setAttributes({\n\t\t\t\t\t\t'drizzle.query.text': query,\n\t\t\t\t\t\t'drizzle.query.params': JSON.stringify(params),\n\t\t\t\t\t});\n\n\t\t\t\t\treturn client.querySQL(query, params.length ? params : undefined);\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tconst result = (await tracer.startActiveSpan('drizzle.driver.execute', (span) => {\n\t\t\t\tspan?.setAttributes({\n\t\t\t\t\t'drizzle.query.text': query,\n\t\t\t\t\t'drizzle.query.params': JSON.stringify(params),\n\t\t\t\t});\n\n\t\t\t\treturn client.withSQLRowMode('array').querySQL(query, params.length ? params : undefined);\n\t\t\t})) as unknown[][];\n\n\t\t\treturn tracer.startActiveSpan('drizzle.mapResponse', () => {\n\t\t\t\treturn customResultMapper\n\t\t\t\t\t? customResultMapper(result)\n\t\t\t\t\t: result.map((row) => mapResultRow<T['execute']>(fields!, row, joinsNotNullableMap));\n\t\t\t});\n\t\t});\n\t}\n\n\tall(placeholderValues: Record<string, unknown> | undefined = {}): Promise<T['all']> {\n\t\treturn tracer.startActiveSpan('drizzle.execute', () => {\n\t\t\tconst params = fillPlaceholders(this.params, placeholderValues);\n\t\t\tthis.logger.logQuery(this.queryString, params);\n\t\t\treturn tracer.startActiveSpan('drizzle.driver.execute', (span) => {\n\t\t\t\tspan?.setAttributes({\n\t\t\t\t\t'drizzle.query.text': this.queryString,\n\t\t\t\t\t'drizzle.query.params': JSON.stringify(params),\n\t\t\t\t});\n\t\t\t\treturn this.client.withSQLRowMode('array').querySQL(this.queryString, params.length ? params : undefined).then((\n\t\t\t\t\tresult,\n\t\t\t\t) => result);\n\t\t\t});\n\t\t});\n\t}\n\n\t/** @internal */\n\tisResponseInArrayMode(): boolean {\n\t\treturn this._isResponseInArrayMode;\n\t}\n}\n\nexport interface GelSessionOptions {\n\tlogger?: Logger;\n}\n\nexport class GelDbSession<TFullSchema extends Record<string, unknown>, TSchema extends TablesRelationalConfig>\n\textends GelSession<GelQueryResultHKT, TFullSchema, TSchema>\n{\n\tstatic override readonly [entityKind]: string = 'GelDbSession';\n\n\tprivate logger: Logger;\n\n\tconstructor(\n\t\tprivate client: GelClient,\n\t\tdialect: GelDialect,\n\t\tprivate schema: RelationalSchemaConfig<TSchema> | undefined,\n\t\tprivate options: GelSessionOptions = {},\n\t\textensions?: DrizzleGelExtension[],\n\t) {\n\t\tsuper(dialect, extensions);\n\t\tthis.logger = options.logger ?? new NoopLogger();\n\t}\n\n\tprepareQuery<T extends PreparedQueryConfig = PreparedQueryConfig>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\tname: string | undefined,\n\t\tisResponseInArrayMode: boolean,\n\t\thookContext?: BlankGelHookContext,\n\t\tcustomResultMapper?: (rows: unknown[][]) => T['execute'],\n\t): GelDbPreparedQuery<T> {\n\t\treturn new GelDbPreparedQuery(\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\tisResponseInArrayMode,\n\t\t\tthis.extensions,\n\t\t\thookContext,\n\t\t\tcustomResultMapper,\n\t\t);\n\t}\n\n\toverride async transaction<T>(\n\t\ttransaction: (tx: GelTransaction<GelQueryResultHKT, TFullSchema, TSchema>) => Promise<T>,\n\t): Promise<T> {\n\t\treturn await (this.client as Client).transaction(async (clientTx) => {\n\t\t\tconst session = new GelDbSession(clientTx, this.dialect, this.schema, this.options, this.extensions);\n\t\t\tconst tx = new GelDbTransaction<TFullSchema, TSchema>(this.dialect, session, this.schema, this.extensions);\n\t\t\treturn await transaction(tx);\n\t\t});\n\t}\n\n\toverride async count(sql: SQL): Promise<number> {\n\t\tconst res = await this.execute<[{ count: string }]>(sql);\n\t\treturn Number(res[0]['count']);\n\t}\n}\n\nexport class GelDbTransaction<TFullSchema extends Record<string, unknown>, TSchema extends TablesRelationalConfig>\n\textends GelTransaction<GelQueryResultHKT, TFullSchema, TSchema>\n{\n\tstatic override readonly [entityKind]: string = 'GelDbTransaction';\n\n\toverride async transaction<T>(transaction: (tx: GelDbTransaction<TFullSchema, TSchema>) => Promise<T>): Promise<T> {\n\t\tconst tx = new GelDbTransaction<TFullSchema, TSchema>(\n\t\t\tthis.dialect,\n\t\t\tthis.session,\n\t\t\tthis.schema,\n\t\t\tthis._.extensions,\n\t\t);\n\t\treturn await transaction(tx);\n\t}\n}\n\n// TODO fix this\nexport interface GelQueryResultHKT {\n\treadonly $brand: 'GelQueryResultHKT';\n\treadonly row: unknown;\n\treadonly type: unknown;\n}\n"],"mappings":"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","names":[]}
|
package/gel/session.d.cts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { Client } from 'gel';
|
|
2
2
|
import type { Transaction } from 'gel/dist/transaction';
|
|
3
3
|
import { entityKind } from "../entity.cjs";
|
|
4
|
+
import type { BlankGelHookContext, DrizzleGelExtension } from "../extension-core/gel/index.cjs";
|
|
4
5
|
import type { GelDialect } from "../gel-core/dialect.cjs";
|
|
5
6
|
import type { SelectedFieldsOrdered } from "../gel-core/query-builders/select.types.cjs";
|
|
6
7
|
import { GelPreparedQuery, GelSession, GelTransaction, type PreparedQueryConfig } from "../gel-core/session.cjs";
|
|
@@ -18,8 +19,8 @@ export declare class GelDbPreparedQuery<T extends PreparedQueryConfig> extends G
|
|
|
18
19
|
private customResultMapper?;
|
|
19
20
|
private transaction;
|
|
20
21
|
static readonly [entityKind]: string;
|
|
21
|
-
constructor(client: GelClient, queryString: string, params: unknown[], logger: Logger, fields: SelectedFieldsOrdered | undefined, _isResponseInArrayMode: boolean, customResultMapper?: ((rows: unknown[][]) => T["execute"]) | undefined, transaction?: boolean);
|
|
22
|
-
|
|
22
|
+
constructor(client: GelClient, queryString: string, params: unknown[], logger: Logger, fields: SelectedFieldsOrdered | undefined, _isResponseInArrayMode: boolean, extensions?: DrizzleGelExtension[], hookContext?: BlankGelHookContext, customResultMapper?: ((rows: unknown[][]) => T["execute"]) | undefined, transaction?: boolean);
|
|
23
|
+
_execute(placeholderValues?: Record<string, unknown> | undefined): Promise<T['execute']>;
|
|
23
24
|
all(placeholderValues?: Record<string, unknown> | undefined): Promise<T['all']>;
|
|
24
25
|
}
|
|
25
26
|
export interface GelSessionOptions {
|
|
@@ -31,8 +32,8 @@ export declare class GelDbSession<TFullSchema extends Record<string, unknown>, T
|
|
|
31
32
|
private options;
|
|
32
33
|
static readonly [entityKind]: string;
|
|
33
34
|
private logger;
|
|
34
|
-
constructor(client: GelClient, dialect: GelDialect, schema: RelationalSchemaConfig<TSchema> | undefined, options?: GelSessionOptions);
|
|
35
|
-
prepareQuery<T extends PreparedQueryConfig = PreparedQueryConfig>(query: Query, fields: SelectedFieldsOrdered | undefined, name: string | undefined, isResponseInArrayMode: boolean, customResultMapper?: (rows: unknown[][]) => T['execute']): GelDbPreparedQuery<T>;
|
|
35
|
+
constructor(client: GelClient, dialect: GelDialect, schema: RelationalSchemaConfig<TSchema> | undefined, options?: GelSessionOptions, extensions?: DrizzleGelExtension[]);
|
|
36
|
+
prepareQuery<T extends PreparedQueryConfig = PreparedQueryConfig>(query: Query, fields: SelectedFieldsOrdered | undefined, name: string | undefined, isResponseInArrayMode: boolean, hookContext?: BlankGelHookContext, customResultMapper?: (rows: unknown[][]) => T['execute']): GelDbPreparedQuery<T>;
|
|
36
37
|
transaction<T>(transaction: (tx: GelTransaction<GelQueryResultHKT, TFullSchema, TSchema>) => Promise<T>): Promise<T>;
|
|
37
38
|
count(sql: SQL): Promise<number>;
|
|
38
39
|
}
|
package/gel/session.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { Client } from 'gel';
|
|
2
2
|
import type { Transaction } from 'gel/dist/transaction';
|
|
3
3
|
import { entityKind } from "../entity.js";
|
|
4
|
+
import type { BlankGelHookContext, DrizzleGelExtension } from "../extension-core/gel/index.js";
|
|
4
5
|
import type { GelDialect } from "../gel-core/dialect.js";
|
|
5
6
|
import type { SelectedFieldsOrdered } from "../gel-core/query-builders/select.types.js";
|
|
6
7
|
import { GelPreparedQuery, GelSession, GelTransaction, type PreparedQueryConfig } from "../gel-core/session.js";
|
|
@@ -18,8 +19,8 @@ export declare class GelDbPreparedQuery<T extends PreparedQueryConfig> extends G
|
|
|
18
19
|
private customResultMapper?;
|
|
19
20
|
private transaction;
|
|
20
21
|
static readonly [entityKind]: string;
|
|
21
|
-
constructor(client: GelClient, queryString: string, params: unknown[], logger: Logger, fields: SelectedFieldsOrdered | undefined, _isResponseInArrayMode: boolean, customResultMapper?: ((rows: unknown[][]) => T["execute"]) | undefined, transaction?: boolean);
|
|
22
|
-
|
|
22
|
+
constructor(client: GelClient, queryString: string, params: unknown[], logger: Logger, fields: SelectedFieldsOrdered | undefined, _isResponseInArrayMode: boolean, extensions?: DrizzleGelExtension[], hookContext?: BlankGelHookContext, customResultMapper?: ((rows: unknown[][]) => T["execute"]) | undefined, transaction?: boolean);
|
|
23
|
+
_execute(placeholderValues?: Record<string, unknown> | undefined): Promise<T['execute']>;
|
|
23
24
|
all(placeholderValues?: Record<string, unknown> | undefined): Promise<T['all']>;
|
|
24
25
|
}
|
|
25
26
|
export interface GelSessionOptions {
|
|
@@ -31,8 +32,8 @@ export declare class GelDbSession<TFullSchema extends Record<string, unknown>, T
|
|
|
31
32
|
private options;
|
|
32
33
|
static readonly [entityKind]: string;
|
|
33
34
|
private logger;
|
|
34
|
-
constructor(client: GelClient, dialect: GelDialect, schema: RelationalSchemaConfig<TSchema> | undefined, options?: GelSessionOptions);
|
|
35
|
-
prepareQuery<T extends PreparedQueryConfig = PreparedQueryConfig>(query: Query, fields: SelectedFieldsOrdered | undefined, name: string | undefined, isResponseInArrayMode: boolean, customResultMapper?: (rows: unknown[][]) => T['execute']): GelDbPreparedQuery<T>;
|
|
35
|
+
constructor(client: GelClient, dialect: GelDialect, schema: RelationalSchemaConfig<TSchema> | undefined, options?: GelSessionOptions, extensions?: DrizzleGelExtension[]);
|
|
36
|
+
prepareQuery<T extends PreparedQueryConfig = PreparedQueryConfig>(query: Query, fields: SelectedFieldsOrdered | undefined, name: string | undefined, isResponseInArrayMode: boolean, hookContext?: BlankGelHookContext, customResultMapper?: (rows: unknown[][]) => T['execute']): GelDbPreparedQuery<T>;
|
|
36
37
|
transaction<T>(transaction: (tx: GelTransaction<GelQueryResultHKT, TFullSchema, TSchema>) => Promise<T>): Promise<T>;
|
|
37
38
|
count(sql: SQL): Promise<number>;
|
|
38
39
|
}
|
package/gel/session.js
CHANGED
|
@@ -5,8 +5,8 @@ import { fillPlaceholders } from "../sql/sql.js";
|
|
|
5
5
|
import { tracer } from "../tracing.js";
|
|
6
6
|
import { mapResultRow } from "../utils.js";
|
|
7
7
|
class GelDbPreparedQuery extends GelPreparedQuery {
|
|
8
|
-
constructor(client, queryString, params, logger, fields, _isResponseInArrayMode, customResultMapper, transaction = false) {
|
|
9
|
-
super({ sql: queryString, params });
|
|
8
|
+
constructor(client, queryString, params, logger, fields, _isResponseInArrayMode, extensions, hookContext, customResultMapper, transaction = false) {
|
|
9
|
+
super({ sql: queryString, params }, extensions, hookContext);
|
|
10
10
|
this.client = client;
|
|
11
11
|
this.queryString = queryString;
|
|
12
12
|
this.params = params;
|
|
@@ -17,7 +17,7 @@ class GelDbPreparedQuery extends GelPreparedQuery {
|
|
|
17
17
|
this.transaction = transaction;
|
|
18
18
|
}
|
|
19
19
|
static [entityKind] = "GelPreparedQuery";
|
|
20
|
-
async
|
|
20
|
+
async _execute(placeholderValues = {}) {
|
|
21
21
|
return tracer.startActiveSpan("drizzle.execute", async () => {
|
|
22
22
|
const params = fillPlaceholders(this.params, placeholderValues);
|
|
23
23
|
this.logger.logQuery(this.queryString, params);
|
|
@@ -62,8 +62,8 @@ class GelDbPreparedQuery extends GelPreparedQuery {
|
|
|
62
62
|
}
|
|
63
63
|
}
|
|
64
64
|
class GelDbSession extends GelSession {
|
|
65
|
-
constructor(client, dialect, schema, options = {}) {
|
|
66
|
-
super(dialect);
|
|
65
|
+
constructor(client, dialect, schema, options = {}, extensions) {
|
|
66
|
+
super(dialect, extensions);
|
|
67
67
|
this.client = client;
|
|
68
68
|
this.schema = schema;
|
|
69
69
|
this.options = options;
|
|
@@ -71,7 +71,7 @@ class GelDbSession extends GelSession {
|
|
|
71
71
|
}
|
|
72
72
|
static [entityKind] = "GelDbSession";
|
|
73
73
|
logger;
|
|
74
|
-
prepareQuery(query, fields, name, isResponseInArrayMode, customResultMapper) {
|
|
74
|
+
prepareQuery(query, fields, name, isResponseInArrayMode, hookContext, customResultMapper) {
|
|
75
75
|
return new GelDbPreparedQuery(
|
|
76
76
|
this.client,
|
|
77
77
|
query.sql,
|
|
@@ -79,13 +79,15 @@ class GelDbSession extends GelSession {
|
|
|
79
79
|
this.logger,
|
|
80
80
|
fields,
|
|
81
81
|
isResponseInArrayMode,
|
|
82
|
+
this.extensions,
|
|
83
|
+
hookContext,
|
|
82
84
|
customResultMapper
|
|
83
85
|
);
|
|
84
86
|
}
|
|
85
87
|
async transaction(transaction) {
|
|
86
88
|
return await this.client.transaction(async (clientTx) => {
|
|
87
|
-
const session = new GelDbSession(clientTx, this.dialect, this.schema, this.options);
|
|
88
|
-
const tx = new GelDbTransaction(this.dialect, session, this.schema);
|
|
89
|
+
const session = new GelDbSession(clientTx, this.dialect, this.schema, this.options, this.extensions);
|
|
90
|
+
const tx = new GelDbTransaction(this.dialect, session, this.schema, this.extensions);
|
|
89
91
|
return await transaction(tx);
|
|
90
92
|
});
|
|
91
93
|
}
|
|
@@ -100,7 +102,8 @@ class GelDbTransaction extends GelTransaction {
|
|
|
100
102
|
const tx = new GelDbTransaction(
|
|
101
103
|
this.dialect,
|
|
102
104
|
this.session,
|
|
103
|
-
this.schema
|
|
105
|
+
this.schema,
|
|
106
|
+
this._.extensions
|
|
104
107
|
);
|
|
105
108
|
return await transaction(tx);
|
|
106
109
|
}
|
package/gel/session.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/gel/session.ts"],"sourcesContent":["import type { Client } from 'gel';\nimport type { Transaction } from 'gel/dist/transaction';\nimport { entityKind } from '~/entity.ts';\nimport type { GelDialect } from '~/gel-core/dialect.ts';\nimport type { SelectedFieldsOrdered } from '~/gel-core/query-builders/select.types.ts';\nimport { GelPreparedQuery, GelSession, GelTransaction, type PreparedQueryConfig } from '~/gel-core/session.ts';\nimport { type Logger, NoopLogger } from '~/logger.ts';\nimport type { RelationalSchemaConfig, TablesRelationalConfig } from '~/relations.ts';\nimport { fillPlaceholders, type Query, type SQL } from '~/sql/sql.ts';\nimport { tracer } from '~/tracing.ts';\nimport { mapResultRow } from '~/utils.ts';\n\nexport type GelClient = Client | Transaction;\n\nexport class GelDbPreparedQuery<T extends PreparedQueryConfig> extends GelPreparedQuery<T> {\n\tstatic override readonly [entityKind]: string = 'GelPreparedQuery';\n\n\tconstructor(\n\t\tprivate client: GelClient,\n\t\tprivate queryString: string,\n\t\tprivate params: unknown[],\n\t\tprivate logger: Logger,\n\t\tprivate fields: SelectedFieldsOrdered | undefined,\n\t\tprivate _isResponseInArrayMode: boolean,\n\t\tprivate customResultMapper?: (rows: unknown[][]) => T['execute'],\n\t\tprivate transaction: boolean = false,\n\t) {\n\t\tsuper({ sql: queryString, params });\n\t}\n\n\tasync
|
|
1
|
+
{"version":3,"sources":["../../src/gel/session.ts"],"sourcesContent":["import type { Client } from 'gel';\nimport type { Transaction } from 'gel/dist/transaction';\nimport { entityKind } from '~/entity.ts';\nimport type { BlankGelHookContext, DrizzleGelExtension } from '~/extension-core/gel/index.ts';\nimport type { GelDialect } from '~/gel-core/dialect.ts';\nimport type { SelectedFieldsOrdered } from '~/gel-core/query-builders/select.types.ts';\nimport { GelPreparedQuery, GelSession, GelTransaction, type PreparedQueryConfig } from '~/gel-core/session.ts';\nimport { type Logger, NoopLogger } from '~/logger.ts';\nimport type { RelationalSchemaConfig, TablesRelationalConfig } from '~/relations.ts';\nimport { fillPlaceholders, type Query, type SQL } from '~/sql/sql.ts';\nimport { tracer } from '~/tracing.ts';\nimport { mapResultRow } from '~/utils.ts';\n\nexport type GelClient = Client | Transaction;\n\nexport class GelDbPreparedQuery<T extends PreparedQueryConfig> extends GelPreparedQuery<T> {\n\tstatic override readonly [entityKind]: string = 'GelPreparedQuery';\n\n\tconstructor(\n\t\tprivate client: GelClient,\n\t\tprivate queryString: string,\n\t\tprivate params: unknown[],\n\t\tprivate logger: Logger,\n\t\tprivate fields: SelectedFieldsOrdered | undefined,\n\t\tprivate _isResponseInArrayMode: boolean,\n\t\textensions?: DrizzleGelExtension[],\n\t\thookContext?: BlankGelHookContext,\n\t\tprivate customResultMapper?: (rows: unknown[][]) => T['execute'],\n\t\tprivate transaction: boolean = false,\n\t) {\n\t\tsuper({ sql: queryString, params }, extensions, hookContext);\n\t}\n\n\tasync _execute(placeholderValues: Record<string, unknown> | undefined = {}): Promise<T['execute']> {\n\t\treturn tracer.startActiveSpan('drizzle.execute', async () => {\n\t\t\tconst params = fillPlaceholders(this.params, placeholderValues);\n\n\t\t\tthis.logger.logQuery(this.queryString, params);\n\t\t\tconst { fields, queryString: query, client, joinsNotNullableMap, customResultMapper } = this;\n\t\t\tif (!fields && !customResultMapper) {\n\t\t\t\treturn tracer.startActiveSpan('drizzle.driver.execute', async (span) => {\n\t\t\t\t\tspan?.setAttributes({\n\t\t\t\t\t\t'drizzle.query.text': query,\n\t\t\t\t\t\t'drizzle.query.params': JSON.stringify(params),\n\t\t\t\t\t});\n\n\t\t\t\t\treturn client.querySQL(query, params.length ? params : undefined);\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tconst result = (await tracer.startActiveSpan('drizzle.driver.execute', (span) => {\n\t\t\t\tspan?.setAttributes({\n\t\t\t\t\t'drizzle.query.text': query,\n\t\t\t\t\t'drizzle.query.params': JSON.stringify(params),\n\t\t\t\t});\n\n\t\t\t\treturn client.withSQLRowMode('array').querySQL(query, params.length ? params : undefined);\n\t\t\t})) as unknown[][];\n\n\t\t\treturn tracer.startActiveSpan('drizzle.mapResponse', () => {\n\t\t\t\treturn customResultMapper\n\t\t\t\t\t? customResultMapper(result)\n\t\t\t\t\t: result.map((row) => mapResultRow<T['execute']>(fields!, row, joinsNotNullableMap));\n\t\t\t});\n\t\t});\n\t}\n\n\tall(placeholderValues: Record<string, unknown> | undefined = {}): Promise<T['all']> {\n\t\treturn tracer.startActiveSpan('drizzle.execute', () => {\n\t\t\tconst params = fillPlaceholders(this.params, placeholderValues);\n\t\t\tthis.logger.logQuery(this.queryString, params);\n\t\t\treturn tracer.startActiveSpan('drizzle.driver.execute', (span) => {\n\t\t\t\tspan?.setAttributes({\n\t\t\t\t\t'drizzle.query.text': this.queryString,\n\t\t\t\t\t'drizzle.query.params': JSON.stringify(params),\n\t\t\t\t});\n\t\t\t\treturn this.client.withSQLRowMode('array').querySQL(this.queryString, params.length ? params : undefined).then((\n\t\t\t\t\tresult,\n\t\t\t\t) => result);\n\t\t\t});\n\t\t});\n\t}\n\n\t/** @internal */\n\tisResponseInArrayMode(): boolean {\n\t\treturn this._isResponseInArrayMode;\n\t}\n}\n\nexport interface GelSessionOptions {\n\tlogger?: Logger;\n}\n\nexport class GelDbSession<TFullSchema extends Record<string, unknown>, TSchema extends TablesRelationalConfig>\n\textends GelSession<GelQueryResultHKT, TFullSchema, TSchema>\n{\n\tstatic override readonly [entityKind]: string = 'GelDbSession';\n\n\tprivate logger: Logger;\n\n\tconstructor(\n\t\tprivate client: GelClient,\n\t\tdialect: GelDialect,\n\t\tprivate schema: RelationalSchemaConfig<TSchema> | undefined,\n\t\tprivate options: GelSessionOptions = {},\n\t\textensions?: DrizzleGelExtension[],\n\t) {\n\t\tsuper(dialect, extensions);\n\t\tthis.logger = options.logger ?? new NoopLogger();\n\t}\n\n\tprepareQuery<T extends PreparedQueryConfig = PreparedQueryConfig>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\tname: string | undefined,\n\t\tisResponseInArrayMode: boolean,\n\t\thookContext?: BlankGelHookContext,\n\t\tcustomResultMapper?: (rows: unknown[][]) => T['execute'],\n\t): GelDbPreparedQuery<T> {\n\t\treturn new GelDbPreparedQuery(\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\tisResponseInArrayMode,\n\t\t\tthis.extensions,\n\t\t\thookContext,\n\t\t\tcustomResultMapper,\n\t\t);\n\t}\n\n\toverride async transaction<T>(\n\t\ttransaction: (tx: GelTransaction<GelQueryResultHKT, TFullSchema, TSchema>) => Promise<T>,\n\t): Promise<T> {\n\t\treturn await (this.client as Client).transaction(async (clientTx) => {\n\t\t\tconst session = new GelDbSession(clientTx, this.dialect, this.schema, this.options, this.extensions);\n\t\t\tconst tx = new GelDbTransaction<TFullSchema, TSchema>(this.dialect, session, this.schema, this.extensions);\n\t\t\treturn await transaction(tx);\n\t\t});\n\t}\n\n\toverride async count(sql: SQL): Promise<number> {\n\t\tconst res = await this.execute<[{ count: string }]>(sql);\n\t\treturn Number(res[0]['count']);\n\t}\n}\n\nexport class GelDbTransaction<TFullSchema extends Record<string, unknown>, TSchema extends TablesRelationalConfig>\n\textends GelTransaction<GelQueryResultHKT, TFullSchema, TSchema>\n{\n\tstatic override readonly [entityKind]: string = 'GelDbTransaction';\n\n\toverride async transaction<T>(transaction: (tx: GelDbTransaction<TFullSchema, TSchema>) => Promise<T>): Promise<T> {\n\t\tconst tx = new GelDbTransaction<TFullSchema, TSchema>(\n\t\t\tthis.dialect,\n\t\t\tthis.session,\n\t\t\tthis.schema,\n\t\t\tthis._.extensions,\n\t\t);\n\t\treturn await transaction(tx);\n\t}\n}\n\n// TODO fix this\nexport interface GelQueryResultHKT {\n\treadonly $brand: 'GelQueryResultHKT';\n\treadonly row: unknown;\n\treadonly type: unknown;\n}\n"],"mappings":"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","names":[]}
|
|
@@ -29,6 +29,7 @@ module.exports = __toCommonJS(common_exports);
|
|
|
29
29
|
var import_column_builder = require("../../column-builder.cjs");
|
|
30
30
|
var import_column = require("../../column.cjs");
|
|
31
31
|
var import_entity = require("../../entity.cjs");
|
|
32
|
+
var import_extension_core = require("../../extension-core/index.cjs");
|
|
32
33
|
var import_foreign_keys = require("../foreign-keys.cjs");
|
|
33
34
|
var import_tracing_utils = require("../../tracing-utils.cjs");
|
|
34
35
|
var import_unique_constraint = require("../unique-constraint.cjs");
|
|
@@ -194,9 +195,16 @@ class GelArray extends GelColumn {
|
|
|
194
195
|
this.baseColumn = baseColumn;
|
|
195
196
|
this.range = range;
|
|
196
197
|
this.size = config.size;
|
|
198
|
+
this[import_extension_core.requiredExtension] = baseColumn[import_extension_core.requiredExtension];
|
|
197
199
|
}
|
|
198
200
|
size;
|
|
199
201
|
static [import_entity.entityKind] = "GelArray";
|
|
202
|
+
mapToDriverValue(value) {
|
|
203
|
+
return value.map((v) => this.baseColumn.mapToDriverValue(v));
|
|
204
|
+
}
|
|
205
|
+
mapFromDriverValue(value) {
|
|
206
|
+
return value.map((v) => this.baseColumn.mapFromDriverValue(v));
|
|
207
|
+
}
|
|
200
208
|
getSQLType() {
|
|
201
209
|
return `${this.baseColumn.getSQLType()}[${typeof this.size === "number" ? this.size : ""}]`;
|
|
202
210
|
}
|