drizzle-orm 0.35.1-74d2f4c → 0.35.2-728dcb3
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/better-sqlite3/driver.cjs +10 -9
- package/better-sqlite3/driver.cjs.map +1 -1
- package/better-sqlite3/driver.d.cts +1 -1
- package/better-sqlite3/driver.d.ts +1 -1
- package/better-sqlite3/driver.js +10 -9
- package/better-sqlite3/driver.js.map +1 -1
- package/bun-sqlite/driver.cjs +10 -9
- package/bun-sqlite/driver.cjs.map +1 -1
- package/bun-sqlite/driver.d.cts +1 -1
- package/bun-sqlite/driver.d.ts +1 -1
- package/bun-sqlite/driver.js +10 -9
- package/bun-sqlite/driver.js.map +1 -1
- package/libsql/driver-core.cjs +67 -0
- package/libsql/driver-core.cjs.map +1 -0
- package/libsql/driver-core.d.cts +8 -0
- package/libsql/driver-core.d.ts +8 -0
- package/libsql/driver-core.js +45 -0
- package/libsql/driver-core.js.map +1 -0
- package/libsql/driver.cjs +15 -52
- package/libsql/driver.cjs.map +1 -1
- package/libsql/driver.d.cts +4 -9
- package/libsql/driver.d.ts +4 -9
- package/libsql/driver.js +13 -53
- package/libsql/driver.js.map +1 -1
- package/libsql/http/index.cjs +53 -0
- package/libsql/http/index.cjs.map +1 -0
- package/libsql/http/index.d.cts +24 -0
- package/libsql/http/index.d.ts +24 -0
- package/libsql/http/index.js +29 -0
- package/libsql/http/index.js.map +1 -0
- package/libsql/node/index.cjs +53 -0
- package/libsql/node/index.cjs.map +1 -0
- package/libsql/node/index.d.cts +24 -0
- package/libsql/node/index.d.ts +24 -0
- package/libsql/node/index.js +29 -0
- package/libsql/node/index.js.map +1 -0
- package/libsql/sqlite3/index.cjs +53 -0
- package/libsql/sqlite3/index.cjs.map +1 -0
- package/libsql/sqlite3/index.d.cts +24 -0
- package/libsql/sqlite3/index.d.ts +24 -0
- package/libsql/sqlite3/index.js +29 -0
- package/libsql/sqlite3/index.js.map +1 -0
- package/libsql/wasm/index.cjs +53 -0
- package/libsql/wasm/index.cjs.map +1 -0
- package/libsql/wasm/index.d.cts +24 -0
- package/libsql/wasm/index.d.ts +24 -0
- package/libsql/wasm/index.js +29 -0
- package/libsql/wasm/index.js.map +1 -0
- package/libsql/web/index.cjs +53 -0
- package/libsql/web/index.cjs.map +1 -0
- package/libsql/web/index.d.cts +24 -0
- package/libsql/web/index.d.ts +24 -0
- package/libsql/web/index.js +29 -0
- package/libsql/web/index.js.map +1 -0
- package/libsql/ws/index.cjs +53 -0
- package/libsql/ws/index.cjs.map +1 -0
- package/libsql/ws/index.d.cts +24 -0
- package/libsql/ws/index.d.ts +24 -0
- package/libsql/ws/index.js +29 -0
- package/libsql/ws/index.js.map +1 -0
- package/mysql2/driver.cjs +11 -11
- package/mysql2/driver.cjs.map +1 -1
- package/mysql2/driver.d.cts +1 -1
- package/mysql2/driver.d.ts +1 -1
- package/mysql2/driver.js +11 -11
- package/mysql2/driver.js.map +1 -1
- package/neon-http/driver.cjs +10 -9
- package/neon-http/driver.cjs.map +1 -1
- package/neon-http/driver.d.cts +1 -1
- package/neon-http/driver.d.ts +1 -1
- package/neon-http/driver.js +10 -9
- package/neon-http/driver.js.map +1 -1
- package/neon-serverless/driver.cjs +10 -9
- package/neon-serverless/driver.cjs.map +1 -1
- package/neon-serverless/driver.d.cts +1 -1
- package/neon-serverless/driver.d.ts +1 -1
- package/neon-serverless/driver.js +10 -9
- package/neon-serverless/driver.js.map +1 -1
- package/node-postgres/driver.cjs +10 -10
- package/node-postgres/driver.cjs.map +1 -1
- package/node-postgres/driver.d.cts +2 -2
- package/node-postgres/driver.d.ts +2 -2
- package/node-postgres/driver.js +10 -10
- package/node-postgres/driver.js.map +1 -1
- package/package.json +136 -50
- package/pglite/driver.cjs +10 -9
- package/pglite/driver.cjs.map +1 -1
- package/pglite/driver.d.cts +1 -1
- package/pglite/driver.d.ts +1 -1
- package/pglite/driver.js +10 -9
- package/pglite/driver.js.map +1 -1
- package/planetscale-serverless/driver.cjs +10 -9
- package/planetscale-serverless/driver.cjs.map +1 -1
- package/planetscale-serverless/driver.d.cts +1 -1
- package/planetscale-serverless/driver.d.ts +1 -1
- package/planetscale-serverless/driver.js +10 -9
- package/planetscale-serverless/driver.js.map +1 -1
- package/postgres-js/driver.cjs +10 -9
- package/postgres-js/driver.cjs.map +1 -1
- package/postgres-js/driver.d.cts +1 -1
- package/postgres-js/driver.d.ts +1 -1
- package/postgres-js/driver.js +10 -9
- package/postgres-js/driver.js.map +1 -1
- package/tidb-serverless/driver.cjs +13 -12
- package/tidb-serverless/driver.cjs.map +1 -1
- package/tidb-serverless/driver.d.cts +2 -2
- package/tidb-serverless/driver.d.ts +2 -2
- package/tidb-serverless/driver.js +14 -13
- package/tidb-serverless/driver.js.map +1 -1
- package/utils.cjs +48 -0
- package/utils.cjs.map +1 -1
- package/utils.d.cts +2 -1
- package/utils.d.ts +2 -1
- package/utils.js +47 -0
- package/utils.js.map +1 -1
- package/vercel-postgres/driver.cjs +5 -7
- package/vercel-postgres/driver.cjs.map +1 -1
- package/vercel-postgres/driver.d.cts +3 -5
- package/vercel-postgres/driver.d.ts +3 -5
- package/vercel-postgres/driver.js +5 -7
- package/vercel-postgres/driver.js.map +1 -1
- package/version.cjs +1 -1
- package/version.d.cts +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
|
@@ -38,6 +38,7 @@ var import_logger = require("../logger.cjs");
|
|
|
38
38
|
var import_relations = require("../relations.cjs");
|
|
39
39
|
var import_db = require("../sqlite-core/db.cjs");
|
|
40
40
|
var import_dialect = require("../sqlite-core/dialect.cjs");
|
|
41
|
+
var import_utils = require("../utils.cjs");
|
|
41
42
|
var import_session = require("./session.cjs");
|
|
42
43
|
class BetterSQLite3Database extends import_db.BaseSQLiteDatabase {
|
|
43
44
|
static [import_entity.entityKind] = "BetterSQLite3Database";
|
|
@@ -68,23 +69,23 @@ function construct(client, config = {}) {
|
|
|
68
69
|
return db;
|
|
69
70
|
}
|
|
70
71
|
function drizzle(...params) {
|
|
71
|
-
if (params[0]
|
|
72
|
-
|
|
72
|
+
if (params[0] === void 0 || typeof params[0] === "string") {
|
|
73
|
+
const instance = params[0] === void 0 ? new import_better_sqlite3.default() : new import_better_sqlite3.default(params[0]);
|
|
74
|
+
return construct(instance, params[1]);
|
|
73
75
|
}
|
|
74
|
-
if (
|
|
76
|
+
if ((0, import_utils.isConfig)(params[0])) {
|
|
75
77
|
const { connection, client, ...drizzleConfig } = params[0];
|
|
76
78
|
if (client)
|
|
77
79
|
return construct(client, drizzleConfig);
|
|
78
80
|
if (typeof connection === "object") {
|
|
79
81
|
const { source, ...options } = connection;
|
|
80
|
-
const
|
|
81
|
-
return construct(
|
|
82
|
+
const instance2 = new import_better_sqlite3.default(source, options);
|
|
83
|
+
return construct(instance2, drizzleConfig);
|
|
82
84
|
}
|
|
83
|
-
const
|
|
84
|
-
return construct(
|
|
85
|
+
const instance = new import_better_sqlite3.default(connection);
|
|
86
|
+
return construct(instance, drizzleConfig);
|
|
85
87
|
}
|
|
86
|
-
|
|
87
|
-
return construct(instance, params[1]);
|
|
88
|
+
return construct(params[0], params[1]);
|
|
88
89
|
}
|
|
89
90
|
((drizzle2) => {
|
|
90
91
|
function mock(config) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/better-sqlite3/driver.ts"],"sourcesContent":["import Client, { type Database, type Options, type RunResult } from 'better-sqlite3';\nimport { entityKind } from '~/entity.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport {\n\tcreateTableRelationsHelpers,\n\textractTablesRelationalConfig,\n\ttype RelationalSchemaConfig,\n\ttype TablesRelationalConfig,\n} from '~/relations.ts';\nimport { BaseSQLiteDatabase } from '~/sqlite-core/db.ts';\nimport { SQLiteSyncDialect } from '~/sqlite-core/dialect.ts';\nimport type
|
|
1
|
+
{"version":3,"sources":["../../src/better-sqlite3/driver.ts"],"sourcesContent":["import Client, { type Database, type Options, type RunResult } from 'better-sqlite3';\nimport { entityKind } from '~/entity.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport {\n\tcreateTableRelationsHelpers,\n\textractTablesRelationalConfig,\n\ttype RelationalSchemaConfig,\n\ttype TablesRelationalConfig,\n} from '~/relations.ts';\nimport { BaseSQLiteDatabase } from '~/sqlite-core/db.ts';\nimport { SQLiteSyncDialect } from '~/sqlite-core/dialect.ts';\nimport { type DrizzleConfig, type IfNotImported, type ImportTypeError, isConfig } from '~/utils.ts';\nimport { BetterSQLiteSession } from './session.ts';\n\nexport type DrizzleBetterSQLite3DatabaseConfig =\n\t| ({\n\t\tsource?:\n\t\t\t| string\n\t\t\t| Buffer;\n\t} & Options)\n\t| string\n\t| undefined;\n\nexport class BetterSQLite3Database<TSchema extends Record<string, unknown> = Record<string, never>>\n\textends BaseSQLiteDatabase<'sync', RunResult, TSchema>\n{\n\tstatic override readonly [entityKind]: string = 'BetterSQLite3Database';\n}\n\nfunction construct<TSchema extends Record<string, unknown> = Record<string, never>>(\n\tclient: Database,\n\tconfig: DrizzleConfig<TSchema> = {},\n): BetterSQLite3Database<TSchema> & {\n\t$client: Database;\n} {\n\tconst dialect = new SQLiteSyncDialect({ casing: config.casing });\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\n\tlet schema: RelationalSchemaConfig<TablesRelationalConfig> | undefined;\n\tif (config.schema) {\n\t\tconst tablesConfig = extractTablesRelationalConfig(\n\t\t\tconfig.schema,\n\t\t\tcreateTableRelationsHelpers,\n\t\t);\n\t\tschema = {\n\t\t\tfullSchema: config.schema,\n\t\t\tschema: tablesConfig.tables,\n\t\t\ttableNamesMap: tablesConfig.tableNamesMap,\n\t\t};\n\t}\n\n\tconst session = new BetterSQLiteSession(client, dialect, schema, { logger });\n\tconst db = new BetterSQLite3Database('sync', dialect, session, schema);\n\t(<any> db).$client = client;\n\n\treturn db as any;\n}\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n>(\n\t...params: IfNotImported<\n\t\tDatabase,\n\t\t[ImportTypeError<'better-sqlite3'>],\n\t\t| []\n\t\t| [\n\t\t\tDatabase | string,\n\t\t]\n\t\t| [\n\t\t\tDatabase | string,\n\t\t\tDrizzleConfig<TSchema>,\n\t\t]\n\t\t| [\n\t\t\t(\n\t\t\t\t& DrizzleConfig<TSchema>\n\t\t\t\t& ({\n\t\t\t\t\tconnection?: DrizzleBetterSQLite3DatabaseConfig;\n\t\t\t\t} | {\n\t\t\t\t\tclient: Database;\n\t\t\t\t})\n\t\t\t),\n\t\t]\n\t>\n): BetterSQLite3Database<TSchema> & {\n\t$client: Database;\n} {\n\tif (params[0] === undefined || typeof params[0] === 'string') {\n\t\tconst instance = params[0] === undefined ? new Client() : new Client(params[0]);\n\n\t\treturn construct(instance, params[1]) as any;\n\t}\n\n\tif (isConfig(params[0])) {\n\t\tconst { connection, client, ...drizzleConfig } = params[0] as\n\t\t\t& {\n\t\t\t\tconnection?: DrizzleBetterSQLite3DatabaseConfig;\n\t\t\t\tclient?: Database;\n\t\t\t}\n\t\t\t& DrizzleConfig<TSchema>;\n\n\t\tif (client) return construct(client, drizzleConfig) as any;\n\n\t\tif (typeof connection === 'object') {\n\t\t\tconst { source, ...options } = connection;\n\n\t\t\tconst instance = new Client(source, options);\n\n\t\t\treturn construct(instance, drizzleConfig) as any;\n\t\t}\n\n\t\tconst instance = new Client(connection);\n\n\t\treturn construct(instance, drizzleConfig) as any;\n\t}\n\n\treturn construct(params[0] as Database, params[1] as DrizzleConfig<TSchema> | undefined) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<TSchema extends Record<string, unknown> = Record<string, never>>(\n\t\tconfig?: DrizzleConfig<TSchema>,\n\t): BetterSQLite3Database<TSchema> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, config) as any;\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4BAAoE;AACpE,oBAA2B;AAC3B,oBAA8B;AAC9B,uBAKO;AACP,gBAAmC;AACnC,qBAAkC;AAClC,mBAAuF;AACvF,qBAAoC;AAW7B,MAAM,8BACJ,6BACT;AAAA,EACC,QAA0B,wBAAU,IAAY;AACjD;AAEA,SAAS,UACR,QACA,SAAiC,CAAC,GAGjC;AACD,QAAM,UAAU,IAAI,iCAAkB,EAAE,QAAQ,OAAO,OAAO,CAAC;AAC/D,MAAI;AACJ,MAAI,OAAO,WAAW,MAAM;AAC3B,aAAS,IAAI,4BAAc;AAAA,EAC5B,WAAW,OAAO,WAAW,OAAO;AACnC,aAAS,OAAO;AAAA,EACjB;AAEA,MAAI;AACJ,MAAI,OAAO,QAAQ;AAClB,UAAM,mBAAe;AAAA,MACpB,OAAO;AAAA,MACP;AAAA,IACD;AACA,aAAS;AAAA,MACR,YAAY,OAAO;AAAA,MACnB,QAAQ,aAAa;AAAA,MACrB,eAAe,aAAa;AAAA,IAC7B;AAAA,EACD;AAEA,QAAM,UAAU,IAAI,mCAAoB,QAAQ,SAAS,QAAQ,EAAE,OAAO,CAAC;AAC3E,QAAM,KAAK,IAAI,sBAAsB,QAAQ,SAAS,SAAS,MAAM;AACrE,EAAO,GAAI,UAAU;AAErB,SAAO;AACR;AAEO,SAAS,WAGZ,QAwBF;AACD,MAAI,OAAO,CAAC,MAAM,UAAa,OAAO,OAAO,CAAC,MAAM,UAAU;AAC7D,UAAM,WAAW,OAAO,CAAC,MAAM,SAAY,IAAI,sBAAAA,QAAO,IAAI,IAAI,sBAAAA,QAAO,OAAO,CAAC,CAAC;AAE9E,WAAO,UAAU,UAAU,OAAO,CAAC,CAAC;AAAA,EACrC;AAEA,UAAI,uBAAS,OAAO,CAAC,CAAC,GAAG;AACxB,UAAM,EAAE,YAAY,QAAQ,GAAG,cAAc,IAAI,OAAO,CAAC;AAOzD,QAAI;AAAQ,aAAO,UAAU,QAAQ,aAAa;AAElD,QAAI,OAAO,eAAe,UAAU;AACnC,YAAM,EAAE,QAAQ,GAAG,QAAQ,IAAI;AAE/B,YAAMC,YAAW,IAAI,sBAAAD,QAAO,QAAQ,OAAO;AAE3C,aAAO,UAAUC,WAAU,aAAa;AAAA,IACzC;AAEA,UAAM,WAAW,IAAI,sBAAAD,QAAO,UAAU;AAEtC,WAAO,UAAU,UAAU,aAAa;AAAA,EACzC;AAEA,SAAO,UAAU,OAAO,CAAC,GAAe,OAAO,CAAC,CAAuC;AACxF;AAAA,CAEO,CAAUE,aAAV;AACC,WAAS,KACf,QAGC;AACD,WAAO,UAAU,CAAC,GAAU,MAAM;AAAA,EACnC;AANO,EAAAA,SAAS;AAAA,GADA;","names":["Client","instance","drizzle"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type Database, type Options, type RunResult } from 'better-sqlite3';
|
|
2
2
|
import { entityKind } from "../entity.cjs";
|
|
3
3
|
import { BaseSQLiteDatabase } from "../sqlite-core/db.cjs";
|
|
4
|
-
import type
|
|
4
|
+
import { type DrizzleConfig, type IfNotImported, type ImportTypeError } from "../utils.cjs";
|
|
5
5
|
export type DrizzleBetterSQLite3DatabaseConfig = ({
|
|
6
6
|
source?: string | Buffer;
|
|
7
7
|
} & Options) | string | undefined;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type Database, type Options, type RunResult } from 'better-sqlite3';
|
|
2
2
|
import { entityKind } from "../entity.js";
|
|
3
3
|
import { BaseSQLiteDatabase } from "../sqlite-core/db.js";
|
|
4
|
-
import type
|
|
4
|
+
import { type DrizzleConfig, type IfNotImported, type ImportTypeError } from "../utils.js";
|
|
5
5
|
export type DrizzleBetterSQLite3DatabaseConfig = ({
|
|
6
6
|
source?: string | Buffer;
|
|
7
7
|
} & Options) | string | undefined;
|
package/better-sqlite3/driver.js
CHANGED
|
@@ -7,6 +7,7 @@ import {
|
|
|
7
7
|
} from "../relations.js";
|
|
8
8
|
import { BaseSQLiteDatabase } from "../sqlite-core/db.js";
|
|
9
9
|
import { SQLiteSyncDialect } from "../sqlite-core/dialect.js";
|
|
10
|
+
import { isConfig } from "../utils.js";
|
|
10
11
|
import { BetterSQLiteSession } from "./session.js";
|
|
11
12
|
class BetterSQLite3Database extends BaseSQLiteDatabase {
|
|
12
13
|
static [entityKind] = "BetterSQLite3Database";
|
|
@@ -37,23 +38,23 @@ function construct(client, config = {}) {
|
|
|
37
38
|
return db;
|
|
38
39
|
}
|
|
39
40
|
function drizzle(...params) {
|
|
40
|
-
if (params[0]
|
|
41
|
-
|
|
41
|
+
if (params[0] === void 0 || typeof params[0] === "string") {
|
|
42
|
+
const instance = params[0] === void 0 ? new Client() : new Client(params[0]);
|
|
43
|
+
return construct(instance, params[1]);
|
|
42
44
|
}
|
|
43
|
-
if (
|
|
45
|
+
if (isConfig(params[0])) {
|
|
44
46
|
const { connection, client, ...drizzleConfig } = params[0];
|
|
45
47
|
if (client)
|
|
46
48
|
return construct(client, drizzleConfig);
|
|
47
49
|
if (typeof connection === "object") {
|
|
48
50
|
const { source, ...options } = connection;
|
|
49
|
-
const
|
|
50
|
-
return construct(
|
|
51
|
+
const instance2 = new Client(source, options);
|
|
52
|
+
return construct(instance2, drizzleConfig);
|
|
51
53
|
}
|
|
52
|
-
const
|
|
53
|
-
return construct(
|
|
54
|
+
const instance = new Client(connection);
|
|
55
|
+
return construct(instance, drizzleConfig);
|
|
54
56
|
}
|
|
55
|
-
|
|
56
|
-
return construct(instance, params[1]);
|
|
57
|
+
return construct(params[0], params[1]);
|
|
57
58
|
}
|
|
58
59
|
((drizzle2) => {
|
|
59
60
|
function mock(config) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/better-sqlite3/driver.ts"],"sourcesContent":["import Client, { type Database, type Options, type RunResult } from 'better-sqlite3';\nimport { entityKind } from '~/entity.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport {\n\tcreateTableRelationsHelpers,\n\textractTablesRelationalConfig,\n\ttype RelationalSchemaConfig,\n\ttype TablesRelationalConfig,\n} from '~/relations.ts';\nimport { BaseSQLiteDatabase } from '~/sqlite-core/db.ts';\nimport { SQLiteSyncDialect } from '~/sqlite-core/dialect.ts';\nimport type
|
|
1
|
+
{"version":3,"sources":["../../src/better-sqlite3/driver.ts"],"sourcesContent":["import Client, { type Database, type Options, type RunResult } from 'better-sqlite3';\nimport { entityKind } from '~/entity.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport {\n\tcreateTableRelationsHelpers,\n\textractTablesRelationalConfig,\n\ttype RelationalSchemaConfig,\n\ttype TablesRelationalConfig,\n} from '~/relations.ts';\nimport { BaseSQLiteDatabase } from '~/sqlite-core/db.ts';\nimport { SQLiteSyncDialect } from '~/sqlite-core/dialect.ts';\nimport { type DrizzleConfig, type IfNotImported, type ImportTypeError, isConfig } from '~/utils.ts';\nimport { BetterSQLiteSession } from './session.ts';\n\nexport type DrizzleBetterSQLite3DatabaseConfig =\n\t| ({\n\t\tsource?:\n\t\t\t| string\n\t\t\t| Buffer;\n\t} & Options)\n\t| string\n\t| undefined;\n\nexport class BetterSQLite3Database<TSchema extends Record<string, unknown> = Record<string, never>>\n\textends BaseSQLiteDatabase<'sync', RunResult, TSchema>\n{\n\tstatic override readonly [entityKind]: string = 'BetterSQLite3Database';\n}\n\nfunction construct<TSchema extends Record<string, unknown> = Record<string, never>>(\n\tclient: Database,\n\tconfig: DrizzleConfig<TSchema> = {},\n): BetterSQLite3Database<TSchema> & {\n\t$client: Database;\n} {\n\tconst dialect = new SQLiteSyncDialect({ casing: config.casing });\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\n\tlet schema: RelationalSchemaConfig<TablesRelationalConfig> | undefined;\n\tif (config.schema) {\n\t\tconst tablesConfig = extractTablesRelationalConfig(\n\t\t\tconfig.schema,\n\t\t\tcreateTableRelationsHelpers,\n\t\t);\n\t\tschema = {\n\t\t\tfullSchema: config.schema,\n\t\t\tschema: tablesConfig.tables,\n\t\t\ttableNamesMap: tablesConfig.tableNamesMap,\n\t\t};\n\t}\n\n\tconst session = new BetterSQLiteSession(client, dialect, schema, { logger });\n\tconst db = new BetterSQLite3Database('sync', dialect, session, schema);\n\t(<any> db).$client = client;\n\n\treturn db as any;\n}\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n>(\n\t...params: IfNotImported<\n\t\tDatabase,\n\t\t[ImportTypeError<'better-sqlite3'>],\n\t\t| []\n\t\t| [\n\t\t\tDatabase | string,\n\t\t]\n\t\t| [\n\t\t\tDatabase | string,\n\t\t\tDrizzleConfig<TSchema>,\n\t\t]\n\t\t| [\n\t\t\t(\n\t\t\t\t& DrizzleConfig<TSchema>\n\t\t\t\t& ({\n\t\t\t\t\tconnection?: DrizzleBetterSQLite3DatabaseConfig;\n\t\t\t\t} | {\n\t\t\t\t\tclient: Database;\n\t\t\t\t})\n\t\t\t),\n\t\t]\n\t>\n): BetterSQLite3Database<TSchema> & {\n\t$client: Database;\n} {\n\tif (params[0] === undefined || typeof params[0] === 'string') {\n\t\tconst instance = params[0] === undefined ? new Client() : new Client(params[0]);\n\n\t\treturn construct(instance, params[1]) as any;\n\t}\n\n\tif (isConfig(params[0])) {\n\t\tconst { connection, client, ...drizzleConfig } = params[0] as\n\t\t\t& {\n\t\t\t\tconnection?: DrizzleBetterSQLite3DatabaseConfig;\n\t\t\t\tclient?: Database;\n\t\t\t}\n\t\t\t& DrizzleConfig<TSchema>;\n\n\t\tif (client) return construct(client, drizzleConfig) as any;\n\n\t\tif (typeof connection === 'object') {\n\t\t\tconst { source, ...options } = connection;\n\n\t\t\tconst instance = new Client(source, options);\n\n\t\t\treturn construct(instance, drizzleConfig) as any;\n\t\t}\n\n\t\tconst instance = new Client(connection);\n\n\t\treturn construct(instance, drizzleConfig) as any;\n\t}\n\n\treturn construct(params[0] as Database, params[1] as DrizzleConfig<TSchema> | undefined) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<TSchema extends Record<string, unknown> = Record<string, never>>(\n\t\tconfig?: DrizzleConfig<TSchema>,\n\t): BetterSQLite3Database<TSchema> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, config) as any;\n\t}\n}\n"],"mappings":"AAAA,OAAO,YAA6D;AACpE,SAAS,kBAAkB;AAC3B,SAAS,qBAAqB;AAC9B;AAAA,EACC;AAAA,EACA;AAAA,OAGM;AACP,SAAS,0BAA0B;AACnC,SAAS,yBAAyB;AAClC,SAAuE,gBAAgB;AACvF,SAAS,2BAA2B;AAW7B,MAAM,8BACJ,mBACT;AAAA,EACC,QAA0B,UAAU,IAAY;AACjD;AAEA,SAAS,UACR,QACA,SAAiC,CAAC,GAGjC;AACD,QAAM,UAAU,IAAI,kBAAkB,EAAE,QAAQ,OAAO,OAAO,CAAC;AAC/D,MAAI;AACJ,MAAI,OAAO,WAAW,MAAM;AAC3B,aAAS,IAAI,cAAc;AAAA,EAC5B,WAAW,OAAO,WAAW,OAAO;AACnC,aAAS,OAAO;AAAA,EACjB;AAEA,MAAI;AACJ,MAAI,OAAO,QAAQ;AAClB,UAAM,eAAe;AAAA,MACpB,OAAO;AAAA,MACP;AAAA,IACD;AACA,aAAS;AAAA,MACR,YAAY,OAAO;AAAA,MACnB,QAAQ,aAAa;AAAA,MACrB,eAAe,aAAa;AAAA,IAC7B;AAAA,EACD;AAEA,QAAM,UAAU,IAAI,oBAAoB,QAAQ,SAAS,QAAQ,EAAE,OAAO,CAAC;AAC3E,QAAM,KAAK,IAAI,sBAAsB,QAAQ,SAAS,SAAS,MAAM;AACrE,EAAO,GAAI,UAAU;AAErB,SAAO;AACR;AAEO,SAAS,WAGZ,QAwBF;AACD,MAAI,OAAO,CAAC,MAAM,UAAa,OAAO,OAAO,CAAC,MAAM,UAAU;AAC7D,UAAM,WAAW,OAAO,CAAC,MAAM,SAAY,IAAI,OAAO,IAAI,IAAI,OAAO,OAAO,CAAC,CAAC;AAE9E,WAAO,UAAU,UAAU,OAAO,CAAC,CAAC;AAAA,EACrC;AAEA,MAAI,SAAS,OAAO,CAAC,CAAC,GAAG;AACxB,UAAM,EAAE,YAAY,QAAQ,GAAG,cAAc,IAAI,OAAO,CAAC;AAOzD,QAAI;AAAQ,aAAO,UAAU,QAAQ,aAAa;AAElD,QAAI,OAAO,eAAe,UAAU;AACnC,YAAM,EAAE,QAAQ,GAAG,QAAQ,IAAI;AAE/B,YAAMA,YAAW,IAAI,OAAO,QAAQ,OAAO;AAE3C,aAAO,UAAUA,WAAU,aAAa;AAAA,IACzC;AAEA,UAAM,WAAW,IAAI,OAAO,UAAU;AAEtC,WAAO,UAAU,UAAU,aAAa;AAAA,EACzC;AAEA,SAAO,UAAU,OAAO,CAAC,GAAe,OAAO,CAAC,CAAuC;AACxF;AAAA,CAEO,CAAUC,aAAV;AACC,WAAS,KACf,QAGC;AACD,WAAO,UAAU,CAAC,GAAU,MAAM;AAAA,EACnC;AANO,EAAAA,SAAS;AAAA,GADA;","names":["instance","drizzle"]}
|
package/bun-sqlite/driver.cjs
CHANGED
|
@@ -28,6 +28,7 @@ var import_logger = require("../logger.cjs");
|
|
|
28
28
|
var import_relations = require("../relations.cjs");
|
|
29
29
|
var import_db = require("../sqlite-core/db.cjs");
|
|
30
30
|
var import_dialect = require("../sqlite-core/dialect.cjs");
|
|
31
|
+
var import_utils = require("../utils.cjs");
|
|
31
32
|
var import_session = require("./session.cjs");
|
|
32
33
|
class BunSQLiteDatabase extends import_db.BaseSQLiteDatabase {
|
|
33
34
|
static [import_entity.entityKind] = "BunSQLiteDatabase";
|
|
@@ -58,24 +59,24 @@ function construct(client, config = {}) {
|
|
|
58
59
|
return db;
|
|
59
60
|
}
|
|
60
61
|
function drizzle(...params) {
|
|
61
|
-
if (params[0]
|
|
62
|
-
|
|
62
|
+
if (params[0] === void 0 || typeof params[0] === "string") {
|
|
63
|
+
const instance = params[0] === void 0 ? new import_bun_sqlite.Database() : new import_bun_sqlite.Database(params[0]);
|
|
64
|
+
return construct(instance, params[1]);
|
|
63
65
|
}
|
|
64
|
-
if (
|
|
66
|
+
if ((0, import_utils.isConfig)(params[0])) {
|
|
65
67
|
const { connection, client, ...drizzleConfig } = params[0];
|
|
66
68
|
if (client)
|
|
67
69
|
return construct(client, drizzleConfig);
|
|
68
70
|
if (typeof connection === "object") {
|
|
69
71
|
const { source, ...opts } = connection;
|
|
70
72
|
const options = Object.values(opts).filter((v) => v !== void 0).length ? opts : void 0;
|
|
71
|
-
const
|
|
72
|
-
return construct(
|
|
73
|
+
const instance2 = new import_bun_sqlite.Database(source, options);
|
|
74
|
+
return construct(instance2, drizzleConfig);
|
|
73
75
|
}
|
|
74
|
-
const
|
|
75
|
-
return construct(
|
|
76
|
+
const instance = new import_bun_sqlite.Database(connection);
|
|
77
|
+
return construct(instance, drizzleConfig);
|
|
76
78
|
}
|
|
77
|
-
|
|
78
|
-
return construct(instance, params[1]);
|
|
79
|
+
return construct(params[0], params[1]);
|
|
79
80
|
}
|
|
80
81
|
((drizzle2) => {
|
|
81
82
|
function mock(config) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/bun-sqlite/driver.ts"],"sourcesContent":["/// <reference types=\"bun-types\" />\n\nimport { Database } from 'bun:sqlite';\nimport { entityKind } from '~/entity.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport {\n\tcreateTableRelationsHelpers,\n\textractTablesRelationalConfig,\n\ttype RelationalSchemaConfig,\n\ttype TablesRelationalConfig,\n} from '~/relations.ts';\nimport { BaseSQLiteDatabase } from '~/sqlite-core/db.ts';\nimport { SQLiteSyncDialect } from '~/sqlite-core/dialect.ts';\nimport type
|
|
1
|
+
{"version":3,"sources":["../../src/bun-sqlite/driver.ts"],"sourcesContent":["/// <reference types=\"bun-types\" />\n\nimport { Database } from 'bun:sqlite';\nimport { entityKind } from '~/entity.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport {\n\tcreateTableRelationsHelpers,\n\textractTablesRelationalConfig,\n\ttype RelationalSchemaConfig,\n\ttype TablesRelationalConfig,\n} from '~/relations.ts';\nimport { BaseSQLiteDatabase } from '~/sqlite-core/db.ts';\nimport { SQLiteSyncDialect } from '~/sqlite-core/dialect.ts';\nimport { type DrizzleConfig, type IfNotImported, type ImportTypeError, isConfig } from '~/utils.ts';\nimport { SQLiteBunSession } from './session.ts';\n\nexport class BunSQLiteDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n> extends BaseSQLiteDatabase<'sync', void, TSchema> {\n\tstatic override readonly [entityKind]: string = 'BunSQLiteDatabase';\n}\n\ntype DrizzleBunSqliteDatabaseOptions = {\n\t/**\n\t * Open the database as read-only (no write operations, no create).\n\t *\n\t * Equivalent to {@link constants.SQLITE_OPEN_READONLY}\n\t */\n\treadonly?: boolean;\n\t/**\n\t * Allow creating a new database\n\t *\n\t * Equivalent to {@link constants.SQLITE_OPEN_CREATE}\n\t */\n\tcreate?: boolean;\n\t/**\n\t * Open the database as read-write\n\t *\n\t * Equivalent to {@link constants.SQLITE_OPEN_READWRITE}\n\t */\n\treadwrite?: boolean;\n};\n\nexport type DrizzleBunSqliteDatabaseConfig =\n\t| ({\n\t\tsource?: string;\n\t} & DrizzleBunSqliteDatabaseOptions)\n\t| string\n\t| undefined;\n\nfunction construct<TSchema extends Record<string, unknown> = Record<string, never>>(\n\tclient: Database,\n\tconfig: DrizzleConfig<TSchema> = {},\n): BunSQLiteDatabase<TSchema> & {\n\t$client: Database;\n} {\n\tconst dialect = new SQLiteSyncDialect({ casing: config.casing });\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\n\tlet schema: RelationalSchemaConfig<TablesRelationalConfig> | undefined;\n\tif (config.schema) {\n\t\tconst tablesConfig = extractTablesRelationalConfig(\n\t\t\tconfig.schema,\n\t\t\tcreateTableRelationsHelpers,\n\t\t);\n\t\tschema = {\n\t\t\tfullSchema: config.schema,\n\t\t\tschema: tablesConfig.tables,\n\t\t\ttableNamesMap: tablesConfig.tableNamesMap,\n\t\t};\n\t}\n\n\tconst session = new SQLiteBunSession(client, dialect, schema, { logger });\n\tconst db = new BunSQLiteDatabase('sync', dialect, session, schema) as BunSQLiteDatabase<TSchema>;\n\t(<any> db).$client = client;\n\n\treturn db as any;\n}\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTClient extends Database = Database,\n>(\n\t...params: IfNotImported<\n\t\tDatabase,\n\t\t[ImportTypeError<'bun-types'>],\n\t\t| []\n\t\t| [\n\t\t\tTClient | string,\n\t\t]\n\t\t| [\n\t\t\tTClient | string,\n\t\t\tDrizzleConfig<TSchema>,\n\t\t]\n\t\t| [\n\t\t\t(\n\t\t\t\t& DrizzleConfig<TSchema>\n\t\t\t\t& ({\n\t\t\t\t\tconnection?: DrizzleBunSqliteDatabaseConfig;\n\t\t\t\t} | {\n\t\t\t\t\tclient: TClient;\n\t\t\t\t})\n\t\t\t),\n\t\t]\n\t>\n): BunSQLiteDatabase<TSchema> & {\n\t$client: TClient;\n} {\n\tif (params[0] === undefined || typeof params[0] === 'string') {\n\t\tconst instance = params[0] === undefined ? new Database() : new Database(params[0]);\n\n\t\treturn construct(instance, params[1]) as any;\n\t}\n\n\tif (isConfig(params[0])) {\n\t\tconst { connection, client, ...drizzleConfig } = params[0] as\n\t\t\t& ({\n\t\t\t\tconnection?: DrizzleBunSqliteDatabaseConfig | string;\n\t\t\t\tclient?: TClient;\n\t\t\t})\n\t\t\t& DrizzleConfig<TSchema>;\n\n\t\tif (client) return construct(client, drizzleConfig) as any;\n\n\t\tif (typeof connection === 'object') {\n\t\t\tconst { source, ...opts } = connection;\n\n\t\t\tconst options = Object.values(opts).filter((v) => v !== undefined).length ? opts : undefined;\n\n\t\t\tconst instance = new Database(source, options);\n\n\t\t\treturn construct(instance, drizzleConfig) as any;\n\t\t}\n\n\t\tconst instance = new Database(connection);\n\n\t\treturn construct(instance, drizzleConfig) as any;\n\t}\n\n\treturn construct(params[0] as Database, params[1] as DrizzleConfig<TSchema> | undefined) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<TSchema extends Record<string, unknown> = Record<string, never>>(\n\t\tconfig?: DrizzleConfig<TSchema>,\n\t): BunSQLiteDatabase<TSchema> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, config) as any;\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,wBAAyB;AACzB,oBAA2B;AAC3B,oBAA8B;AAC9B,uBAKO;AACP,gBAAmC;AACnC,qBAAkC;AAClC,mBAAuF;AACvF,qBAAiC;AAE1B,MAAM,0BAEH,6BAA0C;AAAA,EACnD,QAA0B,wBAAU,IAAY;AACjD;AA8BA,SAAS,UACR,QACA,SAAiC,CAAC,GAGjC;AACD,QAAM,UAAU,IAAI,iCAAkB,EAAE,QAAQ,OAAO,OAAO,CAAC;AAC/D,MAAI;AACJ,MAAI,OAAO,WAAW,MAAM;AAC3B,aAAS,IAAI,4BAAc;AAAA,EAC5B,WAAW,OAAO,WAAW,OAAO;AACnC,aAAS,OAAO;AAAA,EACjB;AAEA,MAAI;AACJ,MAAI,OAAO,QAAQ;AAClB,UAAM,mBAAe;AAAA,MACpB,OAAO;AAAA,MACP;AAAA,IACD;AACA,aAAS;AAAA,MACR,YAAY,OAAO;AAAA,MACnB,QAAQ,aAAa;AAAA,MACrB,eAAe,aAAa;AAAA,IAC7B;AAAA,EACD;AAEA,QAAM,UAAU,IAAI,gCAAiB,QAAQ,SAAS,QAAQ,EAAE,OAAO,CAAC;AACxE,QAAM,KAAK,IAAI,kBAAkB,QAAQ,SAAS,SAAS,MAAM;AACjE,EAAO,GAAI,UAAU;AAErB,SAAO;AACR;AAEO,SAAS,WAIZ,QAwBF;AACD,MAAI,OAAO,CAAC,MAAM,UAAa,OAAO,OAAO,CAAC,MAAM,UAAU;AAC7D,UAAM,WAAW,OAAO,CAAC,MAAM,SAAY,IAAI,2BAAS,IAAI,IAAI,2BAAS,OAAO,CAAC,CAAC;AAElF,WAAO,UAAU,UAAU,OAAO,CAAC,CAAC;AAAA,EACrC;AAEA,UAAI,uBAAS,OAAO,CAAC,CAAC,GAAG;AACxB,UAAM,EAAE,YAAY,QAAQ,GAAG,cAAc,IAAI,OAAO,CAAC;AAOzD,QAAI;AAAQ,aAAO,UAAU,QAAQ,aAAa;AAElD,QAAI,OAAO,eAAe,UAAU;AACnC,YAAM,EAAE,QAAQ,GAAG,KAAK,IAAI;AAE5B,YAAM,UAAU,OAAO,OAAO,IAAI,EAAE,OAAO,CAAC,MAAM,MAAM,MAAS,EAAE,SAAS,OAAO;AAEnF,YAAMA,YAAW,IAAI,2BAAS,QAAQ,OAAO;AAE7C,aAAO,UAAUA,WAAU,aAAa;AAAA,IACzC;AAEA,UAAM,WAAW,IAAI,2BAAS,UAAU;AAExC,WAAO,UAAU,UAAU,aAAa;AAAA,EACzC;AAEA,SAAO,UAAU,OAAO,CAAC,GAAe,OAAO,CAAC,CAAuC;AACxF;AAAA,CAEO,CAAUC,aAAV;AACC,WAAS,KACf,QAGC;AACD,WAAO,UAAU,CAAC,GAAU,MAAM;AAAA,EACnC;AANO,EAAAA,SAAS;AAAA,GADA;","names":["instance","drizzle"]}
|
package/bun-sqlite/driver.d.cts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Database } from 'bun:sqlite';
|
|
2
2
|
import { entityKind } from "../entity.cjs";
|
|
3
3
|
import { BaseSQLiteDatabase } from "../sqlite-core/db.cjs";
|
|
4
|
-
import type
|
|
4
|
+
import { type DrizzleConfig, type IfNotImported, type ImportTypeError } from "../utils.cjs";
|
|
5
5
|
export declare class BunSQLiteDatabase<TSchema extends Record<string, unknown> = Record<string, never>> extends BaseSQLiteDatabase<'sync', void, TSchema> {
|
|
6
6
|
static readonly [entityKind]: string;
|
|
7
7
|
}
|
package/bun-sqlite/driver.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Database } from 'bun:sqlite';
|
|
2
2
|
import { entityKind } from "../entity.js";
|
|
3
3
|
import { BaseSQLiteDatabase } from "../sqlite-core/db.js";
|
|
4
|
-
import type
|
|
4
|
+
import { type DrizzleConfig, type IfNotImported, type ImportTypeError } from "../utils.js";
|
|
5
5
|
export declare class BunSQLiteDatabase<TSchema extends Record<string, unknown> = Record<string, never>> extends BaseSQLiteDatabase<'sync', void, TSchema> {
|
|
6
6
|
static readonly [entityKind]: string;
|
|
7
7
|
}
|
package/bun-sqlite/driver.js
CHANGED
|
@@ -7,6 +7,7 @@ import {
|
|
|
7
7
|
} from "../relations.js";
|
|
8
8
|
import { BaseSQLiteDatabase } from "../sqlite-core/db.js";
|
|
9
9
|
import { SQLiteSyncDialect } from "../sqlite-core/dialect.js";
|
|
10
|
+
import { isConfig } from "../utils.js";
|
|
10
11
|
import { SQLiteBunSession } from "./session.js";
|
|
11
12
|
class BunSQLiteDatabase extends BaseSQLiteDatabase {
|
|
12
13
|
static [entityKind] = "BunSQLiteDatabase";
|
|
@@ -37,24 +38,24 @@ function construct(client, config = {}) {
|
|
|
37
38
|
return db;
|
|
38
39
|
}
|
|
39
40
|
function drizzle(...params) {
|
|
40
|
-
if (params[0]
|
|
41
|
-
|
|
41
|
+
if (params[0] === void 0 || typeof params[0] === "string") {
|
|
42
|
+
const instance = params[0] === void 0 ? new Database() : new Database(params[0]);
|
|
43
|
+
return construct(instance, params[1]);
|
|
42
44
|
}
|
|
43
|
-
if (
|
|
45
|
+
if (isConfig(params[0])) {
|
|
44
46
|
const { connection, client, ...drizzleConfig } = params[0];
|
|
45
47
|
if (client)
|
|
46
48
|
return construct(client, drizzleConfig);
|
|
47
49
|
if (typeof connection === "object") {
|
|
48
50
|
const { source, ...opts } = connection;
|
|
49
51
|
const options = Object.values(opts).filter((v) => v !== void 0).length ? opts : void 0;
|
|
50
|
-
const
|
|
51
|
-
return construct(
|
|
52
|
+
const instance2 = new Database(source, options);
|
|
53
|
+
return construct(instance2, drizzleConfig);
|
|
52
54
|
}
|
|
53
|
-
const
|
|
54
|
-
return construct(
|
|
55
|
+
const instance = new Database(connection);
|
|
56
|
+
return construct(instance, drizzleConfig);
|
|
55
57
|
}
|
|
56
|
-
|
|
57
|
-
return construct(instance, params[1]);
|
|
58
|
+
return construct(params[0], params[1]);
|
|
58
59
|
}
|
|
59
60
|
((drizzle2) => {
|
|
60
61
|
function mock(config) {
|
package/bun-sqlite/driver.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/bun-sqlite/driver.ts"],"sourcesContent":["/// <reference types=\"bun-types\" />\n\nimport { Database } from 'bun:sqlite';\nimport { entityKind } from '~/entity.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport {\n\tcreateTableRelationsHelpers,\n\textractTablesRelationalConfig,\n\ttype RelationalSchemaConfig,\n\ttype TablesRelationalConfig,\n} from '~/relations.ts';\nimport { BaseSQLiteDatabase } from '~/sqlite-core/db.ts';\nimport { SQLiteSyncDialect } from '~/sqlite-core/dialect.ts';\nimport type
|
|
1
|
+
{"version":3,"sources":["../../src/bun-sqlite/driver.ts"],"sourcesContent":["/// <reference types=\"bun-types\" />\n\nimport { Database } from 'bun:sqlite';\nimport { entityKind } from '~/entity.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport {\n\tcreateTableRelationsHelpers,\n\textractTablesRelationalConfig,\n\ttype RelationalSchemaConfig,\n\ttype TablesRelationalConfig,\n} from '~/relations.ts';\nimport { BaseSQLiteDatabase } from '~/sqlite-core/db.ts';\nimport { SQLiteSyncDialect } from '~/sqlite-core/dialect.ts';\nimport { type DrizzleConfig, type IfNotImported, type ImportTypeError, isConfig } from '~/utils.ts';\nimport { SQLiteBunSession } from './session.ts';\n\nexport class BunSQLiteDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n> extends BaseSQLiteDatabase<'sync', void, TSchema> {\n\tstatic override readonly [entityKind]: string = 'BunSQLiteDatabase';\n}\n\ntype DrizzleBunSqliteDatabaseOptions = {\n\t/**\n\t * Open the database as read-only (no write operations, no create).\n\t *\n\t * Equivalent to {@link constants.SQLITE_OPEN_READONLY}\n\t */\n\treadonly?: boolean;\n\t/**\n\t * Allow creating a new database\n\t *\n\t * Equivalent to {@link constants.SQLITE_OPEN_CREATE}\n\t */\n\tcreate?: boolean;\n\t/**\n\t * Open the database as read-write\n\t *\n\t * Equivalent to {@link constants.SQLITE_OPEN_READWRITE}\n\t */\n\treadwrite?: boolean;\n};\n\nexport type DrizzleBunSqliteDatabaseConfig =\n\t| ({\n\t\tsource?: string;\n\t} & DrizzleBunSqliteDatabaseOptions)\n\t| string\n\t| undefined;\n\nfunction construct<TSchema extends Record<string, unknown> = Record<string, never>>(\n\tclient: Database,\n\tconfig: DrizzleConfig<TSchema> = {},\n): BunSQLiteDatabase<TSchema> & {\n\t$client: Database;\n} {\n\tconst dialect = new SQLiteSyncDialect({ casing: config.casing });\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\n\tlet schema: RelationalSchemaConfig<TablesRelationalConfig> | undefined;\n\tif (config.schema) {\n\t\tconst tablesConfig = extractTablesRelationalConfig(\n\t\t\tconfig.schema,\n\t\t\tcreateTableRelationsHelpers,\n\t\t);\n\t\tschema = {\n\t\t\tfullSchema: config.schema,\n\t\t\tschema: tablesConfig.tables,\n\t\t\ttableNamesMap: tablesConfig.tableNamesMap,\n\t\t};\n\t}\n\n\tconst session = new SQLiteBunSession(client, dialect, schema, { logger });\n\tconst db = new BunSQLiteDatabase('sync', dialect, session, schema) as BunSQLiteDatabase<TSchema>;\n\t(<any> db).$client = client;\n\n\treturn db as any;\n}\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTClient extends Database = Database,\n>(\n\t...params: IfNotImported<\n\t\tDatabase,\n\t\t[ImportTypeError<'bun-types'>],\n\t\t| []\n\t\t| [\n\t\t\tTClient | string,\n\t\t]\n\t\t| [\n\t\t\tTClient | string,\n\t\t\tDrizzleConfig<TSchema>,\n\t\t]\n\t\t| [\n\t\t\t(\n\t\t\t\t& DrizzleConfig<TSchema>\n\t\t\t\t& ({\n\t\t\t\t\tconnection?: DrizzleBunSqliteDatabaseConfig;\n\t\t\t\t} | {\n\t\t\t\t\tclient: TClient;\n\t\t\t\t})\n\t\t\t),\n\t\t]\n\t>\n): BunSQLiteDatabase<TSchema> & {\n\t$client: TClient;\n} {\n\tif (params[0] === undefined || typeof params[0] === 'string') {\n\t\tconst instance = params[0] === undefined ? new Database() : new Database(params[0]);\n\n\t\treturn construct(instance, params[1]) as any;\n\t}\n\n\tif (isConfig(params[0])) {\n\t\tconst { connection, client, ...drizzleConfig } = params[0] as\n\t\t\t& ({\n\t\t\t\tconnection?: DrizzleBunSqliteDatabaseConfig | string;\n\t\t\t\tclient?: TClient;\n\t\t\t})\n\t\t\t& DrizzleConfig<TSchema>;\n\n\t\tif (client) return construct(client, drizzleConfig) as any;\n\n\t\tif (typeof connection === 'object') {\n\t\t\tconst { source, ...opts } = connection;\n\n\t\t\tconst options = Object.values(opts).filter((v) => v !== undefined).length ? opts : undefined;\n\n\t\t\tconst instance = new Database(source, options);\n\n\t\t\treturn construct(instance, drizzleConfig) as any;\n\t\t}\n\n\t\tconst instance = new Database(connection);\n\n\t\treturn construct(instance, drizzleConfig) as any;\n\t}\n\n\treturn construct(params[0] as Database, params[1] as DrizzleConfig<TSchema> | undefined) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<TSchema extends Record<string, unknown> = Record<string, never>>(\n\t\tconfig?: DrizzleConfig<TSchema>,\n\t): BunSQLiteDatabase<TSchema> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, config) as any;\n\t}\n}\n"],"mappings":"AAEA,SAAS,gBAAgB;AACzB,SAAS,kBAAkB;AAC3B,SAAS,qBAAqB;AAC9B;AAAA,EACC;AAAA,EACA;AAAA,OAGM;AACP,SAAS,0BAA0B;AACnC,SAAS,yBAAyB;AAClC,SAAuE,gBAAgB;AACvF,SAAS,wBAAwB;AAE1B,MAAM,0BAEH,mBAA0C;AAAA,EACnD,QAA0B,UAAU,IAAY;AACjD;AA8BA,SAAS,UACR,QACA,SAAiC,CAAC,GAGjC;AACD,QAAM,UAAU,IAAI,kBAAkB,EAAE,QAAQ,OAAO,OAAO,CAAC;AAC/D,MAAI;AACJ,MAAI,OAAO,WAAW,MAAM;AAC3B,aAAS,IAAI,cAAc;AAAA,EAC5B,WAAW,OAAO,WAAW,OAAO;AACnC,aAAS,OAAO;AAAA,EACjB;AAEA,MAAI;AACJ,MAAI,OAAO,QAAQ;AAClB,UAAM,eAAe;AAAA,MACpB,OAAO;AAAA,MACP;AAAA,IACD;AACA,aAAS;AAAA,MACR,YAAY,OAAO;AAAA,MACnB,QAAQ,aAAa;AAAA,MACrB,eAAe,aAAa;AAAA,IAC7B;AAAA,EACD;AAEA,QAAM,UAAU,IAAI,iBAAiB,QAAQ,SAAS,QAAQ,EAAE,OAAO,CAAC;AACxE,QAAM,KAAK,IAAI,kBAAkB,QAAQ,SAAS,SAAS,MAAM;AACjE,EAAO,GAAI,UAAU;AAErB,SAAO;AACR;AAEO,SAAS,WAIZ,QAwBF;AACD,MAAI,OAAO,CAAC,MAAM,UAAa,OAAO,OAAO,CAAC,MAAM,UAAU;AAC7D,UAAM,WAAW,OAAO,CAAC,MAAM,SAAY,IAAI,SAAS,IAAI,IAAI,SAAS,OAAO,CAAC,CAAC;AAElF,WAAO,UAAU,UAAU,OAAO,CAAC,CAAC;AAAA,EACrC;AAEA,MAAI,SAAS,OAAO,CAAC,CAAC,GAAG;AACxB,UAAM,EAAE,YAAY,QAAQ,GAAG,cAAc,IAAI,OAAO,CAAC;AAOzD,QAAI;AAAQ,aAAO,UAAU,QAAQ,aAAa;AAElD,QAAI,OAAO,eAAe,UAAU;AACnC,YAAM,EAAE,QAAQ,GAAG,KAAK,IAAI;AAE5B,YAAM,UAAU,OAAO,OAAO,IAAI,EAAE,OAAO,CAAC,MAAM,MAAM,MAAS,EAAE,SAAS,OAAO;AAEnF,YAAMA,YAAW,IAAI,SAAS,QAAQ,OAAO;AAE7C,aAAO,UAAUA,WAAU,aAAa;AAAA,IACzC;AAEA,UAAM,WAAW,IAAI,SAAS,UAAU;AAExC,WAAO,UAAU,UAAU,aAAa;AAAA,EACzC;AAEA,SAAO,UAAU,OAAO,CAAC,GAAe,OAAO,CAAC,CAAuC;AACxF;AAAA,CAEO,CAAUC,aAAV;AACC,WAAS,KACf,QAGC;AACD,WAAO,UAAU,CAAC,GAAU,MAAM;AAAA,EACnC;AANO,EAAAA,SAAS;AAAA,GADA;","names":["instance","drizzle"]}
|
|
@@ -0,0 +1,67 @@
|
|
|
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 driver_core_exports = {};
|
|
20
|
+
__export(driver_core_exports, {
|
|
21
|
+
LibSQLDatabase: () => LibSQLDatabase,
|
|
22
|
+
construct: () => construct
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(driver_core_exports);
|
|
25
|
+
var import_entity = require("../entity.cjs");
|
|
26
|
+
var import_logger = require("../logger.cjs");
|
|
27
|
+
var import_relations = require("../relations.cjs");
|
|
28
|
+
var import_db = require("../sqlite-core/db.cjs");
|
|
29
|
+
var import_dialect = require("../sqlite-core/dialect.cjs");
|
|
30
|
+
var import_session = require("./session.cjs");
|
|
31
|
+
class LibSQLDatabase extends import_db.BaseSQLiteDatabase {
|
|
32
|
+
static [import_entity.entityKind] = "LibSQLDatabase";
|
|
33
|
+
async batch(batch) {
|
|
34
|
+
return this.session.batch(batch);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
function construct(client, config = {}) {
|
|
38
|
+
const dialect = new import_dialect.SQLiteAsyncDialect({ casing: config.casing });
|
|
39
|
+
let logger;
|
|
40
|
+
if (config.logger === true) {
|
|
41
|
+
logger = new import_logger.DefaultLogger();
|
|
42
|
+
} else if (config.logger !== false) {
|
|
43
|
+
logger = config.logger;
|
|
44
|
+
}
|
|
45
|
+
let schema;
|
|
46
|
+
if (config.schema) {
|
|
47
|
+
const tablesConfig = (0, import_relations.extractTablesRelationalConfig)(
|
|
48
|
+
config.schema,
|
|
49
|
+
import_relations.createTableRelationsHelpers
|
|
50
|
+
);
|
|
51
|
+
schema = {
|
|
52
|
+
fullSchema: config.schema,
|
|
53
|
+
schema: tablesConfig.tables,
|
|
54
|
+
tableNamesMap: tablesConfig.tableNamesMap
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
const session = new import_session.LibSQLSession(client, dialect, schema, { logger }, void 0);
|
|
58
|
+
const db = new LibSQLDatabase("async", dialect, session, schema);
|
|
59
|
+
db.$client = client;
|
|
60
|
+
return db;
|
|
61
|
+
}
|
|
62
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
63
|
+
0 && (module.exports = {
|
|
64
|
+
LibSQLDatabase,
|
|
65
|
+
construct
|
|
66
|
+
});
|
|
67
|
+
//# sourceMappingURL=driver-core.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/libsql/driver-core.ts"],"sourcesContent":["import type { Client, ResultSet } from '@libsql/client';\nimport type { BatchItem, BatchResponse } from '~/batch.ts';\nimport { entityKind } from '~/entity.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport {\n\tcreateTableRelationsHelpers,\n\textractTablesRelationalConfig,\n\ttype ExtractTablesWithRelations,\n\ttype RelationalSchemaConfig,\n\ttype TablesRelationalConfig,\n} from '~/relations.ts';\nimport { BaseSQLiteDatabase } from '~/sqlite-core/db.ts';\nimport { SQLiteAsyncDialect } from '~/sqlite-core/dialect.ts';\nimport type { DrizzleConfig } from '~/utils.ts';\nimport { LibSQLSession } from './session.ts';\n\nexport class LibSQLDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n> extends BaseSQLiteDatabase<'async', ResultSet, TSchema> {\n\tstatic override readonly [entityKind]: string = 'LibSQLDatabase';\n\n\t/** @internal */\n\tdeclare readonly session: LibSQLSession<TSchema, ExtractTablesWithRelations<TSchema>>;\n\n\tasync batch<U extends BatchItem<'sqlite'>, T extends Readonly<[U, ...U[]]>>(\n\t\tbatch: T,\n\t): Promise<BatchResponse<T>> {\n\t\treturn this.session.batch(batch) as Promise<BatchResponse<T>>;\n\t}\n}\n\n/** @internal */\nexport function construct<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n>(client: Client, config: DrizzleConfig<TSchema> = {}): LibSQLDatabase<TSchema> & {\n\t$client: Client;\n} {\n\tconst dialect = new SQLiteAsyncDialect({ casing: config.casing });\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\n\tlet schema: RelationalSchemaConfig<TablesRelationalConfig> | undefined;\n\tif (config.schema) {\n\t\tconst tablesConfig = extractTablesRelationalConfig(\n\t\t\tconfig.schema,\n\t\t\tcreateTableRelationsHelpers,\n\t\t);\n\t\tschema = {\n\t\t\tfullSchema: config.schema,\n\t\t\tschema: tablesConfig.tables,\n\t\t\ttableNamesMap: tablesConfig.tableNamesMap,\n\t\t};\n\t}\n\n\tconst session = new LibSQLSession(client, dialect, schema, { logger }, undefined);\n\tconst db = new LibSQLDatabase('async', dialect, session, schema) as LibSQLDatabase<TSchema>;\n\t(<any> db).$client = client;\n\n\treturn db as any;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,oBAA2B;AAC3B,oBAA8B;AAC9B,uBAMO;AACP,gBAAmC;AACnC,qBAAmC;AAEnC,qBAA8B;AAEvB,MAAM,uBAEH,6BAAgD;AAAA,EACzD,QAA0B,wBAAU,IAAY;AAAA,EAKhD,MAAM,MACL,OAC4B;AAC5B,WAAO,KAAK,QAAQ,MAAM,KAAK;AAAA,EAChC;AACD;AAGO,SAAS,UAEd,QAAgB,SAAiC,CAAC,GAElD;AACD,QAAM,UAAU,IAAI,kCAAmB,EAAE,QAAQ,OAAO,OAAO,CAAC;AAChE,MAAI;AACJ,MAAI,OAAO,WAAW,MAAM;AAC3B,aAAS,IAAI,4BAAc;AAAA,EAC5B,WAAW,OAAO,WAAW,OAAO;AACnC,aAAS,OAAO;AAAA,EACjB;AAEA,MAAI;AACJ,MAAI,OAAO,QAAQ;AAClB,UAAM,mBAAe;AAAA,MACpB,OAAO;AAAA,MACP;AAAA,IACD;AACA,aAAS;AAAA,MACR,YAAY,OAAO;AAAA,MACnB,QAAQ,aAAa;AAAA,MACrB,eAAe,aAAa;AAAA,IAC7B;AAAA,EACD;AAEA,QAAM,UAAU,IAAI,6BAAc,QAAQ,SAAS,QAAQ,EAAE,OAAO,GAAG,MAAS;AAChF,QAAM,KAAK,IAAI,eAAe,SAAS,SAAS,SAAS,MAAM;AAC/D,EAAO,GAAI,UAAU;AAErB,SAAO;AACR;","names":[]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { ResultSet } from '@libsql/client';
|
|
2
|
+
import type { BatchItem, BatchResponse } from "../batch.cjs";
|
|
3
|
+
import { entityKind } from "../entity.cjs";
|
|
4
|
+
import { BaseSQLiteDatabase } from "../sqlite-core/db.cjs";
|
|
5
|
+
export declare class LibSQLDatabase<TSchema extends Record<string, unknown> = Record<string, never>> extends BaseSQLiteDatabase<'async', ResultSet, TSchema> {
|
|
6
|
+
static readonly [entityKind]: string;
|
|
7
|
+
batch<U extends BatchItem<'sqlite'>, T extends Readonly<[U, ...U[]]>>(batch: T): Promise<BatchResponse<T>>;
|
|
8
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { ResultSet } from '@libsql/client';
|
|
2
|
+
import type { BatchItem, BatchResponse } from "../batch.js";
|
|
3
|
+
import { entityKind } from "../entity.js";
|
|
4
|
+
import { BaseSQLiteDatabase } from "../sqlite-core/db.js";
|
|
5
|
+
export declare class LibSQLDatabase<TSchema extends Record<string, unknown> = Record<string, never>> extends BaseSQLiteDatabase<'async', ResultSet, TSchema> {
|
|
6
|
+
static readonly [entityKind]: string;
|
|
7
|
+
batch<U extends BatchItem<'sqlite'>, T extends Readonly<[U, ...U[]]>>(batch: T): Promise<BatchResponse<T>>;
|
|
8
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { entityKind } from "../entity.js";
|
|
2
|
+
import { DefaultLogger } from "../logger.js";
|
|
3
|
+
import {
|
|
4
|
+
createTableRelationsHelpers,
|
|
5
|
+
extractTablesRelationalConfig
|
|
6
|
+
} from "../relations.js";
|
|
7
|
+
import { BaseSQLiteDatabase } from "../sqlite-core/db.js";
|
|
8
|
+
import { SQLiteAsyncDialect } from "../sqlite-core/dialect.js";
|
|
9
|
+
import { LibSQLSession } from "./session.js";
|
|
10
|
+
class LibSQLDatabase extends BaseSQLiteDatabase {
|
|
11
|
+
static [entityKind] = "LibSQLDatabase";
|
|
12
|
+
async batch(batch) {
|
|
13
|
+
return this.session.batch(batch);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
function construct(client, config = {}) {
|
|
17
|
+
const dialect = new SQLiteAsyncDialect({ casing: config.casing });
|
|
18
|
+
let logger;
|
|
19
|
+
if (config.logger === true) {
|
|
20
|
+
logger = new DefaultLogger();
|
|
21
|
+
} else if (config.logger !== false) {
|
|
22
|
+
logger = config.logger;
|
|
23
|
+
}
|
|
24
|
+
let schema;
|
|
25
|
+
if (config.schema) {
|
|
26
|
+
const tablesConfig = extractTablesRelationalConfig(
|
|
27
|
+
config.schema,
|
|
28
|
+
createTableRelationsHelpers
|
|
29
|
+
);
|
|
30
|
+
schema = {
|
|
31
|
+
fullSchema: config.schema,
|
|
32
|
+
schema: tablesConfig.tables,
|
|
33
|
+
tableNamesMap: tablesConfig.tableNamesMap
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
const session = new LibSQLSession(client, dialect, schema, { logger }, void 0);
|
|
37
|
+
const db = new LibSQLDatabase("async", dialect, session, schema);
|
|
38
|
+
db.$client = client;
|
|
39
|
+
return db;
|
|
40
|
+
}
|
|
41
|
+
export {
|
|
42
|
+
LibSQLDatabase,
|
|
43
|
+
construct
|
|
44
|
+
};
|
|
45
|
+
//# sourceMappingURL=driver-core.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/libsql/driver-core.ts"],"sourcesContent":["import type { Client, ResultSet } from '@libsql/client';\nimport type { BatchItem, BatchResponse } from '~/batch.ts';\nimport { entityKind } from '~/entity.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport {\n\tcreateTableRelationsHelpers,\n\textractTablesRelationalConfig,\n\ttype ExtractTablesWithRelations,\n\ttype RelationalSchemaConfig,\n\ttype TablesRelationalConfig,\n} from '~/relations.ts';\nimport { BaseSQLiteDatabase } from '~/sqlite-core/db.ts';\nimport { SQLiteAsyncDialect } from '~/sqlite-core/dialect.ts';\nimport type { DrizzleConfig } from '~/utils.ts';\nimport { LibSQLSession } from './session.ts';\n\nexport class LibSQLDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n> extends BaseSQLiteDatabase<'async', ResultSet, TSchema> {\n\tstatic override readonly [entityKind]: string = 'LibSQLDatabase';\n\n\t/** @internal */\n\tdeclare readonly session: LibSQLSession<TSchema, ExtractTablesWithRelations<TSchema>>;\n\n\tasync batch<U extends BatchItem<'sqlite'>, T extends Readonly<[U, ...U[]]>>(\n\t\tbatch: T,\n\t): Promise<BatchResponse<T>> {\n\t\treturn this.session.batch(batch) as Promise<BatchResponse<T>>;\n\t}\n}\n\n/** @internal */\nexport function construct<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n>(client: Client, config: DrizzleConfig<TSchema> = {}): LibSQLDatabase<TSchema> & {\n\t$client: Client;\n} {\n\tconst dialect = new SQLiteAsyncDialect({ casing: config.casing });\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\n\tlet schema: RelationalSchemaConfig<TablesRelationalConfig> | undefined;\n\tif (config.schema) {\n\t\tconst tablesConfig = extractTablesRelationalConfig(\n\t\t\tconfig.schema,\n\t\t\tcreateTableRelationsHelpers,\n\t\t);\n\t\tschema = {\n\t\t\tfullSchema: config.schema,\n\t\t\tschema: tablesConfig.tables,\n\t\t\ttableNamesMap: tablesConfig.tableNamesMap,\n\t\t};\n\t}\n\n\tconst session = new LibSQLSession(client, dialect, schema, { logger }, undefined);\n\tconst db = new LibSQLDatabase('async', dialect, session, schema) as LibSQLDatabase<TSchema>;\n\t(<any> db).$client = client;\n\n\treturn db as any;\n}\n"],"mappings":"AAEA,SAAS,kBAAkB;AAC3B,SAAS,qBAAqB;AAC9B;AAAA,EACC;AAAA,EACA;AAAA,OAIM;AACP,SAAS,0BAA0B;AACnC,SAAS,0BAA0B;AAEnC,SAAS,qBAAqB;AAEvB,MAAM,uBAEH,mBAAgD;AAAA,EACzD,QAA0B,UAAU,IAAY;AAAA,EAKhD,MAAM,MACL,OAC4B;AAC5B,WAAO,KAAK,QAAQ,MAAM,KAAK;AAAA,EAChC;AACD;AAGO,SAAS,UAEd,QAAgB,SAAiC,CAAC,GAElD;AACD,QAAM,UAAU,IAAI,mBAAmB,EAAE,QAAQ,OAAO,OAAO,CAAC;AAChE,MAAI;AACJ,MAAI,OAAO,WAAW,MAAM;AAC3B,aAAS,IAAI,cAAc;AAAA,EAC5B,WAAW,OAAO,WAAW,OAAO;AACnC,aAAS,OAAO;AAAA,EACjB;AAEA,MAAI;AACJ,MAAI,OAAO,QAAQ;AAClB,UAAM,eAAe;AAAA,MACpB,OAAO;AAAA,MACP;AAAA,IACD;AACA,aAAS;AAAA,MACR,YAAY,OAAO;AAAA,MACnB,QAAQ,aAAa;AAAA,MACrB,eAAe,aAAa;AAAA,IAC7B;AAAA,EACD;AAEA,QAAM,UAAU,IAAI,cAAc,QAAQ,SAAS,QAAQ,EAAE,OAAO,GAAG,MAAS;AAChF,QAAM,KAAK,IAAI,eAAe,SAAS,SAAS,SAAS,MAAM;AAC/D,EAAO,GAAI,UAAU;AAErB,SAAO;AACR;","names":[]}
|
package/libsql/driver.cjs
CHANGED
|
@@ -18,70 +18,33 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
19
|
var driver_exports = {};
|
|
20
20
|
__export(driver_exports, {
|
|
21
|
-
LibSQLDatabase: () => LibSQLDatabase,
|
|
21
|
+
LibSQLDatabase: () => import_driver_core2.LibSQLDatabase,
|
|
22
22
|
drizzle: () => drizzle
|
|
23
23
|
});
|
|
24
24
|
module.exports = __toCommonJS(driver_exports);
|
|
25
25
|
var import_client = require("@libsql/client");
|
|
26
|
-
var
|
|
27
|
-
var
|
|
28
|
-
var
|
|
29
|
-
var import_entity = require("../entity.cjs");
|
|
30
|
-
var import_logger = require("../logger.cjs");
|
|
31
|
-
var import_relations = require("../relations.cjs");
|
|
32
|
-
var import_db = require("../sqlite-core/db.cjs");
|
|
33
|
-
var import_dialect = require("../sqlite-core/dialect.cjs");
|
|
34
|
-
var import_session = require("./session.cjs");
|
|
35
|
-
class LibSQLDatabase extends import_db.BaseSQLiteDatabase {
|
|
36
|
-
static [import_entity.entityKind] = "LibSQLDatabase";
|
|
37
|
-
async batch(batch) {
|
|
38
|
-
return this.session.batch(batch);
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
function construct(client, config = {}) {
|
|
42
|
-
const dialect = new import_dialect.SQLiteAsyncDialect({ casing: config.casing });
|
|
43
|
-
let logger;
|
|
44
|
-
if (config.logger === true) {
|
|
45
|
-
logger = new import_logger.DefaultLogger();
|
|
46
|
-
} else if (config.logger !== false) {
|
|
47
|
-
logger = config.logger;
|
|
48
|
-
}
|
|
49
|
-
let schema;
|
|
50
|
-
if (config.schema) {
|
|
51
|
-
const tablesConfig = (0, import_relations.extractTablesRelationalConfig)(
|
|
52
|
-
config.schema,
|
|
53
|
-
import_relations.createTableRelationsHelpers
|
|
54
|
-
);
|
|
55
|
-
schema = {
|
|
56
|
-
fullSchema: config.schema,
|
|
57
|
-
schema: tablesConfig.tables,
|
|
58
|
-
tableNamesMap: tablesConfig.tableNamesMap
|
|
59
|
-
};
|
|
60
|
-
}
|
|
61
|
-
const session = new import_session.LibSQLSession(client, dialect, schema, { logger }, void 0);
|
|
62
|
-
const db = new LibSQLDatabase("async", dialect, session, schema);
|
|
63
|
-
db.$client = client;
|
|
64
|
-
return db;
|
|
65
|
-
}
|
|
26
|
+
var import_utils = require("../utils.cjs");
|
|
27
|
+
var import_driver_core = require("./driver-core.cjs");
|
|
28
|
+
var import_driver_core2 = require("./driver-core.cjs");
|
|
66
29
|
function drizzle(...params) {
|
|
67
|
-
if (params[0] instanceof import_ws.WsClient || params[0] instanceof import_http.HttpClient || params[0] instanceof import_sqlite3.Sqlite3Client) {
|
|
68
|
-
return construct(params[0], params[1]);
|
|
69
|
-
}
|
|
70
30
|
if (typeof params[0] === "string") {
|
|
71
|
-
const
|
|
31
|
+
const instance = (0, import_client.createClient)({
|
|
72
32
|
url: params[0]
|
|
73
33
|
});
|
|
74
|
-
return construct(
|
|
34
|
+
return (0, import_driver_core.construct)(instance, params[1]);
|
|
35
|
+
}
|
|
36
|
+
if ((0, import_utils.isConfig)(params[0])) {
|
|
37
|
+
const { connection, client, ...drizzleConfig } = params[0];
|
|
38
|
+
if (client)
|
|
39
|
+
return (0, import_driver_core.construct)(client, drizzleConfig);
|
|
40
|
+
const instance = typeof connection === "string" ? (0, import_client.createClient)({ url: connection }) : (0, import_client.createClient)(connection);
|
|
41
|
+
return (0, import_driver_core.construct)(instance, drizzleConfig);
|
|
75
42
|
}
|
|
76
|
-
|
|
77
|
-
if (client)
|
|
78
|
-
return construct(client, drizzleConfig);
|
|
79
|
-
const instance = typeof connection === "string" ? (0, import_client.createClient)({ url: connection }) : (0, import_client.createClient)(connection);
|
|
80
|
-
return construct(instance, drizzleConfig);
|
|
43
|
+
return (0, import_driver_core.construct)(params[0], params[1]);
|
|
81
44
|
}
|
|
82
45
|
((drizzle2) => {
|
|
83
46
|
function mock(config) {
|
|
84
|
-
return construct({}, config);
|
|
47
|
+
return (0, import_driver_core.construct)({}, config);
|
|
85
48
|
}
|
|
86
49
|
drizzle2.mock = mock;
|
|
87
50
|
})(drizzle || (drizzle = {}));
|
package/libsql/driver.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/libsql/driver.ts"],"sourcesContent":["import { type Client, type Config, createClient
|
|
1
|
+
{"version":3,"sources":["../../src/libsql/driver.ts"],"sourcesContent":["import { type Client, type Config, createClient } from '@libsql/client';\nimport { type DrizzleConfig, type IfNotImported, type ImportTypeError, isConfig } from '~/utils.ts';\nimport { construct as construct, type LibSQLDatabase } from './driver-core.ts';\n\nexport { LibSQLDatabase } from './driver-core.ts';\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTClient extends Client = Client,\n>(\n\t...params: IfNotImported<\n\t\tClient,\n\t\t[ImportTypeError<'@libsql/client'>],\n\t\t[\n\t\t\tTClient | string,\n\t\t] | [\n\t\t\tTClient | string,\n\t\t\tDrizzleConfig<TSchema>,\n\t\t] | [\n\t\t\t(\n\t\t\t\t& DrizzleConfig<TSchema>\n\t\t\t\t& ({\n\t\t\t\t\tconnection: string | Config;\n\t\t\t\t} | {\n\t\t\t\t\tclient: TClient;\n\t\t\t\t})\n\t\t\t),\n\t\t]\n\t>\n): LibSQLDatabase<TSchema> & {\n\t$client: TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = createClient({\n\t\t\turl: params[0],\n\t\t});\n\n\t\treturn construct(instance, params[1]) as any;\n\t}\n\n\tif (isConfig(params[0])) {\n\t\tconst { connection, client, ...drizzleConfig } = params[0] as\n\t\t\t& { connection?: Config; client?: TClient }\n\t\t\t& DrizzleConfig<TSchema>;\n\n\t\tif (client) return construct(client, drizzleConfig) as any;\n\n\t\tconst instance = typeof connection === 'string' ? createClient({ url: connection }) : createClient(connection!);\n\n\t\treturn construct(instance, drizzleConfig) as any;\n\t}\n\n\treturn construct(params[0] as TClient, params[1] as DrizzleConfig<TSchema> | undefined) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<TSchema extends Record<string, unknown> = Record<string, never>>(\n\t\tconfig?: DrizzleConfig<TSchema>,\n\t): LibSQLDatabase<TSchema> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, config) as any;\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAuD;AACvD,mBAAuF;AACvF,yBAA4D;AAE5D,IAAAA,sBAA+B;AAExB,SAAS,WAIZ,QAqBF;AACD,MAAI,OAAO,OAAO,CAAC,MAAM,UAAU;AAClC,UAAM,eAAW,4BAAa;AAAA,MAC7B,KAAK,OAAO,CAAC;AAAA,IACd,CAAC;AAED,eAAO,8BAAU,UAAU,OAAO,CAAC,CAAC;AAAA,EACrC;AAEA,UAAI,uBAAS,OAAO,CAAC,CAAC,GAAG;AACxB,UAAM,EAAE,YAAY,QAAQ,GAAG,cAAc,IAAI,OAAO,CAAC;AAIzD,QAAI;AAAQ,iBAAO,8BAAU,QAAQ,aAAa;AAElD,UAAM,WAAW,OAAO,eAAe,eAAW,4BAAa,EAAE,KAAK,WAAW,CAAC,QAAI,4BAAa,UAAW;AAE9G,eAAO,8BAAU,UAAU,aAAa;AAAA,EACzC;AAEA,aAAO,8BAAU,OAAO,CAAC,GAAc,OAAO,CAAC,CAAuC;AACvF;AAAA,CAEO,CAAUC,aAAV;AACC,WAAS,KACf,QAGC;AACD,eAAO,8BAAU,CAAC,GAAU,MAAM;AAAA,EACnC;AANO,EAAAA,SAAS;AAAA,GADA;","names":["import_driver_core","drizzle"]}
|