@moltendb-web/core 0.1.0-alpha.10

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,879 @@
1
+ /* @ts-self-types="./moltendb.d.ts" */
2
+
3
+ /**
4
+ * The WASM-exposed database handle used by the JavaScript Web Worker.
5
+ *
6
+ * `#[wasm_bindgen]` on the struct makes it visible to JavaScript.
7
+ * JavaScript creates an instance with: `const db = await new WorkerDb("mydb")`
8
+ *
9
+ * The struct wraps a `Db` — the same engine used on the server.
10
+ * All methods on this struct are thin adapters that:
11
+ * 1. Convert JavaScript values (JsValue) to Rust types.
12
+ * 2. Call the underlying Db methods.
13
+ * 3. Convert the result back to JsValue for JavaScript.
14
+ */
15
+ export class WorkerDb {
16
+ static __wrap(ptr) {
17
+ ptr = ptr >>> 0;
18
+ const obj = Object.create(WorkerDb.prototype);
19
+ obj.__wbg_ptr = ptr;
20
+ WorkerDbFinalization.register(obj, obj.__wbg_ptr, obj);
21
+ return obj;
22
+ }
23
+ __destroy_into_raw() {
24
+ const ptr = this.__wbg_ptr;
25
+ this.__wbg_ptr = 0;
26
+ WorkerDbFinalization.unregister(this);
27
+ return ptr;
28
+ }
29
+ free() {
30
+ const ptr = this.__destroy_into_raw();
31
+ wasm.__wbg_workerdb_free(ptr, 0);
32
+ }
33
+ /**
34
+ * Execute an analytics query and return the result as a JSON string.
35
+ *
36
+ * This is the method called by the dashboard's auto-refresh loop:
37
+ * `const resultStr = db.analytics(JSON.stringify(query))`
38
+ *
39
+ * Takes a JSON string (not a JsValue) because the analytics query format
40
+ * is complex and easier to pass as a pre-serialized string from JavaScript.
41
+ *
42
+ * Returns a JSON string (not a JsValue) so JavaScript can parse it with
43
+ * `JSON.parse(resultStr)` and access `result` and `metadata`.
44
+ *
45
+ * Example input:
46
+ * `'{"collection":"events","metric":{"type":"COUNT"},"where":{"event_type":"button_click"}}'`
47
+ *
48
+ * Example output:
49
+ * `'{"result":42,"metadata":{"execution_time_ms":0,"rows_scanned":42}}'`
50
+ *
51
+ * `#[wasm_bindgen(js_name = analytics)]` sets the JavaScript method name to
52
+ * "analytics" (matching the call in analytics-worker.js).
53
+ * @param {string} query_json
54
+ * @returns {string}
55
+ */
56
+ analytics(query_json) {
57
+ let deferred2_0;
58
+ let deferred2_1;
59
+ try {
60
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
61
+ const ptr0 = passStringToWasm0(query_json, wasm.__wbindgen_export, wasm.__wbindgen_export2);
62
+ const len0 = WASM_VECTOR_LEN;
63
+ wasm.workerdb_analytics(retptr, this.__wbg_ptr, ptr0, len0);
64
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
65
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
66
+ deferred2_0 = r0;
67
+ deferred2_1 = r1;
68
+ return getStringFromWasm0(r0, r1);
69
+ } finally {
70
+ wasm.__wbindgen_add_to_stack_pointer(16);
71
+ wasm.__wbindgen_export4(deferred2_0, deferred2_1, 1);
72
+ }
73
+ }
74
+ /**
75
+ * Route an incoming message from the JavaScript worker to the correct handler.
76
+ *
77
+ * Called from moltendb-worker.js as:
78
+ * `db.handle_message({ action: 'get', collection: 'laptops', keys: 'lp1' })`
79
+ *
80
+ * The `data` parameter is a plain JavaScript object (not a MessageEvent wrapper).
81
+ * It must have an `action` field that determines which operation to perform.
82
+ *
83
+ * Supported actions — identical to the HTTP server endpoints:
84
+ * - "get" → query documents (single key, batch, full collection, WHERE, joins, sort, pagination)
85
+ * - "set" → insert or upsert documents: { collection, data: { key: doc, ... } }
86
+ * - "update" → patch/merge documents: { collection, data: { key: patch, ... } }
87
+ * - "delete" → delete documents or drop: { collection, keys: ... } or { drop: true }
88
+ * - "compact" → compact the OPFS log file
89
+ * - "get_size" → return current OPFS file size in bytes
90
+ *
91
+ * Returns a JsValue result on success, or a JsValue error string on failure.
92
+ * @param {any} data
93
+ * @returns {any}
94
+ */
95
+ handle_message(data) {
96
+ try {
97
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
98
+ wasm.workerdb_handle_message(retptr, this.__wbg_ptr, addHeapObject(data));
99
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
100
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
101
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
102
+ if (r2) {
103
+ throw takeObject(r1);
104
+ }
105
+ return takeObject(r0);
106
+ } finally {
107
+ wasm.__wbindgen_add_to_stack_pointer(16);
108
+ }
109
+ }
110
+ /**
111
+ * Initialize the database and open (or create) the OPFS storage file.
112
+ *
113
+ * This is the constructor — called from JavaScript as:
114
+ * `const db = await new WorkerDb("click_analytics_db")`
115
+ *
116
+ * `#[wasm_bindgen(constructor)]` tells wasm-bindgen that this function
117
+ * is the JavaScript `new WorkerDb(...)` constructor.
118
+ *
119
+ * `async` because opening the OPFS file handle is an async browser API.
120
+ * Returns `Result<WorkerDb, JsValue>` — on error, the JsValue becomes a
121
+ * JavaScript exception that the worker's try/catch can handle.
122
+ *
123
+ * # Arguments
124
+ * * `db_name` — The name of the OPFS file to open (e.g. "click_analytics_db").
125
+ * Each unique name is a separate database file in the browser's OPFS storage.
126
+ * @param {string} db_name
127
+ */
128
+ constructor(db_name) {
129
+ const ptr0 = passStringToWasm0(db_name, wasm.__wbindgen_export, wasm.__wbindgen_export2);
130
+ const len0 = WASM_VECTOR_LEN;
131
+ const ret = wasm.workerdb_new(ptr0, len0);
132
+ return takeObject(ret);
133
+ }
134
+ }
135
+ if (Symbol.dispose) WorkerDb.prototype[Symbol.dispose] = WorkerDb.prototype.free;
136
+
137
+ function __wbg_get_imports() {
138
+ const import0 = {
139
+ __proto__: null,
140
+ __wbg_Error_83742b46f01ce22d: function(arg0, arg1) {
141
+ const ret = Error(getStringFromWasm0(arg0, arg1));
142
+ return addHeapObject(ret);
143
+ },
144
+ __wbg_String_8564e559799eccda: function(arg0, arg1) {
145
+ const ret = String(getObject(arg1));
146
+ const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_export, wasm.__wbindgen_export2);
147
+ const len1 = WASM_VECTOR_LEN;
148
+ getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);
149
+ getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);
150
+ },
151
+ __wbg___wbindgen_bigint_get_as_i64_447a76b5c6ef7bda: function(arg0, arg1) {
152
+ const v = getObject(arg1);
153
+ const ret = typeof(v) === 'bigint' ? v : undefined;
154
+ getDataViewMemory0().setBigInt64(arg0 + 8 * 1, isLikeNone(ret) ? BigInt(0) : ret, true);
155
+ getDataViewMemory0().setInt32(arg0 + 4 * 0, !isLikeNone(ret), true);
156
+ },
157
+ __wbg___wbindgen_boolean_get_c0f3f60bac5a78d1: function(arg0) {
158
+ const v = getObject(arg0);
159
+ const ret = typeof(v) === 'boolean' ? v : undefined;
160
+ return isLikeNone(ret) ? 0xFFFFFF : ret ? 1 : 0;
161
+ },
162
+ __wbg___wbindgen_debug_string_5398f5bb970e0daa: function(arg0, arg1) {
163
+ const ret = debugString(getObject(arg1));
164
+ const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_export, wasm.__wbindgen_export2);
165
+ const len1 = WASM_VECTOR_LEN;
166
+ getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);
167
+ getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);
168
+ },
169
+ __wbg___wbindgen_in_41dbb8413020e076: function(arg0, arg1) {
170
+ const ret = getObject(arg0) in getObject(arg1);
171
+ return ret;
172
+ },
173
+ __wbg___wbindgen_is_bigint_e2141d4f045b7eda: function(arg0) {
174
+ const ret = typeof(getObject(arg0)) === 'bigint';
175
+ return ret;
176
+ },
177
+ __wbg___wbindgen_is_function_3c846841762788c1: function(arg0) {
178
+ const ret = typeof(getObject(arg0)) === 'function';
179
+ return ret;
180
+ },
181
+ __wbg___wbindgen_is_object_781bc9f159099513: function(arg0) {
182
+ const val = getObject(arg0);
183
+ const ret = typeof(val) === 'object' && val !== null;
184
+ return ret;
185
+ },
186
+ __wbg___wbindgen_is_string_7ef6b97b02428fae: function(arg0) {
187
+ const ret = typeof(getObject(arg0)) === 'string';
188
+ return ret;
189
+ },
190
+ __wbg___wbindgen_is_undefined_52709e72fb9f179c: function(arg0) {
191
+ const ret = getObject(arg0) === undefined;
192
+ return ret;
193
+ },
194
+ __wbg___wbindgen_jsval_eq_ee31bfad3e536463: function(arg0, arg1) {
195
+ const ret = getObject(arg0) === getObject(arg1);
196
+ return ret;
197
+ },
198
+ __wbg___wbindgen_jsval_loose_eq_5bcc3bed3c69e72b: function(arg0, arg1) {
199
+ const ret = getObject(arg0) == getObject(arg1);
200
+ return ret;
201
+ },
202
+ __wbg___wbindgen_number_get_34bb9d9dcfa21373: function(arg0, arg1) {
203
+ const obj = getObject(arg1);
204
+ const ret = typeof(obj) === 'number' ? obj : undefined;
205
+ getDataViewMemory0().setFloat64(arg0 + 8 * 1, isLikeNone(ret) ? 0 : ret, true);
206
+ getDataViewMemory0().setInt32(arg0 + 4 * 0, !isLikeNone(ret), true);
207
+ },
208
+ __wbg___wbindgen_string_get_395e606bd0ee4427: function(arg0, arg1) {
209
+ const obj = getObject(arg1);
210
+ const ret = typeof(obj) === 'string' ? obj : undefined;
211
+ var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_export, wasm.__wbindgen_export2);
212
+ var len1 = WASM_VECTOR_LEN;
213
+ getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);
214
+ getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);
215
+ },
216
+ __wbg___wbindgen_throw_6ddd609b62940d55: function(arg0, arg1) {
217
+ throw new Error(getStringFromWasm0(arg0, arg1));
218
+ },
219
+ __wbg__wbg_cb_unref_6b5b6b8576d35cb1: function(arg0) {
220
+ getObject(arg0)._wbg_cb_unref();
221
+ },
222
+ __wbg_call_2d781c1f4d5c0ef8: function() { return handleError(function (arg0, arg1, arg2) {
223
+ const ret = getObject(arg0).call(getObject(arg1), getObject(arg2));
224
+ return addHeapObject(ret);
225
+ }, arguments); },
226
+ __wbg_call_e133b57c9155d22c: function() { return handleError(function (arg0, arg1) {
227
+ const ret = getObject(arg0).call(getObject(arg1));
228
+ return addHeapObject(ret);
229
+ }, arguments); },
230
+ __wbg_close_bea86eef0f71dd9b: function(arg0) {
231
+ getObject(arg0).close();
232
+ },
233
+ __wbg_createSyncAccessHandle_b7143219a305a2ce: function(arg0) {
234
+ const ret = getObject(arg0).createSyncAccessHandle();
235
+ return addHeapObject(ret);
236
+ },
237
+ __wbg_done_08ce71ee07e3bd17: function(arg0) {
238
+ const ret = getObject(arg0).done;
239
+ return ret;
240
+ },
241
+ __wbg_entries_e8a20ff8c9757101: function(arg0) {
242
+ const ret = Object.entries(getObject(arg0));
243
+ return addHeapObject(ret);
244
+ },
245
+ __wbg_error_a6fa202b58aa1cd3: function(arg0, arg1) {
246
+ let deferred0_0;
247
+ let deferred0_1;
248
+ try {
249
+ deferred0_0 = arg0;
250
+ deferred0_1 = arg1;
251
+ console.error(getStringFromWasm0(arg0, arg1));
252
+ } finally {
253
+ wasm.__wbindgen_export4(deferred0_0, deferred0_1, 1);
254
+ }
255
+ },
256
+ __wbg_flush_1eca046e0ff7c399: function() { return handleError(function (arg0) {
257
+ getObject(arg0).flush();
258
+ }, arguments); },
259
+ __wbg_getDirectory_2406d369de179ff0: function(arg0) {
260
+ const ret = getObject(arg0).getDirectory();
261
+ return addHeapObject(ret);
262
+ },
263
+ __wbg_getFileHandle_b85805519dc63efa: function(arg0, arg1, arg2, arg3) {
264
+ const ret = getObject(arg0).getFileHandle(getStringFromWasm0(arg1, arg2), getObject(arg3));
265
+ return addHeapObject(ret);
266
+ },
267
+ __wbg_getRandomValues_a1cf2e70b003a59d: function() { return handleError(function (arg0, arg1) {
268
+ globalThis.crypto.getRandomValues(getArrayU8FromWasm0(arg0, arg1));
269
+ }, arguments); },
270
+ __wbg_getSize_0a16c5e2524d34aa: function() { return handleError(function (arg0) {
271
+ const ret = getObject(arg0).getSize();
272
+ return ret;
273
+ }, arguments); },
274
+ __wbg_get_326e41e095fb2575: function() { return handleError(function (arg0, arg1) {
275
+ const ret = Reflect.get(getObject(arg0), getObject(arg1));
276
+ return addHeapObject(ret);
277
+ }, arguments); },
278
+ __wbg_get_a8ee5c45dabc1b3b: function(arg0, arg1) {
279
+ const ret = getObject(arg0)[arg1 >>> 0];
280
+ return addHeapObject(ret);
281
+ },
282
+ __wbg_get_unchecked_329cfe50afab7352: function(arg0, arg1) {
283
+ const ret = getObject(arg0)[arg1 >>> 0];
284
+ return addHeapObject(ret);
285
+ },
286
+ __wbg_instanceof_ArrayBuffer_101e2bf31071a9f6: function(arg0) {
287
+ let result;
288
+ try {
289
+ result = getObject(arg0) instanceof ArrayBuffer;
290
+ } catch (_) {
291
+ result = false;
292
+ }
293
+ const ret = result;
294
+ return ret;
295
+ },
296
+ __wbg_instanceof_Map_f194b366846aca0c: function(arg0) {
297
+ let result;
298
+ try {
299
+ result = getObject(arg0) instanceof Map;
300
+ } catch (_) {
301
+ result = false;
302
+ }
303
+ const ret = result;
304
+ return ret;
305
+ },
306
+ __wbg_instanceof_Uint8Array_740438561a5b956d: function(arg0) {
307
+ let result;
308
+ try {
309
+ result = getObject(arg0) instanceof Uint8Array;
310
+ } catch (_) {
311
+ result = false;
312
+ }
313
+ const ret = result;
314
+ return ret;
315
+ },
316
+ __wbg_instanceof_WorkerGlobalScope_de6976d00cb213c6: function(arg0) {
317
+ let result;
318
+ try {
319
+ result = getObject(arg0) instanceof WorkerGlobalScope;
320
+ } catch (_) {
321
+ result = false;
322
+ }
323
+ const ret = result;
324
+ return ret;
325
+ },
326
+ __wbg_isArray_33b91feb269ff46e: function(arg0) {
327
+ const ret = Array.isArray(getObject(arg0));
328
+ return ret;
329
+ },
330
+ __wbg_isSafeInteger_ecd6a7f9c3e053cd: function(arg0) {
331
+ const ret = Number.isSafeInteger(getObject(arg0));
332
+ return ret;
333
+ },
334
+ __wbg_iterator_d8f549ec8fb061b1: function() {
335
+ const ret = Symbol.iterator;
336
+ return addHeapObject(ret);
337
+ },
338
+ __wbg_length_b3416cf66a5452c8: function(arg0) {
339
+ const ret = getObject(arg0).length;
340
+ return ret;
341
+ },
342
+ __wbg_length_ea16607d7b61445b: function(arg0) {
343
+ const ret = getObject(arg0).length;
344
+ return ret;
345
+ },
346
+ __wbg_log_524eedafa26daa59: function(arg0) {
347
+ console.log(getObject(arg0));
348
+ },
349
+ __wbg_navigator_583ffd4fc14c0f7a: function(arg0) {
350
+ const ret = getObject(arg0).navigator;
351
+ return addHeapObject(ret);
352
+ },
353
+ __wbg_new_227d7c05414eb861: function() {
354
+ const ret = new Error();
355
+ return addHeapObject(ret);
356
+ },
357
+ __wbg_new_49d5571bd3f0c4d4: function() {
358
+ const ret = new Map();
359
+ return addHeapObject(ret);
360
+ },
361
+ __wbg_new_5f486cdf45a04d78: function(arg0) {
362
+ const ret = new Uint8Array(getObject(arg0));
363
+ return addHeapObject(ret);
364
+ },
365
+ __wbg_new_a70fbab9066b301f: function() {
366
+ const ret = new Array();
367
+ return addHeapObject(ret);
368
+ },
369
+ __wbg_new_ab79df5bd7c26067: function() {
370
+ const ret = new Object();
371
+ return addHeapObject(ret);
372
+ },
373
+ __wbg_new_typed_aaaeaf29cf802876: function(arg0, arg1) {
374
+ try {
375
+ var state0 = {a: arg0, b: arg1};
376
+ var cb0 = (arg0, arg1) => {
377
+ const a = state0.a;
378
+ state0.a = 0;
379
+ try {
380
+ return __wasm_bindgen_func_elem_3690(a, state0.b, arg0, arg1);
381
+ } finally {
382
+ state0.a = a;
383
+ }
384
+ };
385
+ const ret = new Promise(cb0);
386
+ return addHeapObject(ret);
387
+ } finally {
388
+ state0.a = state0.b = 0;
389
+ }
390
+ },
391
+ __wbg_next_11b99ee6237339e3: function() { return handleError(function (arg0) {
392
+ const ret = getObject(arg0).next();
393
+ return addHeapObject(ret);
394
+ }, arguments); },
395
+ __wbg_next_e01a967809d1aa68: function(arg0) {
396
+ const ret = getObject(arg0).next;
397
+ return addHeapObject(ret);
398
+ },
399
+ __wbg_now_16f0c993d5dd6c27: function() {
400
+ const ret = Date.now();
401
+ return ret;
402
+ },
403
+ __wbg_now_ad1121946ba97ea0: function() { return handleError(function () {
404
+ const ret = Date.now();
405
+ return ret;
406
+ }, arguments); },
407
+ __wbg_now_e7c6795a7f81e10f: function(arg0) {
408
+ const ret = getObject(arg0).now();
409
+ return ret;
410
+ },
411
+ __wbg_performance_3fcf6e32a7e1ed0a: function(arg0) {
412
+ const ret = getObject(arg0).performance;
413
+ return addHeapObject(ret);
414
+ },
415
+ __wbg_prototypesetcall_d62e5099504357e6: function(arg0, arg1, arg2) {
416
+ Uint8Array.prototype.set.call(getArrayU8FromWasm0(arg0, arg1), getObject(arg2));
417
+ },
418
+ __wbg_queueMicrotask_0c399741342fb10f: function(arg0) {
419
+ const ret = getObject(arg0).queueMicrotask;
420
+ return addHeapObject(ret);
421
+ },
422
+ __wbg_queueMicrotask_a082d78ce798393e: function(arg0) {
423
+ queueMicrotask(getObject(arg0));
424
+ },
425
+ __wbg_read_0285869b4fd131af: function() { return handleError(function (arg0, arg1, arg2, arg3) {
426
+ const ret = getObject(arg0).read(getArrayU8FromWasm0(arg1, arg2), getObject(arg3));
427
+ return ret;
428
+ }, arguments); },
429
+ __wbg_resolve_ae8d83246e5bcc12: function(arg0) {
430
+ const ret = Promise.resolve(getObject(arg0));
431
+ return addHeapObject(ret);
432
+ },
433
+ __wbg_set_282384002438957f: function(arg0, arg1, arg2) {
434
+ getObject(arg0)[arg1 >>> 0] = takeObject(arg2);
435
+ },
436
+ __wbg_set_6be42768c690e380: function(arg0, arg1, arg2) {
437
+ getObject(arg0)[takeObject(arg1)] = takeObject(arg2);
438
+ },
439
+ __wbg_set_at_e227be75df7f9abf: function(arg0, arg1) {
440
+ getObject(arg0).at = arg1;
441
+ },
442
+ __wbg_set_bf7251625df30a02: function(arg0, arg1, arg2) {
443
+ const ret = getObject(arg0).set(getObject(arg1), getObject(arg2));
444
+ return addHeapObject(ret);
445
+ },
446
+ __wbg_set_create_ef897736206a6f05: function(arg0, arg1) {
447
+ getObject(arg0).create = arg1 !== 0;
448
+ },
449
+ __wbg_stack_3b0d974bbf31e44f: function(arg0, arg1) {
450
+ const ret = getObject(arg1).stack;
451
+ const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_export, wasm.__wbindgen_export2);
452
+ const len1 = WASM_VECTOR_LEN;
453
+ getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);
454
+ getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);
455
+ },
456
+ __wbg_static_accessor_GLOBAL_8adb955bd33fac2f: function() {
457
+ const ret = typeof global === 'undefined' ? null : global;
458
+ return isLikeNone(ret) ? 0 : addHeapObject(ret);
459
+ },
460
+ __wbg_static_accessor_GLOBAL_THIS_ad356e0db91c7913: function() {
461
+ const ret = typeof globalThis === 'undefined' ? null : globalThis;
462
+ return isLikeNone(ret) ? 0 : addHeapObject(ret);
463
+ },
464
+ __wbg_static_accessor_SELF_f207c857566db248: function() {
465
+ const ret = typeof self === 'undefined' ? null : self;
466
+ return isLikeNone(ret) ? 0 : addHeapObject(ret);
467
+ },
468
+ __wbg_static_accessor_WINDOW_bb9f1ba69d61b386: function() {
469
+ const ret = typeof window === 'undefined' ? null : window;
470
+ return isLikeNone(ret) ? 0 : addHeapObject(ret);
471
+ },
472
+ __wbg_storage_8d917976d6753ee0: function(arg0) {
473
+ const ret = getObject(arg0).storage;
474
+ return addHeapObject(ret);
475
+ },
476
+ __wbg_then_098abe61755d12f6: function(arg0, arg1) {
477
+ const ret = getObject(arg0).then(getObject(arg1));
478
+ return addHeapObject(ret);
479
+ },
480
+ __wbg_then_9e335f6dd892bc11: function(arg0, arg1, arg2) {
481
+ const ret = getObject(arg0).then(getObject(arg1), getObject(arg2));
482
+ return addHeapObject(ret);
483
+ },
484
+ __wbg_truncate_af8ac1613ab66393: function() { return handleError(function (arg0, arg1) {
485
+ getObject(arg0).truncate(arg1);
486
+ }, arguments); },
487
+ __wbg_value_21fc78aab0322612: function(arg0) {
488
+ const ret = getObject(arg0).value;
489
+ return addHeapObject(ret);
490
+ },
491
+ __wbg_workerdb_new: function(arg0) {
492
+ const ret = WorkerDb.__wrap(arg0);
493
+ return addHeapObject(ret);
494
+ },
495
+ __wbg_write_57c477a82b886339: function() { return handleError(function (arg0, arg1, arg2, arg3) {
496
+ const ret = getObject(arg0).write(getArrayU8FromWasm0(arg1, arg2), getObject(arg3));
497
+ return ret;
498
+ }, arguments); },
499
+ __wbindgen_cast_0000000000000001: function(arg0, arg1) {
500
+ // Cast intrinsic for `Closure(Closure { dtor_idx: 661, function: Function { arguments: [Externref], shim_idx: 672, ret: Result(Unit), inner_ret: Some(Result(Unit)) }, mutable: true }) -> Externref`.
501
+ const ret = makeMutClosure(arg0, arg1, wasm.__wasm_bindgen_func_elem_3598, __wasm_bindgen_func_elem_3677);
502
+ return addHeapObject(ret);
503
+ },
504
+ __wbindgen_cast_0000000000000002: function(arg0) {
505
+ // Cast intrinsic for `F64 -> Externref`.
506
+ const ret = arg0;
507
+ return addHeapObject(ret);
508
+ },
509
+ __wbindgen_cast_0000000000000003: function(arg0) {
510
+ // Cast intrinsic for `I64 -> Externref`.
511
+ const ret = arg0;
512
+ return addHeapObject(ret);
513
+ },
514
+ __wbindgen_cast_0000000000000004: function(arg0, arg1) {
515
+ // Cast intrinsic for `Ref(String) -> Externref`.
516
+ const ret = getStringFromWasm0(arg0, arg1);
517
+ return addHeapObject(ret);
518
+ },
519
+ __wbindgen_cast_0000000000000005: function(arg0) {
520
+ // Cast intrinsic for `U64 -> Externref`.
521
+ const ret = BigInt.asUintN(64, arg0);
522
+ return addHeapObject(ret);
523
+ },
524
+ __wbindgen_object_clone_ref: function(arg0) {
525
+ const ret = getObject(arg0);
526
+ return addHeapObject(ret);
527
+ },
528
+ __wbindgen_object_drop_ref: function(arg0) {
529
+ takeObject(arg0);
530
+ },
531
+ };
532
+ return {
533
+ __proto__: null,
534
+ "./moltendb_bg.js": import0,
535
+ };
536
+ }
537
+
538
+ function __wasm_bindgen_func_elem_3677(arg0, arg1, arg2) {
539
+ try {
540
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
541
+ wasm.__wasm_bindgen_func_elem_3677(retptr, arg0, arg1, addHeapObject(arg2));
542
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
543
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
544
+ if (r1) {
545
+ throw takeObject(r0);
546
+ }
547
+ } finally {
548
+ wasm.__wbindgen_add_to_stack_pointer(16);
549
+ }
550
+ }
551
+
552
+ function __wasm_bindgen_func_elem_3690(arg0, arg1, arg2, arg3) {
553
+ wasm.__wasm_bindgen_func_elem_3690(arg0, arg1, addHeapObject(arg2), addHeapObject(arg3));
554
+ }
555
+
556
+ const WorkerDbFinalization = (typeof FinalizationRegistry === 'undefined')
557
+ ? { register: () => {}, unregister: () => {} }
558
+ : new FinalizationRegistry(ptr => wasm.__wbg_workerdb_free(ptr >>> 0, 1));
559
+
560
+ function addHeapObject(obj) {
561
+ if (heap_next === heap.length) heap.push(heap.length + 1);
562
+ const idx = heap_next;
563
+ heap_next = heap[idx];
564
+
565
+ heap[idx] = obj;
566
+ return idx;
567
+ }
568
+
569
+ const CLOSURE_DTORS = (typeof FinalizationRegistry === 'undefined')
570
+ ? { register: () => {}, unregister: () => {} }
571
+ : new FinalizationRegistry(state => state.dtor(state.a, state.b));
572
+
573
+ function debugString(val) {
574
+ // primitive types
575
+ const type = typeof val;
576
+ if (type == 'number' || type == 'boolean' || val == null) {
577
+ return `${val}`;
578
+ }
579
+ if (type == 'string') {
580
+ return `"${val}"`;
581
+ }
582
+ if (type == 'symbol') {
583
+ const description = val.description;
584
+ if (description == null) {
585
+ return 'Symbol';
586
+ } else {
587
+ return `Symbol(${description})`;
588
+ }
589
+ }
590
+ if (type == 'function') {
591
+ const name = val.name;
592
+ if (typeof name == 'string' && name.length > 0) {
593
+ return `Function(${name})`;
594
+ } else {
595
+ return 'Function';
596
+ }
597
+ }
598
+ // objects
599
+ if (Array.isArray(val)) {
600
+ const length = val.length;
601
+ let debug = '[';
602
+ if (length > 0) {
603
+ debug += debugString(val[0]);
604
+ }
605
+ for(let i = 1; i < length; i++) {
606
+ debug += ', ' + debugString(val[i]);
607
+ }
608
+ debug += ']';
609
+ return debug;
610
+ }
611
+ // Test for built-in
612
+ const builtInMatches = /\[object ([^\]]+)\]/.exec(toString.call(val));
613
+ let className;
614
+ if (builtInMatches && builtInMatches.length > 1) {
615
+ className = builtInMatches[1];
616
+ } else {
617
+ // Failed to match the standard '[object ClassName]'
618
+ return toString.call(val);
619
+ }
620
+ if (className == 'Object') {
621
+ // we're a user defined class or Object
622
+ // JSON.stringify avoids problems with cycles, and is generally much
623
+ // easier than looping through ownProperties of `val`.
624
+ try {
625
+ return 'Object(' + JSON.stringify(val) + ')';
626
+ } catch (_) {
627
+ return 'Object';
628
+ }
629
+ }
630
+ // errors
631
+ if (val instanceof Error) {
632
+ return `${val.name}: ${val.message}\n${val.stack}`;
633
+ }
634
+ // TODO we could test for more things here, like `Set`s and `Map`s.
635
+ return className;
636
+ }
637
+
638
+ function dropObject(idx) {
639
+ if (idx < 1028) return;
640
+ heap[idx] = heap_next;
641
+ heap_next = idx;
642
+ }
643
+
644
+ function getArrayU8FromWasm0(ptr, len) {
645
+ ptr = ptr >>> 0;
646
+ return getUint8ArrayMemory0().subarray(ptr / 1, ptr / 1 + len);
647
+ }
648
+
649
+ let cachedDataViewMemory0 = null;
650
+ function getDataViewMemory0() {
651
+ if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || (cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm.memory.buffer)) {
652
+ cachedDataViewMemory0 = new DataView(wasm.memory.buffer);
653
+ }
654
+ return cachedDataViewMemory0;
655
+ }
656
+
657
+ function getStringFromWasm0(ptr, len) {
658
+ ptr = ptr >>> 0;
659
+ return decodeText(ptr, len);
660
+ }
661
+
662
+ let cachedUint8ArrayMemory0 = null;
663
+ function getUint8ArrayMemory0() {
664
+ if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) {
665
+ cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer);
666
+ }
667
+ return cachedUint8ArrayMemory0;
668
+ }
669
+
670
+ function getObject(idx) { return heap[idx]; }
671
+
672
+ function handleError(f, args) {
673
+ try {
674
+ return f.apply(this, args);
675
+ } catch (e) {
676
+ wasm.__wbindgen_export3(addHeapObject(e));
677
+ }
678
+ }
679
+
680
+ let heap = new Array(1024).fill(undefined);
681
+ heap.push(undefined, null, true, false);
682
+
683
+ let heap_next = heap.length;
684
+
685
+ function isLikeNone(x) {
686
+ return x === undefined || x === null;
687
+ }
688
+
689
+ function makeMutClosure(arg0, arg1, dtor, f) {
690
+ const state = { a: arg0, b: arg1, cnt: 1, dtor };
691
+ const real = (...args) => {
692
+
693
+ // First up with a closure we increment the internal reference
694
+ // count. This ensures that the Rust closure environment won't
695
+ // be deallocated while we're invoking it.
696
+ state.cnt++;
697
+ const a = state.a;
698
+ state.a = 0;
699
+ try {
700
+ return f(a, state.b, ...args);
701
+ } finally {
702
+ state.a = a;
703
+ real._wbg_cb_unref();
704
+ }
705
+ };
706
+ real._wbg_cb_unref = () => {
707
+ if (--state.cnt === 0) {
708
+ state.dtor(state.a, state.b);
709
+ state.a = 0;
710
+ CLOSURE_DTORS.unregister(state);
711
+ }
712
+ };
713
+ CLOSURE_DTORS.register(real, state, state);
714
+ return real;
715
+ }
716
+
717
+ function passStringToWasm0(arg, malloc, realloc) {
718
+ if (realloc === undefined) {
719
+ const buf = cachedTextEncoder.encode(arg);
720
+ const ptr = malloc(buf.length, 1) >>> 0;
721
+ getUint8ArrayMemory0().subarray(ptr, ptr + buf.length).set(buf);
722
+ WASM_VECTOR_LEN = buf.length;
723
+ return ptr;
724
+ }
725
+
726
+ let len = arg.length;
727
+ let ptr = malloc(len, 1) >>> 0;
728
+
729
+ const mem = getUint8ArrayMemory0();
730
+
731
+ let offset = 0;
732
+
733
+ for (; offset < len; offset++) {
734
+ const code = arg.charCodeAt(offset);
735
+ if (code > 0x7F) break;
736
+ mem[ptr + offset] = code;
737
+ }
738
+ if (offset !== len) {
739
+ if (offset !== 0) {
740
+ arg = arg.slice(offset);
741
+ }
742
+ ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0;
743
+ const view = getUint8ArrayMemory0().subarray(ptr + offset, ptr + len);
744
+ const ret = cachedTextEncoder.encodeInto(arg, view);
745
+
746
+ offset += ret.written;
747
+ ptr = realloc(ptr, len, offset, 1) >>> 0;
748
+ }
749
+
750
+ WASM_VECTOR_LEN = offset;
751
+ return ptr;
752
+ }
753
+
754
+ function takeObject(idx) {
755
+ const ret = getObject(idx);
756
+ dropObject(idx);
757
+ return ret;
758
+ }
759
+
760
+ let cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });
761
+ cachedTextDecoder.decode();
762
+ const MAX_SAFARI_DECODE_BYTES = 2146435072;
763
+ let numBytesDecoded = 0;
764
+ function decodeText(ptr, len) {
765
+ numBytesDecoded += len;
766
+ if (numBytesDecoded >= MAX_SAFARI_DECODE_BYTES) {
767
+ cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });
768
+ cachedTextDecoder.decode();
769
+ numBytesDecoded = len;
770
+ }
771
+ return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len));
772
+ }
773
+
774
+ const cachedTextEncoder = new TextEncoder();
775
+
776
+ if (!('encodeInto' in cachedTextEncoder)) {
777
+ cachedTextEncoder.encodeInto = function (arg, view) {
778
+ const buf = cachedTextEncoder.encode(arg);
779
+ view.set(buf);
780
+ return {
781
+ read: arg.length,
782
+ written: buf.length
783
+ };
784
+ };
785
+ }
786
+
787
+ let WASM_VECTOR_LEN = 0;
788
+
789
+ let wasmModule, wasm;
790
+ function __wbg_finalize_init(instance, module) {
791
+ wasm = instance.exports;
792
+ wasmModule = module;
793
+ cachedDataViewMemory0 = null;
794
+ cachedUint8ArrayMemory0 = null;
795
+ return wasm;
796
+ }
797
+
798
+ async function __wbg_load(module, imports) {
799
+ if (typeof Response === 'function' && module instanceof Response) {
800
+ if (typeof WebAssembly.instantiateStreaming === 'function') {
801
+ try {
802
+ return await WebAssembly.instantiateStreaming(module, imports);
803
+ } catch (e) {
804
+ const validResponse = module.ok && expectedResponseType(module.type);
805
+
806
+ if (validResponse && module.headers.get('Content-Type') !== 'application/wasm') {
807
+ console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n", e);
808
+
809
+ } else { throw e; }
810
+ }
811
+ }
812
+
813
+ const bytes = await module.arrayBuffer();
814
+ return await WebAssembly.instantiate(bytes, imports);
815
+ } else {
816
+ const instance = await WebAssembly.instantiate(module, imports);
817
+
818
+ if (instance instanceof WebAssembly.Instance) {
819
+ return { instance, module };
820
+ } else {
821
+ return instance;
822
+ }
823
+ }
824
+
825
+ function expectedResponseType(type) {
826
+ switch (type) {
827
+ case 'basic': case 'cors': case 'default': return true;
828
+ }
829
+ return false;
830
+ }
831
+ }
832
+
833
+ function initSync(module) {
834
+ if (wasm !== undefined) return wasm;
835
+
836
+
837
+ if (module !== undefined) {
838
+ if (Object.getPrototypeOf(module) === Object.prototype) {
839
+ ({module} = module)
840
+ } else {
841
+ console.warn('using deprecated parameters for `initSync()`; pass a single object instead')
842
+ }
843
+ }
844
+
845
+ const imports = __wbg_get_imports();
846
+ if (!(module instanceof WebAssembly.Module)) {
847
+ module = new WebAssembly.Module(module);
848
+ }
849
+ const instance = new WebAssembly.Instance(module, imports);
850
+ return __wbg_finalize_init(instance, module);
851
+ }
852
+
853
+ async function __wbg_init(module_or_path) {
854
+ if (wasm !== undefined) return wasm;
855
+
856
+
857
+ if (module_or_path !== undefined) {
858
+ if (Object.getPrototypeOf(module_or_path) === Object.prototype) {
859
+ ({module_or_path} = module_or_path)
860
+ } else {
861
+ console.warn('using deprecated parameters for the initialization function; pass a single object instead')
862
+ }
863
+ }
864
+
865
+ if (module_or_path === undefined) {
866
+ module_or_path = new URL('moltendb_bg.wasm', import.meta.url);
867
+ }
868
+ const imports = __wbg_get_imports();
869
+
870
+ if (typeof module_or_path === 'string' || (typeof Request === 'function' && module_or_path instanceof Request) || (typeof URL === 'function' && module_or_path instanceof URL)) {
871
+ module_or_path = fetch(module_or_path);
872
+ }
873
+
874
+ const { instance, module } = await __wbg_load(await module_or_path, imports);
875
+
876
+ return __wbg_finalize_init(instance, module);
877
+ }
878
+
879
+ export { initSync, __wbg_init as default };