@effect/sql-sqlite-bun 0.27.1 → 0.29.0
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/dist/cjs/SqliteClient.js +5 -5
- package/dist/cjs/SqliteClient.js.map +1 -1
- package/dist/cjs/SqliteMigrator.js +10 -9
- package/dist/cjs/SqliteMigrator.js.map +1 -1
- package/dist/dts/SqliteMigrator.d.ts.map +1 -1
- package/dist/esm/SqliteClient.js +5 -5
- package/dist/esm/SqliteClient.js.map +1 -1
- package/dist/esm/SqliteMigrator.js +10 -9
- package/dist/esm/SqliteMigrator.js.map +1 -1
- package/package.json +5 -5
- package/src/SqliteClient.ts +5 -5
- package/src/SqliteMigrator.ts +9 -8
package/dist/cjs/SqliteClient.js
CHANGED
|
@@ -36,16 +36,16 @@ const SqliteClient = exports.SqliteClient = /*#__PURE__*/Context.GenericTag("@ef
|
|
|
36
36
|
* @category constructor
|
|
37
37
|
* @since 1.0.0
|
|
38
38
|
*/
|
|
39
|
-
const make = options => Effect.gen(function* (
|
|
39
|
+
const make = options => Effect.gen(function* () {
|
|
40
40
|
const compiler = Statement.makeCompilerSqlite(options.transformQueryNames);
|
|
41
41
|
const transformRows = options.transformResultNames ? Statement.defaultTransforms(options.transformResultNames).array : undefined;
|
|
42
|
-
const makeConnection = Effect.gen(function* (
|
|
42
|
+
const makeConnection = Effect.gen(function* () {
|
|
43
43
|
const db = new _bunSqlite.Database(options.filename, {
|
|
44
44
|
readonly: options.readonly,
|
|
45
45
|
readwrite: options.readwrite ?? true,
|
|
46
46
|
create: options.create ?? true
|
|
47
47
|
});
|
|
48
|
-
yield*
|
|
48
|
+
yield* Effect.addFinalizer(() => Effect.sync(() => db.close()));
|
|
49
49
|
if (options.disableWAL !== true) {
|
|
50
50
|
db.run("PRAGMA journal_mode = WAL;");
|
|
51
51
|
}
|
|
@@ -95,8 +95,8 @@ const make = options => Effect.gen(function* (_) {
|
|
|
95
95
|
})
|
|
96
96
|
});
|
|
97
97
|
});
|
|
98
|
-
const semaphore = yield*
|
|
99
|
-
const connection = yield*
|
|
98
|
+
const semaphore = yield* Effect.makeSemaphore(1);
|
|
99
|
+
const connection = yield* makeConnection;
|
|
100
100
|
const acquirer = semaphore.withPermits(1)(Effect.succeed(connection));
|
|
101
101
|
const transactionAcquirer = Effect.uninterruptibleMask(restore => Effect.as(Effect.zipRight(restore(semaphore.take(1)), Effect.tap(Effect.scope, scope => Scope.addFinalizer(scope, semaphore.release(1)))), connection));
|
|
102
102
|
return Object.assign(yield* Client.make({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SqliteClient.js","names":["Reactivity","_interopRequireWildcard","require","Client","_SqlError","Statement","Otel","_bunSqlite","Config","Context","Effect","_Function","Layer","Scope","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","TypeId","exports","Symbol","for","SqliteClient","GenericTag","make","options","gen","
|
|
1
|
+
{"version":3,"file":"SqliteClient.js","names":["Reactivity","_interopRequireWildcard","require","Client","_SqlError","Statement","Otel","_bunSqlite","Config","Context","Effect","_Function","Layer","Scope","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","TypeId","exports","Symbol","for","SqliteClient","GenericTag","make","options","gen","compiler","makeCompilerSqlite","transformQueryNames","transformRows","transformResultNames","defaultTransforms","array","undefined","makeConnection","db","Database","filename","readonly","readwrite","create","addFinalizer","sync","close","disableWAL","run","sql","params","try","query","all","catch","cause","SqlError","message","runValues","values","identity","execute","map","executeRaw","executeValues","executeUnprepared","executeStream","_sql","_params","dieMessage","export","serialize","loadExtension","path","semaphore","makeSemaphore","connection","acquirer","withPermits","succeed","transactionAcquirer","uninterruptibleMask","restore","as","zipRight","take","tap","scope","release","assign","spanAttributes","entries","SEMATTRS_DB_SYSTEM","DBSYSTEMVALUES_SQLITE","config","flatMap","_","layerConfig","scopedContext","unwrap","pipe","client","add","SqlClient","provide","layer"],"sources":["../../src/SqliteClient.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -24,6 +24,7 @@ Object.keys(Migrator).forEach(function (key) {
|
|
|
24
24
|
});
|
|
25
25
|
});
|
|
26
26
|
var Effect = _interopRequireWildcard(require("effect/Effect"));
|
|
27
|
+
var _Function = require("effect/Function");
|
|
27
28
|
var Layer = _interopRequireWildcard(require("effect/Layer"));
|
|
28
29
|
var _SqliteClient = require("./SqliteClient.js");
|
|
29
30
|
var _FileSystem2 = require("@effect/sql/Migrator/FileSystem");
|
|
@@ -58,9 +59,9 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
|
|
|
58
59
|
*/
|
|
59
60
|
const run = exports.run = /*#__PURE__*/Migrator.make({
|
|
60
61
|
dumpSchema(path, table) {
|
|
61
|
-
const dump = args => Effect.gen(function* (
|
|
62
|
+
const dump = args => Effect.gen(function* () {
|
|
62
63
|
const sql = yield* _SqliteClient.SqliteClient;
|
|
63
|
-
const dump = yield*
|
|
64
|
+
const dump = yield* (0, _Function.pipe)(Command.make("sqlite3", sql.config.filename, ...args), Command.string);
|
|
64
65
|
return dump.replace(/^create table sqlite_sequence\(.*$/im, "").replace(/\n{2,}/gm, "\n\n").trim();
|
|
65
66
|
}).pipe(Effect.mapError(error => new Migrator.MigrationError({
|
|
66
67
|
reason: "failed",
|
|
@@ -71,14 +72,14 @@ const run = exports.run = /*#__PURE__*/Migrator.make({
|
|
|
71
72
|
const dumpAll = Effect.map(Effect.all([dumpSchema, dumpMigrations], {
|
|
72
73
|
concurrency: 2
|
|
73
74
|
}), ([schema, migrations]) => schema + "\n\n" + migrations);
|
|
74
|
-
const dumpFile = file => Effect.gen(function* (
|
|
75
|
-
const fs = yield*
|
|
76
|
-
const path = yield*
|
|
77
|
-
const dump = yield*
|
|
78
|
-
yield*
|
|
75
|
+
const dumpFile = file => Effect.gen(function* () {
|
|
76
|
+
const fs = yield* _FileSystem.FileSystem;
|
|
77
|
+
const path = yield* _Path.Path;
|
|
78
|
+
const dump = yield* dumpAll;
|
|
79
|
+
yield* fs.makeDirectory(path.dirname(file), {
|
|
79
80
|
recursive: true
|
|
80
|
-
})
|
|
81
|
-
yield*
|
|
81
|
+
});
|
|
82
|
+
yield* fs.writeFileString(file, dump);
|
|
82
83
|
}).pipe(Effect.mapError(error => new Migrator.MigrationError({
|
|
83
84
|
reason: "failed",
|
|
84
85
|
message: error.message
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SqliteMigrator.js","names":["Command","_interopRequireWildcard","require","_FileSystem","_Path","Migrator","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","Effect","Layer","_SqliteClient","_FileSystem2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","n","__proto__","a","getOwnPropertyDescriptor","u","i","set","run","make","dumpSchema","path","table","dump","args","gen","
|
|
1
|
+
{"version":3,"file":"SqliteMigrator.js","names":["Command","_interopRequireWildcard","require","_FileSystem","_Path","Migrator","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","Effect","_Function","Layer","_SqliteClient","_FileSystem2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","n","__proto__","a","getOwnPropertyDescriptor","u","i","set","run","make","dumpSchema","path","table","dump","args","gen","sql","SqliteClient","pipe","config","filename","string","replace","trim","mapError","error","MigrationError","reason","message","dumpMigrations","dumpAll","map","all","concurrency","schema","migrations","dumpFile","file","fs","FileSystem","Path","makeDirectory","dirname","recursive","writeFileString","layer","options","effectDiscard"],"sources":["../../src/SqliteMigrator.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SqliteMigrator.d.ts","sourceRoot":"","sources":["../../src/SqliteMigrator.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AACxD,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAA;AAC5C,OAAO,KAAK,QAAQ,MAAM,sBAAsB,CAAA;AAChD,OAAO,KAAK,KAAK,MAAM,MAAM,uBAAuB,CAAA;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"SqliteMigrator.d.ts","sourceRoot":"","sources":["../../src/SqliteMigrator.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AACxD,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAA;AAC5C,OAAO,KAAK,QAAQ,MAAM,sBAAsB,CAAA;AAChD,OAAO,KAAK,KAAK,MAAM,MAAM,uBAAuB,CAAA;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAEhD;;GAEG;AACH,cAAc,sBAAsB,CAAA;AAEpC;;GAEG;AACH,cAAc,iCAAiC,CAAA;AAE/C;;;GAGG;AACH,eAAO,MAAM,GAAG,EAAE,CAAC,EAAE,GAAG,KAAK,EAC3B,OAAO,EAAE,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,KAClC,MAAM,CAAC,MAAM,CAChB,aAAa,CAAC,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,EAClD,QAAQ,CAAC,cAAc,GAAG,QAAQ,EAClC,UAAU,GAAG,IAAI,GAAG,YAAY,GAAG,MAAM,CAAC,SAAS,GAAG,eAAe,GAAG,EAAE,CA2C1E,CAAA;AAEF;;;GAGG;AACH,eAAO,MAAM,KAAK,GAAI,CAAC,WACZ,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,KACnC,KAAK,CAAC,KAAK,CACZ,KAAK,EACL,QAAQ,GAAG,QAAQ,CAAC,cAAc,EAClC,YAAY,GAAG,MAAM,CAAC,SAAS,GAAG,eAAe,GAAG,UAAU,GAAG,IAAI,GAAG,CAAC,CACrC,CAAA"}
|
package/dist/esm/SqliteClient.js
CHANGED
|
@@ -27,16 +27,16 @@ export const SqliteClient = /*#__PURE__*/Context.GenericTag("@effect/sql-sqlite-
|
|
|
27
27
|
* @category constructor
|
|
28
28
|
* @since 1.0.0
|
|
29
29
|
*/
|
|
30
|
-
export const make = options => Effect.gen(function* (
|
|
30
|
+
export const make = options => Effect.gen(function* () {
|
|
31
31
|
const compiler = Statement.makeCompilerSqlite(options.transformQueryNames);
|
|
32
32
|
const transformRows = options.transformResultNames ? Statement.defaultTransforms(options.transformResultNames).array : undefined;
|
|
33
|
-
const makeConnection = Effect.gen(function* (
|
|
33
|
+
const makeConnection = Effect.gen(function* () {
|
|
34
34
|
const db = new Database(options.filename, {
|
|
35
35
|
readonly: options.readonly,
|
|
36
36
|
readwrite: options.readwrite ?? true,
|
|
37
37
|
create: options.create ?? true
|
|
38
38
|
});
|
|
39
|
-
yield*
|
|
39
|
+
yield* Effect.addFinalizer(() => Effect.sync(() => db.close()));
|
|
40
40
|
if (options.disableWAL !== true) {
|
|
41
41
|
db.run("PRAGMA journal_mode = WAL;");
|
|
42
42
|
}
|
|
@@ -86,8 +86,8 @@ export const make = options => Effect.gen(function* (_) {
|
|
|
86
86
|
})
|
|
87
87
|
});
|
|
88
88
|
});
|
|
89
|
-
const semaphore = yield*
|
|
90
|
-
const connection = yield*
|
|
89
|
+
const semaphore = yield* Effect.makeSemaphore(1);
|
|
90
|
+
const connection = yield* makeConnection;
|
|
91
91
|
const acquirer = semaphore.withPermits(1)(Effect.succeed(connection));
|
|
92
92
|
const transactionAcquirer = Effect.uninterruptibleMask(restore => Effect.as(Effect.zipRight(restore(semaphore.take(1)), Effect.tap(Effect.scope, scope => Scope.addFinalizer(scope, semaphore.release(1)))), connection));
|
|
93
93
|
return Object.assign(yield* Client.make({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SqliteClient.js","names":["Reactivity","Client","SqlError","Statement","Otel","Database","Config","Context","Effect","identity","Layer","Scope","TypeId","Symbol","for","SqliteClient","GenericTag","make","options","gen","
|
|
1
|
+
{"version":3,"file":"SqliteClient.js","names":["Reactivity","Client","SqlError","Statement","Otel","Database","Config","Context","Effect","identity","Layer","Scope","TypeId","Symbol","for","SqliteClient","GenericTag","make","options","gen","compiler","makeCompilerSqlite","transformQueryNames","transformRows","transformResultNames","defaultTransforms","array","undefined","makeConnection","db","filename","readonly","readwrite","create","addFinalizer","sync","close","disableWAL","run","sql","params","try","query","all","catch","cause","message","runValues","values","execute","map","executeRaw","executeValues","executeUnprepared","executeStream","_sql","_params","dieMessage","export","serialize","loadExtension","path","semaphore","makeSemaphore","connection","acquirer","withPermits","succeed","transactionAcquirer","uninterruptibleMask","restore","as","zipRight","take","tap","scope","release","Object","assign","spanAttributes","entries","SEMATTRS_DB_SYSTEM","DBSYSTEMVALUES_SQLITE","config","flatMap","_","layerConfig","scopedContext","unwrap","pipe","client","add","SqlClient","provide","layer"],"sources":["../../src/SqliteClient.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -6,6 +6,7 @@ import { FileSystem } from "@effect/platform/FileSystem";
|
|
|
6
6
|
import { Path } from "@effect/platform/Path";
|
|
7
7
|
import * as Migrator from "@effect/sql/Migrator";
|
|
8
8
|
import * as Effect from "effect/Effect";
|
|
9
|
+
import { pipe } from "effect/Function";
|
|
9
10
|
import * as Layer from "effect/Layer";
|
|
10
11
|
import { SqliteClient } from "./SqliteClient.js";
|
|
11
12
|
/**
|
|
@@ -22,9 +23,9 @@ export * from "@effect/sql/Migrator/FileSystem";
|
|
|
22
23
|
*/
|
|
23
24
|
export const run = /*#__PURE__*/Migrator.make({
|
|
24
25
|
dumpSchema(path, table) {
|
|
25
|
-
const dump = args => Effect.gen(function* (
|
|
26
|
+
const dump = args => Effect.gen(function* () {
|
|
26
27
|
const sql = yield* SqliteClient;
|
|
27
|
-
const dump = yield*
|
|
28
|
+
const dump = yield* pipe(Command.make("sqlite3", sql.config.filename, ...args), Command.string);
|
|
28
29
|
return dump.replace(/^create table sqlite_sequence\(.*$/im, "").replace(/\n{2,}/gm, "\n\n").trim();
|
|
29
30
|
}).pipe(Effect.mapError(error => new Migrator.MigrationError({
|
|
30
31
|
reason: "failed",
|
|
@@ -35,14 +36,14 @@ export const run = /*#__PURE__*/Migrator.make({
|
|
|
35
36
|
const dumpAll = Effect.map(Effect.all([dumpSchema, dumpMigrations], {
|
|
36
37
|
concurrency: 2
|
|
37
38
|
}), ([schema, migrations]) => schema + "\n\n" + migrations);
|
|
38
|
-
const dumpFile = file => Effect.gen(function* (
|
|
39
|
-
const fs = yield*
|
|
40
|
-
const path = yield*
|
|
41
|
-
const dump = yield*
|
|
42
|
-
yield*
|
|
39
|
+
const dumpFile = file => Effect.gen(function* () {
|
|
40
|
+
const fs = yield* FileSystem;
|
|
41
|
+
const path = yield* Path;
|
|
42
|
+
const dump = yield* dumpAll;
|
|
43
|
+
yield* fs.makeDirectory(path.dirname(file), {
|
|
43
44
|
recursive: true
|
|
44
|
-
})
|
|
45
|
-
yield*
|
|
45
|
+
});
|
|
46
|
+
yield* fs.writeFileString(file, dump);
|
|
46
47
|
}).pipe(Effect.mapError(error => new Migrator.MigrationError({
|
|
47
48
|
reason: "failed",
|
|
48
49
|
message: error.message
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SqliteMigrator.js","names":["Command","FileSystem","Path","Migrator","Effect","Layer","SqliteClient","run","make","dumpSchema","path","table","dump","args","gen","
|
|
1
|
+
{"version":3,"file":"SqliteMigrator.js","names":["Command","FileSystem","Path","Migrator","Effect","pipe","Layer","SqliteClient","run","make","dumpSchema","path","table","dump","args","gen","sql","config","filename","string","replace","trim","mapError","error","MigrationError","reason","message","dumpMigrations","dumpAll","map","all","concurrency","schema","migrations","dumpFile","file","fs","makeDirectory","dirname","recursive","writeFileString","layer","options","effectDiscard"],"sources":["../../src/SqliteMigrator.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,OAAO,MAAM,0BAA0B;AAEnD,SAASC,UAAU,QAAQ,6BAA6B;AACxD,SAASC,IAAI,QAAQ,uBAAuB;AAC5C,OAAO,KAAKC,QAAQ,MAAM,sBAAsB;AAGhD,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,SAASC,IAAI,QAAQ,iBAAiB;AACtC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,SAASC,YAAY,QAAQ,mBAAmB;AAEhD;;;AAGA,cAAc,sBAAsB;AAEpC;;;AAGA,cAAc,iCAAiC;AAE/C;;;;AAIA,OAAO,MAAMC,GAAG,gBAMZL,QAAQ,CAACM,IAAI,CAAC;EAChBC,UAAUA,CAACC,IAAI,EAAEC,KAAK;IACpB,MAAMC,IAAI,GAAIC,IAAmB,IAC/BV,MAAM,CAACW,GAAG,CAAC,aAAS;MAClB,MAAMC,GAAG,GAAG,OAAOT,YAAY;MAC/B,MAAMM,IAAI,GAAG,OAAOR,IAAI,CACtBL,OAAO,CAACS,IAAI,CAAC,SAAS,EAAGO,GAAoB,CAACC,MAAM,CAACC,QAAQ,EAAE,GAAGJ,IAAI,CAAC,EACvEd,OAAO,CAACmB,MAAM,CACf;MACD,OAAON,IAAI,CAACO,OAAO,CAAC,sCAAsC,EAAE,EAAE,CAAC,CAC5DA,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,CAC3BC,IAAI,EAAE;IACX,CAAC,CAAC,CAAChB,IAAI,CACLD,MAAM,CAACkB,QAAQ,CAAEC,KAAK,IAAK,IAAIpB,QAAQ,CAACqB,cAAc,CAAC;MAAEC,MAAM,EAAE,QAAQ;MAAEC,OAAO,EAAEH,KAAK,CAACG;IAAO,CAAE,CAAC,CAAC,CACtG;IAEH,MAAMhB,UAAU,GAAGG,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC;IAEpC,MAAMc,cAAc,GAAGd,IAAI,CAAC,CAC1B,OAAO,EACP,gBAAgBD,KAAK,EAAE,EACvB,iBAAiBA,KAAK,EAAE,CACzB,CAAC;IAEF,MAAMgB,OAAO,GAAGxB,MAAM,CAACyB,GAAG,CACxBzB,MAAM,CAAC0B,GAAG,CAAC,CAACpB,UAAU,EAAEiB,cAAc,CAAC,EAAE;MAAEI,WAAW,EAAE;IAAC,CAAE,CAAC,EAC5D,CAAC,CAACC,MAAM,EAAEC,UAAU,CAAC,KAAKD,MAAM,GAAG,MAAM,GAAGC,UAAU,CACvD;IAED,MAAMC,QAAQ,GAAIC,IAAY,IAC5B/B,MAAM,CAACW,GAAG,CAAC,aAAS;MAClB,MAAMqB,EAAE,GAAG,OAAOnC,UAAU;MAC5B,MAAMU,IAAI,GAAG,OAAOT,IAAI;MACxB,MAAMW,IAAI,GAAG,OAAOe,OAAO;MAC3B,OAAOQ,EAAE,CAACC,aAAa,CAAC1B,IAAI,CAAC2B,OAAO,CAACH,IAAI,CAAC,EAAE;QAAEI,SAAS,EAAE;MAAI,CAAE,CAAC;MAChE,OAAOH,EAAE,CAACI,eAAe,CAACL,IAAI,EAAEtB,IAAI,CAAC;IACvC,CAAC,CAAC,CAACR,IAAI,CACLD,MAAM,CAACkB,QAAQ,CAAEC,KAAK,IAAK,IAAIpB,QAAQ,CAACqB,cAAc,CAAC;MAAEC,MAAM,EAAE,QAAQ;MAAEC,OAAO,EAAEH,KAAK,CAACG;IAAO,CAAE,CAAC,CAAC,CACtG;IAEH,OAAOQ,QAAQ,CAACvB,IAAI,CAAC;EACvB;CACD,CAAC;AAEF;;;;AAIA,OAAO,MAAM8B,KAAK,GAChBC,OAAoC,IAKjCpC,KAAK,CAACqC,aAAa,CAACnC,GAAG,CAACkC,OAAO,CAAC,CAAC","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@effect/sql-sqlite-bun",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.29.0",
|
|
4
4
|
"description": "A SQLite toolkit for Effect",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -13,10 +13,10 @@
|
|
|
13
13
|
"@opentelemetry/semantic-conventions": "^1.25.1"
|
|
14
14
|
},
|
|
15
15
|
"peerDependencies": {
|
|
16
|
-
"@effect/experimental": "^0.
|
|
17
|
-
"
|
|
18
|
-
"effect": "^
|
|
19
|
-
"@effect/
|
|
16
|
+
"@effect/experimental": "^0.39.0",
|
|
17
|
+
"effect": "^3.12.6",
|
|
18
|
+
"@effect/sql": "^0.28.0",
|
|
19
|
+
"@effect/platform": "^0.75.0"
|
|
20
20
|
},
|
|
21
21
|
"publishConfig": {
|
|
22
22
|
"provenance": true
|
package/src/SqliteClient.ts
CHANGED
|
@@ -77,7 +77,7 @@ interface SqliteConnection extends Connection {
|
|
|
77
77
|
export const make = (
|
|
78
78
|
options: SqliteClientConfig
|
|
79
79
|
): Effect.Effect<SqliteClient, never, Scope.Scope | Reactivity.Reactivity> =>
|
|
80
|
-
Effect.gen(function*(
|
|
80
|
+
Effect.gen(function*() {
|
|
81
81
|
const compiler = Statement.makeCompilerSqlite(options.transformQueryNames)
|
|
82
82
|
const transformRows = options.transformResultNames ?
|
|
83
83
|
Statement.defaultTransforms(
|
|
@@ -85,13 +85,13 @@ export const make = (
|
|
|
85
85
|
).array :
|
|
86
86
|
undefined
|
|
87
87
|
|
|
88
|
-
const makeConnection = Effect.gen(function*(
|
|
88
|
+
const makeConnection = Effect.gen(function*() {
|
|
89
89
|
const db = new Database(options.filename, {
|
|
90
90
|
readonly: options.readonly,
|
|
91
91
|
readwrite: options.readwrite ?? true,
|
|
92
92
|
create: options.create ?? true
|
|
93
93
|
} as any)
|
|
94
|
-
yield*
|
|
94
|
+
yield* Effect.addFinalizer(() => Effect.sync(() => db.close()))
|
|
95
95
|
|
|
96
96
|
if (options.disableWAL !== true) {
|
|
97
97
|
db.run("PRAGMA journal_mode = WAL;")
|
|
@@ -145,8 +145,8 @@ export const make = (
|
|
|
145
145
|
})
|
|
146
146
|
})
|
|
147
147
|
|
|
148
|
-
const semaphore = yield*
|
|
149
|
-
const connection = yield*
|
|
148
|
+
const semaphore = yield* Effect.makeSemaphore(1)
|
|
149
|
+
const connection = yield* makeConnection
|
|
150
150
|
|
|
151
151
|
const acquirer = semaphore.withPermits(1)(Effect.succeed(connection))
|
|
152
152
|
const transactionAcquirer = Effect.uninterruptibleMask((restore) =>
|
package/src/SqliteMigrator.ts
CHANGED
|
@@ -9,6 +9,7 @@ import * as Migrator from "@effect/sql/Migrator"
|
|
|
9
9
|
import type * as Client from "@effect/sql/SqlClient"
|
|
10
10
|
import type { SqlError } from "@effect/sql/SqlError"
|
|
11
11
|
import * as Effect from "effect/Effect"
|
|
12
|
+
import { pipe } from "effect/Function"
|
|
12
13
|
import * as Layer from "effect/Layer"
|
|
13
14
|
import { SqliteClient } from "./SqliteClient.js"
|
|
14
15
|
|
|
@@ -35,9 +36,9 @@ export const run: <R2 = never>(
|
|
|
35
36
|
> = Migrator.make({
|
|
36
37
|
dumpSchema(path, table) {
|
|
37
38
|
const dump = (args: Array<string>) =>
|
|
38
|
-
Effect.gen(function*(
|
|
39
|
+
Effect.gen(function*() {
|
|
39
40
|
const sql = yield* SqliteClient
|
|
40
|
-
const dump = yield*
|
|
41
|
+
const dump = yield* pipe(
|
|
41
42
|
Command.make("sqlite3", (sql as SqliteClient).config.filename, ...args),
|
|
42
43
|
Command.string
|
|
43
44
|
)
|
|
@@ -62,12 +63,12 @@ export const run: <R2 = never>(
|
|
|
62
63
|
)
|
|
63
64
|
|
|
64
65
|
const dumpFile = (file: string) =>
|
|
65
|
-
Effect.gen(function*(
|
|
66
|
-
const fs = yield*
|
|
67
|
-
const path = yield*
|
|
68
|
-
const dump = yield*
|
|
69
|
-
yield*
|
|
70
|
-
yield*
|
|
66
|
+
Effect.gen(function*() {
|
|
67
|
+
const fs = yield* FileSystem
|
|
68
|
+
const path = yield* Path
|
|
69
|
+
const dump = yield* dumpAll
|
|
70
|
+
yield* fs.makeDirectory(path.dirname(file), { recursive: true })
|
|
71
|
+
yield* fs.writeFileString(file, dump)
|
|
71
72
|
}).pipe(
|
|
72
73
|
Effect.mapError((error) => new Migrator.MigrationError({ reason: "failed", message: error.message }))
|
|
73
74
|
)
|