@effect/sql-sqlite-wasm 4.0.0-beta.5 → 4.0.0-beta.51
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/OpfsWorker.d.ts.map +1 -1
- package/dist/OpfsWorker.js +6 -3
- package/dist/OpfsWorker.js.map +1 -1
- package/dist/SqliteClient.d.ts +3 -3
- package/dist/SqliteClient.d.ts.map +1 -1
- package/dist/SqliteClient.js +23 -24
- package/dist/SqliteClient.js.map +1 -1
- package/package.json +3 -3
- package/src/OpfsWorker.ts +5 -2
- package/src/SqliteClient.ts +36 -26
package/dist/OpfsWorker.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpfsWorker.d.ts","sourceRoot":"","sources":["../src/OpfsWorker.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,
|
|
1
|
+
{"version":3,"file":"OpfsWorker.d.ts","sourceRoot":"","sources":["../src/OpfsWorker.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAuB,QAAQ,EAAE,MAAM,8BAA8B,CAAA;AAM5E;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,aAAa,GAAG,OAAO,CAAC,CAAA;IACvE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CACxB;AAED;;;GAGG;AACH,eAAO,MAAM,GAAG,GACd,SAAS,gBAAgB,KACxB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CA0EP,CAAA"}
|
package/dist/OpfsWorker.js
CHANGED
|
@@ -7,7 +7,11 @@ import * as WaSqlite from "@effect/wa-sqlite";
|
|
|
7
7
|
import SQLiteESMFactory from "@effect/wa-sqlite/dist/wa-sqlite.mjs";
|
|
8
8
|
import { AccessHandlePoolVFS } from "@effect/wa-sqlite/src/examples/AccessHandlePoolVFS.js";
|
|
9
9
|
import * as Effect from "effect/Effect";
|
|
10
|
-
import { SqlError } from "effect/unstable/sql/SqlError";
|
|
10
|
+
import { classifySqliteError, SqlError } from "effect/unstable/sql/SqlError";
|
|
11
|
+
const classifyError = (cause, message, operation) => classifySqliteError(cause, {
|
|
12
|
+
message,
|
|
13
|
+
operation
|
|
14
|
+
});
|
|
11
15
|
/**
|
|
12
16
|
* @category constructor
|
|
13
17
|
* @since 1.0.0
|
|
@@ -20,8 +24,7 @@ export const run = options => Effect.gen(function* () {
|
|
|
20
24
|
const db = yield* Effect.acquireRelease(Effect.try({
|
|
21
25
|
try: () => sqlite3.open_v2(options.dbName, undefined, "opfs"),
|
|
22
26
|
catch: cause => new SqlError({
|
|
23
|
-
cause,
|
|
24
|
-
message: "Failed to open database"
|
|
27
|
+
reason: classifyError(cause, "Failed to open database", "openDatabase")
|
|
25
28
|
})
|
|
26
29
|
}), db => Effect.sync(() => sqlite3.close(db)));
|
|
27
30
|
return yield* Effect.callback(resume => {
|
package/dist/OpfsWorker.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpfsWorker.js","names":["WaSqlite","SQLiteESMFactory","AccessHandlePoolVFS","Effect","SqlError","run","options","gen","factory","promise","sqlite3","Factory","vfs","create","vfs_register","db","acquireRelease","try","open_v2","dbName","undefined","catch","
|
|
1
|
+
{"version":3,"file":"OpfsWorker.js","names":["WaSqlite","SQLiteESMFactory","AccessHandlePoolVFS","Effect","classifySqliteError","SqlError","classifyError","cause","message","operation","run","options","gen","factory","promise","sqlite3","Factory","vfs","create","vfs_register","db","acquireRelease","try","open_v2","dbName","undefined","catch","reason","sync","close","callback","resume","onMessage","event","messageId","data","port","void","id","deserialize","length","postMessage","serialize","buffer","update_hook","_op","_db","table","rowid","Number","sql","params","results","columns","stmt","statements","bind_collection","step","SQLITE_ROW","column_names","row","push","e","String","addEventListener","removeEventListener","pipe","scoped"],"sources":["../src/OpfsWorker.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/SqliteClient.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import * as Config from "effect/Config";
|
|
2
|
+
import * as Context from "effect/Context";
|
|
2
3
|
import * as Effect from "effect/Effect";
|
|
3
4
|
import * as Layer from "effect/Layer";
|
|
4
5
|
import * as Scope from "effect/Scope";
|
|
5
|
-
import * as ServiceMap from "effect/ServiceMap";
|
|
6
6
|
import * as Reactivity from "effect/unstable/reactivity/Reactivity";
|
|
7
7
|
import * as Client from "effect/unstable/sql/SqlClient";
|
|
8
8
|
import { SqlError } from "effect/unstable/sql/SqlError";
|
|
@@ -32,7 +32,7 @@ export interface SqliteClient extends Client.SqlClient {
|
|
|
32
32
|
* @category tags
|
|
33
33
|
* @since 1.0.0
|
|
34
34
|
*/
|
|
35
|
-
export declare const SqliteClient:
|
|
35
|
+
export declare const SqliteClient: Context.Service<SqliteClient, SqliteClient>;
|
|
36
36
|
/**
|
|
37
37
|
* @category models
|
|
38
38
|
* @since 1.0.0
|
|
@@ -68,7 +68,7 @@ export declare const make: (options: SqliteClientConfig) => Effect.Effect<Sqlite
|
|
|
68
68
|
* @category tranferables
|
|
69
69
|
* @since 1.0.0
|
|
70
70
|
*/
|
|
71
|
-
export declare const Transferables:
|
|
71
|
+
export declare const Transferables: Context.Reference<readonly Transferable[]>;
|
|
72
72
|
/**
|
|
73
73
|
* @category tranferables
|
|
74
74
|
* @since 1.0.0
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SqliteClient.d.ts","sourceRoot":"","sources":["../src/SqliteClient.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"SqliteClient.d.ts","sourceRoot":"","sources":["../src/SqliteClient.ts"],"names":[],"mappings":"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"}
|
package/dist/SqliteClient.js
CHANGED
|
@@ -6,6 +6,7 @@ import * as WaSqlite from "@effect/wa-sqlite";
|
|
|
6
6
|
import SQLiteESMFactory from "@effect/wa-sqlite/dist/wa-sqlite.mjs";
|
|
7
7
|
import { MemoryVFS } from "@effect/wa-sqlite/src/examples/MemoryVFS.js";
|
|
8
8
|
import * as Config from "effect/Config";
|
|
9
|
+
import * as Context from "effect/Context";
|
|
9
10
|
import * as Deferred from "effect/Deferred";
|
|
10
11
|
import * as Effect from "effect/Effect";
|
|
11
12
|
import * as Exit from "effect/Exit";
|
|
@@ -14,13 +15,17 @@ import { identity } from "effect/Function";
|
|
|
14
15
|
import * as Layer from "effect/Layer";
|
|
15
16
|
import * as Scope from "effect/Scope";
|
|
16
17
|
import * as ScopedRef from "effect/ScopedRef";
|
|
17
|
-
import * as
|
|
18
|
+
import * as Semaphore from "effect/Semaphore";
|
|
18
19
|
import * as Stream from "effect/Stream";
|
|
19
20
|
import * as Reactivity from "effect/unstable/reactivity/Reactivity";
|
|
20
21
|
import * as Client from "effect/unstable/sql/SqlClient";
|
|
21
|
-
import { SqlError } from "effect/unstable/sql/SqlError";
|
|
22
|
+
import { classifySqliteError, SqlError } from "effect/unstable/sql/SqlError";
|
|
22
23
|
import * as Statement from "effect/unstable/sql/Statement";
|
|
23
24
|
const ATTR_DB_SYSTEM_NAME = "db.system.name";
|
|
25
|
+
const classifyError = (cause, message, operation) => classifySqliteError(cause, {
|
|
26
|
+
message,
|
|
27
|
+
operation
|
|
28
|
+
});
|
|
24
29
|
/**
|
|
25
30
|
* @category type ids
|
|
26
31
|
* @since 1.0.0
|
|
@@ -30,7 +35,7 @@ export const TypeId = "~@effect/sql-sqlite-wasm/SqliteClient";
|
|
|
30
35
|
* @category tags
|
|
31
36
|
* @since 1.0.0
|
|
32
37
|
*/
|
|
33
|
-
export const SqliteClient = /*#__PURE__*/
|
|
38
|
+
export const SqliteClient = /*#__PURE__*/Context.Service("@effect/sql-sqlite-wasm/SqliteClient");
|
|
34
39
|
const initModule = /*#__PURE__*/Effect.runSync(/*#__PURE__*/Effect.cached(/*#__PURE__*/Effect.promise(() => SQLiteESMFactory())));
|
|
35
40
|
const initEffect = /*#__PURE__*/Effect.runSync(/*#__PURE__*/Effect.cached(/*#__PURE__*/initModule.pipe(/*#__PURE__*/Effect.map(module => WaSqlite.Factory(module)))));
|
|
36
41
|
const registered = /*#__PURE__*/new Set();
|
|
@@ -54,8 +59,7 @@ export const makeMemory = options => Effect.gen(function* () {
|
|
|
54
59
|
const db = yield* Effect.acquireRelease(Effect.try({
|
|
55
60
|
try: () => sqlite3.open_v2(":memory:", undefined, "memory-vfs"),
|
|
56
61
|
catch: cause => new SqlError({
|
|
57
|
-
cause,
|
|
58
|
-
message: "Failed to open database"
|
|
62
|
+
reason: classifyError(cause, "Failed to open database", "openDatabase")
|
|
59
63
|
})
|
|
60
64
|
}), db => Effect.sync(() => sqlite3.close(db)));
|
|
61
65
|
if (options.installReactivityHooks) {
|
|
@@ -90,8 +94,7 @@ export const makeMemory = options => Effect.gen(function* () {
|
|
|
90
94
|
return results;
|
|
91
95
|
},
|
|
92
96
|
catch: cause => new SqlError({
|
|
93
|
-
cause,
|
|
94
|
-
message: "Failed to execute statement"
|
|
97
|
+
reason: classifyError(cause, "Failed to execute statement", "execute")
|
|
95
98
|
})
|
|
96
99
|
});
|
|
97
100
|
return identity({
|
|
@@ -124,34 +127,31 @@ export const makeMemory = options => Effect.gen(function* () {
|
|
|
124
127
|
}
|
|
125
128
|
}
|
|
126
129
|
return Stream.suspend(() => Stream.fromIteratorSucceed(stream()[Symbol.iterator]())).pipe(transformRows ? Stream.mapArray(chunk => transformRows(chunk)) : identity, Stream.mapError(cause => new SqlError({
|
|
127
|
-
cause,
|
|
128
|
-
message: "Failed to execute statement"
|
|
130
|
+
reason: classifyError(cause, "Failed to execute statement", "stream")
|
|
129
131
|
})));
|
|
130
132
|
},
|
|
131
133
|
export: Effect.try({
|
|
132
134
|
try: () => sqlite3.serialize(db, "main"),
|
|
133
135
|
catch: cause => new SqlError({
|
|
134
|
-
cause,
|
|
135
|
-
message: "Failed to export database"
|
|
136
|
+
reason: classifyError(cause, "Failed to export database", "export")
|
|
136
137
|
})
|
|
137
138
|
}),
|
|
138
139
|
import(data) {
|
|
139
140
|
return Effect.try({
|
|
140
141
|
try: () => sqlite3.deserialize(db, "main", data, data.length, data.length, 1 | 2),
|
|
141
142
|
catch: cause => new SqlError({
|
|
142
|
-
cause,
|
|
143
|
-
message: "Failed to import database"
|
|
143
|
+
reason: classifyError(cause, "Failed to import database", "import")
|
|
144
144
|
})
|
|
145
145
|
});
|
|
146
146
|
}
|
|
147
147
|
});
|
|
148
148
|
});
|
|
149
|
-
const semaphore = yield*
|
|
149
|
+
const semaphore = yield* Semaphore.make(1);
|
|
150
150
|
const connection = yield* makeConnection;
|
|
151
151
|
const acquirer = semaphore.withPermits(1)(Effect.succeed(connection));
|
|
152
152
|
const transactionAcquirer = Effect.uninterruptibleMask(restore => {
|
|
153
153
|
const fiber = Fiber.getCurrent();
|
|
154
|
-
const scope =
|
|
154
|
+
const scope = Context.getUnsafe(fiber.context, Scope.Scope);
|
|
155
155
|
return Effect.as(Effect.tap(restore(semaphore.take(1)), () => Scope.addFinalizer(scope, semaphore.release(1))), connection);
|
|
156
156
|
});
|
|
157
157
|
return Object.assign(yield* Client.make({
|
|
@@ -202,8 +202,7 @@ export const make = options => Effect.gen(function* () {
|
|
|
202
202
|
pending.delete(id);
|
|
203
203
|
if (error) {
|
|
204
204
|
resume(Exit.fail(new SqlError({
|
|
205
|
-
|
|
206
|
-
message: "Failed to execute statement"
|
|
205
|
+
reason: classifyError(error, "Failed to execute statement", "execute")
|
|
207
206
|
})));
|
|
208
207
|
} else {
|
|
209
208
|
resume(Exit.succeed(results));
|
|
@@ -265,11 +264,11 @@ export const make = options => Effect.gen(function* () {
|
|
|
265
264
|
});
|
|
266
265
|
});
|
|
267
266
|
const connectionRef = yield* ScopedRef.fromAcquire(makeConnection);
|
|
268
|
-
const semaphore = yield*
|
|
267
|
+
const semaphore = yield* Semaphore.make(1);
|
|
269
268
|
const acquirer = semaphore.withPermits(1)(ScopedRef.get(connectionRef));
|
|
270
269
|
const transactionAcquirer = Effect.uninterruptibleMask(Effect.fnUntraced(function* (restore) {
|
|
271
270
|
const fiber = Fiber.getCurrent();
|
|
272
|
-
const scope =
|
|
271
|
+
const scope = Context.getUnsafe(fiber.context, Scope.Scope);
|
|
273
272
|
yield* restore(semaphore.take(1));
|
|
274
273
|
yield* Scope.addFinalizer(scope, semaphore.release(1));
|
|
275
274
|
return yield* ScopedRef.get(connectionRef);
|
|
@@ -302,7 +301,7 @@ const extractRows = rows => rows[1];
|
|
|
302
301
|
* @category tranferables
|
|
303
302
|
* @since 1.0.0
|
|
304
303
|
*/
|
|
305
|
-
export const Transferables = /*#__PURE__*/
|
|
304
|
+
export const Transferables = /*#__PURE__*/Context.Reference("@effect/sql-sqlite-wasm/currentTransferables", {
|
|
306
305
|
defaultValue: () => []
|
|
307
306
|
});
|
|
308
307
|
/**
|
|
@@ -314,20 +313,20 @@ export const withTransferables = transferables => effect => Effect.provideServic
|
|
|
314
313
|
* @category layers
|
|
315
314
|
* @since 1.0.0
|
|
316
315
|
*/
|
|
317
|
-
export const layerMemoryConfig = config => Layer.
|
|
316
|
+
export const layerMemoryConfig = config => Layer.effectContext(Config.unwrap(config).asEffect().pipe(Effect.flatMap(makeMemory), Effect.map(client => Context.make(SqliteClient, client).pipe(Context.add(Client.SqlClient, client))))).pipe(Layer.provide(Reactivity.layer));
|
|
318
317
|
/**
|
|
319
318
|
* @category layers
|
|
320
319
|
* @since 1.0.0
|
|
321
320
|
*/
|
|
322
|
-
export const layerMemory = config => Layer.
|
|
321
|
+
export const layerMemory = config => Layer.effectContext(Effect.map(makeMemory(config), client => Context.make(SqliteClient, client).pipe(Context.add(Client.SqlClient, client)))).pipe(Layer.provide(Reactivity.layer));
|
|
323
322
|
/**
|
|
324
323
|
* @category layers
|
|
325
324
|
* @since 1.0.0
|
|
326
325
|
*/
|
|
327
|
-
export const layer = config => Layer.
|
|
326
|
+
export const layer = config => Layer.effectContext(Effect.map(make(config), client => Context.make(SqliteClient, client).pipe(Context.add(Client.SqlClient, client)))).pipe(Layer.provide(Reactivity.layer));
|
|
328
327
|
/**
|
|
329
328
|
* @category layers
|
|
330
329
|
* @since 1.0.0
|
|
331
330
|
*/
|
|
332
|
-
export const layerConfig = config => Layer.
|
|
331
|
+
export const layerConfig = config => Layer.effectContext(Config.unwrap(config).asEffect().pipe(Effect.flatMap(make), Effect.map(client => Context.make(SqliteClient, client).pipe(Context.add(Client.SqlClient, client))))).pipe(Layer.provide(Reactivity.layer));
|
|
333
332
|
//# sourceMappingURL=SqliteClient.js.map
|
package/dist/SqliteClient.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SqliteClient.js","names":["WaSqlite","SQLiteESMFactory","MemoryVFS","Config","Deferred","Effect","Exit","Fiber","identity","Layer","Scope","ScopedRef","ServiceMap","Stream","Reactivity","Client","SqlError","Statement","ATTR_DB_SYSTEM_NAME","TypeId","SqliteClient","Service","initModule","runSync","cached","promise","initEffect","pipe","map","module","Factory","registered","Set","makeMemory","options","gen","reactivity","compiler","makeCompilerSqlite","transformQueryNames","transformRows","transformResultNames","defaultTransforms","array","undefined","makeConnection","sqlite3","has","add","vfs","vfs_register","db","acquireRelease","try","open_v2","catch","cause","message","sync","close","installReactivityHooks","update_hook","_op","_db","table","rowid","id","String","Number","invalidateUnsafe","run","sql","params","rowMode","results","stmt","statements","columns","bind_collection","step","SQLITE_ROW","column_names","row","obj","i","length","push","execute","executeRaw","executeValues","executeUnprepared","executeStream","stream","suspend","fromIteratorSucceed","Symbol","iterator","mapArray","chunk","mapError","export","serialize","import","data","deserialize","semaphore","makeSemaphore","connection","acquirer","withPermits","succeed","transactionAcquirer","uninterruptibleMask","restore","fiber","getCurrent","scope","getUnsafe","services","as","tap","take","addFinalizer","release","Object","assign","make","spanAttributes","entries","config","pending","Map","currentId","readyDeferred","worker","port","postMessage","transferables","onMessage","event","error","doneUnsafe","void","resume","get","delete","fail","addEventListener","onError","runFork","set","connectionRef","removeEventListener","await","send","callback","rows","withFiber","getRef","Transferables","extractObject","extractRows","die","buffer","fromAcquire","fnUntraced","flatMap","rowToObject","Reference","defaultValue","withTransferables","effect","provideService","layerMemoryConfig","effectServices","unwrap","asEffect","client","SqlClient","provide","layer","layerMemory","layerConfig"],"sources":["../src/SqliteClient.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"SqliteClient.js","names":["WaSqlite","SQLiteESMFactory","MemoryVFS","Config","Context","Deferred","Effect","Exit","Fiber","identity","Layer","Scope","ScopedRef","Semaphore","Stream","Reactivity","Client","classifySqliteError","SqlError","Statement","ATTR_DB_SYSTEM_NAME","classifyError","cause","message","operation","TypeId","SqliteClient","Service","initModule","runSync","cached","promise","initEffect","pipe","map","module","Factory","registered","Set","makeMemory","options","gen","reactivity","compiler","makeCompilerSqlite","transformQueryNames","transformRows","transformResultNames","defaultTransforms","array","undefined","makeConnection","sqlite3","has","add","vfs","vfs_register","db","acquireRelease","try","open_v2","catch","reason","sync","close","installReactivityHooks","update_hook","_op","_db","table","rowid","id","String","Number","invalidateUnsafe","run","sql","params","rowMode","results","stmt","statements","columns","bind_collection","step","SQLITE_ROW","column_names","row","obj","i","length","push","execute","executeRaw","executeValues","executeUnprepared","executeStream","stream","suspend","fromIteratorSucceed","Symbol","iterator","mapArray","chunk","mapError","export","serialize","import","data","deserialize","semaphore","make","connection","acquirer","withPermits","succeed","transactionAcquirer","uninterruptibleMask","restore","fiber","getCurrent","scope","getUnsafe","context","as","tap","take","addFinalizer","release","Object","assign","spanAttributes","entries","config","pending","Map","currentId","readyDeferred","worker","port","postMessage","transferables","onMessage","event","error","doneUnsafe","void","resume","get","delete","fail","addEventListener","onError","runFork","set","connectionRef","removeEventListener","await","send","callback","rows","withFiber","getRef","Transferables","extractObject","extractRows","die","buffer","fromAcquire","fnUntraced","flatMap","rowToObject","Reference","defaultValue","withTransferables","effect","provideService","layerMemoryConfig","effectContext","unwrap","asEffect","client","SqlClient","provide","layer","layerMemory","layerConfig"],"sources":["../src/SqliteClient.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@effect/sql-sqlite-wasm",
|
|
3
|
-
"version": "4.0.0-beta.
|
|
3
|
+
"version": "4.0.0-beta.51",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"description": "A SQLite toolkit for Effect",
|
|
@@ -44,11 +44,11 @@
|
|
|
44
44
|
},
|
|
45
45
|
"devDependencies": {
|
|
46
46
|
"@effect/wa-sqlite": "^0.2.1",
|
|
47
|
-
"effect": "^4.0.0-beta.
|
|
47
|
+
"effect": "^4.0.0-beta.51"
|
|
48
48
|
},
|
|
49
49
|
"peerDependencies": {
|
|
50
50
|
"@effect/wa-sqlite": "^0.1.2",
|
|
51
|
-
"effect": "^4.0.0-beta.
|
|
51
|
+
"effect": "^4.0.0-beta.51"
|
|
52
52
|
},
|
|
53
53
|
"scripts": {
|
|
54
54
|
"codegen": "effect-utils codegen",
|
package/src/OpfsWorker.ts
CHANGED
|
@@ -7,9 +7,12 @@ import * as WaSqlite from "@effect/wa-sqlite"
|
|
|
7
7
|
import SQLiteESMFactory from "@effect/wa-sqlite/dist/wa-sqlite.mjs"
|
|
8
8
|
import { AccessHandlePoolVFS } from "@effect/wa-sqlite/src/examples/AccessHandlePoolVFS.js"
|
|
9
9
|
import * as Effect from "effect/Effect"
|
|
10
|
-
import { SqlError } from "effect/unstable/sql/SqlError"
|
|
10
|
+
import { classifySqliteError, SqlError } from "effect/unstable/sql/SqlError"
|
|
11
11
|
import type { OpfsWorkerMessage } from "./internal/opfsWorker.ts"
|
|
12
12
|
|
|
13
|
+
const classifyError = (cause: unknown, message: string, operation: string) =>
|
|
14
|
+
classifySqliteError(cause, { message, operation })
|
|
15
|
+
|
|
13
16
|
/**
|
|
14
17
|
* @category models
|
|
15
18
|
* @since 1.0.0
|
|
@@ -34,7 +37,7 @@ export const run = (
|
|
|
34
37
|
const db = yield* Effect.acquireRelease(
|
|
35
38
|
Effect.try({
|
|
36
39
|
try: () => sqlite3.open_v2(options.dbName, undefined, "opfs"),
|
|
37
|
-
catch: (cause) => new SqlError({ cause,
|
|
40
|
+
catch: (cause) => new SqlError({ reason: classifyError(cause, "Failed to open database", "openDatabase") })
|
|
38
41
|
}),
|
|
39
42
|
(db) => Effect.sync(() => sqlite3.close(db))
|
|
40
43
|
)
|
package/src/SqliteClient.ts
CHANGED
|
@@ -6,6 +6,7 @@ import * as WaSqlite from "@effect/wa-sqlite"
|
|
|
6
6
|
import SQLiteESMFactory from "@effect/wa-sqlite/dist/wa-sqlite.mjs"
|
|
7
7
|
import { MemoryVFS } from "@effect/wa-sqlite/src/examples/MemoryVFS.js"
|
|
8
8
|
import * as Config from "effect/Config"
|
|
9
|
+
import * as Context from "effect/Context"
|
|
9
10
|
import * as Deferred from "effect/Deferred"
|
|
10
11
|
import * as Effect from "effect/Effect"
|
|
11
12
|
import * as Exit from "effect/Exit"
|
|
@@ -14,17 +15,20 @@ import { identity } from "effect/Function"
|
|
|
14
15
|
import * as Layer from "effect/Layer"
|
|
15
16
|
import * as Scope from "effect/Scope"
|
|
16
17
|
import * as ScopedRef from "effect/ScopedRef"
|
|
17
|
-
import * as
|
|
18
|
+
import * as Semaphore from "effect/Semaphore"
|
|
18
19
|
import * as Stream from "effect/Stream"
|
|
19
20
|
import * as Reactivity from "effect/unstable/reactivity/Reactivity"
|
|
20
21
|
import * as Client from "effect/unstable/sql/SqlClient"
|
|
21
22
|
import type { Connection } from "effect/unstable/sql/SqlConnection"
|
|
22
|
-
import { SqlError } from "effect/unstable/sql/SqlError"
|
|
23
|
+
import { classifySqliteError, SqlError } from "effect/unstable/sql/SqlError"
|
|
23
24
|
import * as Statement from "effect/unstable/sql/Statement"
|
|
24
25
|
import type { OpfsWorkerMessage } from "./internal/opfsWorker.ts"
|
|
25
26
|
|
|
26
27
|
const ATTR_DB_SYSTEM_NAME = "db.system.name"
|
|
27
28
|
|
|
29
|
+
const classifyError = (cause: unknown, message: string, operation: string) =>
|
|
30
|
+
classifySqliteError(cause, { message, operation })
|
|
31
|
+
|
|
28
32
|
/**
|
|
29
33
|
* @category type ids
|
|
30
34
|
* @since 1.0.0
|
|
@@ -55,7 +59,7 @@ export interface SqliteClient extends Client.SqlClient {
|
|
|
55
59
|
* @category tags
|
|
56
60
|
* @since 1.0.0
|
|
57
61
|
*/
|
|
58
|
-
export const SqliteClient =
|
|
62
|
+
export const SqliteClient = Context.Service<SqliteClient>("@effect/sql-sqlite-wasm/SqliteClient")
|
|
59
63
|
|
|
60
64
|
/**
|
|
61
65
|
* @category models
|
|
@@ -124,7 +128,7 @@ export const makeMemory = (
|
|
|
124
128
|
const db = yield* Effect.acquireRelease(
|
|
125
129
|
Effect.try({
|
|
126
130
|
try: () => sqlite3.open_v2(":memory:", undefined, "memory-vfs"),
|
|
127
|
-
catch: (cause) => new SqlError({ cause,
|
|
131
|
+
catch: (cause) => new SqlError({ reason: classifyError(cause, "Failed to open database", "openDatabase") })
|
|
128
132
|
}),
|
|
129
133
|
(db) => Effect.sync(() => sqlite3.close(db))
|
|
130
134
|
)
|
|
@@ -164,7 +168,7 @@ export const makeMemory = (
|
|
|
164
168
|
}
|
|
165
169
|
return results
|
|
166
170
|
},
|
|
167
|
-
catch: (cause) => new SqlError({ cause,
|
|
171
|
+
catch: (cause) => new SqlError({ reason: classifyError(cause, "Failed to execute statement", "execute") })
|
|
168
172
|
})
|
|
169
173
|
|
|
170
174
|
return identity<SqliteConnection>({
|
|
@@ -202,29 +206,31 @@ export const makeMemory = (
|
|
|
202
206
|
transformRows
|
|
203
207
|
? Stream.mapArray((chunk) => transformRows(chunk) as any)
|
|
204
208
|
: identity,
|
|
205
|
-
Stream.mapError((cause) =>
|
|
209
|
+
Stream.mapError((cause) =>
|
|
210
|
+
new SqlError({ reason: classifyError(cause, "Failed to execute statement", "stream") })
|
|
211
|
+
)
|
|
206
212
|
)
|
|
207
213
|
},
|
|
208
214
|
export: Effect.try({
|
|
209
215
|
try: () => sqlite3.serialize(db, "main"),
|
|
210
|
-
catch: (cause) => new SqlError({ cause,
|
|
216
|
+
catch: (cause) => new SqlError({ reason: classifyError(cause, "Failed to export database", "export") })
|
|
211
217
|
}),
|
|
212
218
|
import(data) {
|
|
213
219
|
return Effect.try({
|
|
214
220
|
try: () => sqlite3.deserialize(db, "main", data, data.length, data.length, 1 | 2),
|
|
215
|
-
catch: (cause) => new SqlError({ cause,
|
|
221
|
+
catch: (cause) => new SqlError({ reason: classifyError(cause, "Failed to import database", "import") })
|
|
216
222
|
})
|
|
217
223
|
}
|
|
218
224
|
})
|
|
219
225
|
})
|
|
220
226
|
|
|
221
|
-
const semaphore = yield*
|
|
227
|
+
const semaphore = yield* Semaphore.make(1)
|
|
222
228
|
const connection = yield* makeConnection
|
|
223
229
|
|
|
224
230
|
const acquirer = semaphore.withPermits(1)(Effect.succeed(connection))
|
|
225
231
|
const transactionAcquirer = Effect.uninterruptibleMask((restore) => {
|
|
226
232
|
const fiber = Fiber.getCurrent()!
|
|
227
|
-
const scope =
|
|
233
|
+
const scope = Context.getUnsafe(fiber.context, Scope.Scope)
|
|
228
234
|
return Effect.as(
|
|
229
235
|
Effect.tap(
|
|
230
236
|
restore(semaphore.take(1)),
|
|
@@ -296,7 +302,11 @@ export const make = (
|
|
|
296
302
|
if (!resume) return
|
|
297
303
|
pending.delete(id)
|
|
298
304
|
if (error) {
|
|
299
|
-
resume(
|
|
305
|
+
resume(
|
|
306
|
+
Exit.fail(
|
|
307
|
+
new SqlError({ reason: classifyError(error as string, "Failed to execute statement", "execute") })
|
|
308
|
+
)
|
|
309
|
+
)
|
|
300
310
|
} else {
|
|
301
311
|
resume(Exit.succeed(results))
|
|
302
312
|
}
|
|
@@ -378,11 +388,11 @@ export const make = (
|
|
|
378
388
|
|
|
379
389
|
const connectionRef = yield* ScopedRef.fromAcquire(makeConnection)
|
|
380
390
|
|
|
381
|
-
const semaphore = yield*
|
|
391
|
+
const semaphore = yield* Semaphore.make(1)
|
|
382
392
|
const acquirer = semaphore.withPermits(1)(ScopedRef.get(connectionRef))
|
|
383
393
|
const transactionAcquirer = Effect.uninterruptibleMask(Effect.fnUntraced(function*(restore) {
|
|
384
394
|
const fiber = Fiber.getCurrent()!
|
|
385
|
-
const scope =
|
|
395
|
+
const scope = Context.getUnsafe(fiber.context, Scope.Scope)
|
|
386
396
|
yield* restore(semaphore.take(1))
|
|
387
397
|
yield* Scope.addFinalizer(scope, semaphore.release(1))
|
|
388
398
|
return yield* ScopedRef.get(connectionRef)
|
|
@@ -424,7 +434,7 @@ const extractRows = (rows: [Array<string>, Array<any>]) => rows[1]
|
|
|
424
434
|
* @category tranferables
|
|
425
435
|
* @since 1.0.0
|
|
426
436
|
*/
|
|
427
|
-
export const Transferables =
|
|
437
|
+
export const Transferables = Context.Reference<ReadonlyArray<Transferable>>(
|
|
428
438
|
"@effect/sql-sqlite-wasm/currentTransferables",
|
|
429
439
|
{ defaultValue: () => [] }
|
|
430
440
|
)
|
|
@@ -444,12 +454,12 @@ export const withTransferables =
|
|
|
444
454
|
export const layerMemoryConfig = (
|
|
445
455
|
config: Config.Wrap<SqliteClientMemoryConfig>
|
|
446
456
|
): Layer.Layer<SqliteClient | Client.SqlClient, Config.ConfigError | SqlError> =>
|
|
447
|
-
Layer.
|
|
457
|
+
Layer.effectContext(
|
|
448
458
|
Config.unwrap(config).asEffect().pipe(
|
|
449
459
|
Effect.flatMap(makeMemory),
|
|
450
460
|
Effect.map((client) =>
|
|
451
|
-
|
|
452
|
-
|
|
461
|
+
Context.make(SqliteClient, client).pipe(
|
|
462
|
+
Context.add(Client.SqlClient, client)
|
|
453
463
|
)
|
|
454
464
|
)
|
|
455
465
|
)
|
|
@@ -462,10 +472,10 @@ export const layerMemoryConfig = (
|
|
|
462
472
|
export const layerMemory = (
|
|
463
473
|
config: SqliteClientMemoryConfig
|
|
464
474
|
): Layer.Layer<SqliteClient | Client.SqlClient, SqlError> =>
|
|
465
|
-
Layer.
|
|
475
|
+
Layer.effectContext(
|
|
466
476
|
Effect.map(makeMemory(config), (client) =>
|
|
467
|
-
|
|
468
|
-
|
|
477
|
+
Context.make(SqliteClient, client).pipe(
|
|
478
|
+
Context.add(Client.SqlClient, client)
|
|
469
479
|
))
|
|
470
480
|
).pipe(Layer.provide(Reactivity.layer))
|
|
471
481
|
|
|
@@ -476,10 +486,10 @@ export const layerMemory = (
|
|
|
476
486
|
export const layer = (
|
|
477
487
|
config: SqliteClientConfig
|
|
478
488
|
): Layer.Layer<SqliteClient | Client.SqlClient, SqlError> =>
|
|
479
|
-
Layer.
|
|
489
|
+
Layer.effectContext(
|
|
480
490
|
Effect.map(make(config), (client) =>
|
|
481
|
-
|
|
482
|
-
|
|
491
|
+
Context.make(SqliteClient, client).pipe(
|
|
492
|
+
Context.add(Client.SqlClient, client)
|
|
483
493
|
))
|
|
484
494
|
).pipe(Layer.provide(Reactivity.layer))
|
|
485
495
|
|
|
@@ -490,12 +500,12 @@ export const layer = (
|
|
|
490
500
|
export const layerConfig = (
|
|
491
501
|
config: Config.Wrap<SqliteClientConfig>
|
|
492
502
|
): Layer.Layer<SqliteClient | Client.SqlClient, Config.ConfigError | SqlError> =>
|
|
493
|
-
Layer.
|
|
503
|
+
Layer.effectContext(
|
|
494
504
|
Config.unwrap(config).asEffect().pipe(
|
|
495
505
|
Effect.flatMap(make),
|
|
496
506
|
Effect.map((client) =>
|
|
497
|
-
|
|
498
|
-
|
|
507
|
+
Context.make(SqliteClient, client).pipe(
|
|
508
|
+
Context.add(Client.SqlClient, client)
|
|
499
509
|
)
|
|
500
510
|
)
|
|
501
511
|
)
|