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.
Potentially problematic release.
This version of drizzle-orm might be problematic. Click here for more details.
- 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/mysql/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 { DrizzleMySqlExtension, type DrizzleMySqlHookContext } from '~/extension-core/mysql/index.ts';\nimport { MySqlColumn, type MySqlInsertConfig } from '~/mysql-core/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 { 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 { MySqlS3File } from './column.ts';\n\nexport class DrizzleMySqlS3Extension extends DrizzleMySqlExtension<S3ExtMeta> {\n\tstatic override readonly [entityKind]: string = 'DrizzleMySqlS3Extension';\n\n\tstatic override readonly [extensionName] = 'Drizzle MySQL 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<MySqlColumn>) {\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, MySqlColumn) || !(<MySqlColumn> 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 MySqlS3File;\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, MySqlColumn)) {\n\t\t\t\tif (!s.field[requiredExtension] || !is(this, s.field[requiredExtension])) continue;\n\n\t\t\t\tconst extCol = s.field as MySqlS3File;\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 MySqlS3File)[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 MySqlS3File)[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: DrizzleMySqlHookContext<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 MySqlInsertConfig).select) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tconst instr = this.buildParamMappingInstructions(context.params);\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: DrizzleMySqlHookContext<S3ExtMeta> & { stage: 'after' }) {\n\t\tconst errors: unknown[] = [];\n\t\tconst data = context.data as Record<string, unknown>[];\n\n\t\tswitch (context.query) {\n\t\t\tcase 'select': {\n\t\t\t\tif (!data.length) return;\n\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<MySqlColumn>(context.config.fields);\n\n\t\t\t\t\tconst instructions = this.buildOutputMappingInstructions(fields);\n\n\t\t\t\t\tconst decoder = buildDecoder(instructions);\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.mode === 'first' && !data) || (context.mode === 'many' && !data.length)) return;\n\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 (!data.length) return;\n\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\t\t\t\t\tconst instructions = this.buildOutputMappingInstructions(fields);\n\n\t\t\t\t\tconst decoder = buildDecoder(instructions);\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: DrizzleMySqlHookContext<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): DrizzleMySqlS3Extension {\n\treturn new DrizzleMySqlS3Extension(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 mysql_exports = {};
|
|
17
|
+
module.exports = __toCommonJS(mysql_exports);
|
|
18
|
+
__reExport(mysql_exports, require("./column.cjs"), module.exports);
|
|
19
|
+
__reExport(mysql_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/mysql/index.ts"],"sourcesContent":["export * from './column.ts';\nexport * from './extension.ts';\n"],"mappings":";;;;;;;;;;;;;;;AAAA;AAAA;AAAA,0BAAc,wBAAd;AACA,0BAAc,2BADd;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/extensions/s3-file/mysql/index.ts"],"sourcesContent":["export * from './column.ts';\nexport * from './extension.ts';\n"],"mappings":"AAAA,cAAc;AACd,cAAc;","names":[]}
|
|
@@ -0,0 +1,124 @@
|
|
|
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 __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var column_exports = {};
|
|
20
|
+
__export(column_exports, {
|
|
21
|
+
PgS3File: () => PgS3File,
|
|
22
|
+
PgS3FileBuilder: () => PgS3FileBuilder,
|
|
23
|
+
s3File: () => s3File
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(column_exports);
|
|
26
|
+
var import_entity = require("../../../entity.cjs");
|
|
27
|
+
var import_extension_core = require("../../../extension-core/index.cjs");
|
|
28
|
+
var import_pg_core = require("../../../pg-core/index.cjs");
|
|
29
|
+
var import_utils = require("../../../utils.cjs");
|
|
30
|
+
var import_common = require("../common.cjs");
|
|
31
|
+
var import_extension = require("./extension.cjs");
|
|
32
|
+
class PgS3FileBuilder extends import_pg_core.PgColumnBuilder {
|
|
33
|
+
static [import_entity.entityKind] = "PgS3FileBuilder";
|
|
34
|
+
[import_extension_core.extensionColumnConfig];
|
|
35
|
+
constructor(name, config) {
|
|
36
|
+
super(name, "custom", "PgS3File");
|
|
37
|
+
this[import_extension_core.extensionColumnConfig] = {
|
|
38
|
+
fileMode: config.mode,
|
|
39
|
+
fetchMode: "file"
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
array(size) {
|
|
43
|
+
return super.array(size);
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Allows to set default to an existing file
|
|
47
|
+
*
|
|
48
|
+
* @example
|
|
49
|
+
* ```
|
|
50
|
+
* fileColumn: s3File().default(sql`${bucket}:${key}`)
|
|
51
|
+
* ```
|
|
52
|
+
*
|
|
53
|
+
* @returns
|
|
54
|
+
*/
|
|
55
|
+
default(value) {
|
|
56
|
+
return super.default(value);
|
|
57
|
+
}
|
|
58
|
+
generatedAlwaysAs(as) {
|
|
59
|
+
return super.generatedAlwaysAs(as);
|
|
60
|
+
}
|
|
61
|
+
/** @internal */
|
|
62
|
+
build(table) {
|
|
63
|
+
return new PgS3File(
|
|
64
|
+
table,
|
|
65
|
+
this.config,
|
|
66
|
+
this[import_extension_core.extensionColumnConfig]
|
|
67
|
+
);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
class PgS3File extends import_pg_core.PgColumn {
|
|
71
|
+
static [import_entity.entityKind] = "PgS3File";
|
|
72
|
+
[import_extension_core.requiredExtension] = import_extension.DrizzlePgS3Extension;
|
|
73
|
+
[import_extension_core.extensionColumnConfig];
|
|
74
|
+
constructor(table, config, extensionConfig) {
|
|
75
|
+
super(table, config);
|
|
76
|
+
this[import_extension_core.extensionColumnConfig] = extensionConfig ?? {
|
|
77
|
+
fileMode: "buffer",
|
|
78
|
+
fetchMode: "file"
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
mapToDriverValue(value) {
|
|
82
|
+
if (typeof value === "string")
|
|
83
|
+
return value;
|
|
84
|
+
return (0, import_common.objectIdToText)(value);
|
|
85
|
+
}
|
|
86
|
+
data() {
|
|
87
|
+
return new PgS3File(
|
|
88
|
+
this.table,
|
|
89
|
+
this.config,
|
|
90
|
+
{ fileMode: this[import_extension_core.extensionColumnConfig].fileMode, fetchMode: "data" }
|
|
91
|
+
);
|
|
92
|
+
}
|
|
93
|
+
// meta(): Omit<PgS3File<Omit<T, 'data'> & { data: DrizzleS3ObjectMeta }>, 'data' | 'meta' | 'presigned'> {
|
|
94
|
+
// return new PgS3File(
|
|
95
|
+
// this.table,
|
|
96
|
+
// this.config as ColumnRuntimeConfig<
|
|
97
|
+
// DrizzleS3ObjectMeta,
|
|
98
|
+
// Omit<T, 'data'> & { data: DrizzleS3ObjectMeta }
|
|
99
|
+
// >,
|
|
100
|
+
// { fileMode: this[extensionColumnConfig].fileMode, fetchMode: 'meta' },
|
|
101
|
+
// );
|
|
102
|
+
// }
|
|
103
|
+
presigned(options) {
|
|
104
|
+
return new PgS3File(
|
|
105
|
+
this.table,
|
|
106
|
+
this.config,
|
|
107
|
+
{ fileMode: this[import_extension_core.extensionColumnConfig].fileMode, fetchMode: "presigned", options }
|
|
108
|
+
);
|
|
109
|
+
}
|
|
110
|
+
getSQLType() {
|
|
111
|
+
return "text";
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
function s3File(a, b) {
|
|
115
|
+
const { name, config } = (0, import_utils.getColumnNameAndConfig)(a, b);
|
|
116
|
+
return new PgS3FileBuilder(name, config);
|
|
117
|
+
}
|
|
118
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
119
|
+
0 && (module.exports = {
|
|
120
|
+
PgS3File,
|
|
121
|
+
PgS3FileBuilder,
|
|
122
|
+
s3File
|
|
123
|
+
});
|
|
124
|
+
//# sourceMappingURL=column.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/extensions/s3-file/pg/column.ts"],"sourcesContent":["import type {\n\tColumnBuilderBaseConfig,\n\tColumnBuilderRuntimeConfig,\n\tColumnDataType,\n\tHasDefault,\n\tHasGenerated,\n\tMakeColumnConfig,\n} from '~/column-builder.ts';\nimport type { ColumnBaseConfig, ColumnRuntimeConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport { extensionColumnConfig, requiredExtension } from '~/extension-core/index.ts';\nimport {\n\ttype PgArrayBuilder,\n\ttype PgArrayColumnBuilderBaseConfig,\n\tPgColumn,\n\tPgColumnBuilder,\n} from '~/pg-core/index.ts';\nimport type { AnyPgTable, PgTable } from '~/pg-core/table.ts';\nimport type { SQL } from '~/sql/index.ts';\nimport { type Assume, getColumnNameAndConfig } from '~/utils.ts';\nimport {\n\ttype DrizzleS3FetchMode,\n\ttype DrizzleS3FileMode,\n\ttype DrizzleS3FileModeToData,\n\ttype DrizzleS3ObjectFile,\n\ttype DrizzleS3ObjectIdentification,\n\tobjectIdToText,\n\ttype RequestPresigningArguments,\n} from '../common.ts';\nimport { DrizzlePgS3Extension } from './extension.ts';\n\nexport type PgS3FileBuilderInitial<TName extends string, TMode extends DrizzleS3FileMode> = PgS3FileBuilder<{\n\tname: TName;\n\tdataType: 'custom';\n\tcolumnType: 'PgS3File';\n\tdata: DrizzleS3ObjectFile<DrizzleS3FileModeToData[TMode]>;\n\tenumValues: undefined;\n\tdriverParam: string;\n}>;\n\nexport interface PgS3FileArrayBuilder<\n\tT extends PgArrayColumnBuilderBaseConfig,\n\tTBase extends ColumnBuilderBaseConfig<ColumnDataType, string> | PgArrayColumnBuilderBaseConfig,\n> extends PgArrayBuilder<T, TBase> {\n\tdefault(value: SQL<unknown>): HasDefault<this>;\n\tgeneratedAlwaysAs(as: SQL<unknown> | (() => SQL)): HasGenerated<this, { type: 'always' }>;\n\tarray<TSize extends number | undefined = undefined>(size?: TSize): PgS3FileArrayBuilder<\n\t\t& {\n\t\t\tname: T['name'];\n\t\t\tdataType: 'array';\n\t\t\tcolumnType: 'PgArray';\n\t\t\tdata: T['data'][];\n\t\t\tdriverParam: T['driverParam'][] | string;\n\t\t\tenumValues: T['enumValues'];\n\t\t\tsize: TSize;\n\t\t\tbaseBuilder: T;\n\t\t}\n\t\t& (T extends { notNull: true } ? { notNull: true } : {})\n\t\t& (T extends { hasDefault: true } ? { hasDefault: true } : {}),\n\t\tT\n\t>;\n}\n\nexport class PgS3FileBuilder<\n\tT extends ColumnBuilderBaseConfig<'custom', 'PgS3File'>,\n\tTRuntimeConfig extends object = {},\n\tTTypeConfig extends object = {},\n> extends PgColumnBuilder<T, TRuntimeConfig, TTypeConfig> {\n\tstatic override readonly [entityKind]: string = 'PgS3FileBuilder';\n\treadonly [extensionColumnConfig]: PgS3FileExtensionColumnConfig;\n\n\tconstructor(\n\t\tname: T['name'],\n\t\tconfig: PgS3FileConfig,\n\t) {\n\t\tsuper(name, 'custom', 'PgS3File');\n\t\tthis[extensionColumnConfig] = {\n\t\t\tfileMode: config.mode,\n\t\t\tfetchMode: 'file',\n\t\t};\n\t}\n\n\toverride array<TSize extends number | undefined = undefined>(size?: TSize): PgS3FileArrayBuilder<\n\t\t& {\n\t\t\tname: T['name'];\n\t\t\tdataType: 'array';\n\t\t\tcolumnType: 'PgArray';\n\t\t\tdata: T['data'][];\n\t\t\tdriverParam: T['driverParam'][] | string;\n\t\t\tenumValues: T['enumValues'];\n\t\t\tsize: TSize;\n\t\t\tbaseBuilder: T;\n\t\t}\n\t\t& (T extends { notNull: true } ? { notNull: true } : {})\n\t\t& (T extends { hasDefault: true } ? { hasDefault: true } : {}),\n\t\tT\n\t> {\n\t\treturn super.array(size) as any;\n\t}\n\n\t/**\n\t * Allows to set default to an existing file\n\t *\n\t * @example\n\t * ```\n\t * fileColumn: s3File().default(sql`${bucket}:${key}`)\n\t * ```\n\t *\n\t * @returns\n\t */\n\toverride default(value: SQL<unknown>): HasDefault<this> {\n\t\treturn super.default(value);\n\t}\n\n\toverride generatedAlwaysAs(as: SQL<unknown> | (() => SQL)): HasGenerated<this, { type: 'always' }> {\n\t\treturn super.generatedAlwaysAs(as);\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyPgTable<{ name: TTableName }>,\n\t): PgS3File<MakeColumnConfig<T, TTableName>> {\n\t\treturn new PgS3File<MakeColumnConfig<T, TTableName>>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t\tthis[extensionColumnConfig],\n\t\t);\n\t}\n}\n\nexport type PgS3FileExtensionColumnConfig = {\n\tfetchMode: DrizzleS3FetchMode;\n\tfileMode: DrizzleS3FileMode;\n\toptions?: RequestPresigningArguments;\n};\n\nexport class PgS3File<T extends ColumnBaseConfig<'custom', 'PgS3File'> = ColumnBaseConfig<'custom', 'PgS3File'>>\n\textends PgColumn<T, { enumValues: T['enumValues'] }>\n{\n\tstatic override readonly [entityKind]: string = 'PgS3File';\n\toverride [requiredExtension] = DrizzlePgS3Extension;\n\t[extensionColumnConfig]: PgS3FileExtensionColumnConfig;\n\n\tconstructor(\n\t\ttable: PgTable,\n\t\tconfig: ColumnBuilderRuntimeConfig<T['data'], T>,\n\t\textensionConfig?: PgS3FileExtensionColumnConfig,\n\t) {\n\t\tsuper(table, config);\n\n\t\tthis[extensionColumnConfig] = extensionConfig ?? {\n\t\t\tfileMode: 'buffer',\n\t\t\tfetchMode: 'file',\n\t\t};\n\t}\n\n\toverride mapToDriverValue(value: unknown): string {\n\t\tif (typeof value === 'string') return value;\n\n\t\treturn objectIdToText(value as DrizzleS3ObjectIdentification);\n\t}\n\n\tdata(): PgColumn<Omit<T, 'data'> & { data: Assume<T['data'], DrizzleS3ObjectFile>['data'] }> {\n\t\treturn new PgS3File(\n\t\t\tthis.table,\n\t\t\tthis.config as ColumnRuntimeConfig<\n\t\t\t\tDrizzleS3ObjectFile['data'],\n\t\t\t\tOmit<T, 'data'> & { data: Assume<T['data'], DrizzleS3ObjectFile>['data'] }\n\t\t\t>,\n\t\t\t{ fileMode: this[extensionColumnConfig].fileMode, fetchMode: 'data' },\n\t\t);\n\t}\n\n\t// meta(): Omit<PgS3File<Omit<T, 'data'> & { data: DrizzleS3ObjectMeta }>, 'data' | 'meta' | 'presigned'> {\n\t// \treturn new PgS3File(\n\t// \t\tthis.table,\n\t// \t\tthis.config as ColumnRuntimeConfig<\n\t// \t\t\tDrizzleS3ObjectMeta,\n\t// \t\t\tOmit<T, 'data'> & { data: DrizzleS3ObjectMeta }\n\t// \t\t>,\n\t// \t\t{ fileMode: this[extensionColumnConfig].fileMode, fetchMode: 'meta' },\n\t// \t);\n\t// }\n\n\tpresigned(options?: RequestPresigningArguments): PgColumn<Omit<T, 'data'> & { data: string }> {\n\t\treturn new PgS3File(\n\t\t\tthis.table,\n\t\t\tthis.config as ColumnRuntimeConfig<\n\t\t\t\tstring,\n\t\t\t\tOmit<T, 'data'> & { data: string }\n\t\t\t>,\n\t\t\t{ fileMode: this[extensionColumnConfig].fileMode, fetchMode: 'presigned', options },\n\t\t);\n\t}\n\n\tgetSQLType(): string {\n\t\treturn 'text';\n\t}\n}\n\nexport interface PgS3FileConfig<\n\tTMode extends DrizzleS3FileMode = DrizzleS3FileMode,\n> {\n\tmode: TMode;\n}\n\nexport function s3File<TName extends string, TMode extends DrizzleS3FileMode>(\n\tconfig: PgS3FileConfig<TMode>,\n): PgS3FileBuilderInitial<TName, TMode>;\nexport function s3File<TName extends string, TMode extends DrizzleS3FileMode>(\n\tname: TName,\n\tconfig: PgS3FileConfig<TMode>,\n): PgS3FileBuilderInitial<TName, TMode>;\nexport function s3File(a: string | PgS3FileConfig, b?: PgS3FileConfig): any {\n\tconst { name, config } = getColumnNameAndConfig<PgS3FileConfig>(a, b);\n\treturn new PgS3FileBuilder(name, config);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,oBAA2B;AAC3B,4BAAyD;AACzD,qBAKO;AAGP,mBAAoD;AACpD,oBAQO;AACP,uBAAqC;AAkC9B,MAAM,wBAIH,+BAAgD;AAAA,EACzD,QAA0B,wBAAU,IAAY;AAAA,EAChD,CAAU,2CAAqB;AAAA,EAE/B,YACC,MACA,QACC;AACD,UAAM,MAAM,UAAU,UAAU;AAChC,SAAK,2CAAqB,IAAI;AAAA,MAC7B,UAAU,OAAO;AAAA,MACjB,WAAW;AAAA,IACZ;AAAA,EACD;AAAA,EAES,MAAoD,MAc3D;AACD,WAAO,MAAM,MAAM,IAAI;AAAA,EACxB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAYS,QAAQ,OAAuC;AACvD,WAAO,MAAM,QAAQ,KAAK;AAAA,EAC3B;AAAA,EAES,kBAAkB,IAAwE;AAClG,WAAO,MAAM,kBAAkB,EAAE;AAAA,EAClC;AAAA;AAAA,EAGS,MACR,OAC4C;AAC5C,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,MACL,KAAK,2CAAqB;AAAA,IAC3B;AAAA,EACD;AACD;AAQO,MAAM,iBACJ,wBACT;AAAA,EACC,QAA0B,wBAAU,IAAY;AAAA,EAChD,CAAU,uCAAiB,IAAI;AAAA,EAC/B,CAAC,2CAAqB;AAAA,EAEtB,YACC,OACA,QACA,iBACC;AACD,UAAM,OAAO,MAAM;AAEnB,SAAK,2CAAqB,IAAI,mBAAmB;AAAA,MAChD,UAAU;AAAA,MACV,WAAW;AAAA,IACZ;AAAA,EACD;AAAA,EAES,iBAAiB,OAAwB;AACjD,QAAI,OAAO,UAAU;AAAU,aAAO;AAEtC,eAAO,8BAAe,KAAsC;AAAA,EAC7D;AAAA,EAEA,OAA6F;AAC5F,WAAO,IAAI;AAAA,MACV,KAAK;AAAA,MACL,KAAK;AAAA,MAIL,EAAE,UAAU,KAAK,2CAAqB,EAAE,UAAU,WAAW,OAAO;AAAA,IACrE;AAAA,EACD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaA,UAAU,SAAoF;AAC7F,WAAO,IAAI;AAAA,MACV,KAAK;AAAA,MACL,KAAK;AAAA,MAIL,EAAE,UAAU,KAAK,2CAAqB,EAAE,UAAU,WAAW,aAAa,QAAQ;AAAA,IACnF;AAAA,EACD;AAAA,EAEA,aAAqB;AACpB,WAAO;AAAA,EACR;AACD;AAeO,SAAS,OAAO,GAA4B,GAAyB;AAC3E,QAAM,EAAE,MAAM,OAAO,QAAI,qCAAuC,GAAG,CAAC;AACpE,SAAO,IAAI,gBAAgB,MAAM,MAAM;AACxC;","names":[]}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, ColumnDataType, HasDefault, HasGenerated } from "../../../column-builder.cjs";
|
|
2
|
+
import type { ColumnBaseConfig } from "../../../column.cjs";
|
|
3
|
+
import { entityKind } from "../../../entity.cjs";
|
|
4
|
+
import { extensionColumnConfig, requiredExtension } from "../../../extension-core/index.cjs";
|
|
5
|
+
import { type PgArrayBuilder, type PgArrayColumnBuilderBaseConfig, PgColumn, PgColumnBuilder } from "../../../pg-core/index.cjs";
|
|
6
|
+
import type { PgTable } from "../../../pg-core/table.cjs";
|
|
7
|
+
import type { SQL } from "../../../sql/index.cjs";
|
|
8
|
+
import { type Assume } from "../../../utils.cjs";
|
|
9
|
+
import { type DrizzleS3FetchMode, type DrizzleS3FileMode, type DrizzleS3FileModeToData, type DrizzleS3ObjectFile, type RequestPresigningArguments } from "../common.cjs";
|
|
10
|
+
import { DrizzlePgS3Extension } from "./extension.cjs";
|
|
11
|
+
export type PgS3FileBuilderInitial<TName extends string, TMode extends DrizzleS3FileMode> = PgS3FileBuilder<{
|
|
12
|
+
name: TName;
|
|
13
|
+
dataType: 'custom';
|
|
14
|
+
columnType: 'PgS3File';
|
|
15
|
+
data: DrizzleS3ObjectFile<DrizzleS3FileModeToData[TMode]>;
|
|
16
|
+
enumValues: undefined;
|
|
17
|
+
driverParam: string;
|
|
18
|
+
}>;
|
|
19
|
+
export interface PgS3FileArrayBuilder<T extends PgArrayColumnBuilderBaseConfig, TBase extends ColumnBuilderBaseConfig<ColumnDataType, string> | PgArrayColumnBuilderBaseConfig> extends PgArrayBuilder<T, TBase> {
|
|
20
|
+
default(value: SQL<unknown>): HasDefault<this>;
|
|
21
|
+
generatedAlwaysAs(as: SQL<unknown> | (() => SQL)): HasGenerated<this, {
|
|
22
|
+
type: 'always';
|
|
23
|
+
}>;
|
|
24
|
+
array<TSize extends number | undefined = undefined>(size?: TSize): PgS3FileArrayBuilder<{
|
|
25
|
+
name: T['name'];
|
|
26
|
+
dataType: 'array';
|
|
27
|
+
columnType: 'PgArray';
|
|
28
|
+
data: T['data'][];
|
|
29
|
+
driverParam: T['driverParam'][] | string;
|
|
30
|
+
enumValues: T['enumValues'];
|
|
31
|
+
size: TSize;
|
|
32
|
+
baseBuilder: T;
|
|
33
|
+
} & (T extends {
|
|
34
|
+
notNull: true;
|
|
35
|
+
} ? {
|
|
36
|
+
notNull: true;
|
|
37
|
+
} : {}) & (T extends {
|
|
38
|
+
hasDefault: true;
|
|
39
|
+
} ? {
|
|
40
|
+
hasDefault: true;
|
|
41
|
+
} : {}), T>;
|
|
42
|
+
}
|
|
43
|
+
export declare class PgS3FileBuilder<T extends ColumnBuilderBaseConfig<'custom', 'PgS3File'>, TRuntimeConfig extends object = {}, TTypeConfig extends object = {}> extends PgColumnBuilder<T, TRuntimeConfig, TTypeConfig> {
|
|
44
|
+
static readonly [entityKind]: string;
|
|
45
|
+
readonly [extensionColumnConfig]: PgS3FileExtensionColumnConfig;
|
|
46
|
+
constructor(name: T['name'], config: PgS3FileConfig);
|
|
47
|
+
array<TSize extends number | undefined = undefined>(size?: TSize): PgS3FileArrayBuilder<{
|
|
48
|
+
name: T['name'];
|
|
49
|
+
dataType: 'array';
|
|
50
|
+
columnType: 'PgArray';
|
|
51
|
+
data: T['data'][];
|
|
52
|
+
driverParam: T['driverParam'][] | string;
|
|
53
|
+
enumValues: T['enumValues'];
|
|
54
|
+
size: TSize;
|
|
55
|
+
baseBuilder: T;
|
|
56
|
+
} & (T extends {
|
|
57
|
+
notNull: true;
|
|
58
|
+
} ? {
|
|
59
|
+
notNull: true;
|
|
60
|
+
} : {}) & (T extends {
|
|
61
|
+
hasDefault: true;
|
|
62
|
+
} ? {
|
|
63
|
+
hasDefault: true;
|
|
64
|
+
} : {}), T>;
|
|
65
|
+
/**
|
|
66
|
+
* Allows to set default to an existing file
|
|
67
|
+
*
|
|
68
|
+
* @example
|
|
69
|
+
* ```
|
|
70
|
+
* fileColumn: s3File().default(sql`${bucket}:${key}`)
|
|
71
|
+
* ```
|
|
72
|
+
*
|
|
73
|
+
* @returns
|
|
74
|
+
*/
|
|
75
|
+
default(value: SQL<unknown>): HasDefault<this>;
|
|
76
|
+
generatedAlwaysAs(as: SQL<unknown> | (() => SQL)): HasGenerated<this, {
|
|
77
|
+
type: 'always';
|
|
78
|
+
}>;
|
|
79
|
+
}
|
|
80
|
+
export type PgS3FileExtensionColumnConfig = {
|
|
81
|
+
fetchMode: DrizzleS3FetchMode;
|
|
82
|
+
fileMode: DrizzleS3FileMode;
|
|
83
|
+
options?: RequestPresigningArguments;
|
|
84
|
+
};
|
|
85
|
+
export declare class PgS3File<T extends ColumnBaseConfig<'custom', 'PgS3File'> = ColumnBaseConfig<'custom', 'PgS3File'>> extends PgColumn<T, {
|
|
86
|
+
enumValues: T['enumValues'];
|
|
87
|
+
}> {
|
|
88
|
+
static readonly [entityKind]: string;
|
|
89
|
+
[requiredExtension]: typeof DrizzlePgS3Extension;
|
|
90
|
+
[extensionColumnConfig]: PgS3FileExtensionColumnConfig;
|
|
91
|
+
constructor(table: PgTable, config: ColumnBuilderRuntimeConfig<T['data'], T>, extensionConfig?: PgS3FileExtensionColumnConfig);
|
|
92
|
+
mapToDriverValue(value: unknown): string;
|
|
93
|
+
data(): PgColumn<Omit<T, 'data'> & {
|
|
94
|
+
data: Assume<T['data'], DrizzleS3ObjectFile>['data'];
|
|
95
|
+
}>;
|
|
96
|
+
presigned(options?: RequestPresigningArguments): PgColumn<Omit<T, 'data'> & {
|
|
97
|
+
data: string;
|
|
98
|
+
}>;
|
|
99
|
+
getSQLType(): string;
|
|
100
|
+
}
|
|
101
|
+
export interface PgS3FileConfig<TMode extends DrizzleS3FileMode = DrizzleS3FileMode> {
|
|
102
|
+
mode: TMode;
|
|
103
|
+
}
|
|
104
|
+
export declare function s3File<TName extends string, TMode extends DrizzleS3FileMode>(config: PgS3FileConfig<TMode>): PgS3FileBuilderInitial<TName, TMode>;
|
|
105
|
+
export declare function s3File<TName extends string, TMode extends DrizzleS3FileMode>(name: TName, config: PgS3FileConfig<TMode>): PgS3FileBuilderInitial<TName, TMode>;
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, ColumnDataType, HasDefault, HasGenerated } from "../../../column-builder.js";
|
|
2
|
+
import type { ColumnBaseConfig } from "../../../column.js";
|
|
3
|
+
import { entityKind } from "../../../entity.js";
|
|
4
|
+
import { extensionColumnConfig, requiredExtension } from "../../../extension-core/index.js";
|
|
5
|
+
import { type PgArrayBuilder, type PgArrayColumnBuilderBaseConfig, PgColumn, PgColumnBuilder } from "../../../pg-core/index.js";
|
|
6
|
+
import type { PgTable } from "../../../pg-core/table.js";
|
|
7
|
+
import type { SQL } from "../../../sql/index.js";
|
|
8
|
+
import { type Assume } from "../../../utils.js";
|
|
9
|
+
import { type DrizzleS3FetchMode, type DrizzleS3FileMode, type DrizzleS3FileModeToData, type DrizzleS3ObjectFile, type RequestPresigningArguments } from "../common.js";
|
|
10
|
+
import { DrizzlePgS3Extension } from "./extension.js";
|
|
11
|
+
export type PgS3FileBuilderInitial<TName extends string, TMode extends DrizzleS3FileMode> = PgS3FileBuilder<{
|
|
12
|
+
name: TName;
|
|
13
|
+
dataType: 'custom';
|
|
14
|
+
columnType: 'PgS3File';
|
|
15
|
+
data: DrizzleS3ObjectFile<DrizzleS3FileModeToData[TMode]>;
|
|
16
|
+
enumValues: undefined;
|
|
17
|
+
driverParam: string;
|
|
18
|
+
}>;
|
|
19
|
+
export interface PgS3FileArrayBuilder<T extends PgArrayColumnBuilderBaseConfig, TBase extends ColumnBuilderBaseConfig<ColumnDataType, string> | PgArrayColumnBuilderBaseConfig> extends PgArrayBuilder<T, TBase> {
|
|
20
|
+
default(value: SQL<unknown>): HasDefault<this>;
|
|
21
|
+
generatedAlwaysAs(as: SQL<unknown> | (() => SQL)): HasGenerated<this, {
|
|
22
|
+
type: 'always';
|
|
23
|
+
}>;
|
|
24
|
+
array<TSize extends number | undefined = undefined>(size?: TSize): PgS3FileArrayBuilder<{
|
|
25
|
+
name: T['name'];
|
|
26
|
+
dataType: 'array';
|
|
27
|
+
columnType: 'PgArray';
|
|
28
|
+
data: T['data'][];
|
|
29
|
+
driverParam: T['driverParam'][] | string;
|
|
30
|
+
enumValues: T['enumValues'];
|
|
31
|
+
size: TSize;
|
|
32
|
+
baseBuilder: T;
|
|
33
|
+
} & (T extends {
|
|
34
|
+
notNull: true;
|
|
35
|
+
} ? {
|
|
36
|
+
notNull: true;
|
|
37
|
+
} : {}) & (T extends {
|
|
38
|
+
hasDefault: true;
|
|
39
|
+
} ? {
|
|
40
|
+
hasDefault: true;
|
|
41
|
+
} : {}), T>;
|
|
42
|
+
}
|
|
43
|
+
export declare class PgS3FileBuilder<T extends ColumnBuilderBaseConfig<'custom', 'PgS3File'>, TRuntimeConfig extends object = {}, TTypeConfig extends object = {}> extends PgColumnBuilder<T, TRuntimeConfig, TTypeConfig> {
|
|
44
|
+
static readonly [entityKind]: string;
|
|
45
|
+
readonly [extensionColumnConfig]: PgS3FileExtensionColumnConfig;
|
|
46
|
+
constructor(name: T['name'], config: PgS3FileConfig);
|
|
47
|
+
array<TSize extends number | undefined = undefined>(size?: TSize): PgS3FileArrayBuilder<{
|
|
48
|
+
name: T['name'];
|
|
49
|
+
dataType: 'array';
|
|
50
|
+
columnType: 'PgArray';
|
|
51
|
+
data: T['data'][];
|
|
52
|
+
driverParam: T['driverParam'][] | string;
|
|
53
|
+
enumValues: T['enumValues'];
|
|
54
|
+
size: TSize;
|
|
55
|
+
baseBuilder: T;
|
|
56
|
+
} & (T extends {
|
|
57
|
+
notNull: true;
|
|
58
|
+
} ? {
|
|
59
|
+
notNull: true;
|
|
60
|
+
} : {}) & (T extends {
|
|
61
|
+
hasDefault: true;
|
|
62
|
+
} ? {
|
|
63
|
+
hasDefault: true;
|
|
64
|
+
} : {}), T>;
|
|
65
|
+
/**
|
|
66
|
+
* Allows to set default to an existing file
|
|
67
|
+
*
|
|
68
|
+
* @example
|
|
69
|
+
* ```
|
|
70
|
+
* fileColumn: s3File().default(sql`${bucket}:${key}`)
|
|
71
|
+
* ```
|
|
72
|
+
*
|
|
73
|
+
* @returns
|
|
74
|
+
*/
|
|
75
|
+
default(value: SQL<unknown>): HasDefault<this>;
|
|
76
|
+
generatedAlwaysAs(as: SQL<unknown> | (() => SQL)): HasGenerated<this, {
|
|
77
|
+
type: 'always';
|
|
78
|
+
}>;
|
|
79
|
+
}
|
|
80
|
+
export type PgS3FileExtensionColumnConfig = {
|
|
81
|
+
fetchMode: DrizzleS3FetchMode;
|
|
82
|
+
fileMode: DrizzleS3FileMode;
|
|
83
|
+
options?: RequestPresigningArguments;
|
|
84
|
+
};
|
|
85
|
+
export declare class PgS3File<T extends ColumnBaseConfig<'custom', 'PgS3File'> = ColumnBaseConfig<'custom', 'PgS3File'>> extends PgColumn<T, {
|
|
86
|
+
enumValues: T['enumValues'];
|
|
87
|
+
}> {
|
|
88
|
+
static readonly [entityKind]: string;
|
|
89
|
+
[requiredExtension]: typeof DrizzlePgS3Extension;
|
|
90
|
+
[extensionColumnConfig]: PgS3FileExtensionColumnConfig;
|
|
91
|
+
constructor(table: PgTable, config: ColumnBuilderRuntimeConfig<T['data'], T>, extensionConfig?: PgS3FileExtensionColumnConfig);
|
|
92
|
+
mapToDriverValue(value: unknown): string;
|
|
93
|
+
data(): PgColumn<Omit<T, 'data'> & {
|
|
94
|
+
data: Assume<T['data'], DrizzleS3ObjectFile>['data'];
|
|
95
|
+
}>;
|
|
96
|
+
presigned(options?: RequestPresigningArguments): PgColumn<Omit<T, 'data'> & {
|
|
97
|
+
data: string;
|
|
98
|
+
}>;
|
|
99
|
+
getSQLType(): string;
|
|
100
|
+
}
|
|
101
|
+
export interface PgS3FileConfig<TMode extends DrizzleS3FileMode = DrizzleS3FileMode> {
|
|
102
|
+
mode: TMode;
|
|
103
|
+
}
|
|
104
|
+
export declare function s3File<TName extends string, TMode extends DrizzleS3FileMode>(config: PgS3FileConfig<TMode>): PgS3FileBuilderInitial<TName, TMode>;
|
|
105
|
+
export declare function s3File<TName extends string, TMode extends DrizzleS3FileMode>(name: TName, config: PgS3FileConfig<TMode>): PgS3FileBuilderInitial<TName, TMode>;
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { entityKind } from "../../../entity.js";
|
|
2
|
+
import { extensionColumnConfig, requiredExtension } from "../../../extension-core/index.js";
|
|
3
|
+
import {
|
|
4
|
+
PgColumn,
|
|
5
|
+
PgColumnBuilder
|
|
6
|
+
} from "../../../pg-core/index.js";
|
|
7
|
+
import { getColumnNameAndConfig } from "../../../utils.js";
|
|
8
|
+
import {
|
|
9
|
+
objectIdToText
|
|
10
|
+
} from "../common.js";
|
|
11
|
+
import { DrizzlePgS3Extension } from "./extension.js";
|
|
12
|
+
class PgS3FileBuilder extends PgColumnBuilder {
|
|
13
|
+
static [entityKind] = "PgS3FileBuilder";
|
|
14
|
+
[extensionColumnConfig];
|
|
15
|
+
constructor(name, config) {
|
|
16
|
+
super(name, "custom", "PgS3File");
|
|
17
|
+
this[extensionColumnConfig] = {
|
|
18
|
+
fileMode: config.mode,
|
|
19
|
+
fetchMode: "file"
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
array(size) {
|
|
23
|
+
return super.array(size);
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Allows to set default to an existing file
|
|
27
|
+
*
|
|
28
|
+
* @example
|
|
29
|
+
* ```
|
|
30
|
+
* fileColumn: s3File().default(sql`${bucket}:${key}`)
|
|
31
|
+
* ```
|
|
32
|
+
*
|
|
33
|
+
* @returns
|
|
34
|
+
*/
|
|
35
|
+
default(value) {
|
|
36
|
+
return super.default(value);
|
|
37
|
+
}
|
|
38
|
+
generatedAlwaysAs(as) {
|
|
39
|
+
return super.generatedAlwaysAs(as);
|
|
40
|
+
}
|
|
41
|
+
/** @internal */
|
|
42
|
+
build(table) {
|
|
43
|
+
return new PgS3File(
|
|
44
|
+
table,
|
|
45
|
+
this.config,
|
|
46
|
+
this[extensionColumnConfig]
|
|
47
|
+
);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
class PgS3File extends PgColumn {
|
|
51
|
+
static [entityKind] = "PgS3File";
|
|
52
|
+
[requiredExtension] = DrizzlePgS3Extension;
|
|
53
|
+
[extensionColumnConfig];
|
|
54
|
+
constructor(table, config, extensionConfig) {
|
|
55
|
+
super(table, config);
|
|
56
|
+
this[extensionColumnConfig] = extensionConfig ?? {
|
|
57
|
+
fileMode: "buffer",
|
|
58
|
+
fetchMode: "file"
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
mapToDriverValue(value) {
|
|
62
|
+
if (typeof value === "string")
|
|
63
|
+
return value;
|
|
64
|
+
return objectIdToText(value);
|
|
65
|
+
}
|
|
66
|
+
data() {
|
|
67
|
+
return new PgS3File(
|
|
68
|
+
this.table,
|
|
69
|
+
this.config,
|
|
70
|
+
{ fileMode: this[extensionColumnConfig].fileMode, fetchMode: "data" }
|
|
71
|
+
);
|
|
72
|
+
}
|
|
73
|
+
// meta(): Omit<PgS3File<Omit<T, 'data'> & { data: DrizzleS3ObjectMeta }>, 'data' | 'meta' | 'presigned'> {
|
|
74
|
+
// return new PgS3File(
|
|
75
|
+
// this.table,
|
|
76
|
+
// this.config as ColumnRuntimeConfig<
|
|
77
|
+
// DrizzleS3ObjectMeta,
|
|
78
|
+
// Omit<T, 'data'> & { data: DrizzleS3ObjectMeta }
|
|
79
|
+
// >,
|
|
80
|
+
// { fileMode: this[extensionColumnConfig].fileMode, fetchMode: 'meta' },
|
|
81
|
+
// );
|
|
82
|
+
// }
|
|
83
|
+
presigned(options) {
|
|
84
|
+
return new PgS3File(
|
|
85
|
+
this.table,
|
|
86
|
+
this.config,
|
|
87
|
+
{ fileMode: this[extensionColumnConfig].fileMode, fetchMode: "presigned", options }
|
|
88
|
+
);
|
|
89
|
+
}
|
|
90
|
+
getSQLType() {
|
|
91
|
+
return "text";
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
function s3File(a, b) {
|
|
95
|
+
const { name, config } = getColumnNameAndConfig(a, b);
|
|
96
|
+
return new PgS3FileBuilder(name, config);
|
|
97
|
+
}
|
|
98
|
+
export {
|
|
99
|
+
PgS3File,
|
|
100
|
+
PgS3FileBuilder,
|
|
101
|
+
s3File
|
|
102
|
+
};
|
|
103
|
+
//# sourceMappingURL=column.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/extensions/s3-file/pg/column.ts"],"sourcesContent":["import type {\n\tColumnBuilderBaseConfig,\n\tColumnBuilderRuntimeConfig,\n\tColumnDataType,\n\tHasDefault,\n\tHasGenerated,\n\tMakeColumnConfig,\n} from '~/column-builder.ts';\nimport type { ColumnBaseConfig, ColumnRuntimeConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport { extensionColumnConfig, requiredExtension } from '~/extension-core/index.ts';\nimport {\n\ttype PgArrayBuilder,\n\ttype PgArrayColumnBuilderBaseConfig,\n\tPgColumn,\n\tPgColumnBuilder,\n} from '~/pg-core/index.ts';\nimport type { AnyPgTable, PgTable } from '~/pg-core/table.ts';\nimport type { SQL } from '~/sql/index.ts';\nimport { type Assume, getColumnNameAndConfig } from '~/utils.ts';\nimport {\n\ttype DrizzleS3FetchMode,\n\ttype DrizzleS3FileMode,\n\ttype DrizzleS3FileModeToData,\n\ttype DrizzleS3ObjectFile,\n\ttype DrizzleS3ObjectIdentification,\n\tobjectIdToText,\n\ttype RequestPresigningArguments,\n} from '../common.ts';\nimport { DrizzlePgS3Extension } from './extension.ts';\n\nexport type PgS3FileBuilderInitial<TName extends string, TMode extends DrizzleS3FileMode> = PgS3FileBuilder<{\n\tname: TName;\n\tdataType: 'custom';\n\tcolumnType: 'PgS3File';\n\tdata: DrizzleS3ObjectFile<DrizzleS3FileModeToData[TMode]>;\n\tenumValues: undefined;\n\tdriverParam: string;\n}>;\n\nexport interface PgS3FileArrayBuilder<\n\tT extends PgArrayColumnBuilderBaseConfig,\n\tTBase extends ColumnBuilderBaseConfig<ColumnDataType, string> | PgArrayColumnBuilderBaseConfig,\n> extends PgArrayBuilder<T, TBase> {\n\tdefault(value: SQL<unknown>): HasDefault<this>;\n\tgeneratedAlwaysAs(as: SQL<unknown> | (() => SQL)): HasGenerated<this, { type: 'always' }>;\n\tarray<TSize extends number | undefined = undefined>(size?: TSize): PgS3FileArrayBuilder<\n\t\t& {\n\t\t\tname: T['name'];\n\t\t\tdataType: 'array';\n\t\t\tcolumnType: 'PgArray';\n\t\t\tdata: T['data'][];\n\t\t\tdriverParam: T['driverParam'][] | string;\n\t\t\tenumValues: T['enumValues'];\n\t\t\tsize: TSize;\n\t\t\tbaseBuilder: T;\n\t\t}\n\t\t& (T extends { notNull: true } ? { notNull: true } : {})\n\t\t& (T extends { hasDefault: true } ? { hasDefault: true } : {}),\n\t\tT\n\t>;\n}\n\nexport class PgS3FileBuilder<\n\tT extends ColumnBuilderBaseConfig<'custom', 'PgS3File'>,\n\tTRuntimeConfig extends object = {},\n\tTTypeConfig extends object = {},\n> extends PgColumnBuilder<T, TRuntimeConfig, TTypeConfig> {\n\tstatic override readonly [entityKind]: string = 'PgS3FileBuilder';\n\treadonly [extensionColumnConfig]: PgS3FileExtensionColumnConfig;\n\n\tconstructor(\n\t\tname: T['name'],\n\t\tconfig: PgS3FileConfig,\n\t) {\n\t\tsuper(name, 'custom', 'PgS3File');\n\t\tthis[extensionColumnConfig] = {\n\t\t\tfileMode: config.mode,\n\t\t\tfetchMode: 'file',\n\t\t};\n\t}\n\n\toverride array<TSize extends number | undefined = undefined>(size?: TSize): PgS3FileArrayBuilder<\n\t\t& {\n\t\t\tname: T['name'];\n\t\t\tdataType: 'array';\n\t\t\tcolumnType: 'PgArray';\n\t\t\tdata: T['data'][];\n\t\t\tdriverParam: T['driverParam'][] | string;\n\t\t\tenumValues: T['enumValues'];\n\t\t\tsize: TSize;\n\t\t\tbaseBuilder: T;\n\t\t}\n\t\t& (T extends { notNull: true } ? { notNull: true } : {})\n\t\t& (T extends { hasDefault: true } ? { hasDefault: true } : {}),\n\t\tT\n\t> {\n\t\treturn super.array(size) as any;\n\t}\n\n\t/**\n\t * Allows to set default to an existing file\n\t *\n\t * @example\n\t * ```\n\t * fileColumn: s3File().default(sql`${bucket}:${key}`)\n\t * ```\n\t *\n\t * @returns\n\t */\n\toverride default(value: SQL<unknown>): HasDefault<this> {\n\t\treturn super.default(value);\n\t}\n\n\toverride generatedAlwaysAs(as: SQL<unknown> | (() => SQL)): HasGenerated<this, { type: 'always' }> {\n\t\treturn super.generatedAlwaysAs(as);\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyPgTable<{ name: TTableName }>,\n\t): PgS3File<MakeColumnConfig<T, TTableName>> {\n\t\treturn new PgS3File<MakeColumnConfig<T, TTableName>>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t\tthis[extensionColumnConfig],\n\t\t);\n\t}\n}\n\nexport type PgS3FileExtensionColumnConfig = {\n\tfetchMode: DrizzleS3FetchMode;\n\tfileMode: DrizzleS3FileMode;\n\toptions?: RequestPresigningArguments;\n};\n\nexport class PgS3File<T extends ColumnBaseConfig<'custom', 'PgS3File'> = ColumnBaseConfig<'custom', 'PgS3File'>>\n\textends PgColumn<T, { enumValues: T['enumValues'] }>\n{\n\tstatic override readonly [entityKind]: string = 'PgS3File';\n\toverride [requiredExtension] = DrizzlePgS3Extension;\n\t[extensionColumnConfig]: PgS3FileExtensionColumnConfig;\n\n\tconstructor(\n\t\ttable: PgTable,\n\t\tconfig: ColumnBuilderRuntimeConfig<T['data'], T>,\n\t\textensionConfig?: PgS3FileExtensionColumnConfig,\n\t) {\n\t\tsuper(table, config);\n\n\t\tthis[extensionColumnConfig] = extensionConfig ?? {\n\t\t\tfileMode: 'buffer',\n\t\t\tfetchMode: 'file',\n\t\t};\n\t}\n\n\toverride mapToDriverValue(value: unknown): string {\n\t\tif (typeof value === 'string') return value;\n\n\t\treturn objectIdToText(value as DrizzleS3ObjectIdentification);\n\t}\n\n\tdata(): PgColumn<Omit<T, 'data'> & { data: Assume<T['data'], DrizzleS3ObjectFile>['data'] }> {\n\t\treturn new PgS3File(\n\t\t\tthis.table,\n\t\t\tthis.config as ColumnRuntimeConfig<\n\t\t\t\tDrizzleS3ObjectFile['data'],\n\t\t\t\tOmit<T, 'data'> & { data: Assume<T['data'], DrizzleS3ObjectFile>['data'] }\n\t\t\t>,\n\t\t\t{ fileMode: this[extensionColumnConfig].fileMode, fetchMode: 'data' },\n\t\t);\n\t}\n\n\t// meta(): Omit<PgS3File<Omit<T, 'data'> & { data: DrizzleS3ObjectMeta }>, 'data' | 'meta' | 'presigned'> {\n\t// \treturn new PgS3File(\n\t// \t\tthis.table,\n\t// \t\tthis.config as ColumnRuntimeConfig<\n\t// \t\t\tDrizzleS3ObjectMeta,\n\t// \t\t\tOmit<T, 'data'> & { data: DrizzleS3ObjectMeta }\n\t// \t\t>,\n\t// \t\t{ fileMode: this[extensionColumnConfig].fileMode, fetchMode: 'meta' },\n\t// \t);\n\t// }\n\n\tpresigned(options?: RequestPresigningArguments): PgColumn<Omit<T, 'data'> & { data: string }> {\n\t\treturn new PgS3File(\n\t\t\tthis.table,\n\t\t\tthis.config as ColumnRuntimeConfig<\n\t\t\t\tstring,\n\t\t\t\tOmit<T, 'data'> & { data: string }\n\t\t\t>,\n\t\t\t{ fileMode: this[extensionColumnConfig].fileMode, fetchMode: 'presigned', options },\n\t\t);\n\t}\n\n\tgetSQLType(): string {\n\t\treturn 'text';\n\t}\n}\n\nexport interface PgS3FileConfig<\n\tTMode extends DrizzleS3FileMode = DrizzleS3FileMode,\n> {\n\tmode: TMode;\n}\n\nexport function s3File<TName extends string, TMode extends DrizzleS3FileMode>(\n\tconfig: PgS3FileConfig<TMode>,\n): PgS3FileBuilderInitial<TName, TMode>;\nexport function s3File<TName extends string, TMode extends DrizzleS3FileMode>(\n\tname: TName,\n\tconfig: PgS3FileConfig<TMode>,\n): PgS3FileBuilderInitial<TName, TMode>;\nexport function s3File(a: string | PgS3FileConfig, b?: PgS3FileConfig): any {\n\tconst { name, config } = getColumnNameAndConfig<PgS3FileConfig>(a, b);\n\treturn new PgS3FileBuilder(name, config);\n}\n"],"mappings":"AASA,SAAS,kBAAkB;AAC3B,SAAS,uBAAuB,yBAAyB;AACzD;AAAA,EAGC;AAAA,EACA;AAAA,OACM;AAGP,SAAsB,8BAA8B;AACpD;AAAA,EAMC;AAAA,OAEM;AACP,SAAS,4BAA4B;AAkC9B,MAAM,wBAIH,gBAAgD;AAAA,EACzD,QAA0B,UAAU,IAAY;AAAA,EAChD,CAAU,qBAAqB;AAAA,EAE/B,YACC,MACA,QACC;AACD,UAAM,MAAM,UAAU,UAAU;AAChC,SAAK,qBAAqB,IAAI;AAAA,MAC7B,UAAU,OAAO;AAAA,MACjB,WAAW;AAAA,IACZ;AAAA,EACD;AAAA,EAES,MAAoD,MAc3D;AACD,WAAO,MAAM,MAAM,IAAI;AAAA,EACxB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAYS,QAAQ,OAAuC;AACvD,WAAO,MAAM,QAAQ,KAAK;AAAA,EAC3B;AAAA,EAES,kBAAkB,IAAwE;AAClG,WAAO,MAAM,kBAAkB,EAAE;AAAA,EAClC;AAAA;AAAA,EAGS,MACR,OAC4C;AAC5C,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,MACL,KAAK,qBAAqB;AAAA,IAC3B;AAAA,EACD;AACD;AAQO,MAAM,iBACJ,SACT;AAAA,EACC,QAA0B,UAAU,IAAY;AAAA,EAChD,CAAU,iBAAiB,IAAI;AAAA,EAC/B,CAAC,qBAAqB;AAAA,EAEtB,YACC,OACA,QACA,iBACC;AACD,UAAM,OAAO,MAAM;AAEnB,SAAK,qBAAqB,IAAI,mBAAmB;AAAA,MAChD,UAAU;AAAA,MACV,WAAW;AAAA,IACZ;AAAA,EACD;AAAA,EAES,iBAAiB,OAAwB;AACjD,QAAI,OAAO,UAAU;AAAU,aAAO;AAEtC,WAAO,eAAe,KAAsC;AAAA,EAC7D;AAAA,EAEA,OAA6F;AAC5F,WAAO,IAAI;AAAA,MACV,KAAK;AAAA,MACL,KAAK;AAAA,MAIL,EAAE,UAAU,KAAK,qBAAqB,EAAE,UAAU,WAAW,OAAO;AAAA,IACrE;AAAA,EACD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaA,UAAU,SAAoF;AAC7F,WAAO,IAAI;AAAA,MACV,KAAK;AAAA,MACL,KAAK;AAAA,MAIL,EAAE,UAAU,KAAK,qBAAqB,EAAE,UAAU,WAAW,aAAa,QAAQ;AAAA,IACnF;AAAA,EACD;AAAA,EAEA,aAAqB;AACpB,WAAO;AAAA,EACR;AACD;AAeO,SAAS,OAAO,GAA4B,GAAyB;AAC3E,QAAM,EAAE,MAAM,OAAO,IAAI,uBAAuC,GAAG,CAAC;AACpE,SAAO,IAAI,gBAAgB,MAAM,MAAM;AACxC;","names":[]}
|