@effect/sql-sqlite-wasm 0.20.6 → 0.21.1

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.
@@ -0,0 +1,6 @@
1
+ {
2
+ "main": "../dist/cjs/OpfsWorker.js",
3
+ "module": "../dist/esm/OpfsWorker.js",
4
+ "types": "../dist/dts/OpfsWorker.d.ts",
5
+ "sideEffects": []
6
+ }
@@ -0,0 +1,103 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.run = void 0;
7
+ var _SqlError = require("@effect/sql/SqlError");
8
+ var WaSqlite = _interopRequireWildcard(require("@effect/wa-sqlite"));
9
+ var _waSqlite2 = _interopRequireDefault(require("@effect/wa-sqlite/dist/wa-sqlite.mjs"));
10
+ var _AccessHandlePoolVFS = require("@effect/wa-sqlite/src/examples/AccessHandlePoolVFS.js");
11
+ var Effect = _interopRequireWildcard(require("effect/Effect"));
12
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
13
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
14
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
15
+ /**
16
+ * @since 1.0.0
17
+ */
18
+ /// <reference lib="webworker" />
19
+
20
+ /**
21
+ * @category constructor
22
+ * @since 1.0.0
23
+ */
24
+ const run = options => Effect.gen(function* () {
25
+ const factory = yield* Effect.promise(() => (0, _waSqlite2.default)());
26
+ const sqlite3 = WaSqlite.Factory(factory);
27
+ const vfs = yield* Effect.promise(() => _AccessHandlePoolVFS.AccessHandlePoolVFS.create("opfs", factory));
28
+ sqlite3.vfs_register(vfs, false);
29
+ const db = yield* Effect.acquireRelease(Effect.try({
30
+ try: () => sqlite3.open_v2(options.dbName, undefined, "opfs"),
31
+ catch: cause => new _SqlError.SqlError({
32
+ cause,
33
+ message: "Failed to open database"
34
+ })
35
+ }), db => Effect.sync(() => sqlite3.close(db)));
36
+ return yield* Effect.async(resume => {
37
+ const onMessage = event => {
38
+ let messageId;
39
+ const message = event.data;
40
+ try {
41
+ switch (message[0]) {
42
+ case "close":
43
+ {
44
+ options.port.close();
45
+ return resume(Effect.void);
46
+ }
47
+ case "import":
48
+ {
49
+ const [, id, data] = message;
50
+ messageId = id;
51
+ sqlite3.deserialize(db, "main", data, data.length, data.length, 1 | 2);
52
+ options.port.postMessage([id, void 0, void 0]);
53
+ return;
54
+ }
55
+ case "export":
56
+ {
57
+ const [, id] = message;
58
+ messageId = id;
59
+ const data = sqlite3.serialize(db, "main");
60
+ options.port.postMessage([id, undefined, data], [data.buffer]);
61
+ return;
62
+ }
63
+ case "update_hook":
64
+ {
65
+ messageId = -1;
66
+ sqlite3.update_hook(db, (_op, _db, table, rowid) => {
67
+ if (!table) return;
68
+ options.port.postMessage(["update_hook", table, Number(rowid)]);
69
+ });
70
+ return;
71
+ }
72
+ default:
73
+ {
74
+ const [id, sql, params] = message;
75
+ messageId = id;
76
+ const results = [];
77
+ let columns;
78
+ for (const stmt of sqlite3.statements(db, sql)) {
79
+ sqlite3.bind_collection(stmt, params);
80
+ while (sqlite3.step(stmt) === WaSqlite.SQLITE_ROW) {
81
+ columns = columns ?? sqlite3.column_names(stmt);
82
+ const row = sqlite3.row(stmt);
83
+ results.push(row);
84
+ }
85
+ }
86
+ options.port.postMessage([id, undefined, [columns, results]]);
87
+ return;
88
+ }
89
+ }
90
+ } catch (e) {
91
+ const message = "message" in e ? e.message : String(e);
92
+ options.port.postMessage([messageId, message, undefined]);
93
+ }
94
+ };
95
+ options.port.addEventListener("message", onMessage);
96
+ options.port.postMessage(["ready", undefined, undefined]);
97
+ return Effect.sync(() => {
98
+ options.port.removeEventListener("message", onMessage);
99
+ });
100
+ });
101
+ }).pipe(Effect.scoped);
102
+ exports.run = run;
103
+ //# sourceMappingURL=OpfsWorker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OpfsWorker.js","names":["_SqlError","require","WaSqlite","_interopRequireWildcard","_waSqlite2","_interopRequireDefault","_AccessHandlePoolVFS","Effect","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","run","options","gen","factory","promise","SQLiteESMFactory","sqlite3","Factory","vfs","AccessHandlePoolVFS","create","vfs_register","db","acquireRelease","try","open_v2","dbName","undefined","catch","cause","SqlError","message","sync","close","async","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","String","addEventListener","removeEventListener","pipe","scoped","exports"],"sources":["../../src/OpfsWorker.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -3,18 +3,27 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.make = exports.layerConfig = exports.layer = exports.TypeId = exports.SqliteClient = void 0;
6
+ exports.withTransferables = exports.makeMemory = exports.make = exports.layerMemoryConfig = exports.layerMemory = exports.layerConfig = exports.layer = exports.currentTransferables = exports.TypeId = exports.SqliteClient = void 0;
7
+ var Reactivity = _interopRequireWildcard(require("@effect/experimental/Reactivity"));
7
8
  var Client = _interopRequireWildcard(require("@effect/sql/SqlClient"));
8
9
  var _SqlError = require("@effect/sql/SqlError");
9
10
  var Statement = _interopRequireWildcard(require("@effect/sql/Statement"));
11
+ var WaSqlite = _interopRequireWildcard(require("@effect/wa-sqlite"));
12
+ var _waSqlite2 = _interopRequireDefault(require("@effect/wa-sqlite/dist/wa-sqlite.mjs"));
13
+ var _MemoryVFS = require("@effect/wa-sqlite/src/examples/MemoryVFS.js");
10
14
  var Otel = _interopRequireWildcard(require("@opentelemetry/semantic-conventions"));
11
- var _sqliteWasm = _interopRequireDefault(require("@sqlite.org/sqlite-wasm"));
12
15
  var Config = _interopRequireWildcard(require("effect/Config"));
13
16
  var Context = _interopRequireWildcard(require("effect/Context"));
17
+ var Deferred = _interopRequireWildcard(require("effect/Deferred"));
14
18
  var Effect = _interopRequireWildcard(require("effect/Effect"));
19
+ var Exit = _interopRequireWildcard(require("effect/Exit"));
20
+ var FiberRef = _interopRequireWildcard(require("effect/FiberRef"));
15
21
  var _Function = require("effect/Function");
22
+ var _GlobalValue = require("effect/GlobalValue");
16
23
  var Layer = _interopRequireWildcard(require("effect/Layer"));
17
24
  var Scope = _interopRequireWildcard(require("effect/Scope"));
25
+ var ScopedRef = _interopRequireWildcard(require("effect/ScopedRef"));
26
+ var Stream = _interopRequireWildcard(require("effect/Stream"));
18
27
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
19
28
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
20
29
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
@@ -32,35 +41,62 @@ const TypeId = exports.TypeId = /*#__PURE__*/Symbol.for("@effect/sql-sqlite-wasm
32
41
  * @since 1.0.0
33
42
  */
34
43
  const SqliteClient = exports.SqliteClient = /*#__PURE__*/Context.GenericTag("@effect/sql-sqlite-wasm/SqliteClient");
35
- const initEffect = /*#__PURE__*/Effect.runSync( /*#__PURE__*/Effect.cached( /*#__PURE__*/Effect.promise(() => (0, _sqliteWasm.default)())));
44
+ const initModule = /*#__PURE__*/Effect.runSync( /*#__PURE__*/Effect.cached( /*#__PURE__*/Effect.promise(() => (0, _waSqlite2.default)())));
45
+ const initEffect = /*#__PURE__*/Effect.runSync( /*#__PURE__*/Effect.cached( /*#__PURE__*/initModule.pipe( /*#__PURE__*/Effect.map(module => WaSqlite.Factory(module)))));
46
+ const registered = /*#__PURE__*/(0, _GlobalValue.globalValue)("@effect/sql-sqlite-wasm/registered", () => new Set());
36
47
  /**
37
48
  * @category constructor
38
49
  * @since 1.0.0
39
50
  */
40
- const make = options => Effect.gen(function* (_) {
51
+ const makeMemory = options => Effect.gen(function* () {
52
+ const reactivity = yield* Reactivity.Reactivity;
41
53
  const compiler = Statement.makeCompilerSqlite(options.transformQueryNames);
42
54
  const transformRows = Statement.defaultTransforms(options.transformResultNames).array;
43
- const makeConnection = Effect.gen(function* (_) {
44
- const sqlite3 = yield* _(initEffect);
45
- let db;
46
- if (options.mode === "opfs") {
47
- if (!sqlite3.oo1.OpfsDb) {
48
- yield* _(Effect.dieMessage("opfs mode not available"));
49
- }
50
- db = new sqlite3.oo1.OpfsDb(options.dbName, options.openMode ?? "c");
51
- } else {
52
- db = new sqlite3.oo1.DB(options.dbName, options.openMode);
55
+ const makeConnection = Effect.gen(function* () {
56
+ const sqlite3 = yield* initEffect;
57
+ if (registered.has("memory-vfs") === false) {
58
+ registered.add("memory-vfs");
59
+ const module = yield* initModule;
60
+ // @ts-expect-error
61
+ const vfs = new _MemoryVFS.MemoryVFS("memory-vfs", module);
62
+ sqlite3.vfs_register(vfs, false);
63
+ }
64
+ const db = yield* Effect.acquireRelease(Effect.try({
65
+ try: () => sqlite3.open_v2(":memory:", undefined, "memory-vfs"),
66
+ catch: cause => new _SqlError.SqlError({
67
+ cause,
68
+ message: "Failed to open database"
69
+ })
70
+ }), db => Effect.sync(() => sqlite3.close(db)));
71
+ if (options.installReactivityHooks) {
72
+ sqlite3.update_hook(db, (_op, _db, table, rowid) => {
73
+ if (!table) return;
74
+ const id = Number(rowid);
75
+ reactivity.unsafeInvalidate({
76
+ [table]: [id]
77
+ });
78
+ });
53
79
  }
54
- yield* _(Effect.addFinalizer(() => Effect.sync(() => db.close())));
55
80
  const run = (sql, params = [], rowMode = "object") => Effect.try({
56
81
  try: () => {
57
82
  const results = [];
58
- db.exec({
59
- sql,
60
- bind: params.length ? params : undefined,
61
- rowMode,
62
- resultRows: results
63
- });
83
+ for (const stmt of sqlite3.statements(db, sql)) {
84
+ let columns;
85
+ sqlite3.bind_collection(stmt, params);
86
+ while (sqlite3.step(stmt) === WaSqlite.SQLITE_ROW) {
87
+ columns = columns ?? sqlite3.column_names(stmt);
88
+ const row = sqlite3.row(stmt);
89
+ if (rowMode === "object") {
90
+ const obj = {};
91
+ for (let i = 0; i < columns.length; i++) {
92
+ obj[columns[i]] = row[i];
93
+ }
94
+ results.push(obj);
95
+ } else {
96
+ results.push(row);
97
+ }
98
+ }
99
+ }
64
100
  return results;
65
101
  },
66
102
  catch: cause => new _SqlError.SqlError({
@@ -85,20 +121,49 @@ const make = options => Effect.gen(function* (_) {
85
121
  executeUnprepared(sql, params) {
86
122
  return runTransform(sql, params);
87
123
  },
88
- executeStream() {
89
- return Effect.dieMessage("executeStream not implemented");
124
+ executeStream(sql, params) {
125
+ return Stream.fromIterableEffect(Effect.try({
126
+ *try() {
127
+ for (const stmt of sqlite3.statements(db, sql)) {
128
+ let columns;
129
+ sqlite3.bind_collection(stmt, params);
130
+ while (sqlite3.step(stmt) === WaSqlite.SQLITE_ROW) {
131
+ columns = columns ?? sqlite3.column_names(stmt);
132
+ const row = sqlite3.row(stmt);
133
+ const obj = {};
134
+ for (let i = 0; i < columns.length; i++) {
135
+ obj[columns[i]] = row[i];
136
+ }
137
+ yield obj;
138
+ }
139
+ }
140
+ },
141
+ catch: cause => new _SqlError.SqlError({
142
+ cause,
143
+ message: "Failed to execute statement"
144
+ })
145
+ }));
90
146
  },
91
147
  export: Effect.try({
92
- try: () => sqlite3.capi.sqlite3_js_db_export(db.pointer),
148
+ try: () => sqlite3.serialize(db, "main"),
93
149
  catch: cause => new _SqlError.SqlError({
94
150
  cause,
95
151
  message: "Failed to export database"
96
152
  })
97
- })
153
+ }),
154
+ import(data) {
155
+ return Effect.try({
156
+ try: () => sqlite3.deserialize(db, "main", data, data.length, data.length, 1 | 2),
157
+ catch: cause => new _SqlError.SqlError({
158
+ cause,
159
+ message: "Failed to import database"
160
+ })
161
+ });
162
+ }
98
163
  });
99
164
  });
100
- const semaphore = yield* _(Effect.makeSemaphore(1));
101
- const connection = yield* _(makeConnection);
165
+ const semaphore = yield* Effect.makeSemaphore(1);
166
+ const connection = yield* makeConnection;
102
167
  const acquirer = semaphore.withPermits(1)(Effect.succeed(connection));
103
168
  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));
104
169
  return Object.assign(Client.make({
@@ -109,20 +174,177 @@ const make = options => Effect.gen(function* (_) {
109
174
  }), {
110
175
  [TypeId]: TypeId,
111
176
  config: options,
112
- export: Effect.flatMap(acquirer, _ => _.export)
177
+ reactive: reactivity.stream,
178
+ reactiveMailbox: reactivity.query,
179
+ export: semaphore.withPermits(1)(connection.export),
180
+ import(data) {
181
+ return semaphore.withPermits(1)(connection.import(data));
182
+ }
113
183
  });
114
184
  });
115
185
  /**
116
- * @category layers
186
+ * @category constructor
117
187
  * @since 1.0.0
118
188
  */
189
+ exports.makeMemory = makeMemory;
190
+ const make = options => Effect.gen(function* () {
191
+ const reactivity = yield* Reactivity.Reactivity;
192
+ const compiler = Statement.makeCompilerSqlite(options.transformQueryNames);
193
+ const transformRows = Statement.defaultTransforms(options.transformResultNames).array;
194
+ const pending = new Map();
195
+ const makeConnection = Effect.gen(function* () {
196
+ let currentId = 0;
197
+ const scope = yield* Effect.scope;
198
+ const readyDeferred = yield* Deferred.make();
199
+ const worker = yield* options.worker;
200
+ const port = "port" in worker ? worker.port : worker;
201
+ const postMessage = (message, transferables) => port.postMessage(message, transferables);
202
+ yield* Scope.addFinalizer(scope, Effect.sync(() => postMessage(["close"])));
203
+ const onMessage = event => {
204
+ const [id, error, results] = event.data;
205
+ if (id === "ready") {
206
+ Deferred.unsafeDone(readyDeferred, Exit.void);
207
+ return;
208
+ } else if (id === "update_hook") {
209
+ reactivity.unsafeInvalidate({
210
+ [error]: [results]
211
+ });
212
+ return;
213
+ } else {
214
+ const resume = pending.get(id);
215
+ if (!resume) return;
216
+ pending.delete(id);
217
+ if (error) {
218
+ resume(Exit.fail(new _SqlError.SqlError({
219
+ cause: error,
220
+ message: "Failed to execute statement"
221
+ })));
222
+ } else {
223
+ resume(Exit.succeed(results));
224
+ }
225
+ }
226
+ };
227
+ port.addEventListener("message", onMessage);
228
+ function onError() {
229
+ Effect.runFork(ScopedRef.set(connectionRef, makeConnection));
230
+ }
231
+ if ("onerror" in worker) {
232
+ worker.addEventListener("error", onError);
233
+ }
234
+ yield* Scope.addFinalizer(scope, Effect.sync(() => {
235
+ worker.removeEventListener("message", onMessage);
236
+ worker.removeEventListener("error", onError);
237
+ }));
238
+ yield* Deferred.await(readyDeferred);
239
+ if (options.installReactivityHooks) {
240
+ postMessage(["update_hook"]);
241
+ }
242
+ const send = (id, message, transferables) => Effect.async(resume => {
243
+ pending.set(id, resume);
244
+ postMessage(message, transferables);
245
+ });
246
+ const run = (sql, params = [], rowMode = "object") => {
247
+ const rows = Effect.withFiberRuntime(fiber => {
248
+ const id = currentId++;
249
+ return send(id, [id, sql, params], fiber.getFiberRef(currentTransferables));
250
+ });
251
+ return rowMode === "object" ? Effect.map(rows, extractObject) : Effect.map(rows, extractRows);
252
+ };
253
+ const runTransform = options.transformResultNames ? (sql, params) => Effect.map(run(sql, params), transformRows) : run;
254
+ return (0, _Function.identity)({
255
+ execute(sql, params) {
256
+ return runTransform(sql, params);
257
+ },
258
+ executeRaw(sql, params) {
259
+ return run(sql, params);
260
+ },
261
+ executeValues(sql, params) {
262
+ return run(sql, params, "array");
263
+ },
264
+ executeWithoutTransform(sql, params) {
265
+ return run(sql, params);
266
+ },
267
+ executeUnprepared(sql, params) {
268
+ return runTransform(sql, params);
269
+ },
270
+ executeStream() {
271
+ return Effect.dieMessage("executeStream not implemented");
272
+ },
273
+ export: Effect.suspend(() => {
274
+ const id = currentId++;
275
+ return send(id, ["export", id]);
276
+ }),
277
+ import(data) {
278
+ return Effect.suspend(() => {
279
+ const id = currentId++;
280
+ return send(id, ["import", id, data], [data.buffer]);
281
+ });
282
+ }
283
+ });
284
+ });
285
+ const connectionRef = yield* ScopedRef.fromAcquire(makeConnection);
286
+ const semaphore = yield* Effect.makeSemaphore(1);
287
+ const acquirer = semaphore.withPermits(1)(ScopedRef.get(connectionRef));
288
+ const transactionAcquirer = Effect.uninterruptibleMask(restore => Effect.zipRight(Effect.zipRight(restore(semaphore.take(1)), Effect.tap(Effect.scope, scope => Scope.addFinalizer(scope, semaphore.release(1)))), ScopedRef.get(connectionRef)));
289
+ return Object.assign(Client.make({
290
+ acquirer,
291
+ compiler,
292
+ transactionAcquirer,
293
+ spanAttributes: [...(options.spanAttributes ? Object.entries(options.spanAttributes) : []), [Otel.SEMATTRS_DB_SYSTEM, Otel.DBSYSTEMVALUES_SQLITE]]
294
+ }), {
295
+ [TypeId]: TypeId,
296
+ config: options,
297
+ reactive: reactivity.stream,
298
+ reactiveMailbox: reactivity.query,
299
+ export: Effect.flatMap(acquirer, connection => connection.export),
300
+ import(data) {
301
+ return Effect.flatMap(acquirer, connection => connection.import(data));
302
+ }
303
+ });
304
+ });
119
305
  exports.make = make;
120
- const layerConfig = config => Layer.scopedContext(Config.unwrap(config).pipe(Effect.flatMap(make), Effect.map(client => Context.make(SqliteClient, client).pipe(Context.add(Client.SqlClient, client)))));
306
+ function rowToObject(columns, row) {
307
+ const obj = {};
308
+ for (let i = 0; i < columns.length; i++) {
309
+ obj[columns[i]] = row[i];
310
+ }
311
+ return obj;
312
+ }
313
+ const extractObject = rows => rows[1].map(row => rowToObject(rows[0], row));
314
+ const extractRows = rows => rows[1];
315
+ /**
316
+ * @category tranferables
317
+ * @since 1.0.0
318
+ */
319
+ const currentTransferables = exports.currentTransferables = /*#__PURE__*/(0, _GlobalValue.globalValue)("@effect/sql-sqlite-wasm/currentTransferables", () => FiberRef.unsafeMake([]));
320
+ /**
321
+ * @category tranferables
322
+ * @since 1.0.0
323
+ */
324
+ const withTransferables = transferables => effect => Effect.locally(effect, currentTransferables, transferables);
325
+ /**
326
+ * @category layers
327
+ * @since 1.0.0
328
+ */
329
+ exports.withTransferables = withTransferables;
330
+ const layerMemoryConfig = config => Layer.scopedContext(Config.unwrap(config).pipe(Effect.flatMap(makeMemory), Effect.map(client => Context.make(SqliteClient, client).pipe(Context.add(Client.SqlClient, client))))).pipe(Layer.provide(Reactivity.layer));
331
+ /**
332
+ * @category layers
333
+ * @since 1.0.0
334
+ */
335
+ exports.layerMemoryConfig = layerMemoryConfig;
336
+ const layerMemory = config => Layer.scopedContext(Effect.map(makeMemory(config), client => Context.make(SqliteClient, client).pipe(Context.add(Client.SqlClient, client)))).pipe(Layer.provide(Reactivity.layer));
337
+ /**
338
+ * @category layers
339
+ * @since 1.0.0
340
+ */
341
+ exports.layerMemory = layerMemory;
342
+ const layer = config => Layer.scopedContext(Effect.map(make(config), client => Context.make(SqliteClient, client).pipe(Context.add(Client.SqlClient, client)))).pipe(Layer.provide(Reactivity.layer));
121
343
  /**
122
344
  * @category layers
123
345
  * @since 1.0.0
124
346
  */
125
- exports.layerConfig = layerConfig;
126
- const layer = config => Layer.scopedContext(Effect.map(make(config), client => Context.make(SqliteClient, client).pipe(Context.add(Client.SqlClient, client))));
127
347
  exports.layer = layer;
348
+ const layerConfig = config => Layer.scopedContext(Config.unwrap(config).pipe(Effect.flatMap(make), Effect.map(client => Context.make(SqliteClient, client).pipe(Context.add(Client.SqlClient, client))))).pipe(Layer.provide(Reactivity.layer));
349
+ exports.layerConfig = layerConfig;
128
350
  //# sourceMappingURL=SqliteClient.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SqliteClient.js","names":["Client","_interopRequireWildcard","require","_SqlError","Statement","Otel","_sqliteWasm","_interopRequireDefault","Config","Context","Effect","_Function","Layer","Scope","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","TypeId","exports","Symbol","for","SqliteClient","GenericTag","initEffect","runSync","cached","promise","sqliteInit","make","options","gen","_","compiler","makeCompilerSqlite","transformQueryNames","transformRows","defaultTransforms","transformResultNames","array","makeConnection","sqlite3","db","mode","oo1","OpfsDb","dieMessage","dbName","openMode","DB","addFinalizer","sync","close","run","sql","params","rowMode","try","results","exec","bind","length","undefined","resultRows","catch","cause","SqlError","message","runTransform","map","identity","execute","executeRaw","executeValues","executeWithoutTransform","executeUnprepared","executeStream","export","capi","sqlite3_js_db_export","pointer","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","layer"],"sources":["../../src/SqliteClient.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"SqliteClient.js","names":["Reactivity","_interopRequireWildcard","require","Client","_SqlError","Statement","WaSqlite","_waSqlite2","_interopRequireDefault","_MemoryVFS","Otel","Config","Context","Deferred","Effect","Exit","FiberRef","_Function","_GlobalValue","Layer","Scope","ScopedRef","Stream","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","TypeId","exports","Symbol","for","SqliteClient","GenericTag","initModule","runSync","cached","promise","SQLiteESMFactory","initEffect","pipe","map","module","Factory","registered","globalValue","Set","makeMemory","options","gen","reactivity","compiler","makeCompilerSqlite","transformQueryNames","transformRows","defaultTransforms","transformResultNames","array","makeConnection","sqlite3","add","vfs","MemoryVFS","vfs_register","db","acquireRelease","try","open_v2","undefined","catch","cause","SqlError","message","sync","close","installReactivityHooks","update_hook","_op","_db","table","rowid","id","Number","unsafeInvalidate","run","sql","params","rowMode","results","stmt","statements","columns","bind_collection","step","SQLITE_ROW","column_names","row","obj","length","push","runTransform","identity","execute","executeRaw","executeValues","executeWithoutTransform","executeUnprepared","executeStream","fromIterableEffect","export","serialize","import","data","deserialize","semaphore","makeSemaphore","connection","acquirer","withPermits","succeed","transactionAcquirer","uninterruptibleMask","restore","as","zipRight","take","tap","scope","addFinalizer","release","assign","make","spanAttributes","entries","SEMATTRS_DB_SYSTEM","DBSYSTEMVALUES_SQLITE","config","reactive","stream","reactiveMailbox","query","pending","Map","currentId","readyDeferred","worker","port","postMessage","transferables","onMessage","event","error","unsafeDone","void","resume","delete","fail","addEventListener","onError","runFork","connectionRef","removeEventListener","await","send","async","rows","withFiberRuntime","fiber","getFiberRef","currentTransferables","extractObject","extractRows","dieMessage","suspend","buffer","fromAcquire","flatMap","rowToObject","unsafeMake","withTransferables","effect","locally","layerMemoryConfig","scopedContext","unwrap","client","SqlClient","provide","layer","layerMemory","layerConfig"],"sources":["../../src/SqliteClient.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/dist/cjs/index.js CHANGED
@@ -3,7 +3,9 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.SqliteMigrator = exports.SqliteClient = void 0;
6
+ exports.SqliteMigrator = exports.SqliteClient = exports.OpfsWorker = void 0;
7
+ var _OpfsWorker = _interopRequireWildcard(require("./OpfsWorker.js"));
8
+ exports.OpfsWorker = _OpfsWorker;
7
9
  var _SqliteClient = _interopRequireWildcard(require("./SqliteClient.js"));
8
10
  exports.SqliteClient = _SqliteClient;
9
11
  var _SqliteMigrator = _interopRequireWildcard(require("./SqliteMigrator.js"));
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ //# sourceMappingURL=opfsWorker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"opfsWorker.js","names":[],"sources":["../../../src/internal/opfsWorker.ts"],"sourcesContent":[null],"mappings":"","ignoreList":[]}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ import { SqlError } from "@effect/sql/SqlError";
5
+ import * as Effect from "effect/Effect";
6
+ /**
7
+ * @category models
8
+ * @since 1.0.0
9
+ */
10
+ export interface OpfsWorkerConfig {
11
+ readonly port: EventTarget & Pick<MessagePort, "postMessage" | "close">;
12
+ readonly dbName: string;
13
+ }
14
+ /**
15
+ * @category constructor
16
+ * @since 1.0.0
17
+ */
18
+ export declare const run: (options: OpfsWorkerConfig) => Effect.Effect<void, SqlError>;
19
+ //# sourceMappingURL=OpfsWorker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OpfsWorker.d.ts","sourceRoot":"","sources":["../../src/OpfsWorker.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAI/C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAGvC;;;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,YACL,gBAAgB,KACxB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CA0EP,CAAA"}