drizzle-orm 1.0.0-beta.1-fd8bfcc → 1.0.0-beta.1-17c242e
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/bun-sql/driver.cjs +35 -75
- package/bun-sql/driver.cjs.map +1 -1
- package/bun-sql/driver.d.cts +69 -10
- package/bun-sql/driver.d.ts +69 -10
- package/bun-sql/driver.js +35 -64
- package/bun-sql/driver.js.map +1 -1
- package/bun-sql/migrator.cjs +18 -3
- package/bun-sql/migrator.cjs.map +1 -1
- package/bun-sql/migrator.d.cts +8 -1
- package/bun-sql/migrator.d.ts +8 -1
- package/bun-sql/migrator.js +18 -3
- package/bun-sql/migrator.js.map +1 -1
- package/bun-sql/mysql/driver.cjs +117 -0
- package/bun-sql/mysql/driver.cjs.map +1 -0
- package/bun-sql/mysql/driver.d.cts +38 -0
- package/bun-sql/mysql/driver.d.ts +38 -0
- package/bun-sql/mysql/driver.js +82 -0
- package/bun-sql/mysql/driver.js.map +1 -0
- package/bun-sql/mysql/index.cjs +25 -0
- package/bun-sql/mysql/index.cjs.map +1 -0
- package/bun-sql/mysql/index.d.cts +2 -0
- package/bun-sql/mysql/index.d.ts +2 -0
- package/bun-sql/mysql/index.js +3 -0
- package/bun-sql/mysql/index.js.map +1 -0
- package/bun-sql/mysql/migrator.cjs +33 -0
- package/bun-sql/mysql/migrator.cjs.map +1 -0
- package/bun-sql/mysql/migrator.d.cts +4 -0
- package/bun-sql/mysql/migrator.d.ts +4 -0
- package/bun-sql/mysql/migrator.js +9 -0
- package/bun-sql/mysql/migrator.js.map +1 -0
- package/bun-sql/mysql/session.cjs +244 -0
- package/bun-sql/mysql/session.cjs.map +1 -0
- package/bun-sql/mysql/session.d.cts +65 -0
- package/bun-sql/mysql/session.d.ts +65 -0
- package/bun-sql/mysql/session.js +222 -0
- package/bun-sql/mysql/session.js.map +1 -0
- package/bun-sql/postgres/driver.cjs +110 -0
- package/bun-sql/postgres/driver.cjs.map +1 -0
- package/bun-sql/postgres/driver.d.cts +30 -0
- package/bun-sql/postgres/driver.d.ts +30 -0
- package/bun-sql/postgres/driver.js +75 -0
- package/bun-sql/postgres/driver.js.map +1 -0
- package/bun-sql/postgres/index.cjs +25 -0
- package/bun-sql/postgres/index.cjs.map +1 -0
- package/bun-sql/postgres/index.d.cts +2 -0
- package/bun-sql/postgres/index.d.ts +2 -0
- package/bun-sql/postgres/index.js +3 -0
- package/bun-sql/postgres/index.js.map +1 -0
- package/bun-sql/postgres/migrator.cjs +33 -0
- package/bun-sql/postgres/migrator.cjs.map +1 -0
- package/bun-sql/postgres/migrator.d.cts +4 -0
- package/bun-sql/postgres/migrator.d.ts +4 -0
- package/bun-sql/postgres/migrator.js +9 -0
- package/bun-sql/postgres/migrator.js.map +1 -0
- package/bun-sql/postgres/session.cjs +220 -0
- package/bun-sql/postgres/session.cjs.map +1 -0
- package/bun-sql/postgres/session.d.cts +65 -0
- package/bun-sql/postgres/session.d.ts +65 -0
- package/bun-sql/postgres/session.js +194 -0
- package/bun-sql/postgres/session.js.map +1 -0
- package/bun-sql/session.cjs +3 -200
- package/bun-sql/session.cjs.map +1 -1
- package/bun-sql/session.d.cts +1 -65
- package/bun-sql/session.d.ts +1 -65
- package/bun-sql/session.js +1 -193
- package/bun-sql/session.js.map +1 -1
- package/bun-sql/sqlite/driver.cjs +110 -0
- package/bun-sql/sqlite/driver.cjs.map +1 -0
- package/bun-sql/sqlite/driver.d.cts +30 -0
- package/bun-sql/sqlite/driver.d.ts +30 -0
- package/bun-sql/sqlite/driver.js +75 -0
- package/bun-sql/sqlite/driver.js.map +1 -0
- package/bun-sql/sqlite/index.cjs +25 -0
- package/bun-sql/sqlite/index.cjs.map +1 -0
- package/bun-sql/sqlite/index.d.cts +2 -0
- package/bun-sql/sqlite/index.d.ts +2 -0
- package/bun-sql/sqlite/index.js +3 -0
- package/bun-sql/sqlite/index.js.map +1 -0
- package/bun-sql/sqlite/migrator.cjs +33 -0
- package/bun-sql/sqlite/migrator.cjs.map +1 -0
- package/bun-sql/sqlite/migrator.d.cts +4 -0
- package/bun-sql/sqlite/migrator.d.ts +4 -0
- package/bun-sql/sqlite/migrator.js +9 -0
- package/bun-sql/sqlite/migrator.js.map +1 -0
- package/bun-sql/sqlite/session.cjs +225 -0
- package/bun-sql/sqlite/session.cjs.map +1 -0
- package/bun-sql/sqlite/session.d.cts +67 -0
- package/bun-sql/sqlite/session.d.ts +67 -0
- package/bun-sql/sqlite/session.js +199 -0
- package/bun-sql/sqlite/session.js.map +1 -0
- package/bun-sqlite/driver.cjs +5 -5
- package/bun-sqlite/driver.cjs.map +1 -1
- package/bun-sqlite/driver.d.cts +5 -5
- package/bun-sqlite/driver.d.ts +5 -5
- package/bun-sqlite/driver.js +4 -4
- package/bun-sqlite/driver.js.map +1 -1
- package/bun-sqlite/migrator.cjs.map +1 -1
- package/bun-sqlite/migrator.d.cts +2 -2
- package/bun-sqlite/migrator.d.ts +2 -2
- package/bun-sqlite/migrator.js.map +1 -1
- package/cache/core/cache.cjs.map +1 -1
- package/cache/core/cache.d.cts +1 -1
- package/cache/core/cache.d.ts +1 -1
- package/cache/core/cache.js.map +1 -1
- package/cache/upstash/cache.cjs +2 -2
- package/cache/upstash/cache.cjs.map +1 -1
- package/cache/upstash/cache.js +1 -1
- package/cache/upstash/cache.js.map +1 -1
- package/mysql-core/columns/bigint.cjs +4 -0
- package/mysql-core/columns/bigint.cjs.map +1 -1
- package/mysql-core/columns/bigint.d.cts +2 -1
- package/mysql-core/columns/bigint.d.ts +2 -1
- package/mysql-core/columns/bigint.js +4 -0
- package/mysql-core/columns/bigint.js.map +1 -1
- package/mysql-core/columns/custom.cjs +1 -3
- package/mysql-core/columns/custom.cjs.map +1 -1
- package/mysql-core/columns/custom.js +1 -3
- package/mysql-core/columns/custom.js.map +1 -1
- package/mysql-core/columns/date.cjs +4 -0
- package/mysql-core/columns/date.cjs.map +1 -1
- package/mysql-core/columns/date.d.cts +1 -0
- package/mysql-core/columns/date.d.ts +1 -0
- package/mysql-core/columns/date.js +4 -0
- package/mysql-core/columns/date.js.map +1 -1
- package/mysql-core/columns/datetime.cjs +6 -1
- package/mysql-core/columns/datetime.cjs.map +1 -1
- package/mysql-core/columns/datetime.d.cts +2 -1
- package/mysql-core/columns/datetime.d.ts +2 -1
- package/mysql-core/columns/datetime.js +6 -1
- package/mysql-core/columns/datetime.js.map +1 -1
- package/mysql-core/columns/time.cjs +4 -0
- package/mysql-core/columns/time.cjs.map +1 -1
- package/mysql-core/columns/time.d.cts +1 -0
- package/mysql-core/columns/time.d.ts +1 -0
- package/mysql-core/columns/time.js +4 -0
- package/mysql-core/columns/time.js.map +1 -1
- package/mysql-core/columns/timestamp.cjs +8 -1
- package/mysql-core/columns/timestamp.cjs.map +1 -1
- package/mysql-core/columns/timestamp.d.cts +2 -1
- package/mysql-core/columns/timestamp.d.ts +2 -1
- package/mysql-core/columns/timestamp.js +8 -1
- package/mysql-core/columns/timestamp.js.map +1 -1
- package/mysql-core/columns/varchar.cjs.map +1 -1
- package/mysql-core/columns/varchar.js.map +1 -1
- package/mysql-core/columns/year.cjs +4 -0
- package/mysql-core/columns/year.cjs.map +1 -1
- package/mysql-core/columns/year.d.cts +1 -0
- package/mysql-core/columns/year.d.ts +1 -0
- package/mysql-core/columns/year.js +4 -0
- package/mysql-core/columns/year.js.map +1 -1
- package/mysql-core/utils.cjs +2 -2
- package/mysql-core/utils.cjs.map +1 -1
- package/mysql-core/utils.d.cts +2 -2
- package/mysql-core/utils.d.ts +2 -2
- package/mysql-core/utils.js +1 -1
- package/mysql-core/utils.js.map +1 -1
- package/package.json +149 -5
- package/relations.cjs +4 -1
- package/relations.cjs.map +1 -1
- package/relations.js +4 -1
- package/relations.js.map +1 -1
- package/session.cjs.map +1 -1
- package/session.d.cts +1 -1
- package/session.d.ts +1 -1
- package/sqlite-core/columns/blob.cjs.map +1 -1
- package/sqlite-core/columns/blob.js.map +1 -1
- package/version.cjs +1 -1
- package/version.d.cts +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
|
@@ -0,0 +1,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("./driver.cjs"), module.exports);
|
|
19
|
+
__reExport(sqlite_exports, require("./session.cjs"), module.exports);
|
|
20
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
21
|
+
0 && (module.exports = {
|
|
22
|
+
...require("./driver.cjs"),
|
|
23
|
+
...require("./session.cjs")
|
|
24
|
+
});
|
|
25
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/bun-sql/sqlite/index.ts"],"sourcesContent":["export * from './driver.ts';\nexport * from './session.ts';\n"],"mappings":";;;;;;;;;;;;;;;AAAA;AAAA;AAAA,2BAAc,wBAAd;AACA,2BAAc,yBADd;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/bun-sql/sqlite/index.ts"],"sourcesContent":["export * from './driver.ts';\nexport * from './session.ts';\n"],"mappings":"AAAA,cAAc;AACd,cAAc;","names":[]}
|
|
@@ -0,0 +1,33 @@
|
|
|
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 migrator_exports = {};
|
|
20
|
+
__export(migrator_exports, {
|
|
21
|
+
migrate: () => migrate
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(migrator_exports);
|
|
24
|
+
var import_migrator = require("../../migrator.cjs");
|
|
25
|
+
async function migrate(db, config) {
|
|
26
|
+
const migrations = (0, import_migrator.readMigrationFiles)(config);
|
|
27
|
+
await db.dialect.migrate(migrations, db.session, config);
|
|
28
|
+
}
|
|
29
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
30
|
+
0 && (module.exports = {
|
|
31
|
+
migrate
|
|
32
|
+
});
|
|
33
|
+
//# sourceMappingURL=migrator.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/bun-sql/sqlite/migrator.ts"],"sourcesContent":["import type { MigrationConfig } from '~/migrator.ts';\nimport { readMigrationFiles } from '~/migrator.ts';\nimport type { AnyRelations } from '~/relations.ts';\nimport type { BunSQLiteDatabase } from './driver.ts';\n\nexport async function migrate<TSchema extends Record<string, unknown>, TRelations extends AnyRelations>(\n\tdb: BunSQLiteDatabase<TSchema, TRelations>,\n\tconfig: MigrationConfig,\n) {\n\tconst migrations = readMigrationFiles(config);\n\tawait db.dialect.migrate(migrations, db.session, config);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,sBAAmC;AAInC,eAAsB,QACrB,IACA,QACC;AACD,QAAM,iBAAa,oCAAmB,MAAM;AAC5C,QAAM,GAAG,QAAQ,QAAQ,YAAY,GAAG,SAAS,MAAM;AACxD;","names":[]}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { MigrationConfig } from "../../migrator.cjs";
|
|
2
|
+
import type { AnyRelations } from "../../relations.cjs";
|
|
3
|
+
import type { BunSQLiteDatabase } from "./driver.cjs";
|
|
4
|
+
export declare function migrate<TSchema extends Record<string, unknown>, TRelations extends AnyRelations>(db: BunSQLiteDatabase<TSchema, TRelations>, config: MigrationConfig): Promise<void>;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { MigrationConfig } from "../../migrator.js";
|
|
2
|
+
import type { AnyRelations } from "../../relations.js";
|
|
3
|
+
import type { BunSQLiteDatabase } from "./driver.js";
|
|
4
|
+
export declare function migrate<TSchema extends Record<string, unknown>, TRelations extends AnyRelations>(db: BunSQLiteDatabase<TSchema, TRelations>, config: MigrationConfig): Promise<void>;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { readMigrationFiles } from "../../migrator.js";
|
|
2
|
+
async function migrate(db, config) {
|
|
3
|
+
const migrations = readMigrationFiles(config);
|
|
4
|
+
await db.dialect.migrate(migrations, db.session, config);
|
|
5
|
+
}
|
|
6
|
+
export {
|
|
7
|
+
migrate
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=migrator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/bun-sql/sqlite/migrator.ts"],"sourcesContent":["import type { MigrationConfig } from '~/migrator.ts';\nimport { readMigrationFiles } from '~/migrator.ts';\nimport type { AnyRelations } from '~/relations.ts';\nimport type { BunSQLiteDatabase } from './driver.ts';\n\nexport async function migrate<TSchema extends Record<string, unknown>, TRelations extends AnyRelations>(\n\tdb: BunSQLiteDatabase<TSchema, TRelations>,\n\tconfig: MigrationConfig,\n) {\n\tconst migrations = readMigrationFiles(config);\n\tawait db.dialect.migrate(migrations, db.session, config);\n}\n"],"mappings":"AACA,SAAS,0BAA0B;AAInC,eAAsB,QACrB,IACA,QACC;AACD,QAAM,aAAa,mBAAmB,MAAM;AAC5C,QAAM,GAAG,QAAQ,QAAQ,YAAY,GAAG,SAAS,MAAM;AACxD;","names":[]}
|
|
@@ -0,0 +1,225 @@
|
|
|
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 session_exports = {};
|
|
20
|
+
__export(session_exports, {
|
|
21
|
+
BunSQLitePreparedQuery: () => BunSQLitePreparedQuery,
|
|
22
|
+
BunSQLiteSession: () => BunSQLiteSession,
|
|
23
|
+
BunSQLiteTransaction: () => BunSQLiteTransaction
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(session_exports);
|
|
26
|
+
var import_core = require("../../cache/core/index.cjs");
|
|
27
|
+
var import_entity = require("../../entity.cjs");
|
|
28
|
+
var import_errors = require("../../errors.cjs");
|
|
29
|
+
var import_logger = require("../../logger.cjs");
|
|
30
|
+
var import_sql = require("../../sql/sql.cjs");
|
|
31
|
+
var import_sqlite_core = require("../../sqlite-core/index.cjs");
|
|
32
|
+
var import_session = require("../../sqlite-core/session.cjs");
|
|
33
|
+
var import_utils = require("../../utils.cjs");
|
|
34
|
+
class BunSQLiteSession extends import_session.SQLiteSession {
|
|
35
|
+
constructor(client, dialect, relations, schema, options) {
|
|
36
|
+
super(dialect);
|
|
37
|
+
this.client = client;
|
|
38
|
+
this.relations = relations;
|
|
39
|
+
this.schema = schema;
|
|
40
|
+
this.options = options;
|
|
41
|
+
this.logger = options.logger ?? new import_logger.NoopLogger();
|
|
42
|
+
this.cache = options.cache ?? new import_core.NoopCache();
|
|
43
|
+
}
|
|
44
|
+
static [import_entity.entityKind] = "BunSQLiteSession";
|
|
45
|
+
logger;
|
|
46
|
+
cache;
|
|
47
|
+
prepareQuery(query, fields, executeMethod, isResponseInArrayMode, customResultMapper, queryMetadata, cacheConfig) {
|
|
48
|
+
return new BunSQLitePreparedQuery(
|
|
49
|
+
this.client,
|
|
50
|
+
query,
|
|
51
|
+
this.logger,
|
|
52
|
+
this.cache,
|
|
53
|
+
queryMetadata,
|
|
54
|
+
cacheConfig,
|
|
55
|
+
fields,
|
|
56
|
+
executeMethod,
|
|
57
|
+
isResponseInArrayMode,
|
|
58
|
+
customResultMapper
|
|
59
|
+
);
|
|
60
|
+
}
|
|
61
|
+
prepareRelationalQuery(query, fields, executeMethod, customResultMapper) {
|
|
62
|
+
return new BunSQLitePreparedQuery(
|
|
63
|
+
this.client,
|
|
64
|
+
query,
|
|
65
|
+
this.logger,
|
|
66
|
+
this.cache,
|
|
67
|
+
void 0,
|
|
68
|
+
void 0,
|
|
69
|
+
fields,
|
|
70
|
+
executeMethod,
|
|
71
|
+
false,
|
|
72
|
+
customResultMapper,
|
|
73
|
+
true
|
|
74
|
+
);
|
|
75
|
+
}
|
|
76
|
+
async run(query) {
|
|
77
|
+
const staticQuery = this.dialect.sqlToQuery(query);
|
|
78
|
+
try {
|
|
79
|
+
return await this.prepareOneTimeQuery(staticQuery, void 0, "run", false).run();
|
|
80
|
+
} catch (err) {
|
|
81
|
+
throw new import_errors.DrizzleError({ cause: err, message: `Failed to run the query '${staticQuery.sql}'` });
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
async transaction(transaction, config) {
|
|
85
|
+
return this.client.begin(config?.behavior ?? "", async (client) => {
|
|
86
|
+
const session = new BunSQLiteSession(
|
|
87
|
+
client,
|
|
88
|
+
this.dialect,
|
|
89
|
+
this.relations,
|
|
90
|
+
this.schema,
|
|
91
|
+
this.options
|
|
92
|
+
);
|
|
93
|
+
const tx = new BunSQLiteTransaction(
|
|
94
|
+
"async",
|
|
95
|
+
this.dialect,
|
|
96
|
+
session,
|
|
97
|
+
this.relations,
|
|
98
|
+
this.schema
|
|
99
|
+
);
|
|
100
|
+
return await transaction(tx);
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
class BunSQLiteTransaction extends import_sqlite_core.SQLiteTransaction {
|
|
105
|
+
static [import_entity.entityKind] = "BunSQLiteTransaction";
|
|
106
|
+
async transaction(transaction) {
|
|
107
|
+
return this.session.client.savepoint(
|
|
108
|
+
async (client) => {
|
|
109
|
+
const session = new BunSQLiteSession(
|
|
110
|
+
client,
|
|
111
|
+
this.session.dialect,
|
|
112
|
+
this.relations,
|
|
113
|
+
this.schema,
|
|
114
|
+
this.session.options
|
|
115
|
+
);
|
|
116
|
+
const tx = new BunSQLiteTransaction(
|
|
117
|
+
"async",
|
|
118
|
+
this.dialect,
|
|
119
|
+
session,
|
|
120
|
+
this.relations,
|
|
121
|
+
this.schema,
|
|
122
|
+
this.nestedIndex + 1
|
|
123
|
+
);
|
|
124
|
+
return await transaction(tx);
|
|
125
|
+
}
|
|
126
|
+
);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
class BunSQLitePreparedQuery extends import_session.SQLitePreparedQuery {
|
|
130
|
+
constructor(client, query, logger, cache, queryMetadata, cacheConfig, fields, executeMethod, _isResponseInArrayMode, customResultMapper, isRqbV2Query) {
|
|
131
|
+
super("async", executeMethod, query, cache, queryMetadata, cacheConfig);
|
|
132
|
+
this.client = client;
|
|
133
|
+
this.logger = logger;
|
|
134
|
+
this.fields = fields;
|
|
135
|
+
this._isResponseInArrayMode = _isResponseInArrayMode;
|
|
136
|
+
this.customResultMapper = customResultMapper;
|
|
137
|
+
this.isRqbV2Query = isRqbV2Query;
|
|
138
|
+
this.customResultMapper = customResultMapper;
|
|
139
|
+
this.fields = fields;
|
|
140
|
+
}
|
|
141
|
+
static [import_entity.entityKind] = "BunSQLitePreparedQuery";
|
|
142
|
+
async run(placeholderValues = {}) {
|
|
143
|
+
const { logger, query, client } = this;
|
|
144
|
+
const params = (0, import_sql.fillPlaceholders)(query.params, placeholderValues);
|
|
145
|
+
logger.logQuery(query.sql, params);
|
|
146
|
+
return await this.queryWithCache(query.sql, params, async () => {
|
|
147
|
+
return await client.unsafe(query.sql, params);
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
async all(placeholderValues = {}) {
|
|
151
|
+
if (this.isRqbV2Query) return this.allRqbV2(placeholderValues);
|
|
152
|
+
const { logger, query, fields, joinsNotNullableMap, customResultMapper, client } = this;
|
|
153
|
+
if (!fields && !customResultMapper) {
|
|
154
|
+
const params = (0, import_sql.fillPlaceholders)(query.params, placeholderValues);
|
|
155
|
+
logger.logQuery(query.sql, params);
|
|
156
|
+
return await this.queryWithCache(query.sql, params, async () => {
|
|
157
|
+
const res = await client.unsafe(query.sql, params);
|
|
158
|
+
return res;
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
const rows = await this.values(placeholderValues);
|
|
162
|
+
if (customResultMapper) {
|
|
163
|
+
return customResultMapper(rows);
|
|
164
|
+
}
|
|
165
|
+
return rows.map((row) => (0, import_utils.mapResultRow)(fields, row, joinsNotNullableMap));
|
|
166
|
+
}
|
|
167
|
+
async allRqbV2(placeholderValues = {}) {
|
|
168
|
+
const { logger, query, customResultMapper, client } = this;
|
|
169
|
+
const params = (0, import_sql.fillPlaceholders)(query.params, placeholderValues);
|
|
170
|
+
logger.logQuery(query.sql, params);
|
|
171
|
+
const rows = await client.unsafe(query.sql, params);
|
|
172
|
+
return customResultMapper(rows);
|
|
173
|
+
}
|
|
174
|
+
async get(placeholderValues = {}) {
|
|
175
|
+
if (this.isRqbV2Query) return this.getRqbV2(placeholderValues);
|
|
176
|
+
const { logger, query, fields, joinsNotNullableMap, customResultMapper, client } = this;
|
|
177
|
+
if (!fields && !customResultMapper) {
|
|
178
|
+
const params = (0, import_sql.fillPlaceholders)(query.params, placeholderValues);
|
|
179
|
+
logger.logQuery(query.sql, params);
|
|
180
|
+
return await this.queryWithCache(query.sql, params, async () => {
|
|
181
|
+
const rows2 = await client.unsafe(query.sql, params);
|
|
182
|
+
return rows2[0];
|
|
183
|
+
});
|
|
184
|
+
}
|
|
185
|
+
const rows = await this.values(placeholderValues);
|
|
186
|
+
const row = rows[0];
|
|
187
|
+
if (customResultMapper) {
|
|
188
|
+
return customResultMapper(rows);
|
|
189
|
+
}
|
|
190
|
+
if (row === void 0) return row;
|
|
191
|
+
return (0, import_utils.mapResultRow)(fields, row, joinsNotNullableMap);
|
|
192
|
+
}
|
|
193
|
+
async getRqbV2(placeholderValues = {}) {
|
|
194
|
+
const { logger, query, customResultMapper, client } = this;
|
|
195
|
+
const params = (0, import_sql.fillPlaceholders)(query.params, placeholderValues);
|
|
196
|
+
logger.logQuery(query.sql, params);
|
|
197
|
+
const rows = await client.unsafe(query.sql, params);
|
|
198
|
+
const row = rows[0];
|
|
199
|
+
if (row === void 0) return row;
|
|
200
|
+
return customResultMapper([row]);
|
|
201
|
+
}
|
|
202
|
+
async values(placeholderValues = {}) {
|
|
203
|
+
const {
|
|
204
|
+
client,
|
|
205
|
+
logger,
|
|
206
|
+
query
|
|
207
|
+
} = this;
|
|
208
|
+
const params = (0, import_sql.fillPlaceholders)(query.params, placeholderValues);
|
|
209
|
+
logger.logQuery(query.sql, params);
|
|
210
|
+
return await this.queryWithCache(query.sql, params, async () => {
|
|
211
|
+
return await client.unsafe(query.sql, params).values();
|
|
212
|
+
});
|
|
213
|
+
}
|
|
214
|
+
/** @internal */
|
|
215
|
+
isResponseInArrayMode() {
|
|
216
|
+
return this._isResponseInArrayMode;
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
220
|
+
0 && (module.exports = {
|
|
221
|
+
BunSQLitePreparedQuery,
|
|
222
|
+
BunSQLiteSession,
|
|
223
|
+
BunSQLiteTransaction
|
|
224
|
+
});
|
|
225
|
+
//# sourceMappingURL=session.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/bun-sql/sqlite/session.ts"],"sourcesContent":["/// <reference types=\"bun-types\" />\n\nimport type { SavepointSQL, SQL as BunSQL, TransactionSQL } from 'bun';\nimport type * as V1 from '~/_relations.ts';\nimport { type Cache, NoopCache } from '~/cache/core/index.ts';\nimport type { WithCacheConfig } from '~/cache/core/types.ts';\nimport { entityKind } from '~/entity.ts';\nimport { DrizzleError } from '~/errors.ts';\nimport type { Logger } from '~/logger.ts';\nimport { NoopLogger } from '~/logger.ts';\nimport type { AnyRelations } from '~/relations.ts';\nimport { fillPlaceholders, type Query, type SQL } from '~/sql/sql.ts';\nimport type { SQLiteAsyncDialect } from '~/sqlite-core/dialect.ts';\nimport { SQLiteTransaction } from '~/sqlite-core/index.ts';\nimport type { SelectedFieldsOrdered } from '~/sqlite-core/query-builders/select.types.ts';\nimport type {\n\tPreparedQueryConfig as PreparedQueryConfigBase,\n\tResult,\n\tSQLiteExecuteMethod,\n\tSQLiteTransactionConfig,\n} from '~/sqlite-core/session.ts';\nimport { SQLitePreparedQuery, SQLiteSession } from '~/sqlite-core/session.ts';\nimport { mapResultRow } from '~/utils.ts';\n\nexport interface BunSQLiteSessionOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n}\n\nexport type BunSQLiteRunResult = Record<string, unknown>[] & Record<string, unknown>;\n\ntype PreparedQueryConfig = Omit<PreparedQueryConfigBase, 'statement' | 'run'>;\n\nexport class BunSQLiteSession<\n\tTSQL extends BunSQL,\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends SQLiteSession<'async', BunSQLiteRunResult, TFullSchema, TRelations, TSchema> {\n\tstatic override readonly [entityKind]: string = 'BunSQLiteSession';\n\n\tprivate logger: Logger;\n\tprivate cache: Cache;\n\n\tconstructor(\n\t\treadonly client: TSQL,\n\t\tdialect: SQLiteAsyncDialect,\n\t\tprivate relations: TRelations,\n\t\tprivate schema: V1.RelationalSchemaConfig<TSchema> | undefined,\n\t\treadonly options: BunSQLiteSessionOptions,\n\t) {\n\t\tsuper(dialect);\n\t\tthis.logger = options.logger ?? new NoopLogger();\n\t\tthis.cache = options.cache ?? new NoopCache();\n\t}\n\n\tprepareQuery<T extends Omit<PreparedQueryConfig, 'run'>>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tisResponseInArrayMode: boolean,\n\t\tcustomResultMapper?: (rows: unknown[][]) => unknown,\n\t\tqueryMetadata?: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t},\n\t\tcacheConfig?: WithCacheConfig,\n\t): BunSQLitePreparedQuery<T> {\n\t\treturn new BunSQLitePreparedQuery(\n\t\t\tthis.client,\n\t\t\tquery,\n\t\t\tthis.logger,\n\t\t\tthis.cache,\n\t\t\tqueryMetadata,\n\t\t\tcacheConfig,\n\t\t\tfields,\n\t\t\texecuteMethod,\n\t\t\tisResponseInArrayMode,\n\t\t\tcustomResultMapper,\n\t\t);\n\t}\n\n\tprepareRelationalQuery<T extends Omit<PreparedQueryConfig, 'run'>>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tcustomResultMapper: (rows: Record<string, unknown>[]) => unknown,\n\t): BunSQLitePreparedQuery<T, true> {\n\t\treturn new BunSQLitePreparedQuery(\n\t\t\tthis.client,\n\t\t\tquery,\n\t\t\tthis.logger,\n\t\t\tthis.cache,\n\t\t\tundefined,\n\t\t\tundefined,\n\t\t\tfields,\n\t\t\texecuteMethod,\n\t\t\tfalse,\n\t\t\tcustomResultMapper,\n\t\t\ttrue,\n\t\t);\n\t}\n\n\toverride async run(query: SQL): Result<'async', BunSQLiteRunResult> {\n\t\tconst staticQuery = this.dialect.sqlToQuery(query);\n\t\ttry {\n\t\t\treturn await this.prepareOneTimeQuery(staticQuery, undefined, 'run', false).run() as Result<\n\t\t\t\t'async',\n\t\t\t\tBunSQLiteRunResult\n\t\t\t>;\n\t\t} catch (err) {\n\t\t\tthrow new DrizzleError({ cause: err, message: `Failed to run the query '${staticQuery.sql}'` });\n\t\t}\n\t}\n\n\toverride async transaction<T>(\n\t\ttransaction: (db: BunSQLiteTransaction<TFullSchema, TRelations, TSchema>) => T | Promise<T>,\n\t\tconfig?: SQLiteTransactionConfig,\n\t): Promise<T> {\n\t\treturn this.client.begin(config?.behavior ?? '', async (client) => {\n\t\t\tconst session = new BunSQLiteSession<SavepointSQL, TFullSchema, TRelations, TSchema>(\n\t\t\t\tclient,\n\t\t\t\tthis.dialect,\n\t\t\t\tthis.relations,\n\t\t\t\tthis.schema,\n\t\t\t\tthis.options,\n\t\t\t);\n\t\t\tconst tx = new BunSQLiteTransaction<TFullSchema, TRelations, TSchema>(\n\t\t\t\t'async',\n\t\t\t\tthis.dialect,\n\t\t\t\tsession,\n\t\t\t\tthis.relations,\n\t\t\t\tthis.schema,\n\t\t\t);\n\n\t\t\treturn await transaction(tx);\n\t\t}) as Promise<T>;\n\t}\n}\n\nexport class BunSQLiteTransaction<\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends SQLiteTransaction<'async', BunSQLiteRunResult, TFullSchema, TRelations, TSchema> {\n\tstatic override readonly [entityKind]: string = 'BunSQLiteTransaction';\n\n\toverride async transaction<T>(\n\t\ttransaction: (tx: BunSQLiteTransaction<TFullSchema, TRelations, TSchema>) => Promise<T>,\n\t): Promise<T> {\n\t\treturn (<BunSQLiteSession<TransactionSQL, any, any, any>> <unknown> this.session).client.savepoint(\n\t\t\tasync (client) => {\n\t\t\t\tconst session = new BunSQLiteSession<SavepointSQL, TFullSchema, TRelations, TSchema>(\n\t\t\t\t\tclient,\n\t\t\t\t\tthis.session.dialect,\n\t\t\t\t\tthis.relations,\n\t\t\t\t\tthis.schema,\n\t\t\t\t\t(<BunSQLiteSession<TransactionSQL, any, any, any>> <unknown> this.session).options,\n\t\t\t\t);\n\t\t\t\tconst tx = new BunSQLiteTransaction(\n\t\t\t\t\t'async',\n\t\t\t\t\tthis.dialect,\n\t\t\t\t\tsession,\n\t\t\t\t\tthis.relations,\n\t\t\t\t\tthis.schema,\n\t\t\t\t\tthis.nestedIndex + 1,\n\t\t\t\t);\n\t\t\t\treturn await transaction(tx);\n\t\t\t},\n\t\t);\n\t}\n}\n\nexport class BunSQLitePreparedQuery<\n\tT extends PreparedQueryConfig = PreparedQueryConfig,\n\tTIsRqbV2 extends boolean = false,\n> extends SQLitePreparedQuery<\n\t{\n\t\ttype: 'async';\n\t\trun: BunSQLiteRunResult;\n\t\tall: T['all'];\n\t\tget: T['get'];\n\t\tvalues: T['values'];\n\t\texecute: T['execute'];\n\t}\n> {\n\tstatic override readonly [entityKind]: string = 'BunSQLitePreparedQuery';\n\n\tconstructor(\n\t\tprivate client: BunSQL,\n\t\tquery: Query,\n\t\tprivate logger: Logger,\n\t\tcache: Cache,\n\t\tqueryMetadata: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t} | undefined,\n\t\tcacheConfig: WithCacheConfig | undefined,\n\t\t/** @internal */ public fields: SelectedFieldsOrdered | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tprivate _isResponseInArrayMode: boolean,\n\t\tprivate customResultMapper?: (\n\t\t\trows: TIsRqbV2 extends true ? Record<string, unknown>[] : unknown[][],\n\t\t\tmapColumnValue?: (value: unknown) => unknown,\n\t\t) => unknown,\n\t\tprivate isRqbV2Query?: TIsRqbV2,\n\t) {\n\t\tsuper('async', executeMethod, query, cache, queryMetadata, cacheConfig);\n\t\tthis.customResultMapper = customResultMapper;\n\t\tthis.fields = fields;\n\t}\n\n\tasync run(placeholderValues: Record<string, unknown> = {}): Promise<BunSQLiteRunResult> {\n\t\tconst { logger, query, client } = this;\n\t\tconst params = fillPlaceholders(query.params, placeholderValues);\n\t\tlogger.logQuery(query.sql, params);\n\n\t\treturn await this.queryWithCache(query.sql, params, async () => {\n\t\t\treturn await client.unsafe(query.sql, params);\n\t\t});\n\t}\n\n\tasync all(placeholderValues: Record<string, unknown> = {}): Promise<T['all']> {\n\t\tif (this.isRqbV2Query) return this.allRqbV2(placeholderValues);\n\t\tconst { logger, query, fields, joinsNotNullableMap, customResultMapper, client } = this;\n\n\t\tif (!fields && !customResultMapper) {\n\t\t\tconst params = fillPlaceholders(query.params, placeholderValues);\n\t\t\tlogger.logQuery(query.sql, params);\n\t\t\treturn await this.queryWithCache(query.sql, params, async () => {\n\t\t\t\tconst res = await client.unsafe(query.sql, params);\n\t\t\t\treturn res;\n\t\t\t});\n\t\t}\n\n\t\tconst rows = await this.values(placeholderValues) as unknown[][];\n\n\t\tif (customResultMapper) {\n\t\t\treturn (customResultMapper as (\n\t\t\t\trows: unknown[][],\n\t\t\t\tmapColumnValue?: (value: unknown) => unknown,\n\t\t\t) => unknown)(rows);\n\t\t}\n\n\t\treturn rows.map((row) => mapResultRow(fields!, row, joinsNotNullableMap));\n\t}\n\n\tprivate async allRqbV2(placeholderValues: Record<string, unknown> = {}): Promise<T['all']> {\n\t\tconst { logger, query, customResultMapper, client } = this;\n\t\tconst params = fillPlaceholders(query.params, placeholderValues);\n\t\tlogger.logQuery(query.sql, params);\n\n\t\tconst rows = await client.unsafe(query.sql, params);\n\n\t\treturn (customResultMapper as (\n\t\t\trows: unknown[][],\n\t\t\tmapColumnValue?: (value: unknown) => unknown,\n\t\t) => unknown)(rows);\n\t}\n\n\tasync get(placeholderValues: Record<string, unknown> = {}): Promise<T['get']> {\n\t\tif (this.isRqbV2Query) return this.getRqbV2(placeholderValues);\n\n\t\tconst { logger, query, fields, joinsNotNullableMap, customResultMapper, client } = this;\n\n\t\tif (!fields && !customResultMapper) {\n\t\t\tconst params = fillPlaceholders(query.params, placeholderValues);\n\t\t\tlogger.logQuery(query.sql, params);\n\t\t\treturn await this.queryWithCache(query.sql, params, async () => {\n\t\t\t\tconst rows = await client.unsafe(query.sql, params);\n\t\t\t\treturn rows[0];\n\t\t\t});\n\t\t}\n\n\t\tconst rows = await this.values(placeholderValues) as unknown[][];\n\t\tconst row = rows[0];\n\n\t\tif (customResultMapper) {\n\t\t\treturn (customResultMapper as (\n\t\t\t\trows: unknown[][],\n\t\t\t\tmapColumnValue?: (value: unknown) => unknown,\n\t\t\t) => unknown)(rows);\n\t\t}\n\n\t\tif (row === undefined) return row;\n\t\treturn mapResultRow(fields!, row, joinsNotNullableMap);\n\t}\n\n\tprivate async getRqbV2(placeholderValues: Record<string, unknown> = {}) {\n\t\tconst { logger, query, customResultMapper, client } = this;\n\t\tconst params = fillPlaceholders(query.params, placeholderValues);\n\n\t\tlogger.logQuery(query.sql, params);\n\t\tconst rows = await client.unsafe(query.sql, params);\n\t\tconst row = rows[0];\n\n\t\tif (row === undefined) return row;\n\n\t\treturn (customResultMapper as (\n\t\t\trows: unknown[][],\n\t\t\tmapColumnValue?: (value: unknown) => unknown,\n\t\t) => unknown)([row]);\n\t}\n\n\tasync values(placeholderValues: Record<string, unknown> = {}): Promise<T['values']> {\n\t\tconst {\n\t\t\tclient,\n\t\t\tlogger,\n\t\t\tquery,\n\t\t} = this;\n\t\tconst params = fillPlaceholders(query.params, placeholderValues);\n\n\t\tlogger.logQuery(query.sql, params);\n\t\treturn await this.queryWithCache(query.sql, params, async () => {\n\t\t\treturn await client.unsafe(query.sql, params).values();\n\t\t});\n\t}\n\n\t/** @internal */\n\tisResponseInArrayMode(): boolean {\n\t\treturn this._isResponseInArrayMode;\n\t}\n}\n"],"mappings":"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","names":["rows"]}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import type { SQL as BunSQL } from 'bun';
|
|
2
|
+
import type * as V1 from "../../_relations.cjs";
|
|
3
|
+
import { type Cache } from "../../cache/core/index.cjs";
|
|
4
|
+
import type { WithCacheConfig } from "../../cache/core/types.cjs";
|
|
5
|
+
import { entityKind } from "../../entity.cjs";
|
|
6
|
+
import type { Logger } from "../../logger.cjs";
|
|
7
|
+
import type { AnyRelations } from "../../relations.cjs";
|
|
8
|
+
import { type Query, type SQL } from "../../sql/sql.cjs";
|
|
9
|
+
import type { SQLiteAsyncDialect } from "../../sqlite-core/dialect.cjs";
|
|
10
|
+
import { SQLiteTransaction } from "../../sqlite-core/index.cjs";
|
|
11
|
+
import type { SelectedFieldsOrdered } from "../../sqlite-core/query-builders/select.types.cjs";
|
|
12
|
+
import type { PreparedQueryConfig as PreparedQueryConfigBase, Result, SQLiteExecuteMethod, SQLiteTransactionConfig } from "../../sqlite-core/session.cjs";
|
|
13
|
+
import { SQLitePreparedQuery, SQLiteSession } from "../../sqlite-core/session.cjs";
|
|
14
|
+
export interface BunSQLiteSessionOptions {
|
|
15
|
+
logger?: Logger;
|
|
16
|
+
cache?: Cache;
|
|
17
|
+
}
|
|
18
|
+
export type BunSQLiteRunResult = Record<string, unknown>[] & Record<string, unknown>;
|
|
19
|
+
type PreparedQueryConfig = Omit<PreparedQueryConfigBase, 'statement' | 'run'>;
|
|
20
|
+
export declare class BunSQLiteSession<TSQL extends BunSQL, TFullSchema extends Record<string, unknown>, TRelations extends AnyRelations, TSchema extends V1.TablesRelationalConfig> extends SQLiteSession<'async', BunSQLiteRunResult, TFullSchema, TRelations, TSchema> {
|
|
21
|
+
readonly client: TSQL;
|
|
22
|
+
private relations;
|
|
23
|
+
private schema;
|
|
24
|
+
readonly options: BunSQLiteSessionOptions;
|
|
25
|
+
static readonly [entityKind]: string;
|
|
26
|
+
private logger;
|
|
27
|
+
private cache;
|
|
28
|
+
constructor(client: TSQL, dialect: SQLiteAsyncDialect, relations: TRelations, schema: V1.RelationalSchemaConfig<TSchema> | undefined, options: BunSQLiteSessionOptions);
|
|
29
|
+
prepareQuery<T extends Omit<PreparedQueryConfig, 'run'>>(query: Query, fields: SelectedFieldsOrdered | undefined, executeMethod: SQLiteExecuteMethod, isResponseInArrayMode: boolean, customResultMapper?: (rows: unknown[][]) => unknown, queryMetadata?: {
|
|
30
|
+
type: 'select' | 'update' | 'delete' | 'insert';
|
|
31
|
+
tables: string[];
|
|
32
|
+
}, cacheConfig?: WithCacheConfig): BunSQLitePreparedQuery<T>;
|
|
33
|
+
prepareRelationalQuery<T extends Omit<PreparedQueryConfig, 'run'>>(query: Query, fields: SelectedFieldsOrdered | undefined, executeMethod: SQLiteExecuteMethod, customResultMapper: (rows: Record<string, unknown>[]) => unknown): BunSQLitePreparedQuery<T, true>;
|
|
34
|
+
run(query: SQL): Result<'async', BunSQLiteRunResult>;
|
|
35
|
+
transaction<T>(transaction: (db: BunSQLiteTransaction<TFullSchema, TRelations, TSchema>) => T | Promise<T>, config?: SQLiteTransactionConfig): Promise<T>;
|
|
36
|
+
}
|
|
37
|
+
export declare class BunSQLiteTransaction<TFullSchema extends Record<string, unknown>, TRelations extends AnyRelations, TSchema extends V1.TablesRelationalConfig> extends SQLiteTransaction<'async', BunSQLiteRunResult, TFullSchema, TRelations, TSchema> {
|
|
38
|
+
static readonly [entityKind]: string;
|
|
39
|
+
transaction<T>(transaction: (tx: BunSQLiteTransaction<TFullSchema, TRelations, TSchema>) => Promise<T>): Promise<T>;
|
|
40
|
+
}
|
|
41
|
+
export declare class BunSQLitePreparedQuery<T extends PreparedQueryConfig = PreparedQueryConfig, TIsRqbV2 extends boolean = false> extends SQLitePreparedQuery<{
|
|
42
|
+
type: 'async';
|
|
43
|
+
run: BunSQLiteRunResult;
|
|
44
|
+
all: T['all'];
|
|
45
|
+
get: T['get'];
|
|
46
|
+
values: T['values'];
|
|
47
|
+
execute: T['execute'];
|
|
48
|
+
}> {
|
|
49
|
+
private client;
|
|
50
|
+
private logger;
|
|
51
|
+
private _isResponseInArrayMode;
|
|
52
|
+
private customResultMapper?;
|
|
53
|
+
private isRqbV2Query?;
|
|
54
|
+
static readonly [entityKind]: string;
|
|
55
|
+
constructor(client: BunSQL, query: Query, logger: Logger, cache: Cache, queryMetadata: {
|
|
56
|
+
type: 'select' | 'update' | 'delete' | 'insert';
|
|
57
|
+
tables: string[];
|
|
58
|
+
} | undefined, cacheConfig: WithCacheConfig | undefined,
|
|
59
|
+
/** @internal */ fields: SelectedFieldsOrdered | undefined, executeMethod: SQLiteExecuteMethod, _isResponseInArrayMode: boolean, customResultMapper?: ((rows: TIsRqbV2 extends true ? Record<string, unknown>[] : unknown[][], mapColumnValue?: (value: unknown) => unknown) => unknown) | undefined, isRqbV2Query?: TIsRqbV2 | undefined);
|
|
60
|
+
run(placeholderValues?: Record<string, unknown>): Promise<BunSQLiteRunResult>;
|
|
61
|
+
all(placeholderValues?: Record<string, unknown>): Promise<T['all']>;
|
|
62
|
+
private allRqbV2;
|
|
63
|
+
get(placeholderValues?: Record<string, unknown>): Promise<T['get']>;
|
|
64
|
+
private getRqbV2;
|
|
65
|
+
values(placeholderValues?: Record<string, unknown>): Promise<T['values']>;
|
|
66
|
+
}
|
|
67
|
+
export {};
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import type { SQL as BunSQL } from 'bun';
|
|
2
|
+
import type * as V1 from "../../_relations.js";
|
|
3
|
+
import { type Cache } from "../../cache/core/index.js";
|
|
4
|
+
import type { WithCacheConfig } from "../../cache/core/types.js";
|
|
5
|
+
import { entityKind } from "../../entity.js";
|
|
6
|
+
import type { Logger } from "../../logger.js";
|
|
7
|
+
import type { AnyRelations } from "../../relations.js";
|
|
8
|
+
import { type Query, type SQL } from "../../sql/sql.js";
|
|
9
|
+
import type { SQLiteAsyncDialect } from "../../sqlite-core/dialect.js";
|
|
10
|
+
import { SQLiteTransaction } from "../../sqlite-core/index.js";
|
|
11
|
+
import type { SelectedFieldsOrdered } from "../../sqlite-core/query-builders/select.types.js";
|
|
12
|
+
import type { PreparedQueryConfig as PreparedQueryConfigBase, Result, SQLiteExecuteMethod, SQLiteTransactionConfig } from "../../sqlite-core/session.js";
|
|
13
|
+
import { SQLitePreparedQuery, SQLiteSession } from "../../sqlite-core/session.js";
|
|
14
|
+
export interface BunSQLiteSessionOptions {
|
|
15
|
+
logger?: Logger;
|
|
16
|
+
cache?: Cache;
|
|
17
|
+
}
|
|
18
|
+
export type BunSQLiteRunResult = Record<string, unknown>[] & Record<string, unknown>;
|
|
19
|
+
type PreparedQueryConfig = Omit<PreparedQueryConfigBase, 'statement' | 'run'>;
|
|
20
|
+
export declare class BunSQLiteSession<TSQL extends BunSQL, TFullSchema extends Record<string, unknown>, TRelations extends AnyRelations, TSchema extends V1.TablesRelationalConfig> extends SQLiteSession<'async', BunSQLiteRunResult, TFullSchema, TRelations, TSchema> {
|
|
21
|
+
readonly client: TSQL;
|
|
22
|
+
private relations;
|
|
23
|
+
private schema;
|
|
24
|
+
readonly options: BunSQLiteSessionOptions;
|
|
25
|
+
static readonly [entityKind]: string;
|
|
26
|
+
private logger;
|
|
27
|
+
private cache;
|
|
28
|
+
constructor(client: TSQL, dialect: SQLiteAsyncDialect, relations: TRelations, schema: V1.RelationalSchemaConfig<TSchema> | undefined, options: BunSQLiteSessionOptions);
|
|
29
|
+
prepareQuery<T extends Omit<PreparedQueryConfig, 'run'>>(query: Query, fields: SelectedFieldsOrdered | undefined, executeMethod: SQLiteExecuteMethod, isResponseInArrayMode: boolean, customResultMapper?: (rows: unknown[][]) => unknown, queryMetadata?: {
|
|
30
|
+
type: 'select' | 'update' | 'delete' | 'insert';
|
|
31
|
+
tables: string[];
|
|
32
|
+
}, cacheConfig?: WithCacheConfig): BunSQLitePreparedQuery<T>;
|
|
33
|
+
prepareRelationalQuery<T extends Omit<PreparedQueryConfig, 'run'>>(query: Query, fields: SelectedFieldsOrdered | undefined, executeMethod: SQLiteExecuteMethod, customResultMapper: (rows: Record<string, unknown>[]) => unknown): BunSQLitePreparedQuery<T, true>;
|
|
34
|
+
run(query: SQL): Result<'async', BunSQLiteRunResult>;
|
|
35
|
+
transaction<T>(transaction: (db: BunSQLiteTransaction<TFullSchema, TRelations, TSchema>) => T | Promise<T>, config?: SQLiteTransactionConfig): Promise<T>;
|
|
36
|
+
}
|
|
37
|
+
export declare class BunSQLiteTransaction<TFullSchema extends Record<string, unknown>, TRelations extends AnyRelations, TSchema extends V1.TablesRelationalConfig> extends SQLiteTransaction<'async', BunSQLiteRunResult, TFullSchema, TRelations, TSchema> {
|
|
38
|
+
static readonly [entityKind]: string;
|
|
39
|
+
transaction<T>(transaction: (tx: BunSQLiteTransaction<TFullSchema, TRelations, TSchema>) => Promise<T>): Promise<T>;
|
|
40
|
+
}
|
|
41
|
+
export declare class BunSQLitePreparedQuery<T extends PreparedQueryConfig = PreparedQueryConfig, TIsRqbV2 extends boolean = false> extends SQLitePreparedQuery<{
|
|
42
|
+
type: 'async';
|
|
43
|
+
run: BunSQLiteRunResult;
|
|
44
|
+
all: T['all'];
|
|
45
|
+
get: T['get'];
|
|
46
|
+
values: T['values'];
|
|
47
|
+
execute: T['execute'];
|
|
48
|
+
}> {
|
|
49
|
+
private client;
|
|
50
|
+
private logger;
|
|
51
|
+
private _isResponseInArrayMode;
|
|
52
|
+
private customResultMapper?;
|
|
53
|
+
private isRqbV2Query?;
|
|
54
|
+
static readonly [entityKind]: string;
|
|
55
|
+
constructor(client: BunSQL, query: Query, logger: Logger, cache: Cache, queryMetadata: {
|
|
56
|
+
type: 'select' | 'update' | 'delete' | 'insert';
|
|
57
|
+
tables: string[];
|
|
58
|
+
} | undefined, cacheConfig: WithCacheConfig | undefined,
|
|
59
|
+
/** @internal */ fields: SelectedFieldsOrdered | undefined, executeMethod: SQLiteExecuteMethod, _isResponseInArrayMode: boolean, customResultMapper?: ((rows: TIsRqbV2 extends true ? Record<string, unknown>[] : unknown[][], mapColumnValue?: (value: unknown) => unknown) => unknown) | undefined, isRqbV2Query?: TIsRqbV2 | undefined);
|
|
60
|
+
run(placeholderValues?: Record<string, unknown>): Promise<BunSQLiteRunResult>;
|
|
61
|
+
all(placeholderValues?: Record<string, unknown>): Promise<T['all']>;
|
|
62
|
+
private allRqbV2;
|
|
63
|
+
get(placeholderValues?: Record<string, unknown>): Promise<T['get']>;
|
|
64
|
+
private getRqbV2;
|
|
65
|
+
values(placeholderValues?: Record<string, unknown>): Promise<T['values']>;
|
|
66
|
+
}
|
|
67
|
+
export {};
|