mindoodb-app-sdk 0.0.18 → 0.0.20

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,3 +1,3790 @@
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
+
1
3788
  // src/testing/index.ts
2
3789
  var PROTOCOL = "mindoodb-app-bridge";
3
3790
  function createBridgeErrorPayload(error, fallbackCode = "bridge-error") {
@@ -26,6 +3813,13 @@ function applyDocumentUpdatePatch(current, patch) {
26
3813
  for (const textPatch of patch.text ?? []) {
27
3814
  applyMockTextPatch(next, textPatch.path, textPatch.edits);
28
3815
  }
3816
+ for (const richTextPatch of patch.richText ?? []) {
3817
+ const spans = richTextPatch.spansSequence?.at(-1) ?? richTextPatch.spans ?? [];
3818
+ setValueAtPath(next, richTextPatch.path, structuredClone(spans));
3819
+ }
3820
+ for (const richTextStepPatch of patch.richTextSteps ?? []) {
3821
+ applyMockRichTextSteps(next, richTextStepPatch.path, richTextStepPatch.steps);
3822
+ }
29
3823
  return next;
30
3824
  }
31
3825
  function applyMockJsonPatch(target, patch) {
@@ -46,6 +3840,19 @@ function applyMockJsonPatch(target, patch) {
46
3840
  const list = readListAtPath(target, operation.path);
47
3841
  list.splice(operation.index, 0, ...structuredClone(operation.values));
48
3842
  }
3843
+ for (const operation of patch.textSplice ?? []) {
3844
+ applyMockTextPatch(target, operation.path, [{
3845
+ index: operation.index,
3846
+ deleteCount: operation.deleteCount,
3847
+ ...operation.insert !== void 0 ? { insert: operation.insert } : {}
3848
+ }]);
3849
+ }
3850
+ for (const operation of patch.textMark ?? []) {
3851
+ applyMockTextMarks(target, operation.path, operation.index, operation.length, operation.marks, false);
3852
+ }
3853
+ for (const operation of patch.textUnmark ?? []) {
3854
+ applyMockTextMarks(target, operation.path, operation.index, operation.length, Object.fromEntries(operation.names.map((name) => [name, null])), true);
3855
+ }
49
3856
  }
50
3857
  function setValueAtPath(target, path, value) {
51
3858
  if (path.length === 0) {
@@ -125,6 +3932,61 @@ function applyMockTextPatch(target, path, edits) {
125
3932
  }
126
3933
  parent[leaf] = value;
127
3934
  }
3935
+ function applyMockTextMarks(target, path, index, length, marks, remove) {
3936
+ const parent = ensureParentAtPath(target, path);
3937
+ const leaf = path[path.length - 1];
3938
+ const marksKey = `${String(leaf)}__marks`;
3939
+ const existing = Array.isArray(parent[marksKey]) ? parent[marksKey] : [];
3940
+ parent[marksKey] = [
3941
+ ...existing,
3942
+ {
3943
+ index,
3944
+ length,
3945
+ marks: structuredClone(marks),
3946
+ remove
3947
+ }
3948
+ ];
3949
+ }
3950
+ function readRichTextSpansAtPath(target, path) {
3951
+ let value = target;
3952
+ for (const segment of path) {
3953
+ if (value == null || typeof value !== "object") {
3954
+ return [];
3955
+ }
3956
+ value = value[segment];
3957
+ }
3958
+ if (typeof value === "string") {
3959
+ return value.length > 0 ? [{ type: "text", value }] : [];
3960
+ }
3961
+ return Array.isArray(value) ? value : [];
3962
+ }
3963
+ function applyMockRichTextSteps(target, path, steps) {
3964
+ if (path.length === 0) {
3965
+ throw new Error("Rich-text steps path must contain at least one segment");
3966
+ }
3967
+ const parent = ensureParentAtPath(target, path);
3968
+ const leaf = path[path.length - 1];
3969
+ let text = materializeMockRichTextValue(parent[leaf]);
3970
+ for (const step of steps) {
3971
+ text = text.slice(0, step.index) + (step.insert ?? "") + text.slice(step.index + step.deleteCount);
3972
+ }
3973
+ parent[leaf] = text;
3974
+ }
3975
+ function materializeMockRichTextValue(value) {
3976
+ if (typeof value === "string") {
3977
+ return value;
3978
+ }
3979
+ if (!Array.isArray(value)) {
3980
+ return "";
3981
+ }
3982
+ return value.map((span) => {
3983
+ if (!span || typeof span !== "object") {
3984
+ return "";
3985
+ }
3986
+ const record = span;
3987
+ return record.type === "text" && typeof record.value === "string" ? record.value : "";
3988
+ }).join("");
3989
+ }
128
3990
  function mergeLaunchContext(current, patch) {
129
3991
  if (!patch) {
130
3992
  return {
@@ -278,6 +4140,22 @@ function createDefaultWritableAttachmentStream() {
278
4140
  }
279
4141
  };
280
4142
  }
4143
+ function loadMockAutomergeDocument(document) {
4144
+ if (document.automergeBinary) {
4145
+ return load(document.automergeBinary);
4146
+ }
4147
+ const initialDoc = from({
4148
+ ...structuredClone(document.data),
4149
+ body: typeof document.data.body === "string" ? document.data.body : ""
4150
+ });
4151
+ document.automergeBinary = save(initialDoc);
4152
+ return initialDoc;
4153
+ }
4154
+ function persistMockAutomergeDocument(document, automergeDoc) {
4155
+ document.automergeBinary = save(automergeDoc);
4156
+ document.data = structuredClone(automergeDoc);
4157
+ document.heads = getHeads(automergeDoc);
4158
+ }
281
4159
  function getFieldValue(source, field) {
282
4160
  return field.split(".").reduce((current, part) => {
283
4161
  if (current && typeof current === "object" && part in current) {
@@ -567,6 +4445,64 @@ function createDatabaseHandle(definition) {
567
4445
  updatedAt: document.updatedAt
568
4446
  };
569
4447
  },
4448
+ async getRichText(docId, path, _options) {
4449
+ const document = storedDocuments.get(docId);
4450
+ if (!document || document.isDeleted) {
4451
+ throw new Error(`Document ${docId} was not found.`);
4452
+ }
4453
+ return {
4454
+ path: [...path],
4455
+ heads: document.heads ? [...document.heads] : void 0,
4456
+ spans: structuredClone(readRichTextSpansAtPath(document.data, path))
4457
+ };
4458
+ },
4459
+ async getAutomergeSnapshot(docId, _options) {
4460
+ const document = storedDocuments.get(docId);
4461
+ if (!document || document.isDeleted) {
4462
+ throw new Error(`Document ${docId} was not found.`);
4463
+ }
4464
+ const automergeDoc = loadMockAutomergeDocument(document);
4465
+ return {
4466
+ binary: save(automergeDoc),
4467
+ heads: getHeads(automergeDoc)
4468
+ };
4469
+ },
4470
+ async applyAutomergeChanges(docId, patch) {
4471
+ const document = storedDocuments.get(docId);
4472
+ if (!document || document.isDeleted) {
4473
+ throw new Error(`Document ${docId} was not found.`);
4474
+ }
4475
+ const currentDoc = loadMockAutomergeDocument(document);
4476
+ const [mergedDoc] = applyChanges(
4477
+ currentDoc,
4478
+ patch.changes.map((change) => new Uint8Array(change))
4479
+ );
4480
+ persistMockAutomergeDocument(document, mergedDoc);
4481
+ document.updatedAt = (/* @__PURE__ */ new Date()).toISOString();
4482
+ const mergedHeads = document.heads ? [...document.heads] : [];
4483
+ let changesSince;
4484
+ if (patch.replicaHeads?.length) {
4485
+ const missingChanges = getChangesSince(
4486
+ mergedDoc,
4487
+ patch.replicaHeads
4488
+ );
4489
+ changesSince = {
4490
+ sinceHeads: [...patch.replicaHeads],
4491
+ changes: missingChanges.map((change) => cloneBytes(new Uint8Array(change)))
4492
+ };
4493
+ }
4494
+ return {
4495
+ document: {
4496
+ id: document.id,
4497
+ data: structuredClone(document.data),
4498
+ heads: mergedHeads,
4499
+ attachments: document.attachments ? structuredClone(document.attachments) : [],
4500
+ updatedAt: document.updatedAt
4501
+ },
4502
+ heads: mergedHeads,
4503
+ changesSince
4504
+ };
4505
+ },
570
4506
  async create(input) {
571
4507
  const callerId = typeof input.id === "string" && input.id.length > 0 ? input.id : null;
572
4508
  if (callerId) {
@@ -625,7 +4561,8 @@ function createDatabaseHandle(definition) {
625
4561
  ...updated,
626
4562
  data: structuredClone(updated.data),
627
4563
  attachments: updated.attachments ? structuredClone(updated.attachments) : [],
628
- isDeleted: false
4564
+ isDeleted: false,
4565
+ automergeBinary: void 0
629
4566
  });
630
4567
  return updated;
631
4568
  },
@@ -820,13 +4757,13 @@ function createMockSessionState(options = {}) {
820
4757
  "At least one test database is required for view creation."
821
4758
  );
822
4759
  }
823
- const api = databaseViewApis.get(firstDatabaseId);
824
- if (!api) {
4760
+ const api2 = databaseViewApis.get(firstDatabaseId);
4761
+ if (!api2) {
825
4762
  throw new Error(
826
4763
  `Unknown test database for view creation: ${firstDatabaseId}`
827
4764
  );
828
4765
  }
829
- const view = await api.create(input);
4766
+ const view = await api2.create(input);
830
4767
  const viewId = input.definition.id || crypto.randomUUID();
831
4768
  sessionViews.set(viewId, view);
832
4769
  return view;
@@ -842,13 +4779,13 @@ function createMockSessionState(options = {}) {
842
4779
  if (!sourceDatabaseId) {
843
4780
  throw new Error(`Unknown test view: ${viewId}`);
844
4781
  }
845
- const api = databaseViewApis.get(sourceDatabaseId);
846
- if (!api) {
4782
+ const api2 = databaseViewApis.get(sourceDatabaseId);
4783
+ if (!api2) {
847
4784
  throw new Error(
848
4785
  `Unknown test database for view ${viewId}: ${sourceDatabaseId}`
849
4786
  );
850
4787
  }
851
- const view = await api.open(viewId, options2);
4788
+ const view = await api2.open(viewId, options2);
852
4789
  sessionViews.set(viewId, view);
853
4790
  return view;
854
4791
  },
@@ -1140,6 +5077,21 @@ function createFakeBridgeHost(options = {}) {
1140
5077
  return await state.getDatabase(String(params.databaseId)).documents.getHeadCursor();
1141
5078
  case "documents.get":
1142
5079
  return await state.getDatabase(String(params.databaseId)).documents.get(String(params.docId));
5080
+ case "documents.richText.get":
5081
+ return await state.getDatabase(String(params.databaseId)).documents.getRichText(
5082
+ String(params.docId),
5083
+ params.path
5084
+ );
5085
+ case "documents.automerge.getSnapshot":
5086
+ return await state.getDatabase(String(params.databaseId)).documents.getAutomergeSnapshot(
5087
+ String(params.docId),
5088
+ { revisionId: params.revisionId }
5089
+ );
5090
+ case "documents.automerge.applyChanges":
5091
+ return await state.getDatabase(String(params.databaseId)).documents.applyAutomergeChanges(
5092
+ String(params.docId),
5093
+ params.patch
5094
+ );
1143
5095
  case "documents.create":
1144
5096
  return await state.getDatabase(String(params.databaseId)).documents.create(
1145
5097
  params.input