@moltendb-web/core 1.4.1 → 1.4.2

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.
@@ -9,7 +9,7 @@ self.onmessage = async (e) => {
9
9
  initPromise = (async () => {
10
10
  await init();
11
11
  // FIX: You must await the async constructor
12
- const instance = await new WorkerDb(payload.dbName);
12
+ const instance = await WorkerDb.create(payload.dbName);
13
13
  // Listen to Rust and broadcast events
14
14
  instance.subscribe((eventStr) => {
15
15
  try {
@@ -14,6 +14,7 @@
14
14
  * 3. Convert the result back to JsValue for JavaScript.
15
15
  */
16
16
  export class WorkerDb {
17
+ private constructor();
17
18
  free(): void;
18
19
  [Symbol.dispose](): void;
19
20
  /**
@@ -38,6 +39,25 @@ export class WorkerDb {
38
39
  * "analytics" (matching the call in analytics-worker.js).
39
40
  */
40
41
  analytics(query_json: string): string;
42
+ /**
43
+ * Initialize the database and open (or create) the OPFS storage file.
44
+ *
45
+ * Called from JavaScript as:
46
+ * `const db = await WorkerDb.create("click_analytics_db")`
47
+ *
48
+ * A named static factory function is used instead of an async constructor
49
+ * because `#[wasm_bindgen(constructor)]` with `async fn` produces invalid
50
+ * TypeScript bindings and is deprecated in wasm-bindgen.
51
+ *
52
+ * `async` because opening the OPFS file handle is an async browser API.
53
+ * Returns `Result<WorkerDb, JsValue>` — on error, the JsValue becomes a
54
+ * JavaScript exception that the worker's try/catch can handle.
55
+ *
56
+ * # Arguments
57
+ * * `db_name` — The name of the OPFS file to open (e.g. "click_analytics_db").
58
+ * Each unique name is a separate database file in the browser's OPFS storage.
59
+ */
60
+ static create(db_name: string): Promise<WorkerDb>;
41
61
  /**
42
62
  * Route an incoming message from the JavaScript worker to the correct handler.
43
63
  *
@@ -58,24 +78,6 @@ export class WorkerDb {
58
78
  * Returns a JsValue result on success, or a JsValue error string on failure.
59
79
  */
60
80
  handle_message(data: any): any;
61
- /**
62
- * Initialize the database and open (or create) the OPFS storage file.
63
- *
64
- * This is the constructor — called from JavaScript as:
65
- * `const db = await new WorkerDb("click_analytics_db")`
66
- *
67
- * `#[wasm_bindgen(constructor)]` tells wasm-bindgen that this function
68
- * is the JavaScript `new WorkerDb(...)` constructor.
69
- *
70
- * `async` because opening the OPFS file handle is an async browser API.
71
- * Returns `Result<WorkerDb, JsValue>` — on error, the JsValue becomes a
72
- * JavaScript exception that the worker's try/catch can handle.
73
- *
74
- * # Arguments
75
- * * `db_name` — The name of the OPFS file to open (e.g. "click_analytics_db").
76
- * Each unique name is a separate database file in the browser's OPFS storage.
77
- */
78
- constructor(db_name: string);
79
81
  /**
80
82
  * Subscribe to real-time database changes.
81
83
  * The provided JavaScript function will be called with a JSON string
@@ -89,21 +91,18 @@ export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembl
89
91
  export interface InitOutput {
90
92
  readonly memory: WebAssembly.Memory;
91
93
  readonly __wbg_workerdb_free: (a: number, b: number) => void;
92
- readonly workerdb_analytics: (a: number, b: number, c: number) => [number, number];
93
- readonly workerdb_handle_message: (a: number, b: any) => [number, number, number];
94
- readonly workerdb_new: (a: number, b: number) => any;
95
- readonly workerdb_subscribe: (a: number, b: any) => void;
96
- readonly wasm_bindgen__closure__destroy__hd467cd5df2070873: (a: number, b: number) => void;
97
- readonly wasm_bindgen__convert__closures_____invoke__hfcbb4037b8cae583: (a: number, b: number, c: any) => [number, number];
98
- readonly wasm_bindgen__convert__closures_____invoke__h23a1582ccafe3e3c: (a: number, b: number, c: any, d: any) => void;
99
- readonly __wbindgen_malloc: (a: number, b: number) => number;
100
- readonly __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
101
- readonly __wbindgen_exn_store: (a: number) => void;
102
- readonly __externref_table_alloc: () => number;
103
- readonly __wbindgen_externrefs: WebAssembly.Table;
104
- readonly __wbindgen_free: (a: number, b: number, c: number) => void;
105
- readonly __externref_table_dealloc: (a: number) => void;
106
- readonly __wbindgen_start: () => void;
94
+ readonly workerdb_analytics: (a: number, b: number, c: number, d: number) => void;
95
+ readonly workerdb_create: (a: number, b: number) => number;
96
+ readonly workerdb_handle_message: (a: number, b: number, c: number) => void;
97
+ readonly workerdb_subscribe: (a: number, b: number) => void;
98
+ readonly __wasm_bindgen_func_elem_3672: (a: number, b: number) => void;
99
+ readonly __wasm_bindgen_func_elem_3755: (a: number, b: number, c: number, d: number) => void;
100
+ readonly __wasm_bindgen_func_elem_3766: (a: number, b: number, c: number, d: number) => void;
101
+ readonly __wbindgen_export: (a: number, b: number) => number;
102
+ readonly __wbindgen_export2: (a: number, b: number, c: number, d: number) => number;
103
+ readonly __wbindgen_export3: (a: number) => void;
104
+ readonly __wbindgen_export4: (a: number, b: number, c: number) => void;
105
+ readonly __wbindgen_add_to_stack_pointer: (a: number) => number;
107
106
  }
108
107
 
109
108
  export type SyncInitInput = BufferSource | WebAssembly.Module;
@@ -57,16 +57,46 @@ export class WorkerDb {
57
57
  let deferred2_0;
58
58
  let deferred2_1;
59
59
  try {
60
- const ptr0 = passStringToWasm0(query_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
60
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
61
+ const ptr0 = passStringToWasm0(query_json, wasm.__wbindgen_export, wasm.__wbindgen_export2);
61
62
  const len0 = WASM_VECTOR_LEN;
62
- const ret = wasm.workerdb_analytics(this.__wbg_ptr, ptr0, len0);
63
- deferred2_0 = ret[0];
64
- deferred2_1 = ret[1];
65
- return getStringFromWasm0(ret[0], ret[1]);
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);
66
69
  } finally {
67
- wasm.__wbindgen_free(deferred2_0, deferred2_1, 1);
70
+ wasm.__wbindgen_add_to_stack_pointer(16);
71
+ wasm.__wbindgen_export4(deferred2_0, deferred2_1, 1);
68
72
  }
69
73
  }
74
+ /**
75
+ * Initialize the database and open (or create) the OPFS storage file.
76
+ *
77
+ * Called from JavaScript as:
78
+ * `const db = await WorkerDb.create("click_analytics_db")`
79
+ *
80
+ * A named static factory function is used instead of an async constructor
81
+ * because `#[wasm_bindgen(constructor)]` with `async fn` produces invalid
82
+ * TypeScript bindings and is deprecated in wasm-bindgen.
83
+ *
84
+ * `async` because opening the OPFS file handle is an async browser API.
85
+ * Returns `Result<WorkerDb, JsValue>` — on error, the JsValue becomes a
86
+ * JavaScript exception that the worker's try/catch can handle.
87
+ *
88
+ * # Arguments
89
+ * * `db_name` — The name of the OPFS file to open (e.g. "click_analytics_db").
90
+ * Each unique name is a separate database file in the browser's OPFS storage.
91
+ * @param {string} db_name
92
+ * @returns {Promise<WorkerDb>}
93
+ */
94
+ static create(db_name) {
95
+ const ptr0 = passStringToWasm0(db_name, wasm.__wbindgen_export, wasm.__wbindgen_export2);
96
+ const len0 = WASM_VECTOR_LEN;
97
+ const ret = wasm.workerdb_create(ptr0, len0);
98
+ return takeObject(ret);
99
+ }
70
100
  /**
71
101
  * Route an incoming message from the JavaScript worker to the correct handler.
72
102
  *
@@ -89,35 +119,19 @@ export class WorkerDb {
89
119
  * @returns {any}
90
120
  */
91
121
  handle_message(data) {
92
- const ret = wasm.workerdb_handle_message(this.__wbg_ptr, data);
93
- if (ret[2]) {
94
- throw takeFromExternrefTable0(ret[1]);
122
+ try {
123
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
124
+ wasm.workerdb_handle_message(retptr, this.__wbg_ptr, addHeapObject(data));
125
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
126
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
127
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
128
+ if (r2) {
129
+ throw takeObject(r1);
130
+ }
131
+ return takeObject(r0);
132
+ } finally {
133
+ wasm.__wbindgen_add_to_stack_pointer(16);
95
134
  }
96
- return takeFromExternrefTable0(ret[0]);
97
- }
98
- /**
99
- * Initialize the database and open (or create) the OPFS storage file.
100
- *
101
- * This is the constructor — called from JavaScript as:
102
- * `const db = await new WorkerDb("click_analytics_db")`
103
- *
104
- * `#[wasm_bindgen(constructor)]` tells wasm-bindgen that this function
105
- * is the JavaScript `new WorkerDb(...)` constructor.
106
- *
107
- * `async` because opening the OPFS file handle is an async browser API.
108
- * Returns `Result<WorkerDb, JsValue>` — on error, the JsValue becomes a
109
- * JavaScript exception that the worker's try/catch can handle.
110
- *
111
- * # Arguments
112
- * * `db_name` — The name of the OPFS file to open (e.g. "click_analytics_db").
113
- * Each unique name is a separate database file in the browser's OPFS storage.
114
- * @param {string} db_name
115
- */
116
- constructor(db_name) {
117
- const ptr0 = passStringToWasm0(db_name, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
118
- const len0 = WASM_VECTOR_LEN;
119
- const ret = wasm.workerdb_new(ptr0, len0);
120
- return ret;
121
135
  }
122
136
  /**
123
137
  * Subscribe to real-time database changes.
@@ -126,7 +140,7 @@ export class WorkerDb {
126
140
  * @param {Function} callback
127
141
  */
128
142
  subscribe(callback) {
129
- wasm.workerdb_subscribe(this.__wbg_ptr, callback);
143
+ wasm.workerdb_subscribe(this.__wbg_ptr, addHeapObject(callback));
130
144
  }
131
145
  }
132
146
  if (Symbol.dispose) WorkerDb.prototype[Symbol.dispose] = WorkerDb.prototype.free;
@@ -136,76 +150,76 @@ function __wbg_get_imports() {
136
150
  __proto__: null,
137
151
  __wbg_Error_83742b46f01ce22d: function(arg0, arg1) {
138
152
  const ret = Error(getStringFromWasm0(arg0, arg1));
139
- return ret;
153
+ return addHeapObject(ret);
140
154
  },
141
155
  __wbg_String_8564e559799eccda: function(arg0, arg1) {
142
- const ret = String(arg1);
143
- const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
156
+ const ret = String(getObject(arg1));
157
+ const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_export, wasm.__wbindgen_export2);
144
158
  const len1 = WASM_VECTOR_LEN;
145
159
  getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);
146
160
  getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);
147
161
  },
148
162
  __wbg___wbindgen_bigint_get_as_i64_447a76b5c6ef7bda: function(arg0, arg1) {
149
- const v = arg1;
163
+ const v = getObject(arg1);
150
164
  const ret = typeof(v) === 'bigint' ? v : undefined;
151
165
  getDataViewMemory0().setBigInt64(arg0 + 8 * 1, isLikeNone(ret) ? BigInt(0) : ret, true);
152
166
  getDataViewMemory0().setInt32(arg0 + 4 * 0, !isLikeNone(ret), true);
153
167
  },
154
168
  __wbg___wbindgen_boolean_get_c0f3f60bac5a78d1: function(arg0) {
155
- const v = arg0;
169
+ const v = getObject(arg0);
156
170
  const ret = typeof(v) === 'boolean' ? v : undefined;
157
171
  return isLikeNone(ret) ? 0xFFFFFF : ret ? 1 : 0;
158
172
  },
159
173
  __wbg___wbindgen_debug_string_5398f5bb970e0daa: function(arg0, arg1) {
160
- const ret = debugString(arg1);
161
- const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
174
+ const ret = debugString(getObject(arg1));
175
+ const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_export, wasm.__wbindgen_export2);
162
176
  const len1 = WASM_VECTOR_LEN;
163
177
  getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);
164
178
  getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);
165
179
  },
166
180
  __wbg___wbindgen_in_41dbb8413020e076: function(arg0, arg1) {
167
- const ret = arg0 in arg1;
181
+ const ret = getObject(arg0) in getObject(arg1);
168
182
  return ret;
169
183
  },
170
184
  __wbg___wbindgen_is_bigint_e2141d4f045b7eda: function(arg0) {
171
- const ret = typeof(arg0) === 'bigint';
185
+ const ret = typeof(getObject(arg0)) === 'bigint';
172
186
  return ret;
173
187
  },
174
188
  __wbg___wbindgen_is_function_3c846841762788c1: function(arg0) {
175
- const ret = typeof(arg0) === 'function';
189
+ const ret = typeof(getObject(arg0)) === 'function';
176
190
  return ret;
177
191
  },
178
192
  __wbg___wbindgen_is_object_781bc9f159099513: function(arg0) {
179
- const val = arg0;
193
+ const val = getObject(arg0);
180
194
  const ret = typeof(val) === 'object' && val !== null;
181
195
  return ret;
182
196
  },
183
197
  __wbg___wbindgen_is_string_7ef6b97b02428fae: function(arg0) {
184
- const ret = typeof(arg0) === 'string';
198
+ const ret = typeof(getObject(arg0)) === 'string';
185
199
  return ret;
186
200
  },
187
201
  __wbg___wbindgen_is_undefined_52709e72fb9f179c: function(arg0) {
188
- const ret = arg0 === undefined;
202
+ const ret = getObject(arg0) === undefined;
189
203
  return ret;
190
204
  },
191
205
  __wbg___wbindgen_jsval_eq_ee31bfad3e536463: function(arg0, arg1) {
192
- const ret = arg0 === arg1;
206
+ const ret = getObject(arg0) === getObject(arg1);
193
207
  return ret;
194
208
  },
195
209
  __wbg___wbindgen_jsval_loose_eq_5bcc3bed3c69e72b: function(arg0, arg1) {
196
- const ret = arg0 == arg1;
210
+ const ret = getObject(arg0) == getObject(arg1);
197
211
  return ret;
198
212
  },
199
213
  __wbg___wbindgen_number_get_34bb9d9dcfa21373: function(arg0, arg1) {
200
- const obj = arg1;
214
+ const obj = getObject(arg1);
201
215
  const ret = typeof(obj) === 'number' ? obj : undefined;
202
216
  getDataViewMemory0().setFloat64(arg0 + 8 * 1, isLikeNone(ret) ? 0 : ret, true);
203
217
  getDataViewMemory0().setInt32(arg0 + 4 * 0, !isLikeNone(ret), true);
204
218
  },
205
219
  __wbg___wbindgen_string_get_395e606bd0ee4427: function(arg0, arg1) {
206
- const obj = arg1;
220
+ const obj = getObject(arg1);
207
221
  const ret = typeof(obj) === 'string' ? obj : undefined;
208
- var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
222
+ var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_export, wasm.__wbindgen_export2);
209
223
  var len1 = WASM_VECTOR_LEN;
210
224
  getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);
211
225
  getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);
@@ -214,33 +228,33 @@ function __wbg_get_imports() {
214
228
  throw new Error(getStringFromWasm0(arg0, arg1));
215
229
  },
216
230
  __wbg__wbg_cb_unref_6b5b6b8576d35cb1: function(arg0) {
217
- arg0._wbg_cb_unref();
231
+ getObject(arg0)._wbg_cb_unref();
218
232
  },
219
233
  __wbg_call_2d781c1f4d5c0ef8: function() { return handleError(function (arg0, arg1, arg2) {
220
- const ret = arg0.call(arg1, arg2);
221
- return ret;
234
+ const ret = getObject(arg0).call(getObject(arg1), getObject(arg2));
235
+ return addHeapObject(ret);
222
236
  }, arguments); },
223
237
  __wbg_call_e133b57c9155d22c: function() { return handleError(function (arg0, arg1) {
224
- const ret = arg0.call(arg1);
225
- return ret;
238
+ const ret = getObject(arg0).call(getObject(arg1));
239
+ return addHeapObject(ret);
226
240
  }, arguments); },
227
241
  __wbg_close_bea86eef0f71dd9b: function(arg0) {
228
- arg0.close();
242
+ getObject(arg0).close();
229
243
  },
230
244
  __wbg_createSyncAccessHandle_b7143219a305a2ce: function(arg0) {
231
- const ret = arg0.createSyncAccessHandle();
232
- return ret;
245
+ const ret = getObject(arg0).createSyncAccessHandle();
246
+ return addHeapObject(ret);
233
247
  },
234
248
  __wbg_done_08ce71ee07e3bd17: function(arg0) {
235
- const ret = arg0.done;
249
+ const ret = getObject(arg0).done;
236
250
  return ret;
237
251
  },
238
252
  __wbg_entries_e8a20ff8c9757101: function(arg0) {
239
- const ret = Object.entries(arg0);
240
- return ret;
253
+ const ret = Object.entries(getObject(arg0));
254
+ return addHeapObject(ret);
241
255
  },
242
256
  __wbg_error_8d9a8e04cd1d3588: function(arg0) {
243
- console.error(arg0);
257
+ console.error(getObject(arg0));
244
258
  },
245
259
  __wbg_error_a6fa202b58aa1cd3: function(arg0, arg1) {
246
260
  let deferred0_0;
@@ -250,43 +264,43 @@ function __wbg_get_imports() {
250
264
  deferred0_1 = arg1;
251
265
  console.error(getStringFromWasm0(arg0, arg1));
252
266
  } finally {
253
- wasm.__wbindgen_free(deferred0_0, deferred0_1, 1);
267
+ wasm.__wbindgen_export4(deferred0_0, deferred0_1, 1);
254
268
  }
255
269
  },
256
270
  __wbg_flush_1eca046e0ff7c399: function() { return handleError(function (arg0) {
257
- arg0.flush();
271
+ getObject(arg0).flush();
258
272
  }, arguments); },
259
273
  __wbg_getDirectory_2406d369de179ff0: function(arg0) {
260
- const ret = arg0.getDirectory();
261
- return ret;
274
+ const ret = getObject(arg0).getDirectory();
275
+ return addHeapObject(ret);
262
276
  },
263
277
  __wbg_getFileHandle_b85805519dc63efa: function(arg0, arg1, arg2, arg3) {
264
- const ret = arg0.getFileHandle(getStringFromWasm0(arg1, arg2), arg3);
265
- return ret;
278
+ const ret = getObject(arg0).getFileHandle(getStringFromWasm0(arg1, arg2), getObject(arg3));
279
+ return addHeapObject(ret);
266
280
  },
267
281
  __wbg_getRandomValues_a1cf2e70b003a59d: function() { return handleError(function (arg0, arg1) {
268
282
  globalThis.crypto.getRandomValues(getArrayU8FromWasm0(arg0, arg1));
269
283
  }, arguments); },
270
284
  __wbg_getSize_0a16c5e2524d34aa: function() { return handleError(function (arg0) {
271
- const ret = arg0.getSize();
285
+ const ret = getObject(arg0).getSize();
272
286
  return ret;
273
287
  }, arguments); },
274
288
  __wbg_get_326e41e095fb2575: function() { return handleError(function (arg0, arg1) {
275
- const ret = Reflect.get(arg0, arg1);
276
- return ret;
289
+ const ret = Reflect.get(getObject(arg0), getObject(arg1));
290
+ return addHeapObject(ret);
277
291
  }, arguments); },
278
292
  __wbg_get_a8ee5c45dabc1b3b: function(arg0, arg1) {
279
- const ret = arg0[arg1 >>> 0];
280
- return ret;
293
+ const ret = getObject(arg0)[arg1 >>> 0];
294
+ return addHeapObject(ret);
281
295
  },
282
296
  __wbg_get_unchecked_329cfe50afab7352: function(arg0, arg1) {
283
- const ret = arg0[arg1 >>> 0];
284
- return ret;
297
+ const ret = getObject(arg0)[arg1 >>> 0];
298
+ return addHeapObject(ret);
285
299
  },
286
300
  __wbg_instanceof_ArrayBuffer_101e2bf31071a9f6: function(arg0) {
287
301
  let result;
288
302
  try {
289
- result = arg0 instanceof ArrayBuffer;
303
+ result = getObject(arg0) instanceof ArrayBuffer;
290
304
  } catch (_) {
291
305
  result = false;
292
306
  }
@@ -296,7 +310,7 @@ function __wbg_get_imports() {
296
310
  __wbg_instanceof_Map_f194b366846aca0c: function(arg0) {
297
311
  let result;
298
312
  try {
299
- result = arg0 instanceof Map;
313
+ result = getObject(arg0) instanceof Map;
300
314
  } catch (_) {
301
315
  result = false;
302
316
  }
@@ -306,7 +320,7 @@ function __wbg_get_imports() {
306
320
  __wbg_instanceof_Uint8Array_740438561a5b956d: function(arg0) {
307
321
  let result;
308
322
  try {
309
- result = arg0 instanceof Uint8Array;
323
+ result = getObject(arg0) instanceof Uint8Array;
310
324
  } catch (_) {
311
325
  result = false;
312
326
  }
@@ -316,7 +330,7 @@ function __wbg_get_imports() {
316
330
  __wbg_instanceof_WorkerGlobalScope_de6976d00cb213c6: function(arg0) {
317
331
  let result;
318
332
  try {
319
- result = arg0 instanceof WorkerGlobalScope;
333
+ result = getObject(arg0) instanceof WorkerGlobalScope;
320
334
  } catch (_) {
321
335
  result = false;
322
336
  }
@@ -324,51 +338,51 @@ function __wbg_get_imports() {
324
338
  return ret;
325
339
  },
326
340
  __wbg_isArray_33b91feb269ff46e: function(arg0) {
327
- const ret = Array.isArray(arg0);
341
+ const ret = Array.isArray(getObject(arg0));
328
342
  return ret;
329
343
  },
330
344
  __wbg_isSafeInteger_ecd6a7f9c3e053cd: function(arg0) {
331
- const ret = Number.isSafeInteger(arg0);
345
+ const ret = Number.isSafeInteger(getObject(arg0));
332
346
  return ret;
333
347
  },
334
348
  __wbg_iterator_d8f549ec8fb061b1: function() {
335
349
  const ret = Symbol.iterator;
336
- return ret;
350
+ return addHeapObject(ret);
337
351
  },
338
352
  __wbg_length_b3416cf66a5452c8: function(arg0) {
339
- const ret = arg0.length;
353
+ const ret = getObject(arg0).length;
340
354
  return ret;
341
355
  },
342
356
  __wbg_length_ea16607d7b61445b: function(arg0) {
343
- const ret = arg0.length;
357
+ const ret = getObject(arg0).length;
344
358
  return ret;
345
359
  },
346
360
  __wbg_log_524eedafa26daa59: function(arg0) {
347
- console.log(arg0);
361
+ console.log(getObject(arg0));
348
362
  },
349
363
  __wbg_navigator_583ffd4fc14c0f7a: function(arg0) {
350
- const ret = arg0.navigator;
351
- return ret;
364
+ const ret = getObject(arg0).navigator;
365
+ return addHeapObject(ret);
352
366
  },
353
367
  __wbg_new_227d7c05414eb861: function() {
354
368
  const ret = new Error();
355
- return ret;
369
+ return addHeapObject(ret);
356
370
  },
357
371
  __wbg_new_49d5571bd3f0c4d4: function() {
358
372
  const ret = new Map();
359
- return ret;
373
+ return addHeapObject(ret);
360
374
  },
361
375
  __wbg_new_5f486cdf45a04d78: function(arg0) {
362
- const ret = new Uint8Array(arg0);
363
- return ret;
376
+ const ret = new Uint8Array(getObject(arg0));
377
+ return addHeapObject(ret);
364
378
  },
365
379
  __wbg_new_a70fbab9066b301f: function() {
366
380
  const ret = new Array();
367
- return ret;
381
+ return addHeapObject(ret);
368
382
  },
369
383
  __wbg_new_ab79df5bd7c26067: function() {
370
384
  const ret = new Object();
371
- return ret;
385
+ return addHeapObject(ret);
372
386
  },
373
387
  __wbg_new_typed_aaaeaf29cf802876: function(arg0, arg1) {
374
388
  try {
@@ -377,24 +391,24 @@ function __wbg_get_imports() {
377
391
  const a = state0.a;
378
392
  state0.a = 0;
379
393
  try {
380
- return wasm_bindgen__convert__closures_____invoke__h23a1582ccafe3e3c(a, state0.b, arg0, arg1);
394
+ return __wasm_bindgen_func_elem_3766(a, state0.b, arg0, arg1);
381
395
  } finally {
382
396
  state0.a = a;
383
397
  }
384
398
  };
385
399
  const ret = new Promise(cb0);
386
- return ret;
400
+ return addHeapObject(ret);
387
401
  } finally {
388
402
  state0.a = state0.b = 0;
389
403
  }
390
404
  },
391
405
  __wbg_next_11b99ee6237339e3: function() { return handleError(function (arg0) {
392
- const ret = arg0.next();
393
- return ret;
406
+ const ret = getObject(arg0).next();
407
+ return addHeapObject(ret);
394
408
  }, arguments); },
395
409
  __wbg_next_e01a967809d1aa68: function(arg0) {
396
- const ret = arg0.next;
397
- return ret;
410
+ const ret = getObject(arg0).next;
411
+ return addHeapObject(ret);
398
412
  },
399
413
  __wbg_now_16f0c993d5dd6c27: function() {
400
414
  const ret = Date.now();
@@ -405,130 +419,128 @@ function __wbg_get_imports() {
405
419
  return ret;
406
420
  }, arguments); },
407
421
  __wbg_now_e7c6795a7f81e10f: function(arg0) {
408
- const ret = arg0.now();
422
+ const ret = getObject(arg0).now();
409
423
  return ret;
410
424
  },
411
425
  __wbg_performance_3fcf6e32a7e1ed0a: function(arg0) {
412
- const ret = arg0.performance;
413
- return ret;
426
+ const ret = getObject(arg0).performance;
427
+ return addHeapObject(ret);
414
428
  },
415
429
  __wbg_prototypesetcall_d62e5099504357e6: function(arg0, arg1, arg2) {
416
- Uint8Array.prototype.set.call(getArrayU8FromWasm0(arg0, arg1), arg2);
430
+ Uint8Array.prototype.set.call(getArrayU8FromWasm0(arg0, arg1), getObject(arg2));
417
431
  },
418
432
  __wbg_queueMicrotask_0c399741342fb10f: function(arg0) {
419
- const ret = arg0.queueMicrotask;
420
- return ret;
433
+ const ret = getObject(arg0).queueMicrotask;
434
+ return addHeapObject(ret);
421
435
  },
422
436
  __wbg_queueMicrotask_a082d78ce798393e: function(arg0) {
423
- queueMicrotask(arg0);
437
+ queueMicrotask(getObject(arg0));
424
438
  },
425
439
  __wbg_read_0285869b4fd131af: function() { return handleError(function (arg0, arg1, arg2, arg3) {
426
- const ret = arg0.read(getArrayU8FromWasm0(arg1, arg2), arg3);
440
+ const ret = getObject(arg0).read(getArrayU8FromWasm0(arg1, arg2), getObject(arg3));
427
441
  return ret;
428
442
  }, arguments); },
429
443
  __wbg_resolve_ae8d83246e5bcc12: function(arg0) {
430
- const ret = Promise.resolve(arg0);
431
- return ret;
444
+ const ret = Promise.resolve(getObject(arg0));
445
+ return addHeapObject(ret);
432
446
  },
433
447
  __wbg_set_282384002438957f: function(arg0, arg1, arg2) {
434
- arg0[arg1 >>> 0] = arg2;
448
+ getObject(arg0)[arg1 >>> 0] = takeObject(arg2);
435
449
  },
436
450
  __wbg_set_6be42768c690e380: function(arg0, arg1, arg2) {
437
- arg0[arg1] = arg2;
451
+ getObject(arg0)[takeObject(arg1)] = takeObject(arg2);
438
452
  },
439
453
  __wbg_set_at_e227be75df7f9abf: function(arg0, arg1) {
440
- arg0.at = arg1;
454
+ getObject(arg0).at = arg1;
441
455
  },
442
456
  __wbg_set_bf7251625df30a02: function(arg0, arg1, arg2) {
443
- const ret = arg0.set(arg1, arg2);
444
- return ret;
457
+ const ret = getObject(arg0).set(getObject(arg1), getObject(arg2));
458
+ return addHeapObject(ret);
445
459
  },
446
460
  __wbg_set_create_ef897736206a6f05: function(arg0, arg1) {
447
- arg0.create = arg1 !== 0;
461
+ getObject(arg0).create = arg1 !== 0;
448
462
  },
449
463
  __wbg_stack_3b0d974bbf31e44f: function(arg0, arg1) {
450
- const ret = arg1.stack;
451
- const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
464
+ const ret = getObject(arg1).stack;
465
+ const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_export, wasm.__wbindgen_export2);
452
466
  const len1 = WASM_VECTOR_LEN;
453
467
  getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);
454
468
  getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);
455
469
  },
456
470
  __wbg_static_accessor_GLOBAL_8adb955bd33fac2f: function() {
457
471
  const ret = typeof global === 'undefined' ? null : global;
458
- return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);
472
+ return isLikeNone(ret) ? 0 : addHeapObject(ret);
459
473
  },
460
474
  __wbg_static_accessor_GLOBAL_THIS_ad356e0db91c7913: function() {
461
475
  const ret = typeof globalThis === 'undefined' ? null : globalThis;
462
- return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);
476
+ return isLikeNone(ret) ? 0 : addHeapObject(ret);
463
477
  },
464
478
  __wbg_static_accessor_SELF_f207c857566db248: function() {
465
479
  const ret = typeof self === 'undefined' ? null : self;
466
- return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);
480
+ return isLikeNone(ret) ? 0 : addHeapObject(ret);
467
481
  },
468
482
  __wbg_static_accessor_WINDOW_bb9f1ba69d61b386: function() {
469
483
  const ret = typeof window === 'undefined' ? null : window;
470
- return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);
484
+ return isLikeNone(ret) ? 0 : addHeapObject(ret);
471
485
  },
472
486
  __wbg_storage_8d917976d6753ee0: function(arg0) {
473
- const ret = arg0.storage;
474
- return ret;
487
+ const ret = getObject(arg0).storage;
488
+ return addHeapObject(ret);
475
489
  },
476
490
  __wbg_then_098abe61755d12f6: function(arg0, arg1) {
477
- const ret = arg0.then(arg1);
478
- return ret;
491
+ const ret = getObject(arg0).then(getObject(arg1));
492
+ return addHeapObject(ret);
479
493
  },
480
494
  __wbg_then_9e335f6dd892bc11: function(arg0, arg1, arg2) {
481
- const ret = arg0.then(arg1, arg2);
482
- return ret;
495
+ const ret = getObject(arg0).then(getObject(arg1), getObject(arg2));
496
+ return addHeapObject(ret);
483
497
  },
484
498
  __wbg_truncate_af8ac1613ab66393: function() { return handleError(function (arg0, arg1) {
485
- arg0.truncate(arg1);
499
+ getObject(arg0).truncate(arg1);
486
500
  }, arguments); },
487
501
  __wbg_value_21fc78aab0322612: function(arg0) {
488
- const ret = arg0.value;
489
- return ret;
502
+ const ret = getObject(arg0).value;
503
+ return addHeapObject(ret);
490
504
  },
491
505
  __wbg_workerdb_new: function(arg0) {
492
506
  const ret = WorkerDb.__wrap(arg0);
493
- return ret;
507
+ return addHeapObject(ret);
494
508
  },
495
509
  __wbg_write_57c477a82b886339: function() { return handleError(function (arg0, arg1, arg2, arg3) {
496
- const ret = arg0.write(getArrayU8FromWasm0(arg1, arg2), arg3);
510
+ const ret = getObject(arg0).write(getArrayU8FromWasm0(arg1, arg2), getObject(arg3));
497
511
  return ret;
498
512
  }, arguments); },
499
513
  __wbindgen_cast_0000000000000001: function(arg0, arg1) {
500
- // Cast intrinsic for `Closure(Closure { dtor_idx: 779, function: Function { arguments: [Externref], shim_idx: 780, ret: Result(Unit), inner_ret: Some(Result(Unit)) }, mutable: true }) -> Externref`.
501
- const ret = makeMutClosure(arg0, arg1, wasm.wasm_bindgen__closure__destroy__hd467cd5df2070873, wasm_bindgen__convert__closures_____invoke__hfcbb4037b8cae583);
502
- return ret;
514
+ // Cast intrinsic for `Closure(Closure { dtor_idx: 674, function: Function { arguments: [Externref], shim_idx: 687, ret: Result(Unit), inner_ret: Some(Result(Unit)) }, mutable: true }) -> Externref`.
515
+ const ret = makeMutClosure(arg0, arg1, wasm.__wasm_bindgen_func_elem_3672, __wasm_bindgen_func_elem_3755);
516
+ return addHeapObject(ret);
503
517
  },
504
518
  __wbindgen_cast_0000000000000002: function(arg0) {
505
519
  // Cast intrinsic for `F64 -> Externref`.
506
520
  const ret = arg0;
507
- return ret;
521
+ return addHeapObject(ret);
508
522
  },
509
523
  __wbindgen_cast_0000000000000003: function(arg0) {
510
524
  // Cast intrinsic for `I64 -> Externref`.
511
525
  const ret = arg0;
512
- return ret;
526
+ return addHeapObject(ret);
513
527
  },
514
528
  __wbindgen_cast_0000000000000004: function(arg0, arg1) {
515
529
  // Cast intrinsic for `Ref(String) -> Externref`.
516
530
  const ret = getStringFromWasm0(arg0, arg1);
517
- return ret;
531
+ return addHeapObject(ret);
518
532
  },
519
533
  __wbindgen_cast_0000000000000005: function(arg0) {
520
534
  // Cast intrinsic for `U64 -> Externref`.
521
535
  const ret = BigInt.asUintN(64, arg0);
522
- return ret;
536
+ return addHeapObject(ret);
523
537
  },
524
- __wbindgen_init_externref_table: function() {
525
- const table = wasm.__wbindgen_externrefs;
526
- const offset = table.grow(4);
527
- table.set(0, undefined);
528
- table.set(offset + 0, undefined);
529
- table.set(offset + 1, null);
530
- table.set(offset + 2, true);
531
- table.set(offset + 3, false);
538
+ __wbindgen_object_clone_ref: function(arg0) {
539
+ const ret = getObject(arg0);
540
+ return addHeapObject(ret);
541
+ },
542
+ __wbindgen_object_drop_ref: function(arg0) {
543
+ takeObject(arg0);
532
544
  },
533
545
  };
534
546
  return {
@@ -537,24 +549,34 @@ function __wbg_get_imports() {
537
549
  };
538
550
  }
539
551
 
540
- function wasm_bindgen__convert__closures_____invoke__hfcbb4037b8cae583(arg0, arg1, arg2) {
541
- const ret = wasm.wasm_bindgen__convert__closures_____invoke__hfcbb4037b8cae583(arg0, arg1, arg2);
542
- if (ret[1]) {
543
- throw takeFromExternrefTable0(ret[0]);
552
+ function __wasm_bindgen_func_elem_3755(arg0, arg1, arg2) {
553
+ try {
554
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
555
+ wasm.__wasm_bindgen_func_elem_3755(retptr, arg0, arg1, addHeapObject(arg2));
556
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
557
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
558
+ if (r1) {
559
+ throw takeObject(r0);
560
+ }
561
+ } finally {
562
+ wasm.__wbindgen_add_to_stack_pointer(16);
544
563
  }
545
564
  }
546
565
 
547
- function wasm_bindgen__convert__closures_____invoke__h23a1582ccafe3e3c(arg0, arg1, arg2, arg3) {
548
- wasm.wasm_bindgen__convert__closures_____invoke__h23a1582ccafe3e3c(arg0, arg1, arg2, arg3);
566
+ function __wasm_bindgen_func_elem_3766(arg0, arg1, arg2, arg3) {
567
+ wasm.__wasm_bindgen_func_elem_3766(arg0, arg1, addHeapObject(arg2), addHeapObject(arg3));
549
568
  }
550
569
 
551
570
  const WorkerDbFinalization = (typeof FinalizationRegistry === 'undefined')
552
571
  ? { register: () => {}, unregister: () => {} }
553
572
  : new FinalizationRegistry(ptr => wasm.__wbg_workerdb_free(ptr >>> 0, 1));
554
573
 
555
- function addToExternrefTable0(obj) {
556
- const idx = wasm.__externref_table_alloc();
557
- wasm.__wbindgen_externrefs.set(idx, obj);
574
+ function addHeapObject(obj) {
575
+ if (heap_next === heap.length) heap.push(heap.length + 1);
576
+ const idx = heap_next;
577
+ heap_next = heap[idx];
578
+
579
+ heap[idx] = obj;
558
580
  return idx;
559
581
  }
560
582
 
@@ -627,6 +649,12 @@ function debugString(val) {
627
649
  return className;
628
650
  }
629
651
 
652
+ function dropObject(idx) {
653
+ if (idx < 1028) return;
654
+ heap[idx] = heap_next;
655
+ heap_next = idx;
656
+ }
657
+
630
658
  function getArrayU8FromWasm0(ptr, len) {
631
659
  ptr = ptr >>> 0;
632
660
  return getUint8ArrayMemory0().subarray(ptr / 1, ptr / 1 + len);
@@ -653,15 +681,21 @@ function getUint8ArrayMemory0() {
653
681
  return cachedUint8ArrayMemory0;
654
682
  }
655
683
 
684
+ function getObject(idx) { return heap[idx]; }
685
+
656
686
  function handleError(f, args) {
657
687
  try {
658
688
  return f.apply(this, args);
659
689
  } catch (e) {
660
- const idx = addToExternrefTable0(e);
661
- wasm.__wbindgen_exn_store(idx);
690
+ wasm.__wbindgen_export3(addHeapObject(e));
662
691
  }
663
692
  }
664
693
 
694
+ let heap = new Array(1024).fill(undefined);
695
+ heap.push(undefined, null, true, false);
696
+
697
+ let heap_next = heap.length;
698
+
665
699
  function isLikeNone(x) {
666
700
  return x === undefined || x === null;
667
701
  }
@@ -731,10 +765,10 @@ function passStringToWasm0(arg, malloc, realloc) {
731
765
  return ptr;
732
766
  }
733
767
 
734
- function takeFromExternrefTable0(idx) {
735
- const value = wasm.__wbindgen_externrefs.get(idx);
736
- wasm.__externref_table_dealloc(idx);
737
- return value;
768
+ function takeObject(idx) {
769
+ const ret = getObject(idx);
770
+ dropObject(idx);
771
+ return ret;
738
772
  }
739
773
 
740
774
  let cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });
@@ -772,7 +806,6 @@ function __wbg_finalize_init(instance, module) {
772
806
  wasmModule = module;
773
807
  cachedDataViewMemory0 = null;
774
808
  cachedUint8ArrayMemory0 = null;
775
- wasm.__wbindgen_start();
776
809
  return wasm;
777
810
  }
778
811
 
Binary file
@@ -2,18 +2,15 @@
2
2
  /* eslint-disable */
3
3
  export const memory: WebAssembly.Memory;
4
4
  export const __wbg_workerdb_free: (a: number, b: number) => void;
5
- export const workerdb_analytics: (a: number, b: number, c: number) => [number, number];
6
- export const workerdb_handle_message: (a: number, b: any) => [number, number, number];
7
- export const workerdb_new: (a: number, b: number) => any;
8
- export const workerdb_subscribe: (a: number, b: any) => void;
9
- export const wasm_bindgen__closure__destroy__hd467cd5df2070873: (a: number, b: number) => void;
10
- export const wasm_bindgen__convert__closures_____invoke__hfcbb4037b8cae583: (a: number, b: number, c: any) => [number, number];
11
- export const wasm_bindgen__convert__closures_____invoke__h23a1582ccafe3e3c: (a: number, b: number, c: any, d: any) => void;
12
- export const __wbindgen_malloc: (a: number, b: number) => number;
13
- export const __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
14
- export const __wbindgen_exn_store: (a: number) => void;
15
- export const __externref_table_alloc: () => number;
16
- export const __wbindgen_externrefs: WebAssembly.Table;
17
- export const __wbindgen_free: (a: number, b: number, c: number) => void;
18
- export const __externref_table_dealloc: (a: number) => void;
19
- export const __wbindgen_start: () => void;
5
+ export const workerdb_analytics: (a: number, b: number, c: number, d: number) => void;
6
+ export const workerdb_create: (a: number, b: number) => number;
7
+ export const workerdb_handle_message: (a: number, b: number, c: number) => void;
8
+ export const workerdb_subscribe: (a: number, b: number) => void;
9
+ export const __wasm_bindgen_func_elem_3672: (a: number, b: number) => void;
10
+ export const __wasm_bindgen_func_elem_3755: (a: number, b: number, c: number, d: number) => void;
11
+ export const __wasm_bindgen_func_elem_3766: (a: number, b: number, c: number, d: number) => void;
12
+ export const __wbindgen_export: (a: number, b: number) => number;
13
+ export const __wbindgen_export2: (a: number, b: number, c: number, d: number) => number;
14
+ export const __wbindgen_export3: (a: number) => void;
15
+ export const __wbindgen_export4: (a: number, b: number, c: number) => void;
16
+ export const __wbindgen_add_to_stack_pointer: (a: number) => number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@moltendb-web/core",
3
- "version": "1.4.1",
3
+ "version": "1.4.2",
4
4
  "description": "MoltenDb WASM runtime — the database engine, Web Worker, and main-thread client in one package.",
5
5
  "type": "module",
6
6
  "author": "Maximilian Both <maximilian.both27@outlook.com>",