mindoodb-app-sdk 0.0.20 → 0.0.27

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.
@@ -1,3791 +1,9 @@
1
- import {
2
- __commonJS,
3
- __require,
4
- __toESM
5
- } from "../chunk-QGM4M3NI.js";
6
-
7
- // node_modules/.pnpm/@automerge+automerge@3.2.6/node_modules/@automerge/automerge/dist/mjs/wasm_bindgen_output/nodejs/automerge_wasm.cjs
8
- var require_automerge_wasm = __commonJS({
9
- "node_modules/.pnpm/@automerge+automerge@3.2.6/node_modules/@automerge/automerge/dist/mjs/wasm_bindgen_output/nodejs/automerge_wasm.cjs"(exports) {
10
- "use strict";
11
- function isNode18() {
12
- if (typeof process === "undefined" || typeof process.versions === "undefined" || typeof process.versions.node === "undefined") {
13
- return false;
14
- }
15
- const nodeVersion = process.versions.node;
16
- const majorVersion = parseInt(nodeVersion.split(".")[0], 10);
17
- return majorVersion == 18;
18
- }
19
- if (isNode18()) {
20
- globalThis.crypto = __require("crypto").webcrypto;
21
- }
22
- var Automerge2 = class _Automerge {
23
- static __wrap(ptr) {
24
- ptr = ptr >>> 0;
25
- const obj = Object.create(_Automerge.prototype);
26
- obj.__wbg_ptr = ptr;
27
- AutomergeFinalization2.register(obj, obj.__wbg_ptr, obj);
28
- return obj;
29
- }
30
- __destroy_into_raw() {
31
- const ptr = this.__wbg_ptr;
32
- this.__wbg_ptr = 0;
33
- AutomergeFinalization2.unregister(this);
34
- return ptr;
35
- }
36
- free() {
37
- const ptr = this.__destroy_into_raw();
38
- wasm2.__wbg_automerge_free(ptr, 0);
39
- }
40
- /**
41
- * @param {any} object
42
- * @param {any} meta
43
- * @returns {any}
44
- */
45
- applyAndReturnPatches(object, meta) {
46
- const ret = wasm2.automerge_applyAndReturnPatches(this.__wbg_ptr, object, meta);
47
- if (ret[2]) {
48
- throw takeFromExternrefTable02(ret[1]);
49
- }
50
- return takeFromExternrefTable02(ret[0]);
51
- }
52
- /**
53
- * @param {Change[]} changes
54
- */
55
- applyChanges(changes) {
56
- const ret = wasm2.automerge_applyChanges(this.__wbg_ptr, changes);
57
- if (ret[1]) {
58
- throw takeFromExternrefTable02(ret[0]);
59
- }
60
- }
61
- /**
62
- * @param {any} object
63
- * @param {any} meta
64
- * @returns {any}
65
- */
66
- applyPatches(object, meta) {
67
- const ret = wasm2.automerge_applyPatches(this.__wbg_ptr, object, meta);
68
- if (ret[2]) {
69
- throw takeFromExternrefTable02(ret[1]);
70
- }
71
- return takeFromExternrefTable02(ret[0]);
72
- }
73
- /**
74
- * @param {string | null} [actor]
75
- * @returns {Automerge}
76
- */
77
- clone(actor) {
78
- var ptr0 = isLikeNone2(actor) ? 0 : passStringToWasm02(actor, wasm2.__wbindgen_malloc, wasm2.__wbindgen_realloc);
79
- var len0 = WASM_VECTOR_LEN2;
80
- const ret = wasm2.automerge_clone(this.__wbg_ptr, ptr0, len0);
81
- if (ret[2]) {
82
- throw takeFromExternrefTable02(ret[1]);
83
- }
84
- return _Automerge.__wrap(ret[0]);
85
- }
86
- /**
87
- * @param {string | null} [message]
88
- * @param {number | null} [time]
89
- * @returns {Hash | null}
90
- */
91
- commit(message, time) {
92
- var ptr0 = isLikeNone2(message) ? 0 : passStringToWasm02(message, wasm2.__wbindgen_malloc, wasm2.__wbindgen_realloc);
93
- var len0 = WASM_VECTOR_LEN2;
94
- const ret = wasm2.automerge_commit(this.__wbg_ptr, ptr0, len0, !isLikeNone2(time), isLikeNone2(time) ? 0 : time);
95
- return ret;
96
- }
97
- /**
98
- * @param {ObjID} obj
99
- * @param {Prop} prop
100
- */
101
- delete(obj, prop) {
102
- const ret = wasm2.automerge_delete(this.__wbg_ptr, obj, prop);
103
- if (ret[1]) {
104
- throw takeFromExternrefTable02(ret[0]);
105
- }
106
- }
107
- /**
108
- * @param {Heads} before
109
- * @param {Heads} after
110
- * @returns {Patch[]}
111
- */
112
- diff(before, after) {
113
- const ret = wasm2.automerge_diff(this.__wbg_ptr, before, after);
114
- if (ret[2]) {
115
- throw takeFromExternrefTable02(ret[1]);
116
- }
117
- return takeFromExternrefTable02(ret[0]);
118
- }
119
- /**
120
- * @returns {Patch[]}
121
- */
122
- diffIncremental() {
123
- const ret = wasm2.automerge_diffIncremental(this.__wbg_ptr);
124
- if (ret[2]) {
125
- throw takeFromExternrefTable02(ret[1]);
126
- }
127
- return takeFromExternrefTable02(ret[0]);
128
- }
129
- /**
130
- * @param {Prop[] | string} path
131
- * @param {Heads} before
132
- * @param {Heads} after
133
- * @param {any} options
134
- * @returns {Array<any>}
135
- */
136
- diffPath(path, before, after, options) {
137
- const ret = wasm2.automerge_diffPath(this.__wbg_ptr, path, before, after, options);
138
- if (ret[2]) {
139
- throw takeFromExternrefTable02(ret[1]);
140
- }
141
- return takeFromExternrefTable02(ret[0]);
142
- }
143
- dump() {
144
- wasm2.automerge_dump(this.__wbg_ptr);
145
- }
146
- /**
147
- * @param {string | null} [message]
148
- * @param {number | null} [time]
149
- * @returns {Hash}
150
- */
151
- emptyChange(message, time) {
152
- var ptr0 = isLikeNone2(message) ? 0 : passStringToWasm02(message, wasm2.__wbindgen_malloc, wasm2.__wbindgen_realloc);
153
- var len0 = WASM_VECTOR_LEN2;
154
- const ret = wasm2.automerge_emptyChange(this.__wbg_ptr, ptr0, len0, !isLikeNone2(time), isLikeNone2(time) ? 0 : time);
155
- return ret;
156
- }
157
- /**
158
- * @param {boolean} enable
159
- * @returns {boolean}
160
- */
161
- enableFreeze(enable) {
162
- const ret = wasm2.automerge_enableFreeze(this.__wbg_ptr, enable);
163
- if (ret[2]) {
164
- throw takeFromExternrefTable02(ret[1]);
165
- }
166
- return ret[0] !== 0;
167
- }
168
- /**
169
- * @param {string | null | undefined} actor
170
- * @param {any} heads
171
- * @returns {Automerge}
172
- */
173
- fork(actor, heads) {
174
- var ptr0 = isLikeNone2(actor) ? 0 : passStringToWasm02(actor, wasm2.__wbindgen_malloc, wasm2.__wbindgen_realloc);
175
- var len0 = WASM_VECTOR_LEN2;
176
- const ret = wasm2.automerge_fork(this.__wbg_ptr, ptr0, len0, heads);
177
- if (ret[2]) {
178
- throw takeFromExternrefTable02(ret[1]);
179
- }
180
- return _Automerge.__wrap(ret[0]);
181
- }
182
- /**
183
- * @param {SyncState} state
184
- * @returns {SyncMessage | null}
185
- */
186
- generateSyncMessage(state) {
187
- _assertClass2(state, SyncState2);
188
- const ret = wasm2.automerge_generateSyncMessage(this.__wbg_ptr, state.__wbg_ptr);
189
- return ret;
190
- }
191
- /**
192
- * @param {any} obj
193
- * @param {any} prop
194
- * @param {any} heads
195
- * @returns {any}
196
- */
197
- get(obj, prop, heads) {
198
- const ret = wasm2.automerge_get(this.__wbg_ptr, obj, prop, heads);
199
- if (ret[2]) {
200
- throw takeFromExternrefTable02(ret[1]);
201
- }
202
- return takeFromExternrefTable02(ret[0]);
203
- }
204
- /**
205
- * @returns {Actor}
206
- */
207
- getActorId() {
208
- let deferred1_0;
209
- let deferred1_1;
210
- try {
211
- const ret = wasm2.automerge_getActorId(this.__wbg_ptr);
212
- deferred1_0 = ret[0];
213
- deferred1_1 = ret[1];
214
- return getStringFromWasm02(ret[0], ret[1]);
215
- } finally {
216
- wasm2.__wbindgen_free(deferred1_0, deferred1_1, 1);
217
- }
218
- }
219
- /**
220
- * @param {any} obj
221
- * @param {any} arg
222
- * @param {any} heads
223
- * @returns {Array<any>}
224
- */
225
- getAll(obj, arg, heads) {
226
- const ret = wasm2.automerge_getAll(this.__wbg_ptr, obj, arg, heads);
227
- if (ret[2]) {
228
- throw takeFromExternrefTable02(ret[1]);
229
- }
230
- return takeFromExternrefTable02(ret[0]);
231
- }
232
- /**
233
- * @param {any} text
234
- * @param {number} index
235
- * @param {any} heads
236
- * @returns {any}
237
- */
238
- getBlock(text, index, heads) {
239
- const ret = wasm2.automerge_getBlock(this.__wbg_ptr, text, index, heads);
240
- if (ret[2]) {
241
- throw takeFromExternrefTable02(ret[1]);
242
- }
243
- return takeFromExternrefTable02(ret[0]);
244
- }
245
- /**
246
- * @param {Hash} hash
247
- * @returns {Change | null}
248
- */
249
- getChangeByHash(hash) {
250
- const ret = wasm2.automerge_getChangeByHash(this.__wbg_ptr, hash);
251
- if (ret[2]) {
252
- throw takeFromExternrefTable02(ret[1]);
253
- }
254
- return takeFromExternrefTable02(ret[0]);
255
- }
256
- /**
257
- * @param {Hash} hash
258
- * @returns {ChangeMetadata | null}
259
- */
260
- getChangeMetaByHash(hash) {
261
- const ret = wasm2.automerge_getChangeMetaByHash(this.__wbg_ptr, hash);
262
- if (ret[2]) {
263
- throw takeFromExternrefTable02(ret[1]);
264
- }
265
- return takeFromExternrefTable02(ret[0]);
266
- }
267
- /**
268
- * @param {Heads} have_deps
269
- * @returns {Change[]}
270
- */
271
- getChanges(have_deps) {
272
- const ret = wasm2.automerge_getChanges(this.__wbg_ptr, have_deps);
273
- if (ret[2]) {
274
- throw takeFromExternrefTable02(ret[1]);
275
- }
276
- return takeFromExternrefTable02(ret[0]);
277
- }
278
- /**
279
- * @param {Automerge} other
280
- * @returns {Change[]}
281
- */
282
- getChangesAdded(other) {
283
- _assertClass2(other, _Automerge);
284
- const ret = wasm2.automerge_getChangesAdded(this.__wbg_ptr, other.__wbg_ptr);
285
- return ret;
286
- }
287
- /**
288
- * @param {Heads} have_deps
289
- * @returns {ChangeMetadata[]}
290
- */
291
- getChangesMeta(have_deps) {
292
- const ret = wasm2.automerge_getChangesMeta(this.__wbg_ptr, have_deps);
293
- if (ret[2]) {
294
- throw takeFromExternrefTable02(ret[1]);
295
- }
296
- return takeFromExternrefTable02(ret[0]);
297
- }
298
- /**
299
- * @param {any} obj
300
- * @param {any} position
301
- * @param {any} heads
302
- * @param {any} move_cursor
303
- * @returns {string}
304
- */
305
- getCursor(obj, position, heads, move_cursor) {
306
- let deferred2_0;
307
- let deferred2_1;
308
- try {
309
- const ret = wasm2.automerge_getCursor(this.__wbg_ptr, obj, position, heads, move_cursor);
310
- var ptr1 = ret[0];
311
- var len1 = ret[1];
312
- if (ret[3]) {
313
- ptr1 = 0;
314
- len1 = 0;
315
- throw takeFromExternrefTable02(ret[2]);
316
- }
317
- deferred2_0 = ptr1;
318
- deferred2_1 = len1;
319
- return getStringFromWasm02(ptr1, len1);
320
- } finally {
321
- wasm2.__wbindgen_free(deferred2_0, deferred2_1, 1);
322
- }
323
- }
324
- /**
325
- * @param {any} obj
326
- * @param {any} cursor
327
- * @param {any} heads
328
- * @returns {number}
329
- */
330
- getCursorPosition(obj, cursor, heads) {
331
- const ret = wasm2.automerge_getCursorPosition(this.__wbg_ptr, obj, cursor, heads);
332
- if (ret[2]) {
333
- throw takeFromExternrefTable02(ret[1]);
334
- }
335
- return ret[0];
336
- }
337
- /**
338
- * @param {Hash} hash
339
- * @returns {DecodedChange | null}
340
- */
341
- getDecodedChangeByHash(hash) {
342
- const ret = wasm2.automerge_getDecodedChangeByHash(this.__wbg_ptr, hash);
343
- if (ret[2]) {
344
- throw takeFromExternrefTable02(ret[1]);
345
- }
346
- return takeFromExternrefTable02(ret[0]);
347
- }
348
- /**
349
- * @returns {Heads}
350
- */
351
- getHeads() {
352
- const ret = wasm2.automerge_getHeads(this.__wbg_ptr);
353
- return ret;
354
- }
355
- /**
356
- * @returns {Change | null}
357
- */
358
- getLastLocalChange() {
359
- const ret = wasm2.automerge_getLastLocalChange(this.__wbg_ptr);
360
- return ret;
361
- }
362
- /**
363
- * @param {any} heads
364
- * @returns {Array<any>}
365
- */
366
- getMissingDeps(heads) {
367
- const ret = wasm2.automerge_getMissingDeps(this.__wbg_ptr, heads);
368
- if (ret[2]) {
369
- throw takeFromExternrefTable02(ret[1]);
370
- }
371
- return takeFromExternrefTable02(ret[0]);
372
- }
373
- /**
374
- * @param {any} obj
375
- * @param {any} prop
376
- * @param {any} heads
377
- * @returns {any}
378
- */
379
- getWithType(obj, prop, heads) {
380
- const ret = wasm2.automerge_getWithType(this.__wbg_ptr, obj, prop, heads);
381
- if (ret[2]) {
382
- throw takeFromExternrefTable02(ret[1]);
383
- }
384
- return takeFromExternrefTable02(ret[0]);
385
- }
386
- /**
387
- * @param {SyncState} state
388
- * @returns {boolean}
389
- */
390
- hasOurChanges(state) {
391
- _assertClass2(state, SyncState2);
392
- const ret = wasm2.automerge_hasOurChanges(this.__wbg_ptr, state.__wbg_ptr);
393
- return ret !== 0;
394
- }
395
- /**
396
- * @param {ObjID} obj
397
- * @param {Prop} prop
398
- * @param {number} value
399
- */
400
- increment(obj, prop, value) {
401
- const ret = wasm2.automerge_increment(this.__wbg_ptr, obj, prop, value);
402
- if (ret[1]) {
403
- throw takeFromExternrefTable02(ret[0]);
404
- }
405
- }
406
- /**
407
- * Initialize the root object of an empty document from a JS object.
408
- * This is much faster than setting keys one at a time for large initial states.
409
- * @param {any} value
410
- */
411
- initRootFromHydrate(value) {
412
- const ret = wasm2.automerge_initRootFromHydrate(this.__wbg_ptr, value);
413
- if (ret[1]) {
414
- throw takeFromExternrefTable02(ret[0]);
415
- }
416
- }
417
- /**
418
- * @param {any} obj
419
- * @param {number} index
420
- * @param {any} value
421
- * @param {any} datatype
422
- */
423
- insert(obj, index, value, datatype) {
424
- const ret = wasm2.automerge_insert(this.__wbg_ptr, obj, index, value, datatype);
425
- if (ret[1]) {
426
- throw takeFromExternrefTable02(ret[0]);
427
- }
428
- }
429
- /**
430
- * @param {ObjID} obj
431
- * @param {number} index
432
- * @param {ObjType} value
433
- * @returns {ObjID}
434
- */
435
- insertObject(obj, index, value) {
436
- let deferred2_0;
437
- let deferred2_1;
438
- try {
439
- const ret = wasm2.automerge_insertObject(this.__wbg_ptr, obj, index, value);
440
- var ptr1 = ret[0];
441
- var len1 = ret[1];
442
- if (ret[3]) {
443
- ptr1 = 0;
444
- len1 = 0;
445
- throw takeFromExternrefTable02(ret[2]);
446
- }
447
- deferred2_0 = ptr1;
448
- deferred2_1 = len1;
449
- return getStringFromWasm02(ptr1, len1);
450
- } finally {
451
- wasm2.__wbindgen_free(deferred2_0, deferred2_1, 1);
452
- }
453
- }
454
- /**
455
- * Insert a nested JavaScript value into a list using batch insertion.
456
- * This is much faster than insertObject for large nested objects.
457
- * The value is inserted at the given index, shifting subsequent elements.
458
- * @param {ObjID} obj
459
- * @param {number} index
460
- * @param {any} value
461
- * @returns {ObjID}
462
- */
463
- insertObjectFromHydrate(obj, index, value) {
464
- const ret = wasm2.automerge_insertObjectFromHydrate(this.__wbg_ptr, obj, index, value);
465
- if (ret[2]) {
466
- throw takeFromExternrefTable02(ret[1]);
467
- }
468
- return takeFromExternrefTable02(ret[0]);
469
- }
470
- integrate() {
471
- wasm2.automerge_integrate(this.__wbg_ptr);
472
- }
473
- /**
474
- * @param {Heads} heads
475
- */
476
- isolate(heads) {
477
- const ret = wasm2.automerge_isolate(this.__wbg_ptr, heads);
478
- if (ret[1]) {
479
- throw takeFromExternrefTable02(ret[0]);
480
- }
481
- }
482
- /**
483
- * @param {ObjID} obj
484
- * @param {number} index
485
- */
486
- joinBlock(obj, index) {
487
- const ret = wasm2.automerge_joinBlock(this.__wbg_ptr, obj, index);
488
- if (ret[1]) {
489
- throw takeFromExternrefTable02(ret[0]);
490
- }
491
- }
492
- /**
493
- * @param {any} obj
494
- * @param {any} heads
495
- * @returns {Array<any>}
496
- */
497
- keys(obj, heads) {
498
- const ret = wasm2.automerge_keys(this.__wbg_ptr, obj, heads);
499
- if (ret[2]) {
500
- throw takeFromExternrefTable02(ret[1]);
501
- }
502
- return takeFromExternrefTable02(ret[0]);
503
- }
504
- /**
505
- * @param {any} obj
506
- * @param {any} heads
507
- * @returns {number}
508
- */
509
- length(obj, heads) {
510
- const ret = wasm2.automerge_length(this.__wbg_ptr, obj, heads);
511
- if (ret[2]) {
512
- throw takeFromExternrefTable02(ret[1]);
513
- }
514
- return ret[0];
515
- }
516
- /**
517
- * @param {Uint8Array} data
518
- * @returns {number}
519
- */
520
- loadIncremental(data) {
521
- const ret = wasm2.automerge_loadIncremental(this.__wbg_ptr, data);
522
- if (ret[2]) {
523
- throw takeFromExternrefTable02(ret[1]);
524
- }
525
- return ret[0];
526
- }
527
- /**
528
- * @param {any} obj
529
- * @param {any} range
530
- * @param {any} name
531
- * @param {any} value
532
- * @param {any} datatype
533
- */
534
- mark(obj, range, name, value, datatype) {
535
- const ret = wasm2.automerge_mark(this.__wbg_ptr, obj, range, name, value, datatype);
536
- if (ret[1]) {
537
- throw takeFromExternrefTable02(ret[0]);
538
- }
539
- }
540
- /**
541
- * @param {any} obj
542
- * @param {any} heads
543
- * @returns {any}
544
- */
545
- marks(obj, heads) {
546
- const ret = wasm2.automerge_marks(this.__wbg_ptr, obj, heads);
547
- if (ret[2]) {
548
- throw takeFromExternrefTable02(ret[1]);
549
- }
550
- return takeFromExternrefTable02(ret[0]);
551
- }
552
- /**
553
- * @param {any} obj
554
- * @param {number} index
555
- * @param {any} heads
556
- * @returns {object}
557
- */
558
- marksAt(obj, index, heads) {
559
- const ret = wasm2.automerge_marksAt(this.__wbg_ptr, obj, index, heads);
560
- if (ret[2]) {
561
- throw takeFromExternrefTable02(ret[1]);
562
- }
563
- return takeFromExternrefTable02(ret[0]);
564
- }
565
- /**
566
- * @param {any} obj
567
- * @param {any} heads
568
- * @param {any} meta
569
- * @returns {any}
570
- */
571
- materialize(obj, heads, meta) {
572
- const ret = wasm2.automerge_materialize(this.__wbg_ptr, obj, heads, meta);
573
- if (ret[2]) {
574
- throw takeFromExternrefTable02(ret[1]);
575
- }
576
- return takeFromExternrefTable02(ret[0]);
577
- }
578
- /**
579
- * @param {Automerge} other
580
- * @returns {Heads}
581
- */
582
- merge(other) {
583
- _assertClass2(other, _Automerge);
584
- const ret = wasm2.automerge_merge(this.__wbg_ptr, other.__wbg_ptr);
585
- if (ret[2]) {
586
- throw takeFromExternrefTable02(ret[1]);
587
- }
588
- return takeFromExternrefTable02(ret[0]);
589
- }
590
- /**
591
- * @param {string | null} [actor]
592
- * @returns {Automerge}
593
- */
594
- static new(actor) {
595
- var ptr0 = isLikeNone2(actor) ? 0 : passStringToWasm02(actor, wasm2.__wbindgen_malloc, wasm2.__wbindgen_realloc);
596
- var len0 = WASM_VECTOR_LEN2;
597
- const ret = wasm2.automerge_new(ptr0, len0);
598
- if (ret[2]) {
599
- throw takeFromExternrefTable02(ret[1]);
600
- }
601
- return _Automerge.__wrap(ret[0]);
602
- }
603
- /**
604
- * @param {any} obj
605
- * @param {any} heads
606
- * @returns {object}
607
- */
608
- objInfo(obj, heads) {
609
- const ret = wasm2.automerge_objInfo(this.__wbg_ptr, obj, heads);
610
- if (ret[2]) {
611
- throw takeFromExternrefTable02(ret[1]);
612
- }
613
- return takeFromExternrefTable02(ret[0]);
614
- }
615
- /**
616
- * @returns {number}
617
- */
618
- pendingOps() {
619
- const ret = wasm2.automerge_pendingOps(this.__wbg_ptr);
620
- return ret;
621
- }
622
- /**
623
- * @param {any} obj
624
- * @param {any} value
625
- * @param {any} datatype
626
- */
627
- push(obj, value, datatype) {
628
- const ret = wasm2.automerge_push(this.__wbg_ptr, obj, value, datatype);
629
- if (ret[1]) {
630
- throw takeFromExternrefTable02(ret[0]);
631
- }
632
- }
633
- /**
634
- * @param {ObjID} obj
635
- * @param {ObjType} value
636
- * @returns {ObjID}
637
- */
638
- pushObject(obj, value) {
639
- let deferred2_0;
640
- let deferred2_1;
641
- try {
642
- const ret = wasm2.automerge_pushObject(this.__wbg_ptr, obj, value);
643
- var ptr1 = ret[0];
644
- var len1 = ret[1];
645
- if (ret[3]) {
646
- ptr1 = 0;
647
- len1 = 0;
648
- throw takeFromExternrefTable02(ret[2]);
649
- }
650
- deferred2_0 = ptr1;
651
- deferred2_1 = len1;
652
- return getStringFromWasm02(ptr1, len1);
653
- } finally {
654
- wasm2.__wbindgen_free(deferred2_0, deferred2_1, 1);
655
- }
656
- }
657
- /**
658
- * @param {any} obj
659
- * @param {any} prop
660
- * @param {any} value
661
- * @param {any} datatype
662
- */
663
- put(obj, prop, value, datatype) {
664
- const ret = wasm2.automerge_put(this.__wbg_ptr, obj, prop, value, datatype);
665
- if (ret[1]) {
666
- throw takeFromExternrefTable02(ret[0]);
667
- }
668
- }
669
- /**
670
- * @param {ObjID} obj
671
- * @param {Prop} prop
672
- * @param {ObjType} value
673
- * @returns {ObjID}
674
- */
675
- putObject(obj, prop, value) {
676
- const ret = wasm2.automerge_putObject(this.__wbg_ptr, obj, prop, value);
677
- if (ret[2]) {
678
- throw takeFromExternrefTable02(ret[1]);
679
- }
680
- return takeFromExternrefTable02(ret[0]);
681
- }
682
- /**
683
- * Put a nested JavaScript value as a new object tree using batch insertion.
684
- * This is much faster than putObject for large nested objects.
685
- * For map keys this overwrites any existing value. For list indices this
686
- * overwrites the element at that index.
687
- * @param {ObjID} obj
688
- * @param {Prop} prop
689
- * @param {any} value
690
- * @returns {ObjID}
691
- */
692
- putObjectFromHydrate(obj, prop, value) {
693
- const ret = wasm2.automerge_putObjectFromHydrate(this.__wbg_ptr, obj, prop, value);
694
- if (ret[2]) {
695
- throw takeFromExternrefTable02(ret[1]);
696
- }
697
- return takeFromExternrefTable02(ret[0]);
698
- }
699
- /**
700
- * @param {SyncState} state
701
- * @param {SyncMessage} message
702
- */
703
- receiveSyncMessage(state, message) {
704
- _assertClass2(state, SyncState2);
705
- const ret = wasm2.automerge_receiveSyncMessage(this.__wbg_ptr, state.__wbg_ptr, message);
706
- if (ret[1]) {
707
- throw takeFromExternrefTable02(ret[0]);
708
- }
709
- }
710
- /**
711
- * @param {string} datatype
712
- * @param {Function} construct
713
- * @param {(arg: any) => any | undefined} deconstruct
714
- */
715
- registerDatatype(datatype, construct, deconstruct) {
716
- const ret = wasm2.automerge_registerDatatype(this.__wbg_ptr, datatype, construct, deconstruct);
717
- if (ret[1]) {
718
- throw takeFromExternrefTable02(ret[0]);
719
- }
720
- }
721
- resetDiffCursor() {
722
- wasm2.automerge_resetDiffCursor(this.__wbg_ptr);
723
- }
724
- /**
725
- * @returns {number}
726
- */
727
- rollback() {
728
- const ret = wasm2.automerge_rollback(this.__wbg_ptr);
729
- return ret;
730
- }
731
- /**
732
- * @returns {Uint8Array}
733
- */
734
- save() {
735
- const ret = wasm2.automerge_save(this.__wbg_ptr);
736
- return ret;
737
- }
738
- /**
739
- * @returns {Uint8Array}
740
- */
741
- saveAndVerify() {
742
- const ret = wasm2.automerge_saveAndVerify(this.__wbg_ptr);
743
- if (ret[2]) {
744
- throw takeFromExternrefTable02(ret[1]);
745
- }
746
- return takeFromExternrefTable02(ret[0]);
747
- }
748
- /**
749
- * @param {any} hashes
750
- * @returns {Uint8Array}
751
- */
752
- saveBundle(hashes) {
753
- const ret = wasm2.automerge_saveBundle(this.__wbg_ptr, hashes);
754
- if (ret[2]) {
755
- throw takeFromExternrefTable02(ret[1]);
756
- }
757
- return takeFromExternrefTable02(ret[0]);
758
- }
759
- /**
760
- * @returns {Uint8Array}
761
- */
762
- saveIncremental() {
763
- const ret = wasm2.automerge_saveIncremental(this.__wbg_ptr);
764
- return ret;
765
- }
766
- /**
767
- * @returns {Uint8Array}
768
- */
769
- saveNoCompress() {
770
- const ret = wasm2.automerge_saveNoCompress(this.__wbg_ptr);
771
- return ret;
772
- }
773
- /**
774
- * @param {Heads} heads
775
- * @returns {Uint8Array}
776
- */
777
- saveSince(heads) {
778
- const ret = wasm2.automerge_saveSince(this.__wbg_ptr, heads);
779
- if (ret[2]) {
780
- throw takeFromExternrefTable02(ret[1]);
781
- }
782
- return takeFromExternrefTable02(ret[0]);
783
- }
784
- /**
785
- * @param {any} obj
786
- * @param {any} heads
787
- * @returns {Array<any>}
788
- */
789
- spans(obj, heads) {
790
- const ret = wasm2.automerge_spans(this.__wbg_ptr, obj, heads);
791
- if (ret[2]) {
792
- throw takeFromExternrefTable02(ret[1]);
793
- }
794
- return takeFromExternrefTable02(ret[0]);
795
- }
796
- /**
797
- * @param {any} obj
798
- * @param {number} start
799
- * @param {number} delete_count
800
- * @param {any} text
801
- */
802
- splice(obj, start, delete_count, text) {
803
- const ret = wasm2.automerge_splice(this.__wbg_ptr, obj, start, delete_count, text);
804
- if (ret[1]) {
805
- throw takeFromExternrefTable02(ret[0]);
806
- }
807
- }
808
- /**
809
- * Splice values into a list using batch insertion.
810
- * This is much faster than individual insert calls for multiple values.
811
- * @param {ObjID} obj
812
- * @param {number} index
813
- * @param {number} del
814
- * @param {any} values
815
- */
816
- spliceFromHydrate(obj, index, del, values) {
817
- const ret = wasm2.automerge_spliceFromHydrate(this.__wbg_ptr, obj, index, del, values);
818
- if (ret[1]) {
819
- throw takeFromExternrefTable02(ret[0]);
820
- }
821
- }
822
- /**
823
- * @param {ObjID} obj
824
- * @param {number} index
825
- * @param {{[key: string]: MaterializeValue}} block
826
- */
827
- splitBlock(obj, index, block) {
828
- const ret = wasm2.automerge_splitBlock(this.__wbg_ptr, obj, index, block);
829
- if (ret[1]) {
830
- throw takeFromExternrefTable02(ret[0]);
831
- }
832
- }
833
- /**
834
- * @returns {Stats}
835
- */
836
- stats() {
837
- const ret = wasm2.automerge_stats(this.__wbg_ptr);
838
- return ret;
839
- }
840
- /**
841
- * @param {any} obj
842
- * @param {any} heads
843
- * @returns {string}
844
- */
845
- text(obj, heads) {
846
- let deferred2_0;
847
- let deferred2_1;
848
- try {
849
- const ret = wasm2.automerge_text(this.__wbg_ptr, obj, heads);
850
- var ptr1 = ret[0];
851
- var len1 = ret[1];
852
- if (ret[3]) {
853
- ptr1 = 0;
854
- len1 = 0;
855
- throw takeFromExternrefTable02(ret[2]);
856
- }
857
- deferred2_0 = ptr1;
858
- deferred2_1 = len1;
859
- return getStringFromWasm02(ptr1, len1);
860
- } finally {
861
- wasm2.__wbindgen_free(deferred2_0, deferred2_1, 1);
862
- }
863
- }
864
- /**
865
- * @param {any} meta
866
- * @returns {MaterializeValue}
867
- */
868
- toJS(meta) {
869
- const ret = wasm2.automerge_toJS(this.__wbg_ptr, meta);
870
- if (ret[2]) {
871
- throw takeFromExternrefTable02(ret[1]);
872
- }
873
- return takeFromExternrefTable02(ret[0]);
874
- }
875
- /**
876
- * @returns {Hash[]}
877
- */
878
- topoHistoryTraversal() {
879
- const ret = wasm2.automerge_topoHistoryTraversal(this.__wbg_ptr);
880
- return ret;
881
- }
882
- /**
883
- * @param {ObjID} obj
884
- * @param {MarkRange} range
885
- * @param {string} name
886
- */
887
- unmark(obj, range, name) {
888
- const ret = wasm2.automerge_unmark(this.__wbg_ptr, obj, range, name);
889
- if (ret[1]) {
890
- throw takeFromExternrefTable02(ret[0]);
891
- }
892
- }
893
- /**
894
- * @param {ObjID} obj
895
- * @param {number} index
896
- * @param {{[key: string]: MaterializeValue}} block
897
- */
898
- updateBlock(obj, index, block) {
899
- const ret = wasm2.automerge_updateBlock(this.__wbg_ptr, obj, index, block);
900
- if (ret[1]) {
901
- throw takeFromExternrefTable02(ret[0]);
902
- }
903
- }
904
- updateDiffCursor() {
905
- wasm2.automerge_updateDiffCursor(this.__wbg_ptr);
906
- }
907
- /**
908
- * @param {ObjID} obj
909
- * @param {Span[]} args
910
- * @param {UpdateSpansConfig | undefined | null} config
911
- */
912
- updateSpans(obj, args, config) {
913
- const ret = wasm2.automerge_updateSpans(this.__wbg_ptr, obj, args, config);
914
- if (ret[1]) {
915
- throw takeFromExternrefTable02(ret[0]);
916
- }
917
- }
918
- /**
919
- * @param {ObjID} obj
920
- * @param {string} new_text
921
- */
922
- updateText(obj, new_text) {
923
- const ret = wasm2.automerge_updateText(this.__wbg_ptr, obj, new_text);
924
- if (ret[1]) {
925
- throw takeFromExternrefTable02(ret[0]);
926
- }
927
- }
928
- };
929
- if (Symbol.dispose) Automerge2.prototype[Symbol.dispose] = Automerge2.prototype.free;
930
- exports.Automerge = Automerge2;
931
- var SyncState2 = class _SyncState {
932
- static __wrap(ptr) {
933
- ptr = ptr >>> 0;
934
- const obj = Object.create(_SyncState.prototype);
935
- obj.__wbg_ptr = ptr;
936
- SyncStateFinalization2.register(obj, obj.__wbg_ptr, obj);
937
- return obj;
938
- }
939
- __destroy_into_raw() {
940
- const ptr = this.__wbg_ptr;
941
- this.__wbg_ptr = 0;
942
- SyncStateFinalization2.unregister(this);
943
- return ptr;
944
- }
945
- free() {
946
- const ptr = this.__destroy_into_raw();
947
- wasm2.__wbg_syncstate_free(ptr, 0);
948
- }
949
- /**
950
- * @returns {SyncState}
951
- */
952
- clone() {
953
- const ret = wasm2.syncstate_clone(this.__wbg_ptr);
954
- return _SyncState.__wrap(ret);
955
- }
956
- /**
957
- * @returns {Heads}
958
- */
959
- get lastSentHeads() {
960
- const ret = wasm2.syncstate_lastSentHeads(this.__wbg_ptr);
961
- return ret;
962
- }
963
- /**
964
- * @returns {boolean}
965
- */
966
- get peerReadOnly() {
967
- const ret = wasm2.syncstate_peerReadOnly(this.__wbg_ptr);
968
- return ret !== 0;
969
- }
970
- /**
971
- * @returns {boolean}
972
- */
973
- get readOnly() {
974
- const ret = wasm2.syncstate_readOnly(this.__wbg_ptr);
975
- return ret !== 0;
976
- }
977
- /**
978
- * @param {Heads} heads
979
- */
980
- set lastSentHeads(heads) {
981
- const ret = wasm2.syncstate_set_lastSentHeads(this.__wbg_ptr, heads);
982
- if (ret[1]) {
983
- throw takeFromExternrefTable02(ret[0]);
984
- }
985
- }
986
- /**
987
- * @param {boolean} read_only
988
- */
989
- set readOnly(read_only) {
990
- wasm2.syncstate_set_readOnly(this.__wbg_ptr, read_only);
991
- }
992
- /**
993
- * @param {Heads} hashes
994
- */
995
- set sentHashes(hashes) {
996
- const ret = wasm2.syncstate_set_sentHashes(this.__wbg_ptr, hashes);
997
- if (ret[1]) {
998
- throw takeFromExternrefTable02(ret[0]);
999
- }
1000
- }
1001
- /**
1002
- * @returns {Heads}
1003
- */
1004
- get sharedHeads() {
1005
- const ret = wasm2.syncstate_sharedHeads(this.__wbg_ptr);
1006
- return ret;
1007
- }
1008
- };
1009
- if (Symbol.dispose) SyncState2.prototype[Symbol.dispose] = SyncState2.prototype.free;
1010
- exports.SyncState = SyncState2;
1011
- function create(options) {
1012
- const ret = wasm2.create(options);
1013
- if (ret[2]) {
1014
- throw takeFromExternrefTable02(ret[1]);
1015
- }
1016
- return Automerge2.__wrap(ret[0]);
1017
- }
1018
- exports.create = create;
1019
- function decodeChange(change) {
1020
- const ret = wasm2.decodeChange(change);
1021
- if (ret[2]) {
1022
- throw takeFromExternrefTable02(ret[1]);
1023
- }
1024
- return takeFromExternrefTable02(ret[0]);
1025
- }
1026
- exports.decodeChange = decodeChange;
1027
- function decodeSyncMessage(msg) {
1028
- const ret = wasm2.decodeSyncMessage(msg);
1029
- if (ret[2]) {
1030
- throw takeFromExternrefTable02(ret[1]);
1031
- }
1032
- return takeFromExternrefTable02(ret[0]);
1033
- }
1034
- exports.decodeSyncMessage = decodeSyncMessage;
1035
- function decodeSyncState(data) {
1036
- const ret = wasm2.decodeSyncState(data);
1037
- if (ret[2]) {
1038
- throw takeFromExternrefTable02(ret[1]);
1039
- }
1040
- return SyncState2.__wrap(ret[0]);
1041
- }
1042
- exports.decodeSyncState = decodeSyncState;
1043
- function encodeChange(change) {
1044
- const ret = wasm2.encodeChange(change);
1045
- if (ret[2]) {
1046
- throw takeFromExternrefTable02(ret[1]);
1047
- }
1048
- return takeFromExternrefTable02(ret[0]);
1049
- }
1050
- exports.encodeChange = encodeChange;
1051
- function encodeSyncMessage(message) {
1052
- const ret = wasm2.encodeSyncMessage(message);
1053
- if (ret[2]) {
1054
- throw takeFromExternrefTable02(ret[1]);
1055
- }
1056
- return takeFromExternrefTable02(ret[0]);
1057
- }
1058
- exports.encodeSyncMessage = encodeSyncMessage;
1059
- function encodeSyncState(state) {
1060
- _assertClass2(state, SyncState2);
1061
- const ret = wasm2.encodeSyncState(state.__wbg_ptr);
1062
- return ret;
1063
- }
1064
- exports.encodeSyncState = encodeSyncState;
1065
- function exportSyncState(state) {
1066
- _assertClass2(state, SyncState2);
1067
- const ret = wasm2.exportSyncState(state.__wbg_ptr);
1068
- return ret;
1069
- }
1070
- exports.exportSyncState = exportSyncState;
1071
- function importSyncState(state) {
1072
- const ret = wasm2.importSyncState(state);
1073
- if (ret[2]) {
1074
- throw takeFromExternrefTable02(ret[1]);
1075
- }
1076
- return SyncState2.__wrap(ret[0]);
1077
- }
1078
- exports.importSyncState = importSyncState;
1079
- function initSyncState() {
1080
- const ret = wasm2.initSyncState();
1081
- return SyncState2.__wrap(ret);
1082
- }
1083
- exports.initSyncState = initSyncState;
1084
- function load2(data, options) {
1085
- const ret = wasm2.load(data, options);
1086
- if (ret[2]) {
1087
- throw takeFromExternrefTable02(ret[1]);
1088
- }
1089
- return Automerge2.__wrap(ret[0]);
1090
- }
1091
- exports.load = load2;
1092
- function readBundle(bundle) {
1093
- const ret = wasm2.readBundle(bundle);
1094
- if (ret[2]) {
1095
- throw takeFromExternrefTable02(ret[1]);
1096
- }
1097
- return takeFromExternrefTable02(ret[0]);
1098
- }
1099
- exports.readBundle = readBundle;
1100
- function wasmReleaseInfo() {
1101
- const ret = wasm2.wasmReleaseInfo();
1102
- return ret;
1103
- }
1104
- exports.wasmReleaseInfo = wasmReleaseInfo;
1105
- function __wbg_get_imports() {
1106
- const import0 = {
1107
- __proto__: null,
1108
- __wbg_BigInt_65bcea251e788083: function(arg0) {
1109
- const ret = BigInt(arg0);
1110
- return ret;
1111
- },
1112
- __wbg_Error_960c155d3d49e4c2: function(arg0, arg1) {
1113
- const ret = Error(getStringFromWasm02(arg0, arg1));
1114
- return ret;
1115
- },
1116
- __wbg_String_8564e559799eccda: function(arg0, arg1) {
1117
- const ret = String(arg1);
1118
- const ptr1 = passStringToWasm02(ret, wasm2.__wbindgen_malloc, wasm2.__wbindgen_realloc);
1119
- const len1 = WASM_VECTOR_LEN2;
1120
- getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);
1121
- getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);
1122
- },
1123
- __wbg___wbindgen_boolean_get_6ea149f0a8dcc5ff: function(arg0) {
1124
- const v = arg0;
1125
- const ret = typeof v === "boolean" ? v : void 0;
1126
- return isLikeNone2(ret) ? 16777215 : ret ? 1 : 0;
1127
- },
1128
- __wbg___wbindgen_debug_string_ab4b34d23d6778bd: function(arg0, arg1) {
1129
- const ret = debugString(arg1);
1130
- const ptr1 = passStringToWasm02(ret, wasm2.__wbindgen_malloc, wasm2.__wbindgen_realloc);
1131
- const len1 = WASM_VECTOR_LEN2;
1132
- getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);
1133
- getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);
1134
- },
1135
- __wbg___wbindgen_gt_fd08d8cbe0a8551c: function(arg0, arg1) {
1136
- const ret = arg0 > arg1;
1137
- return ret;
1138
- },
1139
- __wbg___wbindgen_is_bigint_ec25c7f91b4d9e93: function(arg0) {
1140
- const ret = typeof arg0 === "bigint";
1141
- return ret;
1142
- },
1143
- __wbg___wbindgen_is_function_3baa9db1a987f47d: function(arg0) {
1144
- const ret = typeof arg0 === "function";
1145
- return ret;
1146
- },
1147
- __wbg___wbindgen_is_null_52ff4ec04186736f: function(arg0) {
1148
- const ret = arg0 === null;
1149
- return ret;
1150
- },
1151
- __wbg___wbindgen_is_object_63322ec0cd6ea4ef: function(arg0) {
1152
- const val = arg0;
1153
- const ret = typeof val === "object" && val !== null;
1154
- return ret;
1155
- },
1156
- __wbg___wbindgen_is_string_6df3bf7ef1164ed3: function(arg0) {
1157
- const ret = typeof arg0 === "string";
1158
- return ret;
1159
- },
1160
- __wbg___wbindgen_is_undefined_29a43b4d42920abd: function(arg0) {
1161
- const ret = arg0 === void 0;
1162
- return ret;
1163
- },
1164
- __wbg___wbindgen_jsval_loose_eq_cac3565e89b4134c: function(arg0, arg1) {
1165
- const ret = arg0 == arg1;
1166
- return ret;
1167
- },
1168
- __wbg___wbindgen_lt_78bab382628fb48f: function(arg0, arg1) {
1169
- const ret = arg0 < arg1;
1170
- return ret;
1171
- },
1172
- __wbg___wbindgen_neg_8d39d23ef65c9fdb: function(arg0) {
1173
- const ret = -arg0;
1174
- return ret;
1175
- },
1176
- __wbg___wbindgen_number_get_c7f42aed0525c451: function(arg0, arg1) {
1177
- const obj = arg1;
1178
- const ret = typeof obj === "number" ? obj : void 0;
1179
- getDataViewMemory0().setFloat64(arg0 + 8 * 1, isLikeNone2(ret) ? 0 : ret, true);
1180
- getDataViewMemory0().setInt32(arg0 + 4 * 0, !isLikeNone2(ret), true);
1181
- },
1182
- __wbg___wbindgen_string_get_7ed5322991caaec5: function(arg0, arg1) {
1183
- const obj = arg1;
1184
- const ret = typeof obj === "string" ? obj : void 0;
1185
- var ptr1 = isLikeNone2(ret) ? 0 : passStringToWasm02(ret, wasm2.__wbindgen_malloc, wasm2.__wbindgen_realloc);
1186
- var len1 = WASM_VECTOR_LEN2;
1187
- getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);
1188
- getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);
1189
- },
1190
- __wbg___wbindgen_throw_6b64449b9b9ed33c: function(arg0, arg1) {
1191
- throw new Error(getStringFromWasm02(arg0, arg1));
1192
- },
1193
- __wbg_apply_329b2a440415c2e6: function() {
1194
- return handleError(function(arg0, arg1, arg2) {
1195
- const ret = Reflect.apply(arg0, arg1, arg2);
1196
- return ret;
1197
- }, arguments);
1198
- },
1199
- __wbg_assign_752c2af1512cc7fd: function(arg0, arg1) {
1200
- const ret = Object.assign(arg0, arg1);
1201
- return ret;
1202
- },
1203
- __wbg_call_14b169f759b26747: function() {
1204
- return handleError(function(arg0, arg1) {
1205
- const ret = arg0.call(arg1);
1206
- return ret;
1207
- }, arguments);
1208
- },
1209
- __wbg_call_a24592a6f349a97e: function() {
1210
- return handleError(function(arg0, arg1, arg2) {
1211
- const ret = arg0.call(arg1, arg2);
1212
- return ret;
1213
- }, arguments);
1214
- },
1215
- __wbg_concat_1cef5380372e969d: function(arg0, arg1) {
1216
- const ret = arg0.concat(arg1);
1217
- return ret;
1218
- },
1219
- __wbg_defineProperty_aeb95d0434ce03d0: function(arg0, arg1, arg2) {
1220
- const ret = Object.defineProperty(arg0, arg1, arg2);
1221
- return ret;
1222
- },
1223
- __wbg_deleteProperty_d5f7bd763acbdb44: function() {
1224
- return handleError(function(arg0, arg1) {
1225
- const ret = Reflect.deleteProperty(arg0, arg1);
1226
- return ret;
1227
- }, arguments);
1228
- },
1229
- __wbg_done_9158f7cc8751ba32: function(arg0) {
1230
- const ret = arg0.done;
1231
- return ret;
1232
- },
1233
- __wbg_entries_e0b73aa8571ddb56: function(arg0) {
1234
- const ret = Object.entries(arg0);
1235
- return ret;
1236
- },
1237
- __wbg_error_a6fa202b58aa1cd3: function(arg0, arg1) {
1238
- let deferred0_0;
1239
- let deferred0_1;
1240
- try {
1241
- deferred0_0 = arg0;
1242
- deferred0_1 = arg1;
1243
- console.error(getStringFromWasm02(arg0, arg1));
1244
- } finally {
1245
- wasm2.__wbindgen_free(deferred0_0, deferred0_1, 1);
1246
- }
1247
- },
1248
- __wbg_for_b0616d1de7774be9: function(arg0, arg1) {
1249
- const ret = Symbol.for(getStringFromWasm02(arg0, arg1));
1250
- return ret;
1251
- },
1252
- __wbg_freeze_c79f45721998bbbc: function(arg0) {
1253
- const ret = Object.freeze(arg0);
1254
- return ret;
1255
- },
1256
- __wbg_from_0dbf29f09e7fb200: function(arg0) {
1257
- const ret = Array.from(arg0);
1258
- return ret;
1259
- },
1260
- __wbg_getRandomValues_76dfc69825c9c552: function() {
1261
- return handleError(function(arg0, arg1) {
1262
- globalThis.crypto.getRandomValues(getArrayU8FromWasm0(arg0, arg1));
1263
- }, arguments);
1264
- },
1265
- __wbg_getTime_da7c55f52b71e8c6: function(arg0) {
1266
- const ret = arg0.getTime();
1267
- return ret;
1268
- },
1269
- __wbg_get_1affdbdd5573b16a: function() {
1270
- return handleError(function(arg0, arg1) {
1271
- const ret = Reflect.get(arg0, arg1);
1272
- return ret;
1273
- }, arguments);
1274
- },
1275
- __wbg_get_6011fa3a58f61074: function() {
1276
- return handleError(function(arg0, arg1) {
1277
- const ret = Reflect.get(arg0, arg1);
1278
- return ret;
1279
- }, arguments);
1280
- },
1281
- __wbg_get_8360291721e2339f: function(arg0, arg1) {
1282
- const ret = arg0[arg1 >>> 0];
1283
- return ret;
1284
- },
1285
- __wbg_get_unchecked_17f53dad852b9588: function(arg0, arg1) {
1286
- const ret = arg0[arg1 >>> 0];
1287
- return ret;
1288
- },
1289
- __wbg_instanceof_ArrayBuffer_7c8433c6ed14ffe3: function(arg0) {
1290
- let result;
1291
- try {
1292
- result = arg0 instanceof ArrayBuffer;
1293
- } catch (_) {
1294
- result = false;
1295
- }
1296
- const ret = result;
1297
- return ret;
1298
- },
1299
- __wbg_instanceof_Date_81b75f5ed36b30ea: function(arg0) {
1300
- let result;
1301
- try {
1302
- result = arg0 instanceof Date;
1303
- } catch (_) {
1304
- result = false;
1305
- }
1306
- const ret = result;
1307
- return ret;
1308
- },
1309
- __wbg_instanceof_Object_7c99480a1cdfb911: function(arg0) {
1310
- let result;
1311
- try {
1312
- result = arg0 instanceof Object;
1313
- } catch (_) {
1314
- result = false;
1315
- }
1316
- const ret = result;
1317
- return ret;
1318
- },
1319
- __wbg_instanceof_Uint8Array_152ba1f289edcf3f: function(arg0) {
1320
- let result;
1321
- try {
1322
- result = arg0 instanceof Uint8Array;
1323
- } catch (_) {
1324
- result = false;
1325
- }
1326
- const ret = result;
1327
- return ret;
1328
- },
1329
- __wbg_isArray_2790516aa848bf18: function(arg0) {
1330
- const ret = Array.isArray(arg0);
1331
- return ret;
1332
- },
1333
- __wbg_isArray_c3109d14ffc06469: function(arg0) {
1334
- const ret = Array.isArray(arg0);
1335
- return ret;
1336
- },
1337
- __wbg_iterator_013bc09ec998c2a7: function() {
1338
- const ret = Symbol.iterator;
1339
- return ret;
1340
- },
1341
- __wbg_keys_2fd1bfdda7e278ca: function(arg0) {
1342
- const ret = Object.keys(arg0);
1343
- return ret;
1344
- },
1345
- __wbg_length_3d4ecd04bd8d22f1: function(arg0) {
1346
- const ret = arg0.length;
1347
- return ret;
1348
- },
1349
- __wbg_length_6a846b3b23b74aca: function(arg0) {
1350
- const ret = arg0.length;
1351
- return ret;
1352
- },
1353
- __wbg_length_9f1775224cf1d815: function(arg0) {
1354
- const ret = arg0.length;
1355
- return ret;
1356
- },
1357
- __wbg_log_7e1aa9064a1dbdbd: function(arg0) {
1358
- console.log(arg0);
1359
- },
1360
- __wbg_log_dfa1efedf266562e: function(arg0, arg1) {
1361
- console.log(arg0, arg1);
1362
- },
1363
- __wbg_new_0c7403db6e782f19: function(arg0) {
1364
- const ret = new Uint8Array(arg0);
1365
- return ret;
1366
- },
1367
- __wbg_new_191521fecb171639: function(arg0, arg1) {
1368
- const ret = new RangeError(getStringFromWasm02(arg0, arg1));
1369
- return ret;
1370
- },
1371
- __wbg_new_227d7c05414eb861: function() {
1372
- const ret = new Error();
1373
- return ret;
1374
- },
1375
- __wbg_new_5e360d2ff7b9e1c3: function(arg0, arg1) {
1376
- const ret = new Error(getStringFromWasm02(arg0, arg1));
1377
- return ret;
1378
- },
1379
- __wbg_new_682678e2f47e32bc: function() {
1380
- const ret = new Array();
1381
- return ret;
1382
- },
1383
- __wbg_new_7913666fe5070684: function(arg0) {
1384
- const ret = new Date(arg0);
1385
- return ret;
1386
- },
1387
- __wbg_new_aa8d0fa9762c29bd: function() {
1388
- const ret = new Object();
1389
- return ret;
1390
- },
1391
- __wbg_new_from_slice_b5ea43e23f6008c0: function(arg0, arg1) {
1392
- const ret = new Uint8Array(getArrayU8FromWasm0(arg0, arg1));
1393
- return ret;
1394
- },
1395
- __wbg_next_0340c4ae324393c3: function() {
1396
- return handleError(function(arg0) {
1397
- const ret = arg0.next();
1398
- return ret;
1399
- }, arguments);
1400
- },
1401
- __wbg_next_7646edaa39458ef7: function(arg0) {
1402
- const ret = arg0.next;
1403
- return ret;
1404
- },
1405
- __wbg_ownKeys_0231887680f0f945: function() {
1406
- return handleError(function(arg0) {
1407
- const ret = Reflect.ownKeys(arg0);
1408
- return ret;
1409
- }, arguments);
1410
- },
1411
- __wbg_prototypesetcall_a6b02eb00b0f4ce2: function(arg0, arg1, arg2) {
1412
- Uint8Array.prototype.set.call(getArrayU8FromWasm0(arg0, arg1), arg2);
1413
- },
1414
- __wbg_push_471a5b068a5295f6: function(arg0, arg1) {
1415
- const ret = arg0.push(arg1);
1416
- return ret;
1417
- },
1418
- __wbg_set_022bee52d0b05b19: function() {
1419
- return handleError(function(arg0, arg1, arg2) {
1420
- const ret = Reflect.set(arg0, arg1, arg2);
1421
- return ret;
1422
- }, arguments);
1423
- },
1424
- __wbg_set_3bf1de9fab0cd644: function(arg0, arg1, arg2) {
1425
- arg0[arg1 >>> 0] = arg2;
1426
- },
1427
- __wbg_set_6be42768c690e380: function(arg0, arg1, arg2) {
1428
- arg0[arg1] = arg2;
1429
- },
1430
- __wbg_slice_45916ed2fae7e0ea: function(arg0, arg1, arg2) {
1431
- const ret = arg0.slice(arg1 >>> 0, arg2 >>> 0);
1432
- return ret;
1433
- },
1434
- __wbg_stack_3b0d974bbf31e44f: function(arg0, arg1) {
1435
- const ret = arg1.stack;
1436
- const ptr1 = passStringToWasm02(ret, wasm2.__wbindgen_malloc, wasm2.__wbindgen_realloc);
1437
- const len1 = WASM_VECTOR_LEN2;
1438
- getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);
1439
- getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);
1440
- },
1441
- __wbg_stringify_057c4027271f8007: function(arg0, arg1) {
1442
- const ret = JSON.stringify(arg1);
1443
- var ptr1 = isLikeNone2(ret) ? 0 : passStringToWasm02(ret, wasm2.__wbindgen_malloc, wasm2.__wbindgen_realloc);
1444
- var len1 = WASM_VECTOR_LEN2;
1445
- getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);
1446
- getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);
1447
- },
1448
- __wbg_toString_5a84b8552b34a19d: function(arg0) {
1449
- const ret = arg0.toString();
1450
- return ret;
1451
- },
1452
- __wbg_toString_c3061af2bf859d19: function() {
1453
- return handleError(function(arg0, arg1) {
1454
- const ret = arg0.toString(arg1);
1455
- return ret;
1456
- }, arguments);
1457
- },
1458
- __wbg_toString_c96dc76d5547a715: function(arg0, arg1, arg2) {
1459
- const ret = arg1.toString(arg2);
1460
- const ptr1 = passStringToWasm02(ret, wasm2.__wbindgen_malloc, wasm2.__wbindgen_realloc);
1461
- const len1 = WASM_VECTOR_LEN2;
1462
- getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);
1463
- getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);
1464
- },
1465
- __wbg_unshift_951ea71d9d2dc660: function(arg0, arg1) {
1466
- const ret = arg0.unshift(arg1);
1467
- return ret;
1468
- },
1469
- __wbg_value_ee3a06f4579184fa: function(arg0) {
1470
- const ret = arg0.value;
1471
- return ret;
1472
- },
1473
- __wbg_values_301a77363cf6c773: function(arg0) {
1474
- const ret = Object.values(arg0);
1475
- return ret;
1476
- },
1477
- __wbindgen_cast_0000000000000001: function(arg0) {
1478
- const ret = arg0;
1479
- return ret;
1480
- },
1481
- __wbindgen_cast_0000000000000002: function(arg0) {
1482
- const ret = arg0;
1483
- return ret;
1484
- },
1485
- __wbindgen_cast_0000000000000003: function(arg0, arg1) {
1486
- const ret = getStringFromWasm02(arg0, arg1);
1487
- return ret;
1488
- },
1489
- __wbindgen_cast_0000000000000004: function(arg0) {
1490
- const ret = BigInt.asUintN(64, arg0);
1491
- return ret;
1492
- },
1493
- __wbindgen_init_externref_table: function() {
1494
- const table = wasm2.__wbindgen_externrefs;
1495
- const offset = table.grow(4);
1496
- table.set(0, void 0);
1497
- table.set(offset + 0, void 0);
1498
- table.set(offset + 1, null);
1499
- table.set(offset + 2, true);
1500
- table.set(offset + 3, false);
1501
- }
1502
- };
1503
- return {
1504
- __proto__: null,
1505
- "./automerge_wasm_bg.js": import0
1506
- };
1507
- }
1508
- var AutomergeFinalization2 = typeof FinalizationRegistry === "undefined" ? { register: () => {
1509
- }, unregister: () => {
1510
- } } : new FinalizationRegistry((ptr) => wasm2.__wbg_automerge_free(ptr >>> 0, 1));
1511
- var SyncStateFinalization2 = typeof FinalizationRegistry === "undefined" ? { register: () => {
1512
- }, unregister: () => {
1513
- } } : new FinalizationRegistry((ptr) => wasm2.__wbg_syncstate_free(ptr >>> 0, 1));
1514
- function addToExternrefTable0(obj) {
1515
- const idx = wasm2.__externref_table_alloc();
1516
- wasm2.__wbindgen_externrefs.set(idx, obj);
1517
- return idx;
1518
- }
1519
- function _assertClass2(instance, klass) {
1520
- if (!(instance instanceof klass)) {
1521
- throw new Error(`expected instance of ${klass.name}`);
1522
- }
1523
- }
1524
- function debugString(val) {
1525
- const type = typeof val;
1526
- if (type == "number" || type == "boolean" || val == null) {
1527
- return `${val}`;
1528
- }
1529
- if (type == "string") {
1530
- return `"${val}"`;
1531
- }
1532
- if (type == "symbol") {
1533
- const description = val.description;
1534
- if (description == null) {
1535
- return "Symbol";
1536
- } else {
1537
- return `Symbol(${description})`;
1538
- }
1539
- }
1540
- if (type == "function") {
1541
- const name = val.name;
1542
- if (typeof name == "string" && name.length > 0) {
1543
- return `Function(${name})`;
1544
- } else {
1545
- return "Function";
1546
- }
1547
- }
1548
- if (Array.isArray(val)) {
1549
- const length = val.length;
1550
- let debug = "[";
1551
- if (length > 0) {
1552
- debug += debugString(val[0]);
1553
- }
1554
- for (let i = 1; i < length; i++) {
1555
- debug += ", " + debugString(val[i]);
1556
- }
1557
- debug += "]";
1558
- return debug;
1559
- }
1560
- const builtInMatches = /\[object ([^\]]+)\]/.exec(toString.call(val));
1561
- let className;
1562
- if (builtInMatches && builtInMatches.length > 1) {
1563
- className = builtInMatches[1];
1564
- } else {
1565
- return toString.call(val);
1566
- }
1567
- if (className == "Object") {
1568
- try {
1569
- return "Object(" + JSON.stringify(val) + ")";
1570
- } catch (_) {
1571
- return "Object";
1572
- }
1573
- }
1574
- if (val instanceof Error) {
1575
- return `${val.name}: ${val.message}
1576
- ${val.stack}`;
1577
- }
1578
- return className;
1579
- }
1580
- function getArrayU8FromWasm0(ptr, len) {
1581
- ptr = ptr >>> 0;
1582
- return getUint8ArrayMemory02().subarray(ptr / 1, ptr / 1 + len);
1583
- }
1584
- var cachedDataViewMemory0 = null;
1585
- function getDataViewMemory0() {
1586
- if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || cachedDataViewMemory0.buffer.detached === void 0 && cachedDataViewMemory0.buffer !== wasm2.memory.buffer) {
1587
- cachedDataViewMemory0 = new DataView(wasm2.memory.buffer);
1588
- }
1589
- return cachedDataViewMemory0;
1590
- }
1591
- function getStringFromWasm02(ptr, len) {
1592
- ptr = ptr >>> 0;
1593
- return decodeText2(ptr, len);
1594
- }
1595
- var cachedUint8ArrayMemory02 = null;
1596
- function getUint8ArrayMemory02() {
1597
- if (cachedUint8ArrayMemory02 === null || cachedUint8ArrayMemory02.byteLength === 0) {
1598
- cachedUint8ArrayMemory02 = new Uint8Array(wasm2.memory.buffer);
1599
- }
1600
- return cachedUint8ArrayMemory02;
1601
- }
1602
- function handleError(f, args) {
1603
- try {
1604
- return f.apply(this, args);
1605
- } catch (e) {
1606
- const idx = addToExternrefTable0(e);
1607
- wasm2.__wbindgen_exn_store(idx);
1608
- }
1609
- }
1610
- function isLikeNone2(x) {
1611
- return x === void 0 || x === null;
1612
- }
1613
- function passStringToWasm02(arg, malloc, realloc) {
1614
- if (realloc === void 0) {
1615
- const buf = cachedTextEncoder2.encode(arg);
1616
- const ptr2 = malloc(buf.length, 1) >>> 0;
1617
- getUint8ArrayMemory02().subarray(ptr2, ptr2 + buf.length).set(buf);
1618
- WASM_VECTOR_LEN2 = buf.length;
1619
- return ptr2;
1620
- }
1621
- let len = arg.length;
1622
- let ptr = malloc(len, 1) >>> 0;
1623
- const mem = getUint8ArrayMemory02();
1624
- let offset = 0;
1625
- for (; offset < len; offset++) {
1626
- const code = arg.charCodeAt(offset);
1627
- if (code > 127) break;
1628
- mem[ptr + offset] = code;
1629
- }
1630
- if (offset !== len) {
1631
- if (offset !== 0) {
1632
- arg = arg.slice(offset);
1633
- }
1634
- ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0;
1635
- const view = getUint8ArrayMemory02().subarray(ptr + offset, ptr + len);
1636
- const ret = cachedTextEncoder2.encodeInto(arg, view);
1637
- offset += ret.written;
1638
- ptr = realloc(ptr, len, offset, 1) >>> 0;
1639
- }
1640
- WASM_VECTOR_LEN2 = offset;
1641
- return ptr;
1642
- }
1643
- function takeFromExternrefTable02(idx) {
1644
- const value = wasm2.__wbindgen_externrefs.get(idx);
1645
- wasm2.__externref_table_dealloc(idx);
1646
- return value;
1647
- }
1648
- var cachedTextDecoder2 = new TextDecoder("utf-8", { ignoreBOM: true, fatal: true });
1649
- cachedTextDecoder2.decode();
1650
- function decodeText2(ptr, len) {
1651
- return cachedTextDecoder2.decode(getUint8ArrayMemory02().subarray(ptr, ptr + len));
1652
- }
1653
- var cachedTextEncoder2 = new TextEncoder();
1654
- if (!("encodeInto" in cachedTextEncoder2)) {
1655
- cachedTextEncoder2.encodeInto = function(arg, view) {
1656
- const buf = cachedTextEncoder2.encode(arg);
1657
- view.set(buf);
1658
- return {
1659
- read: arg.length,
1660
- written: buf.length
1661
- };
1662
- };
1663
- }
1664
- var WASM_VECTOR_LEN2 = 0;
1665
- var wasmPath = `${__dirname}/automerge_wasm_bg.wasm`;
1666
- var wasmBytes = __require("fs").readFileSync(wasmPath);
1667
- var wasmModule = new WebAssembly.Module(wasmBytes);
1668
- var wasm2 = new WebAssembly.Instance(wasmModule, __wbg_get_imports()).exports;
1669
- wasm2.__wbindgen_start();
1670
- }
1671
- });
1672
-
1673
- // node_modules/.pnpm/@automerge+automerge@3.2.6/node_modules/@automerge/automerge/dist/mjs/wasm_bindgen_output/web/automerge_wasm.js
1674
- var Automerge = class _Automerge {
1675
- static __wrap(ptr) {
1676
- ptr = ptr >>> 0;
1677
- const obj = Object.create(_Automerge.prototype);
1678
- obj.__wbg_ptr = ptr;
1679
- AutomergeFinalization.register(obj, obj.__wbg_ptr, obj);
1680
- return obj;
1681
- }
1682
- __destroy_into_raw() {
1683
- const ptr = this.__wbg_ptr;
1684
- this.__wbg_ptr = 0;
1685
- AutomergeFinalization.unregister(this);
1686
- return ptr;
1687
- }
1688
- free() {
1689
- const ptr = this.__destroy_into_raw();
1690
- wasm.__wbg_automerge_free(ptr, 0);
1691
- }
1692
- /**
1693
- * @param {any} object
1694
- * @param {any} meta
1695
- * @returns {any}
1696
- */
1697
- applyAndReturnPatches(object, meta) {
1698
- const ret = wasm.automerge_applyAndReturnPatches(this.__wbg_ptr, object, meta);
1699
- if (ret[2]) {
1700
- throw takeFromExternrefTable0(ret[1]);
1701
- }
1702
- return takeFromExternrefTable0(ret[0]);
1703
- }
1704
- /**
1705
- * @param {Change[]} changes
1706
- */
1707
- applyChanges(changes) {
1708
- const ret = wasm.automerge_applyChanges(this.__wbg_ptr, changes);
1709
- if (ret[1]) {
1710
- throw takeFromExternrefTable0(ret[0]);
1711
- }
1712
- }
1713
- /**
1714
- * @param {any} object
1715
- * @param {any} meta
1716
- * @returns {any}
1717
- */
1718
- applyPatches(object, meta) {
1719
- const ret = wasm.automerge_applyPatches(this.__wbg_ptr, object, meta);
1720
- if (ret[2]) {
1721
- throw takeFromExternrefTable0(ret[1]);
1722
- }
1723
- return takeFromExternrefTable0(ret[0]);
1724
- }
1725
- /**
1726
- * @param {string | null} [actor]
1727
- * @returns {Automerge}
1728
- */
1729
- clone(actor) {
1730
- var ptr0 = isLikeNone(actor) ? 0 : passStringToWasm0(actor, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
1731
- var len0 = WASM_VECTOR_LEN;
1732
- const ret = wasm.automerge_clone(this.__wbg_ptr, ptr0, len0);
1733
- if (ret[2]) {
1734
- throw takeFromExternrefTable0(ret[1]);
1735
- }
1736
- return _Automerge.__wrap(ret[0]);
1737
- }
1738
- /**
1739
- * @param {string | null} [message]
1740
- * @param {number | null} [time]
1741
- * @returns {Hash | null}
1742
- */
1743
- commit(message, time) {
1744
- var ptr0 = isLikeNone(message) ? 0 : passStringToWasm0(message, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
1745
- var len0 = WASM_VECTOR_LEN;
1746
- const ret = wasm.automerge_commit(this.__wbg_ptr, ptr0, len0, !isLikeNone(time), isLikeNone(time) ? 0 : time);
1747
- return ret;
1748
- }
1749
- /**
1750
- * @param {ObjID} obj
1751
- * @param {Prop} prop
1752
- */
1753
- delete(obj, prop) {
1754
- const ret = wasm.automerge_delete(this.__wbg_ptr, obj, prop);
1755
- if (ret[1]) {
1756
- throw takeFromExternrefTable0(ret[0]);
1757
- }
1758
- }
1759
- /**
1760
- * @param {Heads} before
1761
- * @param {Heads} after
1762
- * @returns {Patch[]}
1763
- */
1764
- diff(before, after) {
1765
- const ret = wasm.automerge_diff(this.__wbg_ptr, before, after);
1766
- if (ret[2]) {
1767
- throw takeFromExternrefTable0(ret[1]);
1768
- }
1769
- return takeFromExternrefTable0(ret[0]);
1770
- }
1771
- /**
1772
- * @returns {Patch[]}
1773
- */
1774
- diffIncremental() {
1775
- const ret = wasm.automerge_diffIncremental(this.__wbg_ptr);
1776
- if (ret[2]) {
1777
- throw takeFromExternrefTable0(ret[1]);
1778
- }
1779
- return takeFromExternrefTable0(ret[0]);
1780
- }
1781
- /**
1782
- * @param {Prop[] | string} path
1783
- * @param {Heads} before
1784
- * @param {Heads} after
1785
- * @param {any} options
1786
- * @returns {Array<any>}
1787
- */
1788
- diffPath(path, before, after, options) {
1789
- const ret = wasm.automerge_diffPath(this.__wbg_ptr, path, before, after, options);
1790
- if (ret[2]) {
1791
- throw takeFromExternrefTable0(ret[1]);
1792
- }
1793
- return takeFromExternrefTable0(ret[0]);
1794
- }
1795
- dump() {
1796
- wasm.automerge_dump(this.__wbg_ptr);
1797
- }
1798
- /**
1799
- * @param {string | null} [message]
1800
- * @param {number | null} [time]
1801
- * @returns {Hash}
1802
- */
1803
- emptyChange(message, time) {
1804
- var ptr0 = isLikeNone(message) ? 0 : passStringToWasm0(message, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
1805
- var len0 = WASM_VECTOR_LEN;
1806
- const ret = wasm.automerge_emptyChange(this.__wbg_ptr, ptr0, len0, !isLikeNone(time), isLikeNone(time) ? 0 : time);
1807
- return ret;
1808
- }
1809
- /**
1810
- * @param {boolean} enable
1811
- * @returns {boolean}
1812
- */
1813
- enableFreeze(enable) {
1814
- const ret = wasm.automerge_enableFreeze(this.__wbg_ptr, enable);
1815
- if (ret[2]) {
1816
- throw takeFromExternrefTable0(ret[1]);
1817
- }
1818
- return ret[0] !== 0;
1819
- }
1820
- /**
1821
- * @param {string | null | undefined} actor
1822
- * @param {any} heads
1823
- * @returns {Automerge}
1824
- */
1825
- fork(actor, heads) {
1826
- var ptr0 = isLikeNone(actor) ? 0 : passStringToWasm0(actor, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
1827
- var len0 = WASM_VECTOR_LEN;
1828
- const ret = wasm.automerge_fork(this.__wbg_ptr, ptr0, len0, heads);
1829
- if (ret[2]) {
1830
- throw takeFromExternrefTable0(ret[1]);
1831
- }
1832
- return _Automerge.__wrap(ret[0]);
1833
- }
1834
- /**
1835
- * @param {SyncState} state
1836
- * @returns {SyncMessage | null}
1837
- */
1838
- generateSyncMessage(state) {
1839
- _assertClass(state, SyncState);
1840
- const ret = wasm.automerge_generateSyncMessage(this.__wbg_ptr, state.__wbg_ptr);
1841
- return ret;
1842
- }
1843
- /**
1844
- * @param {any} obj
1845
- * @param {any} prop
1846
- * @param {any} heads
1847
- * @returns {any}
1848
- */
1849
- get(obj, prop, heads) {
1850
- const ret = wasm.automerge_get(this.__wbg_ptr, obj, prop, heads);
1851
- if (ret[2]) {
1852
- throw takeFromExternrefTable0(ret[1]);
1853
- }
1854
- return takeFromExternrefTable0(ret[0]);
1855
- }
1856
- /**
1857
- * @returns {Actor}
1858
- */
1859
- getActorId() {
1860
- let deferred1_0;
1861
- let deferred1_1;
1862
- try {
1863
- const ret = wasm.automerge_getActorId(this.__wbg_ptr);
1864
- deferred1_0 = ret[0];
1865
- deferred1_1 = ret[1];
1866
- return getStringFromWasm0(ret[0], ret[1]);
1867
- } finally {
1868
- wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
1869
- }
1870
- }
1871
- /**
1872
- * @param {any} obj
1873
- * @param {any} arg
1874
- * @param {any} heads
1875
- * @returns {Array<any>}
1876
- */
1877
- getAll(obj, arg, heads) {
1878
- const ret = wasm.automerge_getAll(this.__wbg_ptr, obj, arg, heads);
1879
- if (ret[2]) {
1880
- throw takeFromExternrefTable0(ret[1]);
1881
- }
1882
- return takeFromExternrefTable0(ret[0]);
1883
- }
1884
- /**
1885
- * @param {any} text
1886
- * @param {number} index
1887
- * @param {any} heads
1888
- * @returns {any}
1889
- */
1890
- getBlock(text, index, heads) {
1891
- const ret = wasm.automerge_getBlock(this.__wbg_ptr, text, index, heads);
1892
- if (ret[2]) {
1893
- throw takeFromExternrefTable0(ret[1]);
1894
- }
1895
- return takeFromExternrefTable0(ret[0]);
1896
- }
1897
- /**
1898
- * @param {Hash} hash
1899
- * @returns {Change | null}
1900
- */
1901
- getChangeByHash(hash) {
1902
- const ret = wasm.automerge_getChangeByHash(this.__wbg_ptr, hash);
1903
- if (ret[2]) {
1904
- throw takeFromExternrefTable0(ret[1]);
1905
- }
1906
- return takeFromExternrefTable0(ret[0]);
1907
- }
1908
- /**
1909
- * @param {Hash} hash
1910
- * @returns {ChangeMetadata | null}
1911
- */
1912
- getChangeMetaByHash(hash) {
1913
- const ret = wasm.automerge_getChangeMetaByHash(this.__wbg_ptr, hash);
1914
- if (ret[2]) {
1915
- throw takeFromExternrefTable0(ret[1]);
1916
- }
1917
- return takeFromExternrefTable0(ret[0]);
1918
- }
1919
- /**
1920
- * @param {Heads} have_deps
1921
- * @returns {Change[]}
1922
- */
1923
- getChanges(have_deps) {
1924
- const ret = wasm.automerge_getChanges(this.__wbg_ptr, have_deps);
1925
- if (ret[2]) {
1926
- throw takeFromExternrefTable0(ret[1]);
1927
- }
1928
- return takeFromExternrefTable0(ret[0]);
1929
- }
1930
- /**
1931
- * @param {Automerge} other
1932
- * @returns {Change[]}
1933
- */
1934
- getChangesAdded(other) {
1935
- _assertClass(other, _Automerge);
1936
- const ret = wasm.automerge_getChangesAdded(this.__wbg_ptr, other.__wbg_ptr);
1937
- return ret;
1938
- }
1939
- /**
1940
- * @param {Heads} have_deps
1941
- * @returns {ChangeMetadata[]}
1942
- */
1943
- getChangesMeta(have_deps) {
1944
- const ret = wasm.automerge_getChangesMeta(this.__wbg_ptr, have_deps);
1945
- if (ret[2]) {
1946
- throw takeFromExternrefTable0(ret[1]);
1947
- }
1948
- return takeFromExternrefTable0(ret[0]);
1949
- }
1950
- /**
1951
- * @param {any} obj
1952
- * @param {any} position
1953
- * @param {any} heads
1954
- * @param {any} move_cursor
1955
- * @returns {string}
1956
- */
1957
- getCursor(obj, position, heads, move_cursor) {
1958
- let deferred2_0;
1959
- let deferred2_1;
1960
- try {
1961
- const ret = wasm.automerge_getCursor(this.__wbg_ptr, obj, position, heads, move_cursor);
1962
- var ptr1 = ret[0];
1963
- var len1 = ret[1];
1964
- if (ret[3]) {
1965
- ptr1 = 0;
1966
- len1 = 0;
1967
- throw takeFromExternrefTable0(ret[2]);
1968
- }
1969
- deferred2_0 = ptr1;
1970
- deferred2_1 = len1;
1971
- return getStringFromWasm0(ptr1, len1);
1972
- } finally {
1973
- wasm.__wbindgen_free(deferred2_0, deferred2_1, 1);
1974
- }
1975
- }
1976
- /**
1977
- * @param {any} obj
1978
- * @param {any} cursor
1979
- * @param {any} heads
1980
- * @returns {number}
1981
- */
1982
- getCursorPosition(obj, cursor, heads) {
1983
- const ret = wasm.automerge_getCursorPosition(this.__wbg_ptr, obj, cursor, heads);
1984
- if (ret[2]) {
1985
- throw takeFromExternrefTable0(ret[1]);
1986
- }
1987
- return ret[0];
1988
- }
1989
- /**
1990
- * @param {Hash} hash
1991
- * @returns {DecodedChange | null}
1992
- */
1993
- getDecodedChangeByHash(hash) {
1994
- const ret = wasm.automerge_getDecodedChangeByHash(this.__wbg_ptr, hash);
1995
- if (ret[2]) {
1996
- throw takeFromExternrefTable0(ret[1]);
1997
- }
1998
- return takeFromExternrefTable0(ret[0]);
1999
- }
2000
- /**
2001
- * @returns {Heads}
2002
- */
2003
- getHeads() {
2004
- const ret = wasm.automerge_getHeads(this.__wbg_ptr);
2005
- return ret;
2006
- }
2007
- /**
2008
- * @returns {Change | null}
2009
- */
2010
- getLastLocalChange() {
2011
- const ret = wasm.automerge_getLastLocalChange(this.__wbg_ptr);
2012
- return ret;
2013
- }
2014
- /**
2015
- * @param {any} heads
2016
- * @returns {Array<any>}
2017
- */
2018
- getMissingDeps(heads) {
2019
- const ret = wasm.automerge_getMissingDeps(this.__wbg_ptr, heads);
2020
- if (ret[2]) {
2021
- throw takeFromExternrefTable0(ret[1]);
2022
- }
2023
- return takeFromExternrefTable0(ret[0]);
2024
- }
2025
- /**
2026
- * @param {any} obj
2027
- * @param {any} prop
2028
- * @param {any} heads
2029
- * @returns {any}
2030
- */
2031
- getWithType(obj, prop, heads) {
2032
- const ret = wasm.automerge_getWithType(this.__wbg_ptr, obj, prop, heads);
2033
- if (ret[2]) {
2034
- throw takeFromExternrefTable0(ret[1]);
2035
- }
2036
- return takeFromExternrefTable0(ret[0]);
2037
- }
2038
- /**
2039
- * @param {SyncState} state
2040
- * @returns {boolean}
2041
- */
2042
- hasOurChanges(state) {
2043
- _assertClass(state, SyncState);
2044
- const ret = wasm.automerge_hasOurChanges(this.__wbg_ptr, state.__wbg_ptr);
2045
- return ret !== 0;
2046
- }
2047
- /**
2048
- * @param {ObjID} obj
2049
- * @param {Prop} prop
2050
- * @param {number} value
2051
- */
2052
- increment(obj, prop, value) {
2053
- const ret = wasm.automerge_increment(this.__wbg_ptr, obj, prop, value);
2054
- if (ret[1]) {
2055
- throw takeFromExternrefTable0(ret[0]);
2056
- }
2057
- }
2058
- /**
2059
- * Initialize the root object of an empty document from a JS object.
2060
- * This is much faster than setting keys one at a time for large initial states.
2061
- * @param {any} value
2062
- */
2063
- initRootFromHydrate(value) {
2064
- const ret = wasm.automerge_initRootFromHydrate(this.__wbg_ptr, value);
2065
- if (ret[1]) {
2066
- throw takeFromExternrefTable0(ret[0]);
2067
- }
2068
- }
2069
- /**
2070
- * @param {any} obj
2071
- * @param {number} index
2072
- * @param {any} value
2073
- * @param {any} datatype
2074
- */
2075
- insert(obj, index, value, datatype) {
2076
- const ret = wasm.automerge_insert(this.__wbg_ptr, obj, index, value, datatype);
2077
- if (ret[1]) {
2078
- throw takeFromExternrefTable0(ret[0]);
2079
- }
2080
- }
2081
- /**
2082
- * @param {ObjID} obj
2083
- * @param {number} index
2084
- * @param {ObjType} value
2085
- * @returns {ObjID}
2086
- */
2087
- insertObject(obj, index, value) {
2088
- let deferred2_0;
2089
- let deferred2_1;
2090
- try {
2091
- const ret = wasm.automerge_insertObject(this.__wbg_ptr, obj, index, value);
2092
- var ptr1 = ret[0];
2093
- var len1 = ret[1];
2094
- if (ret[3]) {
2095
- ptr1 = 0;
2096
- len1 = 0;
2097
- throw takeFromExternrefTable0(ret[2]);
2098
- }
2099
- deferred2_0 = ptr1;
2100
- deferred2_1 = len1;
2101
- return getStringFromWasm0(ptr1, len1);
2102
- } finally {
2103
- wasm.__wbindgen_free(deferred2_0, deferred2_1, 1);
2104
- }
2105
- }
2106
- /**
2107
- * Insert a nested JavaScript value into a list using batch insertion.
2108
- * This is much faster than insertObject for large nested objects.
2109
- * The value is inserted at the given index, shifting subsequent elements.
2110
- * @param {ObjID} obj
2111
- * @param {number} index
2112
- * @param {any} value
2113
- * @returns {ObjID}
2114
- */
2115
- insertObjectFromHydrate(obj, index, value) {
2116
- const ret = wasm.automerge_insertObjectFromHydrate(this.__wbg_ptr, obj, index, value);
2117
- if (ret[2]) {
2118
- throw takeFromExternrefTable0(ret[1]);
2119
- }
2120
- return takeFromExternrefTable0(ret[0]);
2121
- }
2122
- integrate() {
2123
- wasm.automerge_integrate(this.__wbg_ptr);
2124
- }
2125
- /**
2126
- * @param {Heads} heads
2127
- */
2128
- isolate(heads) {
2129
- const ret = wasm.automerge_isolate(this.__wbg_ptr, heads);
2130
- if (ret[1]) {
2131
- throw takeFromExternrefTable0(ret[0]);
2132
- }
2133
- }
2134
- /**
2135
- * @param {ObjID} obj
2136
- * @param {number} index
2137
- */
2138
- joinBlock(obj, index) {
2139
- const ret = wasm.automerge_joinBlock(this.__wbg_ptr, obj, index);
2140
- if (ret[1]) {
2141
- throw takeFromExternrefTable0(ret[0]);
2142
- }
2143
- }
2144
- /**
2145
- * @param {any} obj
2146
- * @param {any} heads
2147
- * @returns {Array<any>}
2148
- */
2149
- keys(obj, heads) {
2150
- const ret = wasm.automerge_keys(this.__wbg_ptr, obj, heads);
2151
- if (ret[2]) {
2152
- throw takeFromExternrefTable0(ret[1]);
2153
- }
2154
- return takeFromExternrefTable0(ret[0]);
2155
- }
2156
- /**
2157
- * @param {any} obj
2158
- * @param {any} heads
2159
- * @returns {number}
2160
- */
2161
- length(obj, heads) {
2162
- const ret = wasm.automerge_length(this.__wbg_ptr, obj, heads);
2163
- if (ret[2]) {
2164
- throw takeFromExternrefTable0(ret[1]);
2165
- }
2166
- return ret[0];
2167
- }
2168
- /**
2169
- * @param {Uint8Array} data
2170
- * @returns {number}
2171
- */
2172
- loadIncremental(data) {
2173
- const ret = wasm.automerge_loadIncremental(this.__wbg_ptr, data);
2174
- if (ret[2]) {
2175
- throw takeFromExternrefTable0(ret[1]);
2176
- }
2177
- return ret[0];
2178
- }
2179
- /**
2180
- * @param {any} obj
2181
- * @param {any} range
2182
- * @param {any} name
2183
- * @param {any} value
2184
- * @param {any} datatype
2185
- */
2186
- mark(obj, range, name, value, datatype) {
2187
- const ret = wasm.automerge_mark(this.__wbg_ptr, obj, range, name, value, datatype);
2188
- if (ret[1]) {
2189
- throw takeFromExternrefTable0(ret[0]);
2190
- }
2191
- }
2192
- /**
2193
- * @param {any} obj
2194
- * @param {any} heads
2195
- * @returns {any}
2196
- */
2197
- marks(obj, heads) {
2198
- const ret = wasm.automerge_marks(this.__wbg_ptr, obj, heads);
2199
- if (ret[2]) {
2200
- throw takeFromExternrefTable0(ret[1]);
2201
- }
2202
- return takeFromExternrefTable0(ret[0]);
2203
- }
2204
- /**
2205
- * @param {any} obj
2206
- * @param {number} index
2207
- * @param {any} heads
2208
- * @returns {object}
2209
- */
2210
- marksAt(obj, index, heads) {
2211
- const ret = wasm.automerge_marksAt(this.__wbg_ptr, obj, index, heads);
2212
- if (ret[2]) {
2213
- throw takeFromExternrefTable0(ret[1]);
2214
- }
2215
- return takeFromExternrefTable0(ret[0]);
2216
- }
2217
- /**
2218
- * @param {any} obj
2219
- * @param {any} heads
2220
- * @param {any} meta
2221
- * @returns {any}
2222
- */
2223
- materialize(obj, heads, meta) {
2224
- const ret = wasm.automerge_materialize(this.__wbg_ptr, obj, heads, meta);
2225
- if (ret[2]) {
2226
- throw takeFromExternrefTable0(ret[1]);
2227
- }
2228
- return takeFromExternrefTable0(ret[0]);
2229
- }
2230
- /**
2231
- * @param {Automerge} other
2232
- * @returns {Heads}
2233
- */
2234
- merge(other) {
2235
- _assertClass(other, _Automerge);
2236
- const ret = wasm.automerge_merge(this.__wbg_ptr, other.__wbg_ptr);
2237
- if (ret[2]) {
2238
- throw takeFromExternrefTable0(ret[1]);
2239
- }
2240
- return takeFromExternrefTable0(ret[0]);
2241
- }
2242
- /**
2243
- * @param {string | null} [actor]
2244
- * @returns {Automerge}
2245
- */
2246
- static new(actor) {
2247
- var ptr0 = isLikeNone(actor) ? 0 : passStringToWasm0(actor, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
2248
- var len0 = WASM_VECTOR_LEN;
2249
- const ret = wasm.automerge_new(ptr0, len0);
2250
- if (ret[2]) {
2251
- throw takeFromExternrefTable0(ret[1]);
2252
- }
2253
- return _Automerge.__wrap(ret[0]);
2254
- }
2255
- /**
2256
- * @param {any} obj
2257
- * @param {any} heads
2258
- * @returns {object}
2259
- */
2260
- objInfo(obj, heads) {
2261
- const ret = wasm.automerge_objInfo(this.__wbg_ptr, obj, heads);
2262
- if (ret[2]) {
2263
- throw takeFromExternrefTable0(ret[1]);
2264
- }
2265
- return takeFromExternrefTable0(ret[0]);
2266
- }
2267
- /**
2268
- * @returns {number}
2269
- */
2270
- pendingOps() {
2271
- const ret = wasm.automerge_pendingOps(this.__wbg_ptr);
2272
- return ret;
2273
- }
2274
- /**
2275
- * @param {any} obj
2276
- * @param {any} value
2277
- * @param {any} datatype
2278
- */
2279
- push(obj, value, datatype) {
2280
- const ret = wasm.automerge_push(this.__wbg_ptr, obj, value, datatype);
2281
- if (ret[1]) {
2282
- throw takeFromExternrefTable0(ret[0]);
2283
- }
2284
- }
2285
- /**
2286
- * @param {ObjID} obj
2287
- * @param {ObjType} value
2288
- * @returns {ObjID}
2289
- */
2290
- pushObject(obj, value) {
2291
- let deferred2_0;
2292
- let deferred2_1;
2293
- try {
2294
- const ret = wasm.automerge_pushObject(this.__wbg_ptr, obj, value);
2295
- var ptr1 = ret[0];
2296
- var len1 = ret[1];
2297
- if (ret[3]) {
2298
- ptr1 = 0;
2299
- len1 = 0;
2300
- throw takeFromExternrefTable0(ret[2]);
2301
- }
2302
- deferred2_0 = ptr1;
2303
- deferred2_1 = len1;
2304
- return getStringFromWasm0(ptr1, len1);
2305
- } finally {
2306
- wasm.__wbindgen_free(deferred2_0, deferred2_1, 1);
2307
- }
2308
- }
2309
- /**
2310
- * @param {any} obj
2311
- * @param {any} prop
2312
- * @param {any} value
2313
- * @param {any} datatype
2314
- */
2315
- put(obj, prop, value, datatype) {
2316
- const ret = wasm.automerge_put(this.__wbg_ptr, obj, prop, value, datatype);
2317
- if (ret[1]) {
2318
- throw takeFromExternrefTable0(ret[0]);
2319
- }
2320
- }
2321
- /**
2322
- * @param {ObjID} obj
2323
- * @param {Prop} prop
2324
- * @param {ObjType} value
2325
- * @returns {ObjID}
2326
- */
2327
- putObject(obj, prop, value) {
2328
- const ret = wasm.automerge_putObject(this.__wbg_ptr, obj, prop, value);
2329
- if (ret[2]) {
2330
- throw takeFromExternrefTable0(ret[1]);
2331
- }
2332
- return takeFromExternrefTable0(ret[0]);
2333
- }
2334
- /**
2335
- * Put a nested JavaScript value as a new object tree using batch insertion.
2336
- * This is much faster than putObject for large nested objects.
2337
- * For map keys this overwrites any existing value. For list indices this
2338
- * overwrites the element at that index.
2339
- * @param {ObjID} obj
2340
- * @param {Prop} prop
2341
- * @param {any} value
2342
- * @returns {ObjID}
2343
- */
2344
- putObjectFromHydrate(obj, prop, value) {
2345
- const ret = wasm.automerge_putObjectFromHydrate(this.__wbg_ptr, obj, prop, value);
2346
- if (ret[2]) {
2347
- throw takeFromExternrefTable0(ret[1]);
2348
- }
2349
- return takeFromExternrefTable0(ret[0]);
2350
- }
2351
- /**
2352
- * @param {SyncState} state
2353
- * @param {SyncMessage} message
2354
- */
2355
- receiveSyncMessage(state, message) {
2356
- _assertClass(state, SyncState);
2357
- const ret = wasm.automerge_receiveSyncMessage(this.__wbg_ptr, state.__wbg_ptr, message);
2358
- if (ret[1]) {
2359
- throw takeFromExternrefTable0(ret[0]);
2360
- }
2361
- }
2362
- /**
2363
- * @param {string} datatype
2364
- * @param {Function} construct
2365
- * @param {(arg: any) => any | undefined} deconstruct
2366
- */
2367
- registerDatatype(datatype, construct, deconstruct) {
2368
- const ret = wasm.automerge_registerDatatype(this.__wbg_ptr, datatype, construct, deconstruct);
2369
- if (ret[1]) {
2370
- throw takeFromExternrefTable0(ret[0]);
2371
- }
2372
- }
2373
- resetDiffCursor() {
2374
- wasm.automerge_resetDiffCursor(this.__wbg_ptr);
2375
- }
2376
- /**
2377
- * @returns {number}
2378
- */
2379
- rollback() {
2380
- const ret = wasm.automerge_rollback(this.__wbg_ptr);
2381
- return ret;
2382
- }
2383
- /**
2384
- * @returns {Uint8Array}
2385
- */
2386
- save() {
2387
- const ret = wasm.automerge_save(this.__wbg_ptr);
2388
- return ret;
2389
- }
2390
- /**
2391
- * @returns {Uint8Array}
2392
- */
2393
- saveAndVerify() {
2394
- const ret = wasm.automerge_saveAndVerify(this.__wbg_ptr);
2395
- if (ret[2]) {
2396
- throw takeFromExternrefTable0(ret[1]);
2397
- }
2398
- return takeFromExternrefTable0(ret[0]);
2399
- }
2400
- /**
2401
- * @param {any} hashes
2402
- * @returns {Uint8Array}
2403
- */
2404
- saveBundle(hashes) {
2405
- const ret = wasm.automerge_saveBundle(this.__wbg_ptr, hashes);
2406
- if (ret[2]) {
2407
- throw takeFromExternrefTable0(ret[1]);
2408
- }
2409
- return takeFromExternrefTable0(ret[0]);
2410
- }
2411
- /**
2412
- * @returns {Uint8Array}
2413
- */
2414
- saveIncremental() {
2415
- const ret = wasm.automerge_saveIncremental(this.__wbg_ptr);
2416
- return ret;
2417
- }
2418
- /**
2419
- * @returns {Uint8Array}
2420
- */
2421
- saveNoCompress() {
2422
- const ret = wasm.automerge_saveNoCompress(this.__wbg_ptr);
2423
- return ret;
2424
- }
2425
- /**
2426
- * @param {Heads} heads
2427
- * @returns {Uint8Array}
2428
- */
2429
- saveSince(heads) {
2430
- const ret = wasm.automerge_saveSince(this.__wbg_ptr, heads);
2431
- if (ret[2]) {
2432
- throw takeFromExternrefTable0(ret[1]);
2433
- }
2434
- return takeFromExternrefTable0(ret[0]);
2435
- }
2436
- /**
2437
- * @param {any} obj
2438
- * @param {any} heads
2439
- * @returns {Array<any>}
2440
- */
2441
- spans(obj, heads) {
2442
- const ret = wasm.automerge_spans(this.__wbg_ptr, obj, heads);
2443
- if (ret[2]) {
2444
- throw takeFromExternrefTable0(ret[1]);
2445
- }
2446
- return takeFromExternrefTable0(ret[0]);
2447
- }
2448
- /**
2449
- * @param {any} obj
2450
- * @param {number} start
2451
- * @param {number} delete_count
2452
- * @param {any} text
2453
- */
2454
- splice(obj, start, delete_count, text) {
2455
- const ret = wasm.automerge_splice(this.__wbg_ptr, obj, start, delete_count, text);
2456
- if (ret[1]) {
2457
- throw takeFromExternrefTable0(ret[0]);
2458
- }
2459
- }
2460
- /**
2461
- * Splice values into a list using batch insertion.
2462
- * This is much faster than individual insert calls for multiple values.
2463
- * @param {ObjID} obj
2464
- * @param {number} index
2465
- * @param {number} del
2466
- * @param {any} values
2467
- */
2468
- spliceFromHydrate(obj, index, del, values) {
2469
- const ret = wasm.automerge_spliceFromHydrate(this.__wbg_ptr, obj, index, del, values);
2470
- if (ret[1]) {
2471
- throw takeFromExternrefTable0(ret[0]);
2472
- }
2473
- }
2474
- /**
2475
- * @param {ObjID} obj
2476
- * @param {number} index
2477
- * @param {{[key: string]: MaterializeValue}} block
2478
- */
2479
- splitBlock(obj, index, block) {
2480
- const ret = wasm.automerge_splitBlock(this.__wbg_ptr, obj, index, block);
2481
- if (ret[1]) {
2482
- throw takeFromExternrefTable0(ret[0]);
2483
- }
2484
- }
2485
- /**
2486
- * @returns {Stats}
2487
- */
2488
- stats() {
2489
- const ret = wasm.automerge_stats(this.__wbg_ptr);
2490
- return ret;
2491
- }
2492
- /**
2493
- * @param {any} obj
2494
- * @param {any} heads
2495
- * @returns {string}
2496
- */
2497
- text(obj, heads) {
2498
- let deferred2_0;
2499
- let deferred2_1;
2500
- try {
2501
- const ret = wasm.automerge_text(this.__wbg_ptr, obj, heads);
2502
- var ptr1 = ret[0];
2503
- var len1 = ret[1];
2504
- if (ret[3]) {
2505
- ptr1 = 0;
2506
- len1 = 0;
2507
- throw takeFromExternrefTable0(ret[2]);
2508
- }
2509
- deferred2_0 = ptr1;
2510
- deferred2_1 = len1;
2511
- return getStringFromWasm0(ptr1, len1);
2512
- } finally {
2513
- wasm.__wbindgen_free(deferred2_0, deferred2_1, 1);
2514
- }
2515
- }
2516
- /**
2517
- * @param {any} meta
2518
- * @returns {MaterializeValue}
2519
- */
2520
- toJS(meta) {
2521
- const ret = wasm.automerge_toJS(this.__wbg_ptr, meta);
2522
- if (ret[2]) {
2523
- throw takeFromExternrefTable0(ret[1]);
2524
- }
2525
- return takeFromExternrefTable0(ret[0]);
2526
- }
2527
- /**
2528
- * @returns {Hash[]}
2529
- */
2530
- topoHistoryTraversal() {
2531
- const ret = wasm.automerge_topoHistoryTraversal(this.__wbg_ptr);
2532
- return ret;
2533
- }
2534
- /**
2535
- * @param {ObjID} obj
2536
- * @param {MarkRange} range
2537
- * @param {string} name
2538
- */
2539
- unmark(obj, range, name) {
2540
- const ret = wasm.automerge_unmark(this.__wbg_ptr, obj, range, name);
2541
- if (ret[1]) {
2542
- throw takeFromExternrefTable0(ret[0]);
2543
- }
2544
- }
2545
- /**
2546
- * @param {ObjID} obj
2547
- * @param {number} index
2548
- * @param {{[key: string]: MaterializeValue}} block
2549
- */
2550
- updateBlock(obj, index, block) {
2551
- const ret = wasm.automerge_updateBlock(this.__wbg_ptr, obj, index, block);
2552
- if (ret[1]) {
2553
- throw takeFromExternrefTable0(ret[0]);
2554
- }
2555
- }
2556
- updateDiffCursor() {
2557
- wasm.automerge_updateDiffCursor(this.__wbg_ptr);
2558
- }
2559
- /**
2560
- * @param {ObjID} obj
2561
- * @param {Span[]} args
2562
- * @param {UpdateSpansConfig | undefined | null} config
2563
- */
2564
- updateSpans(obj, args, config) {
2565
- const ret = wasm.automerge_updateSpans(this.__wbg_ptr, obj, args, config);
2566
- if (ret[1]) {
2567
- throw takeFromExternrefTable0(ret[0]);
2568
- }
2569
- }
2570
- /**
2571
- * @param {ObjID} obj
2572
- * @param {string} new_text
2573
- */
2574
- updateText(obj, new_text) {
2575
- const ret = wasm.automerge_updateText(this.__wbg_ptr, obj, new_text);
2576
- if (ret[1]) {
2577
- throw takeFromExternrefTable0(ret[0]);
2578
- }
2579
- }
2580
- };
2581
- if (Symbol.dispose) Automerge.prototype[Symbol.dispose] = Automerge.prototype.free;
2582
- var SyncState = class _SyncState {
2583
- static __wrap(ptr) {
2584
- ptr = ptr >>> 0;
2585
- const obj = Object.create(_SyncState.prototype);
2586
- obj.__wbg_ptr = ptr;
2587
- SyncStateFinalization.register(obj, obj.__wbg_ptr, obj);
2588
- return obj;
2589
- }
2590
- __destroy_into_raw() {
2591
- const ptr = this.__wbg_ptr;
2592
- this.__wbg_ptr = 0;
2593
- SyncStateFinalization.unregister(this);
2594
- return ptr;
2595
- }
2596
- free() {
2597
- const ptr = this.__destroy_into_raw();
2598
- wasm.__wbg_syncstate_free(ptr, 0);
2599
- }
2600
- /**
2601
- * @returns {SyncState}
2602
- */
2603
- clone() {
2604
- const ret = wasm.syncstate_clone(this.__wbg_ptr);
2605
- return _SyncState.__wrap(ret);
2606
- }
2607
- /**
2608
- * @returns {Heads}
2609
- */
2610
- get lastSentHeads() {
2611
- const ret = wasm.syncstate_lastSentHeads(this.__wbg_ptr);
2612
- return ret;
2613
- }
2614
- /**
2615
- * @returns {boolean}
2616
- */
2617
- get peerReadOnly() {
2618
- const ret = wasm.syncstate_peerReadOnly(this.__wbg_ptr);
2619
- return ret !== 0;
2620
- }
2621
- /**
2622
- * @returns {boolean}
2623
- */
2624
- get readOnly() {
2625
- const ret = wasm.syncstate_readOnly(this.__wbg_ptr);
2626
- return ret !== 0;
2627
- }
2628
- /**
2629
- * @param {Heads} heads
2630
- */
2631
- set lastSentHeads(heads) {
2632
- const ret = wasm.syncstate_set_lastSentHeads(this.__wbg_ptr, heads);
2633
- if (ret[1]) {
2634
- throw takeFromExternrefTable0(ret[0]);
2635
- }
2636
- }
2637
- /**
2638
- * @param {boolean} read_only
2639
- */
2640
- set readOnly(read_only) {
2641
- wasm.syncstate_set_readOnly(this.__wbg_ptr, read_only);
2642
- }
2643
- /**
2644
- * @param {Heads} hashes
2645
- */
2646
- set sentHashes(hashes) {
2647
- const ret = wasm.syncstate_set_sentHashes(this.__wbg_ptr, hashes);
2648
- if (ret[1]) {
2649
- throw takeFromExternrefTable0(ret[0]);
2650
- }
2651
- }
2652
- /**
2653
- * @returns {Heads}
2654
- */
2655
- get sharedHeads() {
2656
- const ret = wasm.syncstate_sharedHeads(this.__wbg_ptr);
2657
- return ret;
2658
- }
2659
- };
2660
- if (Symbol.dispose) SyncState.prototype[Symbol.dispose] = SyncState.prototype.free;
2661
- var AutomergeFinalization = typeof FinalizationRegistry === "undefined" ? { register: () => {
2662
- }, unregister: () => {
2663
- } } : new FinalizationRegistry((ptr) => wasm.__wbg_automerge_free(ptr >>> 0, 1));
2664
- var SyncStateFinalization = typeof FinalizationRegistry === "undefined" ? { register: () => {
2665
- }, unregister: () => {
2666
- } } : new FinalizationRegistry((ptr) => wasm.__wbg_syncstate_free(ptr >>> 0, 1));
2667
- function _assertClass(instance, klass) {
2668
- if (!(instance instanceof klass)) {
2669
- throw new Error(`expected instance of ${klass.name}`);
2670
- }
2671
- }
2672
- function getStringFromWasm0(ptr, len) {
2673
- ptr = ptr >>> 0;
2674
- return decodeText(ptr, len);
2675
- }
2676
- var cachedUint8ArrayMemory0 = null;
2677
- function getUint8ArrayMemory0() {
2678
- if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) {
2679
- cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer);
2680
- }
2681
- return cachedUint8ArrayMemory0;
2682
- }
2683
- function isLikeNone(x) {
2684
- return x === void 0 || x === null;
2685
- }
2686
- function passStringToWasm0(arg, malloc, realloc) {
2687
- if (realloc === void 0) {
2688
- const buf = cachedTextEncoder.encode(arg);
2689
- const ptr2 = malloc(buf.length, 1) >>> 0;
2690
- getUint8ArrayMemory0().subarray(ptr2, ptr2 + buf.length).set(buf);
2691
- WASM_VECTOR_LEN = buf.length;
2692
- return ptr2;
2693
- }
2694
- let len = arg.length;
2695
- let ptr = malloc(len, 1) >>> 0;
2696
- const mem = getUint8ArrayMemory0();
2697
- let offset = 0;
2698
- for (; offset < len; offset++) {
2699
- const code = arg.charCodeAt(offset);
2700
- if (code > 127) break;
2701
- mem[ptr + offset] = code;
2702
- }
2703
- if (offset !== len) {
2704
- if (offset !== 0) {
2705
- arg = arg.slice(offset);
2706
- }
2707
- ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0;
2708
- const view = getUint8ArrayMemory0().subarray(ptr + offset, ptr + len);
2709
- const ret = cachedTextEncoder.encodeInto(arg, view);
2710
- offset += ret.written;
2711
- ptr = realloc(ptr, len, offset, 1) >>> 0;
2712
- }
2713
- WASM_VECTOR_LEN = offset;
2714
- return ptr;
2715
- }
2716
- function takeFromExternrefTable0(idx) {
2717
- const value = wasm.__wbindgen_externrefs.get(idx);
2718
- wasm.__externref_table_dealloc(idx);
2719
- return value;
2720
- }
2721
- var cachedTextDecoder = new TextDecoder("utf-8", { ignoreBOM: true, fatal: true });
2722
- cachedTextDecoder.decode();
2723
- var MAX_SAFARI_DECODE_BYTES = 2146435072;
2724
- var numBytesDecoded = 0;
2725
- function decodeText(ptr, len) {
2726
- numBytesDecoded += len;
2727
- if (numBytesDecoded >= MAX_SAFARI_DECODE_BYTES) {
2728
- cachedTextDecoder = new TextDecoder("utf-8", { ignoreBOM: true, fatal: true });
2729
- cachedTextDecoder.decode();
2730
- numBytesDecoded = len;
2731
- }
2732
- return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len));
2733
- }
2734
- var cachedTextEncoder = new TextEncoder();
2735
- if (!("encodeInto" in cachedTextEncoder)) {
2736
- cachedTextEncoder.encodeInto = function(arg, view) {
2737
- const buf = cachedTextEncoder.encode(arg);
2738
- view.set(buf);
2739
- return {
2740
- read: arg.length,
2741
- written: buf.length
2742
- };
2743
- };
2744
- }
2745
- var WASM_VECTOR_LEN = 0;
2746
- var wasm;
2747
-
2748
- // node_modules/.pnpm/@automerge+automerge@3.2.6/node_modules/@automerge/automerge/dist/mjs/low_level.js
2749
- var _initialized = false;
2750
- var _initializeListeners = [];
2751
- function UseApi(api2) {
2752
- for (const k in api2) {
2753
- ;
2754
- ApiHandler[k] = api2[k];
2755
- }
2756
- _initialized = true;
2757
- for (const listener of _initializeListeners) {
2758
- listener();
2759
- }
2760
- }
2761
- var ApiHandler = {
2762
- create(options) {
2763
- throw new RangeError("Automerge.use() not called");
2764
- },
2765
- load(data, options) {
2766
- throw new RangeError("Automerge.use() not called (load)");
2767
- },
2768
- encodeChange(change) {
2769
- throw new RangeError("Automerge.use() not called (encodeChange)");
2770
- },
2771
- decodeChange(change) {
2772
- throw new RangeError("Automerge.use() not called (decodeChange)");
2773
- },
2774
- initSyncState() {
2775
- throw new RangeError("Automerge.use() not called (initSyncState)");
2776
- },
2777
- encodeSyncMessage(message) {
2778
- throw new RangeError("Automerge.use() not called (encodeSyncMessage)");
2779
- },
2780
- decodeSyncMessage(msg) {
2781
- throw new RangeError("Automerge.use() not called (decodeSyncMessage)");
2782
- },
2783
- encodeSyncState(state) {
2784
- throw new RangeError("Automerge.use() not called (encodeSyncState)");
2785
- },
2786
- decodeSyncState(data) {
2787
- throw new RangeError("Automerge.use() not called (decodeSyncState)");
2788
- },
2789
- exportSyncState(state) {
2790
- throw new RangeError("Automerge.use() not called (exportSyncState)");
2791
- },
2792
- importSyncState(state) {
2793
- throw new RangeError("Automerge.use() not called (importSyncState)");
2794
- },
2795
- readBundle(data) {
2796
- throw new RangeError("Automerge.use() not called (readBundle)");
2797
- },
2798
- wasmReleaseInfo() {
2799
- throw new RangeError("Automerge.use() not called (wasmReleaseInfo)");
2800
- }
2801
- };
2802
-
2803
- // node_modules/.pnpm/@automerge+automerge@3.2.6/node_modules/@automerge/automerge/dist/mjs/entrypoints/fullfat_node.js
2804
- var api = __toESM(require_automerge_wasm(), 1);
2805
-
2806
- // node_modules/.pnpm/@automerge+automerge@3.2.6/node_modules/@automerge/automerge/dist/mjs/constants.js
2807
- var STATE = /* @__PURE__ */ Symbol.for("_am_meta");
2808
- var TRACE = /* @__PURE__ */ Symbol.for("_am_trace");
2809
- var OBJECT_ID = /* @__PURE__ */ Symbol.for("_am_objectId");
2810
- var IS_PROXY = /* @__PURE__ */ Symbol.for("_am_isProxy");
2811
- var CLEAR_CACHE = /* @__PURE__ */ Symbol.for("_am_clearCache");
2812
- var UINT = /* @__PURE__ */ Symbol.for("_am_uint");
2813
- var INT = /* @__PURE__ */ Symbol.for("_am_int");
2814
- var F64 = /* @__PURE__ */ Symbol.for("_am_f64");
2815
- var COUNTER = /* @__PURE__ */ Symbol.for("_am_counter");
2816
- var IMMUTABLE_STRING = /* @__PURE__ */ Symbol.for("_am_immutableString");
2817
-
2818
- // node_modules/.pnpm/@automerge+automerge@3.2.6/node_modules/@automerge/automerge/dist/mjs/counter.js
2819
- var Counter = class {
2820
- constructor(value) {
2821
- this.value = value || 0;
2822
- Reflect.defineProperty(this, COUNTER, { value: true });
2823
- }
2824
- /**
2825
- * A peculiar JavaScript language feature from its early days: if the object
2826
- * `x` has a `valueOf()` method that returns a number, you can use numerical
2827
- * operators on the object `x` directly, such as `x + 1` or `x < 4`.
2828
- * This method is also called when coercing a value to a string by
2829
- * concatenating it with another string, as in `x + ''`.
2830
- * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/valueOf
2831
- */
2832
- valueOf() {
2833
- return this.value;
2834
- }
2835
- /**
2836
- * Returns the counter value as a decimal string. If `x` is a counter object,
2837
- * this method is called e.g. when you do `['value: ', x].join('')` or when
2838
- * you use string interpolation: `value: ${x}`.
2839
- */
2840
- toString() {
2841
- return this.valueOf().toString();
2842
- }
2843
- /**
2844
- * Returns the counter value, so that a JSON serialization of an Automerge
2845
- * document represents the counter simply as an integer.
2846
- */
2847
- toJSON() {
2848
- return this.value;
2849
- }
2850
- /**
2851
- * Increases the value of the counter by `delta`. If `delta` is not given,
2852
- * increases the value of the counter by 1.
2853
- *
2854
- * Will throw an error if used outside of a change callback.
2855
- */
2856
- increment(_delta) {
2857
- throw new Error("Counters should not be incremented outside of a change callback");
2858
- }
2859
- /**
2860
- * Decreases the value of the counter by `delta`. If `delta` is not given,
2861
- * decreases the value of the counter by 1.
2862
- *
2863
- * Will throw an error if used outside of a change callback.
2864
- */
2865
- decrement(_delta) {
2866
- throw new Error("Counters should not be decremented outside of a change callback");
2867
- }
2868
- };
2869
- var WriteableCounter = class extends Counter {
2870
- constructor(value, context, path, objectId, key) {
2871
- super(value);
2872
- this.context = context;
2873
- this.path = path;
2874
- this.objectId = objectId;
2875
- this.key = key;
2876
- }
2877
- /**
2878
- * Increases the value of the counter by `delta`. If `delta` is not given,
2879
- * increases the value of the counter by 1.
2880
- */
2881
- increment(delta) {
2882
- delta = typeof delta === "number" ? delta : 1;
2883
- this.context.increment(this.objectId, this.key, delta);
2884
- this.value += delta;
2885
- return this.value;
2886
- }
2887
- /**
2888
- * Decreases the value of the counter by `delta`. If `delta` is not given,
2889
- * decreases the value of the counter by 1.
2890
- */
2891
- decrement(delta) {
2892
- return this.increment(typeof delta === "number" ? -delta : -1);
2893
- }
2894
- };
2895
- function getWriteableCounter(value, context, path, objectId, key) {
2896
- return new WriteableCounter(value, context, path, objectId, key);
2897
- }
2898
-
2899
- // node_modules/.pnpm/@automerge+automerge@3.2.6/node_modules/@automerge/automerge/dist/mjs/immutable_string.js
2900
- var _a;
2901
- var ImmutableString = class {
2902
- constructor(val) {
2903
- this[_a] = true;
2904
- this.val = val;
2905
- }
2906
- /**
2907
- * Returns the content of the ImmutableString object as a simple string
2908
- */
2909
- toString() {
2910
- return this.val;
2911
- }
2912
- toJSON() {
2913
- return this.val;
2914
- }
2915
- };
2916
- _a = IMMUTABLE_STRING;
2917
-
2918
- // node_modules/.pnpm/@automerge+automerge@3.2.6/node_modules/@automerge/automerge/dist/mjs/proxies.js
2919
- var MAX_I64 = BigInt("9223372036854775807");
2920
- function validateForBatchInsert(value, context, path) {
2921
- if (value === void 0) {
2922
- throw new RangeError([
2923
- `Cannot assign undefined value at ${printPath(path)}, `,
2924
- "You might consider setting the property's value to `null`, ",
2925
- "or using `delete` to remove it altogether."
2926
- ].join(""));
2927
- }
2928
- if (value === null)
2929
- return;
2930
- const type = typeof value;
2931
- if (type !== "object")
2932
- return;
2933
- if (context && isSameDocument(value, context)) {
2934
- throw new RangeError("Cannot create a reference to an existing document object");
2935
- }
2936
- if (value instanceof Array) {
2937
- for (let i = 0; i < value.length; i++) {
2938
- validateForBatchInsert(value[i], context, [...path, i]);
2939
- }
2940
- } else if (Object.prototype.toString.call(value) === "[object Object]") {
2941
- for (const k in value) {
2942
- validateForBatchInsert(value[k], context, [...path, k]);
2943
- }
2944
- }
2945
- }
2946
- function parseListIndex(key) {
2947
- if (typeof key === "string" && /^[0-9]+$/.test(key))
2948
- key = parseInt(key, 10);
2949
- if (typeof key !== "number") {
2950
- return key;
2951
- }
2952
- if (key < 0 || isNaN(key) || key === Infinity || key === -Infinity) {
2953
- throw new RangeError("A list index must be positive, but you passed " + key);
2954
- }
2955
- return key;
2956
- }
2957
- function valueAt(target, prop) {
2958
- const { context, objectId, path } = target;
2959
- const value = context.getWithType(objectId, prop);
2960
- if (value === null) {
2961
- return;
2962
- }
2963
- const datatype = value[0];
2964
- const val = value[1];
2965
- switch (datatype) {
2966
- case void 0:
2967
- return;
2968
- case "map":
2969
- return mapProxy(context, val, [...path, prop]);
2970
- case "list":
2971
- return listProxy(context, val, [...path, prop]);
2972
- case "text":
2973
- return context.text(val);
2974
- case "str":
2975
- return new ImmutableString(val);
2976
- case "uint":
2977
- return val;
2978
- case "int":
2979
- return val;
2980
- case "f64":
2981
- return val;
2982
- case "boolean":
2983
- return val;
2984
- case "null":
2985
- return null;
2986
- case "bytes":
2987
- return val;
2988
- case "timestamp":
2989
- return val;
2990
- case "counter": {
2991
- const counter = getWriteableCounter(val, context, path, objectId, prop);
2992
- return counter;
2993
- }
2994
- default:
2995
- throw RangeError(`datatype ${datatype} unimplemented`);
2996
- }
2997
- }
2998
- function import_value(value, path, context) {
2999
- const type = typeof value;
3000
- switch (type) {
3001
- case "object":
3002
- if (value == null) {
3003
- return [null, "null"];
3004
- } else if (value[UINT]) {
3005
- return [value.value, "uint"];
3006
- } else if (value[INT]) {
3007
- return [value.value, "int"];
3008
- } else if (value[F64]) {
3009
- return [value.value, "f64"];
3010
- } else if (value[COUNTER]) {
3011
- return [value.value, "counter"];
3012
- } else if (value instanceof Date) {
3013
- return [value.getTime(), "timestamp"];
3014
- } else if (isImmutableString(value)) {
3015
- return [value.toString(), "str"];
3016
- } else if (value instanceof Uint8Array) {
3017
- return [value, "bytes"];
3018
- } else if (value instanceof Array) {
3019
- return [value, "list"];
3020
- } else if (Object.prototype.toString.call(value) === "[object Object]") {
3021
- return [value, "map"];
3022
- } else if (isSameDocument(value, context)) {
3023
- throw new RangeError("Cannot create a reference to an existing document object");
3024
- } else {
3025
- throw new RangeError(`Cannot assign unknown object: ${value}`);
3026
- }
3027
- case "boolean":
3028
- return [value, "boolean"];
3029
- case "bigint":
3030
- if (value > MAX_I64) {
3031
- return [value, "uint"];
3032
- } else {
3033
- return [value, "int"];
3034
- }
3035
- case "number":
3036
- if (Number.isInteger(value)) {
3037
- return [value, "int"];
3038
- } else {
3039
- return [value, "f64"];
3040
- }
3041
- case "string":
3042
- return [value, "text"];
3043
- case "undefined":
3044
- throw new RangeError([
3045
- `Cannot assign undefined value at ${printPath(path)}, `,
3046
- "because `undefined` is not a valid JSON data type. ",
3047
- "You might consider setting the property's value to `null`, ",
3048
- "or using `delete` to remove it altogether."
3049
- ].join(""));
3050
- default:
3051
- throw new RangeError([
3052
- `Cannot assign ${type} value at ${printPath(path)}. `,
3053
- `All JSON primitive datatypes (object, array, string, number, boolean, null) `,
3054
- `are supported in an Automerge document; ${type} values are not. `
3055
- ].join(""));
3056
- }
3057
- }
3058
- function isSameDocument(val, context) {
3059
- var _b, _c;
3060
- if (val instanceof Date) {
3061
- return false;
3062
- }
3063
- if (val && ((_c = (_b = val[STATE]) === null || _b === void 0 ? void 0 : _b.handle) === null || _c === void 0 ? void 0 : _c.__wbg_ptr) === context.__wbg_ptr) {
3064
- return true;
3065
- }
3066
- return false;
3067
- }
3068
- var MapHandler = {
3069
- get(target, key) {
3070
- const { context, objectId, cache } = target;
3071
- if (key === Symbol.toStringTag) {
3072
- return target[Symbol.toStringTag];
3073
- }
3074
- if (key === OBJECT_ID)
3075
- return objectId;
3076
- if (key === IS_PROXY)
3077
- return true;
3078
- if (key === TRACE)
3079
- return target.trace;
3080
- if (key === STATE)
3081
- return { handle: context };
3082
- if (!cache[key]) {
3083
- cache[key] = valueAt(target, key);
3084
- }
3085
- return cache[key];
3086
- },
3087
- set(target, key, val) {
3088
- const { context, objectId, path } = target;
3089
- target.cache = {};
3090
- if (isSameDocument(val, context)) {
3091
- throw new RangeError("Cannot create a reference to an existing document object");
3092
- }
3093
- if (key === TRACE) {
3094
- target.trace = val;
3095
- return true;
3096
- }
3097
- if (key === CLEAR_CACHE) {
3098
- return true;
3099
- }
3100
- const [value, datatype] = import_value(val, [...path, key], context);
3101
- switch (datatype) {
3102
- case "list":
3103
- case "map": {
3104
- validateForBatchInsert(value, context, [...path, key]);
3105
- context.putObjectFromHydrate(objectId, key, value);
3106
- break;
3107
- }
3108
- case "text": {
3109
- context.putObject(objectId, key, value);
3110
- break;
3111
- }
3112
- default:
3113
- context.put(objectId, key, value, datatype);
3114
- }
3115
- return true;
3116
- },
3117
- deleteProperty(target, key) {
3118
- const { context, objectId } = target;
3119
- target.cache = {};
3120
- context.delete(objectId, key);
3121
- return true;
3122
- },
3123
- has(target, key) {
3124
- const value = this.get(target, key);
3125
- return value !== void 0;
3126
- },
3127
- getOwnPropertyDescriptor(target, key) {
3128
- const value = this.get(target, key);
3129
- if (typeof value !== "undefined") {
3130
- return {
3131
- configurable: true,
3132
- enumerable: true,
3133
- value
3134
- };
3135
- }
3136
- },
3137
- ownKeys(target) {
3138
- const { context, objectId } = target;
3139
- const keys = context.keys(objectId);
3140
- return [...new Set(keys)];
3141
- }
3142
- };
3143
- var ListHandler = {
3144
- get(target, index) {
3145
- const { context, objectId } = target;
3146
- index = parseListIndex(index);
3147
- if (index === Symbol.hasInstance) {
3148
- return (instance) => {
3149
- return Array.isArray(instance);
3150
- };
3151
- }
3152
- if (index === Symbol.toStringTag) {
3153
- return target[Symbol.toStringTag];
3154
- }
3155
- if (index === OBJECT_ID)
3156
- return objectId;
3157
- if (index === IS_PROXY)
3158
- return true;
3159
- if (index === TRACE)
3160
- return target.trace;
3161
- if (index === STATE)
3162
- return { handle: context };
3163
- if (index === "length")
3164
- return context.length(objectId);
3165
- if (typeof index === "number") {
3166
- return valueAt(target, index);
3167
- } else {
3168
- return listMethods(target)[index];
3169
- }
3170
- },
3171
- set(target, index, val) {
3172
- const { context, objectId, path } = target;
3173
- index = parseListIndex(index);
3174
- if (isSameDocument(val, context)) {
3175
- throw new RangeError("Cannot create a reference to an existing document object");
3176
- }
3177
- if (index === CLEAR_CACHE) {
3178
- return true;
3179
- }
3180
- if (index === TRACE) {
3181
- target.trace = val;
3182
- return true;
3183
- }
3184
- if (typeof index == "string") {
3185
- throw new RangeError("list index must be a number");
3186
- }
3187
- const [value, datatype] = import_value(val, [...path, index], context);
3188
- switch (datatype) {
3189
- case "list":
3190
- case "map": {
3191
- validateForBatchInsert(value, context, [...path, index]);
3192
- if (index >= context.length(objectId)) {
3193
- context.insertObjectFromHydrate(objectId, index, value);
3194
- } else {
3195
- context.putObjectFromHydrate(objectId, index, value);
3196
- }
3197
- break;
3198
- }
3199
- case "text": {
3200
- if (index >= context.length(objectId)) {
3201
- context.insertObject(objectId, index, value);
3202
- } else {
3203
- context.putObject(objectId, index, value);
3204
- }
3205
- break;
3206
- }
3207
- default:
3208
- if (index >= context.length(objectId)) {
3209
- context.insert(objectId, index, value, datatype);
3210
- } else {
3211
- context.put(objectId, index, value, datatype);
3212
- }
3213
- }
3214
- return true;
3215
- },
3216
- deleteProperty(target, index) {
3217
- const { context, objectId } = target;
3218
- index = parseListIndex(index);
3219
- const elem = context.get(objectId, index);
3220
- if (elem != null && elem[0] == "counter") {
3221
- throw new TypeError("Unsupported operation: deleting a counter from a list");
3222
- }
3223
- context.delete(objectId, index);
3224
- return true;
3225
- },
3226
- has(target, index) {
3227
- const { context, objectId } = target;
3228
- index = parseListIndex(index);
3229
- if (typeof index === "number") {
3230
- return index < context.length(objectId);
3231
- }
3232
- return index === "length";
3233
- },
3234
- getOwnPropertyDescriptor(target, index) {
3235
- const { context, objectId } = target;
3236
- if (index === "length")
3237
- return { writable: true, value: context.length(objectId) };
3238
- if (index === OBJECT_ID)
3239
- return { configurable: false, enumerable: false, value: objectId };
3240
- index = parseListIndex(index);
3241
- const value = valueAt(target, index);
3242
- return { configurable: true, enumerable: true, value };
3243
- },
3244
- getPrototypeOf(target) {
3245
- return Object.getPrototypeOf(target);
3246
- },
3247
- ownKeys() {
3248
- const keys = [];
3249
- keys.push("length");
3250
- return keys;
3251
- }
3252
- };
3253
- function mapProxy(context, objectId, path) {
3254
- const target = {
3255
- context,
3256
- objectId,
3257
- path: path || [],
3258
- cache: {}
3259
- };
3260
- const proxied = {};
3261
- Object.assign(proxied, target);
3262
- const result = new Proxy(proxied, MapHandler);
3263
- return result;
3264
- }
3265
- function listProxy(context, objectId, path) {
3266
- const target = {
3267
- context,
3268
- objectId,
3269
- path: path || [],
3270
- cache: {}
3271
- };
3272
- const proxied = [];
3273
- Object.assign(proxied, target);
3274
- return new Proxy(proxied, ListHandler);
3275
- }
3276
- function rootProxy(context) {
3277
- return mapProxy(context, "_root", []);
3278
- }
3279
- function listMethods(target) {
3280
- const { context, objectId, path } = target;
3281
- const methods = {
3282
- at(index) {
3283
- return valueAt(target, index);
3284
- },
3285
- deleteAt(index, numDelete) {
3286
- if (typeof numDelete === "number") {
3287
- context.splice(objectId, index, numDelete);
3288
- } else {
3289
- context.delete(objectId, index);
3290
- }
3291
- return this;
3292
- },
3293
- fill(val, start, end) {
3294
- const [value, datatype] = import_value(val, [...path, start], context);
3295
- const length = context.length(objectId);
3296
- start = parseListIndex(start || 0);
3297
- end = parseListIndex(end || length);
3298
- for (let i = start; i < Math.min(end, length); i++) {
3299
- if (datatype === "list" || datatype === "map") {
3300
- context.putObject(objectId, i, value);
3301
- } else if (datatype === "text") {
3302
- context.putObject(objectId, i, value);
3303
- } else {
3304
- context.put(objectId, i, value, datatype);
3305
- }
3306
- }
3307
- return this;
3308
- },
3309
- indexOf(searchElement, start = 0) {
3310
- const length = context.length(objectId);
3311
- for (let i = start; i < length; i++) {
3312
- const valueWithType = context.getWithType(objectId, i);
3313
- if (!valueWithType) {
3314
- continue;
3315
- }
3316
- const [valType, value] = valueWithType;
3317
- const isObject = ["map", "list", "text"].includes(valType);
3318
- if (!isObject) {
3319
- if (value === searchElement) {
3320
- return i;
3321
- } else {
3322
- continue;
3323
- }
3324
- }
3325
- if (valType === "text" && typeof searchElement === "string") {
3326
- if (searchElement === valueAt(target, i)) {
3327
- return i;
3328
- }
3329
- }
3330
- if (searchElement[OBJECT_ID] === value) {
3331
- return i;
3332
- }
3333
- }
3334
- return -1;
3335
- },
3336
- insertAt(index, ...values) {
3337
- this.splice(index, 0, ...values);
3338
- return this;
3339
- },
3340
- pop() {
3341
- const length = context.length(objectId);
3342
- if (length == 0) {
3343
- return void 0;
3344
- }
3345
- const last = valueAt(target, length - 1);
3346
- context.delete(objectId, length - 1);
3347
- return last;
3348
- },
3349
- push(...values) {
3350
- const len = context.length(objectId);
3351
- this.splice(len, 0, ...values);
3352
- return context.length(objectId);
3353
- },
3354
- shift() {
3355
- if (context.length(objectId) == 0)
3356
- return;
3357
- const first = valueAt(target, 0);
3358
- context.delete(objectId, 0);
3359
- return first;
3360
- },
3361
- splice(index, del, ...vals) {
3362
- index = parseListIndex(index);
3363
- if (typeof del !== "number") {
3364
- del = context.length(objectId) - index;
3365
- }
3366
- del = parseListIndex(del);
3367
- for (const val of vals) {
3368
- if (isSameDocument(val, context)) {
3369
- throw new RangeError("Cannot create a reference to an existing document object");
3370
- }
3371
- }
3372
- const result = [];
3373
- for (let i = 0; i < del; i++) {
3374
- const value = valueAt(target, index + i);
3375
- if (value !== void 0) {
3376
- result.push(value);
3377
- }
3378
- }
3379
- for (let i = 0; i < vals.length; i++) {
3380
- try {
3381
- validateForBatchInsert(vals[i], context, [...path, index + i]);
3382
- } catch (e) {
3383
- if (e instanceof RangeError) {
3384
- throw new RangeError(`${e.message} (at index ${i} in the input)`);
3385
- } else {
3386
- throw e;
3387
- }
3388
- }
3389
- }
3390
- context.spliceFromHydrate(objectId, index, del, vals);
3391
- return result;
3392
- },
3393
- unshift(...values) {
3394
- this.splice(0, 0, ...values);
3395
- return context.length(objectId);
3396
- },
3397
- entries() {
3398
- let i = 0;
3399
- const iterator = {
3400
- next: () => {
3401
- const value = valueAt(target, i);
3402
- if (value === void 0) {
3403
- return { value: void 0, done: true };
3404
- } else {
3405
- return { value: [i++, value], done: false };
3406
- }
3407
- },
3408
- [Symbol.iterator]() {
3409
- return this;
3410
- }
3411
- };
3412
- return iterator;
3413
- },
3414
- keys() {
3415
- let i = 0;
3416
- const len = context.length(objectId);
3417
- const iterator = {
3418
- next: () => {
3419
- if (i < len) {
3420
- return { value: i++, done: false };
3421
- }
3422
- return { value: void 0, done: true };
3423
- },
3424
- [Symbol.iterator]() {
3425
- return this;
3426
- }
3427
- };
3428
- return iterator;
3429
- },
3430
- values() {
3431
- let i = 0;
3432
- const iterator = {
3433
- next: () => {
3434
- const value = valueAt(target, i++);
3435
- if (value === void 0) {
3436
- return { value: void 0, done: true };
3437
- } else {
3438
- return { value, done: false };
3439
- }
3440
- },
3441
- [Symbol.iterator]() {
3442
- return this;
3443
- }
3444
- };
3445
- return iterator;
3446
- },
3447
- toArray() {
3448
- const list = [];
3449
- let value;
3450
- do {
3451
- value = valueAt(target, list.length);
3452
- if (value !== void 0) {
3453
- list.push(value);
3454
- }
3455
- } while (value !== void 0);
3456
- return list;
3457
- },
3458
- map(f) {
3459
- return this.toArray().map(f);
3460
- },
3461
- toString() {
3462
- return this.toArray().toString();
3463
- },
3464
- toLocaleString() {
3465
- return this.toArray().toLocaleString();
3466
- },
3467
- forEach(f) {
3468
- return this.toArray().forEach(f);
3469
- },
3470
- // todo: real concat function is different
3471
- concat(other) {
3472
- return this.toArray().concat(other);
3473
- },
3474
- every(f) {
3475
- return this.toArray().every(f);
3476
- },
3477
- filter(f) {
3478
- return this.toArray().filter(f);
3479
- },
3480
- find(f) {
3481
- let index = 0;
3482
- for (const v of this) {
3483
- if (f(v, index)) {
3484
- return v;
3485
- }
3486
- index += 1;
3487
- }
3488
- },
3489
- findIndex(f) {
3490
- let index = 0;
3491
- for (const v of this) {
3492
- if (f(v, index)) {
3493
- return index;
3494
- }
3495
- index += 1;
3496
- }
3497
- return -1;
3498
- },
3499
- includes(elem) {
3500
- return this.find((e) => e === elem) !== void 0;
3501
- },
3502
- join(sep) {
3503
- return this.toArray().join(sep);
3504
- },
3505
- reduce(f, initialValue) {
3506
- return this.toArray().reduce(f, initialValue);
3507
- },
3508
- reduceRight(f, initialValue) {
3509
- return this.toArray().reduceRight(f, initialValue);
3510
- },
3511
- lastIndexOf(search, fromIndex = Infinity) {
3512
- return this.toArray().lastIndexOf(search, fromIndex);
3513
- },
3514
- slice(index, num) {
3515
- return this.toArray().slice(index, num);
3516
- },
3517
- some(f) {
3518
- let index = 0;
3519
- for (const v of this) {
3520
- if (f(v, index)) {
3521
- return true;
3522
- }
3523
- index += 1;
3524
- }
3525
- return false;
3526
- },
3527
- [Symbol.iterator]: function* () {
3528
- let i = 0;
3529
- let value = valueAt(target, i);
3530
- while (value !== void 0) {
3531
- yield value;
3532
- i += 1;
3533
- value = valueAt(target, i);
3534
- }
3535
- }
3536
- };
3537
- return methods;
3538
- }
3539
- function printPath(path) {
3540
- const jsonPointerComponents = path.map((component) => {
3541
- if (typeof component === "number") {
3542
- return component.toString();
3543
- } else if (typeof component === "string") {
3544
- return component.replace(/~/g, "~0").replace(/\//g, "~1");
3545
- }
3546
- });
3547
- if (path.length === 0) {
3548
- return "";
3549
- } else {
3550
- return "/" + jsonPointerComponents.join("/");
3551
- }
3552
- }
3553
- function isImmutableString(obj) {
3554
- return typeof obj === "object" && obj !== null && Object.prototype.hasOwnProperty.call(obj, IMMUTABLE_STRING);
3555
- }
3556
-
3557
- // node_modules/.pnpm/@automerge+automerge@3.2.6/node_modules/@automerge/automerge/dist/mjs/internal_state.js
3558
- function _state(doc, checkroot = true) {
3559
- if (typeof doc !== "object") {
3560
- throw new RangeError("must be the document root");
3561
- }
3562
- const state = Reflect.get(doc, STATE);
3563
- if (state === void 0 || state == null || checkroot && _obj(doc) !== "_root") {
3564
- throw new RangeError("must be the document root");
3565
- }
3566
- return state;
3567
- }
3568
- function _trace(doc) {
3569
- return Reflect.get(doc, TRACE);
3570
- }
3571
- function _obj(doc) {
3572
- if (!(typeof doc === "object") || doc === null) {
3573
- return null;
3574
- }
3575
- return Reflect.get(doc, OBJECT_ID);
3576
- }
3577
- function _is_proxy(doc) {
3578
- return !!Reflect.get(doc, IS_PROXY);
3579
- }
3580
-
3581
- // node_modules/.pnpm/@automerge+automerge@3.2.6/node_modules/@automerge/automerge/dist/mjs/implementation.js
3582
- function importOpts(_actor) {
3583
- if (typeof _actor === "object") {
3584
- return _actor;
3585
- } else {
3586
- return { actor: _actor };
3587
- }
3588
- }
3589
- function getChangesSince(state, heads) {
3590
- const n = _state(state);
3591
- return n.handle.getChanges(heads);
3592
- }
3593
- function init(_opts) {
3594
- const opts = importOpts(_opts);
3595
- const freeze = !!opts.freeze;
3596
- const patchCallback = opts.patchCallback;
3597
- const actor = opts.actor;
3598
- const handle = ApiHandler.create({ actor });
3599
- handle.enableFreeze(!!opts.freeze);
3600
- registerDatatypes(handle);
3601
- const doc = handle.materialize("/", void 0, {
3602
- handle,
3603
- heads: void 0,
3604
- freeze,
3605
- patchCallback
3606
- });
3607
- return doc;
3608
- }
3609
- function from(initialState, _opts) {
3610
- const opts = importOpts(_opts);
3611
- if (typeof initialState !== "object" || Array.isArray(initialState)) {
3612
- initialState = Object.assign({}, initialState);
3613
- }
3614
- validateForBatchInsert(initialState, null, []);
3615
- const doc = init(_opts);
3616
- return _change(doc, "from", {}, (d) => {
3617
- _state(doc).handle.initRootFromHydrate(initialState);
3618
- return d;
3619
- }).newDoc;
3620
- }
3621
- function progressDocument(doc, source, heads, callback) {
3622
- if (heads == null) {
3623
- return doc;
3624
- }
3625
- const state = _state(doc);
3626
- const nextState = Object.assign(Object.assign({}, state), { heads: void 0 });
3627
- const { value: nextDoc, patches } = state.handle.applyAndReturnPatches(doc, nextState);
3628
- if (patches.length > 0) {
3629
- if (callback != null) {
3630
- callback(patches, { before: doc, after: nextDoc, source });
3631
- }
3632
- const newState = _state(nextDoc);
3633
- newState.mostRecentPatch = {
3634
- before: _state(doc).heads,
3635
- after: newState.handle.getHeads(),
3636
- patches
3637
- };
3638
- }
3639
- state.heads = heads;
3640
- return nextDoc;
3641
- }
3642
- function _change(doc, source, options, callback, scope) {
3643
- if (typeof callback !== "function") {
3644
- throw new RangeError("invalid change function");
3645
- }
3646
- const state = _state(doc);
3647
- if (doc === void 0 || state === void 0) {
3648
- throw new RangeError("must be the document root");
3649
- }
3650
- if (state.heads) {
3651
- throw new RangeError("Attempting to change an outdated document. Use Automerge.clone() if you wish to make a writable copy.");
3652
- }
3653
- if (_is_proxy(doc)) {
3654
- throw new RangeError("Calls to Automerge.change cannot be nested");
3655
- }
3656
- let heads = state.handle.getHeads();
3657
- if (scope && headsEqual(scope, heads)) {
3658
- scope = void 0;
3659
- }
3660
- if (scope) {
3661
- state.handle.isolate(scope);
3662
- heads = scope;
3663
- }
3664
- if (!("time" in options)) {
3665
- options.time = Math.floor(Date.now() / 1e3);
3666
- }
3667
- try {
3668
- state.heads = heads;
3669
- const root = rootProxy(state.handle);
3670
- callback(root);
3671
- if (state.handle.pendingOps() === 0) {
3672
- state.heads = void 0;
3673
- if (scope) {
3674
- state.handle.integrate();
3675
- }
3676
- return {
3677
- newDoc: doc,
3678
- newHeads: null
3679
- };
3680
- } else {
3681
- const newHead = state.handle.commit(options.message, options.time);
3682
- state.handle.integrate();
3683
- return {
3684
- newDoc: progressDocument(doc, source, heads, options.patchCallback || state.patchCallback),
3685
- newHeads: newHead != null ? [newHead] : null
3686
- };
3687
- }
3688
- } catch (e) {
3689
- state.heads = void 0;
3690
- state.handle.rollback();
3691
- throw e;
3692
- }
3693
- }
3694
- function load(data, _opts) {
3695
- const opts = importOpts(_opts);
3696
- if (opts.patchCallback) {
3697
- return loadIncremental(init(opts), data);
3698
- }
3699
- const actor = opts.actor;
3700
- const patchCallback = opts.patchCallback;
3701
- const unchecked = opts.unchecked || false;
3702
- const allowMissingDeps = opts.allowMissingChanges || false;
3703
- const convertImmutableStringsToText = opts.convertImmutableStringsToText || false;
3704
- const handle = ApiHandler.load(data, {
3705
- actor,
3706
- unchecked,
3707
- allowMissingDeps,
3708
- convertImmutableStringsToText
3709
- });
3710
- handle.enableFreeze(!!opts.freeze);
3711
- registerDatatypes(handle);
3712
- const doc = handle.materialize("/", void 0, {
3713
- handle,
3714
- heads: void 0,
3715
- patchCallback
3716
- });
3717
- return doc;
3718
- }
3719
- function loadIncremental(doc, data, opts) {
3720
- if (!opts) {
3721
- opts = {};
3722
- }
3723
- const state = _state(doc);
3724
- if (state.heads) {
3725
- throw new RangeError("Attempting to change an out of date document - set at: " + _trace(doc));
3726
- }
3727
- if (_is_proxy(doc)) {
3728
- throw new RangeError("Calls to Automerge.change cannot be nested");
3729
- }
3730
- const heads = state.handle.getHeads();
3731
- state.handle.loadIncremental(data);
3732
- return progressDocument(doc, "loadIncremental", heads, opts.patchCallback || state.patchCallback);
3733
- }
3734
- function save(doc) {
3735
- return _state(doc).handle.save();
3736
- }
3737
- function applyChanges(doc, changes, opts) {
3738
- const state = _state(doc);
3739
- if (!opts) {
3740
- opts = {};
3741
- }
3742
- if (state.heads) {
3743
- throw new RangeError("Attempting to change an outdated document. Use Automerge.clone() if you wish to make a writable copy.");
3744
- }
3745
- if (_is_proxy(doc)) {
3746
- throw new RangeError("Calls to Automerge.change cannot be nested");
3747
- }
3748
- const heads = state.handle.getHeads();
3749
- state.handle.applyChanges(changes);
3750
- state.heads = heads;
3751
- return [
3752
- progressDocument(doc, "applyChanges", heads, opts.patchCallback || state.patchCallback)
3753
- ];
3754
- }
3755
- function headsEqual(heads1, heads2) {
3756
- if (heads1.length !== heads2.length) {
3757
- return false;
3758
- }
3759
- for (let i = 0; i < heads1.length; i++) {
3760
- if (heads1[i] !== heads2[i]) {
3761
- return false;
3762
- }
3763
- }
3764
- return true;
3765
- }
3766
- function getHeads(doc) {
3767
- const state = _state(doc);
3768
- return state.heads || state.handle.getHeads();
3769
- }
3770
- function registerDatatypes(handle) {
3771
- handle.registerDatatype("counter", (n) => new Counter(n), (n) => {
3772
- if (n instanceof Counter) {
3773
- return n.value;
3774
- }
3775
- });
3776
- handle.registerDatatype("str", (n) => {
3777
- return new ImmutableString(n);
3778
- }, (s) => {
3779
- if (isImmutableString(s)) {
3780
- return s.val;
3781
- }
3782
- });
3783
- }
3784
-
3785
- // node_modules/.pnpm/@automerge+automerge@3.2.6/node_modules/@automerge/automerge/dist/mjs/entrypoints/fullfat_node.js
3786
- UseApi(api);
3787
-
3788
1
  // src/testing/index.ts
2
+ import * as Automerge from "@automerge/automerge";
3
+ import {
4
+ evaluateExpression,
5
+ parseMindooDBFormulaBooleanExpression
6
+ } from "mindoodb-view-language";
3789
7
  var PROTOCOL = "mindoodb-app-bridge";
3790
8
  function createBridgeErrorPayload(error, fallbackCode = "bridge-error") {
3791
9
  if (error && typeof error === "object" && "message" in error) {
@@ -4093,10 +311,12 @@ function createDefaultLaunchContext(patch) {
4093
311
  uiPreferences: {
4094
312
  iosMultitaskingOptimized: false
4095
313
  },
314
+ locale: "en",
4096
315
  user: {
4097
316
  id: "user-1",
4098
317
  username: "Test User"
4099
318
  },
319
+ licensedProducts: [],
4100
320
  launchParameters: {},
4101
321
  databases: [],
4102
322
  views: []
@@ -4142,19 +362,19 @@ function createDefaultWritableAttachmentStream() {
4142
362
  }
4143
363
  function loadMockAutomergeDocument(document) {
4144
364
  if (document.automergeBinary) {
4145
- return load(document.automergeBinary);
365
+ return Automerge.load(document.automergeBinary);
4146
366
  }
4147
- const initialDoc = from({
367
+ const initialDoc = Automerge.from({
4148
368
  ...structuredClone(document.data),
4149
369
  body: typeof document.data.body === "string" ? document.data.body : ""
4150
370
  });
4151
- document.automergeBinary = save(initialDoc);
371
+ document.automergeBinary = Automerge.save(initialDoc);
4152
372
  return initialDoc;
4153
373
  }
4154
374
  function persistMockAutomergeDocument(document, automergeDoc) {
4155
- document.automergeBinary = save(automergeDoc);
375
+ document.automergeBinary = Automerge.save(automergeDoc);
4156
376
  document.data = structuredClone(automergeDoc);
4157
- document.heads = getHeads(automergeDoc);
377
+ document.heads = Automerge.getHeads(automergeDoc);
4158
378
  }
4159
379
  function getFieldValue(source, field) {
4160
380
  return field.split(".").reduce((current, part) => {
@@ -4172,6 +392,12 @@ function matchesDocumentFilter(document, filter) {
4172
392
  ([field, expected]) => getFieldValue(document.data, field) === expected
4173
393
  );
4174
394
  }
395
+ function matchesMockIdPrefix(docId, idPrefix) {
396
+ if (!idPrefix) {
397
+ return true;
398
+ }
399
+ return docId === idPrefix || docId.startsWith(`${idPrefix}_`);
400
+ }
4175
401
  function decodeMockListCursor(cursor) {
4176
402
  if (!cursor) {
4177
403
  return 0;
@@ -4179,6 +405,138 @@ function decodeMockListCursor(cursor) {
4179
405
  const offset = Number.parseInt(cursor, 10);
4180
406
  return Number.isFinite(offset) && offset >= 0 ? offset : 0;
4181
407
  }
408
+ function mockExpressionToBoolean(value) {
409
+ if (typeof value === "boolean") {
410
+ return value;
411
+ }
412
+ if (typeof value === "number") {
413
+ return value !== 0;
414
+ }
415
+ if (typeof value === "string") {
416
+ const normalized = value.trim().toLowerCase();
417
+ return normalized !== "" && normalized !== "false" && normalized !== "0" && normalized !== "no";
418
+ }
419
+ return Boolean(value);
420
+ }
421
+ function compareMockQueryValues(left, right) {
422
+ const leftNumber = typeof left === "number" ? left : Number(left);
423
+ const rightNumber = typeof right === "number" ? right : Number(right);
424
+ if (Number.isFinite(leftNumber) && Number.isFinite(rightNumber)) {
425
+ return leftNumber - rightNumber;
426
+ }
427
+ return String(left ?? "").localeCompare(String(right ?? ""), void 0, {
428
+ sensitivity: "base"
429
+ });
430
+ }
431
+ function collectMockText(value, depth = 0) {
432
+ if (typeof value === "string") {
433
+ return value;
434
+ }
435
+ if (value === null || typeof value !== "object" || depth > 8) {
436
+ return "";
437
+ }
438
+ const parts = [];
439
+ for (const item of Array.isArray(value) ? value : Object.values(value)) {
440
+ const text = collectMockText(item, depth + 1);
441
+ if (text.length > 0) {
442
+ parts.push(text);
443
+ }
444
+ }
445
+ return parts.join(" ");
446
+ }
447
+ function mockTokenize(text) {
448
+ return text.toLowerCase().split(/[^\p{L}\p{N}]+/u).filter((token) => token.length > 0);
449
+ }
450
+ function computeMockTextScore(document, clause) {
451
+ const terms = mockTokenize(clause.query);
452
+ if (terms.length === 0) {
453
+ return void 0;
454
+ }
455
+ const haystack = clause.fields ? clause.fields.map((field) => collectMockText(getFieldValue(document.data, field))).join(" ") : collectMockText(
456
+ Object.fromEntries(
457
+ Object.entries(document.data).filter(([key]) => !key.startsWith("_"))
458
+ )
459
+ );
460
+ const tokens = mockTokenize(haystack);
461
+ const prefix = clause.prefix ?? true;
462
+ const combineWith = clause.combineWith ?? "AND";
463
+ let matchedTerms = 0;
464
+ let score = 0;
465
+ for (const term of terms) {
466
+ const occurrences = tokens.filter(
467
+ (token) => prefix ? token.startsWith(term) : token === term
468
+ ).length;
469
+ if (occurrences > 0) {
470
+ matchedTerms++;
471
+ score += occurrences;
472
+ }
473
+ }
474
+ const matches = combineWith === "AND" ? matchedTerms === terms.length : matchedTerms > 0;
475
+ return matches ? score : void 0;
476
+ }
477
+ function runMockDocumentQuery(storedDocuments, databaseId, query) {
478
+ const filter = typeof query?.filter === "string" ? parseMindooDBFormulaBooleanExpression(query.filter) : query?.filter;
479
+ const sortBy = query?.sortBy && query.sortBy.length > 0 ? query.sortBy : query?.text ? [{ special: "textScore", direction: "descending" }] : [];
480
+ const matches = [];
481
+ for (const document of storedDocuments.values()) {
482
+ if (document.isDeleted) {
483
+ continue;
484
+ }
485
+ let textScore;
486
+ if (query?.text) {
487
+ textScore = computeMockTextScore(document, query.text);
488
+ if (textScore === void 0) {
489
+ continue;
490
+ }
491
+ }
492
+ const context = {
493
+ doc: document.data,
494
+ values: {},
495
+ origin: databaseId,
496
+ variables: {}
497
+ };
498
+ if (filter && !mockExpressionToBoolean(evaluateExpression(filter, context))) {
499
+ continue;
500
+ }
501
+ const sortValues = sortBy.map((key) => {
502
+ if (key.special === "textScore") {
503
+ return textScore ?? 0;
504
+ }
505
+ return key.expression ? evaluateExpression(key.expression, context) : getFieldValue(document.data, key.field ?? "");
506
+ });
507
+ matches.push({ document, sortValues, textScore });
508
+ }
509
+ if (sortBy.length > 0) {
510
+ matches.sort((left, right) => {
511
+ for (let i = 0; i < sortBy.length; i++) {
512
+ const result = compareMockQueryValues(
513
+ left.sortValues[i],
514
+ right.sortValues[i]
515
+ );
516
+ if (result !== 0) {
517
+ return sortBy[i].direction === "descending" ? -result : result;
518
+ }
519
+ }
520
+ return left.document.id.localeCompare(right.document.id);
521
+ });
522
+ } else {
523
+ matches.sort((left, right) => left.document.id.localeCompare(right.document.id));
524
+ }
525
+ const offset = Math.max(0, query?.offset ?? 0);
526
+ const limit = Math.max(1, query?.limit ?? 200);
527
+ const rows = matches.slice(offset, offset + limit).map(({ document, textScore }) => ({
528
+ docId: document.id,
529
+ fields: query?.fields ? Object.fromEntries(
530
+ query.fields.map((field) => [
531
+ field,
532
+ getFieldValue(document.data, field)
533
+ ])
534
+ ) : structuredClone(document.data),
535
+ lastModified: document.updatedAt ? Date.parse(document.updatedAt) || 0 : 0,
536
+ ...textScore === void 0 ? {} : { textScore }
537
+ }));
538
+ return { rows, total: matches.length, coverage: "full" };
539
+ }
4182
540
  function createDefaultViewNavigator() {
4183
541
  const definition = {
4184
542
  title: "Mock View",
@@ -4209,6 +567,10 @@ function createDefaultViewNavigator() {
4209
567
  async refresh() {
4210
568
  return viewCursor;
4211
569
  },
570
+ onDidUpdate(_listener) {
571
+ return () => {
572
+ };
573
+ },
4212
574
  async getCurrentEntry() {
4213
575
  return null;
4214
576
  },
@@ -4388,16 +750,66 @@ function createDatabaseHandle(definition) {
4388
750
  let changeCounter = 0;
4389
751
  const defaultViewFactory = async () => createDefaultViewNavigator();
4390
752
  const storedDocuments = /* @__PURE__ */ new Map();
753
+ const liveQuerySubscriptions = /* @__PURE__ */ new Set();
754
+ const notifyLiveQueries = () => {
755
+ for (const subscription of liveQuerySubscriptions) {
756
+ const result = runMockDocumentQuery(
757
+ storedDocuments,
758
+ definition.info.id,
759
+ subscription.query
760
+ );
761
+ const resultJson = JSON.stringify(result);
762
+ if (resultJson !== subscription.lastResultJson) {
763
+ subscription.lastResultJson = resultJson;
764
+ subscription.onResult(result);
765
+ }
766
+ }
767
+ };
4391
768
  const defaultDocuments = {
769
+ async query(query) {
770
+ return runMockDocumentQuery(storedDocuments, definition.info.id, query);
771
+ },
772
+ async liveQuery(query, onResult) {
773
+ const initial = runMockDocumentQuery(
774
+ storedDocuments,
775
+ definition.info.id,
776
+ query
777
+ );
778
+ const subscription = {
779
+ query,
780
+ onResult,
781
+ lastResultJson: JSON.stringify(initial)
782
+ };
783
+ liveQuerySubscriptions.add(subscription);
784
+ onResult(initial);
785
+ return {
786
+ refresh: async () => {
787
+ if (!liveQuerySubscriptions.has(subscription)) {
788
+ return;
789
+ }
790
+ const result = runMockDocumentQuery(
791
+ storedDocuments,
792
+ definition.info.id,
793
+ query
794
+ );
795
+ subscription.lastResultJson = JSON.stringify(result);
796
+ onResult(result);
797
+ },
798
+ dispose: async () => {
799
+ liveQuerySubscriptions.delete(subscription);
800
+ }
801
+ };
802
+ },
4392
803
  async list(query) {
4393
804
  const status = query?.status ?? "existing";
4394
805
  const skip = Math.max(0, query?.skip ?? 0);
4395
806
  const limit = Math.max(1, query?.limit ?? 50);
4396
807
  const offset = decodeMockListCursor(query?.cursor) + skip;
4397
808
  const metadataOnly = query?.metadataOnly ?? false;
809
+ const idPrefix = query?.idPrefix;
4398
810
  const items = Array.from(storedDocuments.values()).filter(
4399
811
  (document) => status === "all" ? true : status === "deleted" ? document.isDeleted : !document.isDeleted
4400
- ).filter(
812
+ ).filter((document) => matchesMockIdPrefix(document.id, idPrefix)).filter(
4401
813
  (document) => metadataOnly ? true : matchesDocumentFilter(document, query?.filter)
4402
814
  ).sort((left, right) => left.id.localeCompare(right.id));
4403
815
  const page = items.slice(offset, offset + limit).map((document) => {
@@ -4463,8 +875,8 @@ function createDatabaseHandle(definition) {
4463
875
  }
4464
876
  const automergeDoc = loadMockAutomergeDocument(document);
4465
877
  return {
4466
- binary: save(automergeDoc),
4467
- heads: getHeads(automergeDoc)
878
+ binary: Automerge.save(automergeDoc),
879
+ heads: Automerge.getHeads(automergeDoc)
4468
880
  };
4469
881
  },
4470
882
  async applyAutomergeChanges(docId, patch) {
@@ -4473,7 +885,7 @@ function createDatabaseHandle(definition) {
4473
885
  throw new Error(`Document ${docId} was not found.`);
4474
886
  }
4475
887
  const currentDoc = loadMockAutomergeDocument(document);
4476
- const [mergedDoc] = applyChanges(
888
+ const [mergedDoc] = Automerge.applyChanges(
4477
889
  currentDoc,
4478
890
  patch.changes.map((change) => new Uint8Array(change))
4479
891
  );
@@ -4482,7 +894,7 @@ function createDatabaseHandle(definition) {
4482
894
  const mergedHeads = document.heads ? [...document.heads] : [];
4483
895
  let changesSince;
4484
896
  if (patch.replicaHeads?.length) {
4485
- const missingChanges = getChangesSince(
897
+ const missingChanges = Automerge.getChangesSince(
4486
898
  mergedDoc,
4487
899
  patch.replicaHeads
4488
900
  );
@@ -4504,6 +916,9 @@ function createDatabaseHandle(definition) {
4504
916
  };
4505
917
  },
4506
918
  async create(input) {
919
+ if (input.id !== void 0 && input.idPrefix !== void 0) {
920
+ throw new Error("documents.create: id and idPrefix are mutually exclusive");
921
+ }
4507
922
  const callerId = typeof input.id === "string" && input.id.length > 0 ? input.id : null;
4508
923
  if (callerId) {
4509
924
  const existing = storedDocuments.get(callerId);
@@ -4512,6 +927,7 @@ function createDatabaseHandle(definition) {
4512
927
  existing.isDeleted = false;
4513
928
  existing.updatedAt = (/* @__PURE__ */ new Date()).toISOString();
4514
929
  existing.heads = [`mock-head-${++changeCounter}`];
930
+ notifyLiveQueries();
4515
931
  }
4516
932
  return {
4517
933
  id: existing.id,
@@ -4525,6 +941,9 @@ function createDatabaseHandle(definition) {
4525
941
  let id;
4526
942
  if (callerId) {
4527
943
  id = callerId;
944
+ } else if (typeof input.idPrefix === "string" && input.idPrefix.length > 0) {
945
+ createCounter += 1;
946
+ id = `${input.idPrefix}_${String(createCounter).padStart(22, "0")}`;
4528
947
  } else {
4529
948
  createCounter += 1;
4530
949
  id = `doc-${createCounter}`;
@@ -4543,10 +962,19 @@ function createDatabaseHandle(definition) {
4543
962
  attachments: [],
4544
963
  isDeleted: false
4545
964
  });
965
+ notifyLiveQueries();
4546
966
  return {
4547
967
  ...created
4548
968
  };
4549
969
  },
970
+ async createMany(inputs) {
971
+ const ids = [];
972
+ for (const input of inputs) {
973
+ const created = await defaultDocuments.create(input);
974
+ ids.push(created.id);
975
+ }
976
+ return { ids };
977
+ },
4550
978
  async update(docId, patch) {
4551
979
  const updatedAt = (/* @__PURE__ */ new Date()).toISOString();
4552
980
  const existing = storedDocuments.get(docId);
@@ -4564,6 +992,7 @@ function createDatabaseHandle(definition) {
4564
992
  isDeleted: false,
4565
993
  automergeBinary: void 0
4566
994
  });
995
+ notifyLiveQueries();
4567
996
  return updated;
4568
997
  },
4569
998
  async delete(_docId) {
@@ -4574,6 +1003,13 @@ function createDatabaseHandle(definition) {
4574
1003
  isDeleted: true,
4575
1004
  updatedAt: (/* @__PURE__ */ new Date()).toISOString()
4576
1005
  });
1006
+ notifyLiveQueries();
1007
+ }
1008
+ return { ok: true };
1009
+ },
1010
+ async deleteMany(docIds) {
1011
+ for (const docId of docIds) {
1012
+ await defaultDocuments.delete(docId);
4577
1013
  }
4578
1014
  return { ok: true };
4579
1015
  },
@@ -4586,9 +1022,25 @@ function createDatabaseHandle(definition) {
4586
1022
  heads: [`mock-head-${++changeCounter}`],
4587
1023
  updatedAt: (/* @__PURE__ */ new Date()).toISOString()
4588
1024
  });
1025
+ notifyLiveQueries();
4589
1026
  }
4590
1027
  return { ok: true };
4591
1028
  },
1029
+ async canCreate() {
1030
+ return { allowed: true, reason: "allowed (test host)", tier: "tier1" };
1031
+ },
1032
+ async canChange(_docId) {
1033
+ return { allowed: true, reason: "allowed (test host)", tier: "tier1" };
1034
+ },
1035
+ async canDelete(_docId) {
1036
+ return { allowed: true, reason: "allowed (test host)", tier: "tier1" };
1037
+ },
1038
+ async canUndelete(_docId) {
1039
+ return { allowed: true, reason: "allowed (test host)", tier: "tier1" };
1040
+ },
1041
+ async getDefaultCreateKeyId() {
1042
+ return "default";
1043
+ },
4592
1044
  async listHistory(_docId) {
4593
1045
  return [];
4594
1046
  },
@@ -4656,6 +1108,8 @@ function createDatabaseHandle(definition) {
4656
1108
  }
4657
1109
  };
4658
1110
  const methods = definition.methods ?? {};
1111
+ let fulltextSetup = definition.fulltextSetup ?? null;
1112
+ let extractionSetup = definition.extractionSetup ?? null;
4659
1113
  return {
4660
1114
  async info() {
4661
1115
  return {
@@ -4670,6 +1124,18 @@ function createDatabaseHandle(definition) {
4670
1124
  attachments: {
4671
1125
  ...defaultAttachments,
4672
1126
  ...methods.attachments
1127
+ },
1128
+ async getFulltextSetup() {
1129
+ return fulltextSetup === null ? null : { ...fulltextSetup };
1130
+ },
1131
+ async setFulltextSetup(config) {
1132
+ fulltextSetup = config === null ? null : { ...config };
1133
+ },
1134
+ async getExtractionSetup() {
1135
+ return extractionSetup === null ? null : { ...extractionSetup };
1136
+ },
1137
+ async setExtractionSetup(config) {
1138
+ extractionSetup = config === null ? null : { ...config };
4673
1139
  }
4674
1140
  };
4675
1141
  }
@@ -4678,6 +1144,7 @@ function createMockSessionState(options = {}) {
4678
1144
  const themeListeners = /* @__PURE__ */ new Set();
4679
1145
  const viewportListeners = /* @__PURE__ */ new Set();
4680
1146
  const uiPreferencesListeners = /* @__PURE__ */ new Set();
1147
+ const localeListeners = /* @__PURE__ */ new Set();
4681
1148
  const databaseHandles = /* @__PURE__ */ new Map();
4682
1149
  const databaseViewApis = /* @__PURE__ */ new Map();
4683
1150
  const sessionViews = /* @__PURE__ */ new Map();
@@ -4731,6 +1198,9 @@ function createMockSessionState(options = {}) {
4731
1198
  async getLaunchContext() {
4732
1199
  return mergeLaunchContext(launchContext);
4733
1200
  },
1201
+ async getLicensedProducts() {
1202
+ return [...launchContext.licensedProducts ?? []];
1203
+ },
4734
1204
  async listDatabases() {
4735
1205
  return databaseInfos.map((entry) => ({
4736
1206
  ...entry,
@@ -4757,13 +1227,13 @@ function createMockSessionState(options = {}) {
4757
1227
  "At least one test database is required for view creation."
4758
1228
  );
4759
1229
  }
4760
- const api2 = databaseViewApis.get(firstDatabaseId);
4761
- if (!api2) {
1230
+ const api = databaseViewApis.get(firstDatabaseId);
1231
+ if (!api) {
4762
1232
  throw new Error(
4763
1233
  `Unknown test database for view creation: ${firstDatabaseId}`
4764
1234
  );
4765
1235
  }
4766
- const view = await api2.create(input);
1236
+ const view = await api.create(input);
4767
1237
  const viewId = input.definition.id || crypto.randomUUID();
4768
1238
  sessionViews.set(viewId, view);
4769
1239
  return view;
@@ -4779,13 +1249,13 @@ function createMockSessionState(options = {}) {
4779
1249
  if (!sourceDatabaseId) {
4780
1250
  throw new Error(`Unknown test view: ${viewId}`);
4781
1251
  }
4782
- const api2 = databaseViewApis.get(sourceDatabaseId);
4783
- if (!api2) {
1252
+ const api = databaseViewApis.get(sourceDatabaseId);
1253
+ if (!api) {
4784
1254
  throw new Error(
4785
1255
  `Unknown test database for view ${viewId}: ${sourceDatabaseId}`
4786
1256
  );
4787
1257
  }
4788
- const view = await api2.open(viewId, options2);
1258
+ const view = await api.open(viewId, options2);
4789
1259
  sessionViews.set(viewId, view);
4790
1260
  return view;
4791
1261
  },
@@ -4808,6 +1278,12 @@ function createMockSessionState(options = {}) {
4808
1278
  uiPreferencesListeners.delete(listener);
4809
1279
  };
4810
1280
  },
1281
+ onLocaleChange(listener) {
1282
+ localeListeners.add(listener);
1283
+ return () => {
1284
+ localeListeners.delete(listener);
1285
+ };
1286
+ },
4811
1287
  async disconnect() {
4812
1288
  await options.onDisconnect?.();
4813
1289
  }
@@ -4839,6 +1315,9 @@ function createMockSessionState(options = {}) {
4839
1315
  }
4840
1316
  return database;
4841
1317
  },
1318
+ getLicensedProducts() {
1319
+ return [...launchContext.licensedProducts ?? []];
1320
+ },
4842
1321
  createViewNavigator: session.createViewNavigator,
4843
1322
  openViewNavigator: session.openViewNavigator,
4844
1323
  bridge,
@@ -4858,6 +1337,10 @@ function createMockSessionState(options = {}) {
4858
1337
  uiPreferencesListeners.forEach(
4859
1338
  (listener) => listener({ ...launchContext.uiPreferences })
4860
1339
  );
1340
+ },
1341
+ emitLocaleChange(locale) {
1342
+ launchContext = mergeLaunchContext(launchContext, { locale });
1343
+ localeListeners.forEach((listener) => listener(launchContext.locale));
4861
1344
  }
4862
1345
  };
4863
1346
  }
@@ -4868,11 +1351,13 @@ function createMockMindooDBAppSession(options = {}) {
4868
1351
  session: state.session,
4869
1352
  getLaunchContext: state.getLaunchContext,
4870
1353
  setLaunchContext: state.setLaunchContext,
1354
+ getLicensedProducts: state.getLicensedProducts,
4871
1355
  listDatabases: state.listDatabaseInfos,
4872
1356
  setDatabases: state.setDatabases,
4873
1357
  emitThemeChange: state.emitThemeChange,
4874
1358
  emitViewportChange: state.emitViewportChange,
4875
- emitUiPreferencesChange: state.emitUiPreferencesChange
1359
+ emitUiPreferencesChange: state.emitUiPreferencesChange,
1360
+ emitLocaleChange: state.emitLocaleChange
4876
1361
  };
4877
1362
  }
4878
1363
  function createMockMindooDBAppBridge(options = {}) {
@@ -4888,8 +1373,10 @@ function createFakeBridgeHost(options = {}) {
4888
1373
  const viewSessions = /* @__PURE__ */ new Map();
4889
1374
  const readStreams = /* @__PURE__ */ new Map();
4890
1375
  const writeStreams = /* @__PURE__ */ new Map();
1376
+ const liveQueries = /* @__PURE__ */ new Map();
4891
1377
  let viewCounter = 0;
4892
1378
  let streamCounter = 0;
1379
+ let liveQueryCounter = 0;
4893
1380
  let previousWindowDescriptor = Object.getOwnPropertyDescriptor(
4894
1381
  globalThis,
4895
1382
  "window"
@@ -5034,6 +1521,8 @@ function createFakeBridgeHost(options = {}) {
5034
1521
  switch (request.method) {
5035
1522
  case "session.getLaunchContext":
5036
1523
  return state.getLaunchContext();
1524
+ case "session.getLicensedProducts":
1525
+ return state.getLicensedProducts();
5037
1526
  case "session.listDatabases":
5038
1527
  return state.listDatabaseInfos();
5039
1528
  case "session.openDatabase":
@@ -5075,6 +1564,62 @@ function createFakeBridgeHost(options = {}) {
5075
1564
  );
5076
1565
  case "documents.getHeadCursor":
5077
1566
  return await state.getDatabase(String(params.databaseId)).documents.getHeadCursor();
1567
+ case "database.getFulltextSetup":
1568
+ return {
1569
+ config: await state.getDatabase(String(params.databaseId)).getFulltextSetup()
1570
+ };
1571
+ case "database.setFulltextSetup":
1572
+ await state.getDatabase(String(params.databaseId)).setFulltextSetup(
1573
+ params.config ?? null
1574
+ );
1575
+ return { ok: true };
1576
+ case "database.getExtractionSetup":
1577
+ return {
1578
+ config: await state.getDatabase(String(params.databaseId)).getExtractionSetup()
1579
+ };
1580
+ case "database.setExtractionSetup":
1581
+ await state.getDatabase(String(params.databaseId)).setExtractionSetup(
1582
+ params.config ?? null
1583
+ );
1584
+ return { ok: true };
1585
+ case "documents.query":
1586
+ return await state.getDatabase(String(params.databaseId)).documents.query(
1587
+ params.query
1588
+ );
1589
+ case "documents.liveQuery.subscribe": {
1590
+ const subscriptionId = `live-query-${liveQueryCounter += 1}`;
1591
+ let initialResult = null;
1592
+ let initialDelivered = false;
1593
+ const handle = await state.getDatabase(String(params.databaseId)).documents.liveQuery(
1594
+ params.query,
1595
+ (result) => {
1596
+ if (!initialDelivered) {
1597
+ initialDelivered = true;
1598
+ initialResult = result;
1599
+ return;
1600
+ }
1601
+ const payload = {
1602
+ protocol: PROTOCOL,
1603
+ kind: "query-result",
1604
+ subscriptionId,
1605
+ result
1606
+ };
1607
+ connectedPorts.forEach((port) => port.postMessage(payload));
1608
+ }
1609
+ );
1610
+ liveQueries.set(subscriptionId, handle);
1611
+ return { subscriptionId, result: initialResult };
1612
+ }
1613
+ case "documents.liveQuery.refresh": {
1614
+ await liveQueries.get(String(params.subscriptionId))?.refresh();
1615
+ return { ok: true };
1616
+ }
1617
+ case "documents.liveQuery.unsubscribe": {
1618
+ const key = String(params.subscriptionId);
1619
+ await liveQueries.get(key)?.dispose();
1620
+ liveQueries.delete(key);
1621
+ return { ok: true };
1622
+ }
5078
1623
  case "documents.get":
5079
1624
  return await state.getDatabase(String(params.databaseId)).documents.get(String(params.docId));
5080
1625
  case "documents.richText.get":
@@ -5105,6 +1650,18 @@ function createFakeBridgeHost(options = {}) {
5105
1650
  return await state.getDatabase(String(params.databaseId)).documents.delete(String(params.docId));
5106
1651
  case "documents.undelete":
5107
1652
  return await state.getDatabase(String(params.databaseId)).documents.undelete(String(params.docId));
1653
+ case "documents.canCreate":
1654
+ return await state.getDatabase(String(params.databaseId)).documents.canCreate(
1655
+ params.input
1656
+ );
1657
+ case "documents.canChange":
1658
+ return await state.getDatabase(String(params.databaseId)).documents.canChange(String(params.docId));
1659
+ case "documents.canDelete":
1660
+ return await state.getDatabase(String(params.databaseId)).documents.canDelete(String(params.docId));
1661
+ case "documents.canUndelete":
1662
+ return await state.getDatabase(String(params.databaseId)).documents.canUndelete(String(params.docId));
1663
+ case "documents.getDefaultCreateKeyId":
1664
+ return await state.getDatabase(String(params.databaseId)).documents.getDefaultCreateKeyId();
5108
1665
  case "documents.history.list":
5109
1666
  return await state.getDatabase(String(params.databaseId)).documents.listHistory(String(params.docId));
5110
1667
  case "documents.history.getAtTimestamp":
@@ -5436,6 +1993,10 @@ function createFakeBridgeHost(options = {}) {
5436
1993
  viewSessions.clear();
5437
1994
  readStreams.clear();
5438
1995
  writeStreams.clear();
1996
+ liveQueries.forEach((handle) => {
1997
+ void handle.dispose();
1998
+ });
1999
+ liveQueries.clear();
5439
2000
  },
5440
2001
  emitThemeChange(theme) {
5441
2002
  state.emitThemeChange(theme);
@@ -5464,6 +2025,33 @@ function createFakeBridgeHost(options = {}) {
5464
2025
  };
5465
2026
  connectedPorts.forEach((port) => port.postMessage(payload));
5466
2027
  },
2028
+ emitLocaleChange(locale) {
2029
+ state.emitLocaleChange(locale);
2030
+ const payload = {
2031
+ protocol: PROTOCOL,
2032
+ kind: "locale-changed",
2033
+ locale
2034
+ };
2035
+ connectedPorts.forEach((port) => port.postMessage(payload));
2036
+ },
2037
+ emitQueryResult(subscriptionId, result) {
2038
+ const payload = {
2039
+ protocol: PROTOCOL,
2040
+ kind: "query-result",
2041
+ subscriptionId,
2042
+ result
2043
+ };
2044
+ connectedPorts.forEach((port) => port.postMessage(payload));
2045
+ },
2046
+ emitViewChanged(navigatorId, stats) {
2047
+ const payload = {
2048
+ protocol: PROTOCOL,
2049
+ kind: "view-changed",
2050
+ navigatorId,
2051
+ stats
2052
+ };
2053
+ connectedPorts.forEach((port) => port.postMessage(payload));
2054
+ },
5467
2055
  postPortMessage(message, transfer = []) {
5468
2056
  connectedPorts.forEach((port) => port.postMessage(message, transfer));
5469
2057
  },