loro-crdt 1.9.0 → 1.10.0

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,6 +1,15 @@
1
1
  /* tslint:disable */
2
2
  /* eslint-disable */
3
- export function callPendingEvents(): void;
3
+ /**
4
+ * Get the version of Loro
5
+ */
6
+ export function LORO_VERSION(): string;
7
+ /**
8
+ * Enable debug info of Loro
9
+ */
10
+ export function setDebug(): void;
11
+ export function run(): void;
12
+ export function decodeFrontiers(bytes: Uint8Array): { peer: PeerID, counter: number }[];
4
13
  /**
5
14
  * Redacts sensitive content in JSON updates within the specified version range.
6
15
  *
@@ -21,7 +30,6 @@ export function callPendingEvents(): void;
21
30
  * @returns {Object} The redacted JSON updates
22
31
  */
23
32
  export function redactJsonUpdates(json_updates: string | JsonSchema, version_range: any): JsonSchema;
24
- export function run(): void;
25
33
  /**
26
34
  * Decode the metadata of the import blob.
27
35
  *
@@ -35,16 +43,8 @@ export function run(): void;
35
43
  * - changeNum
36
44
  */
37
45
  export function decodeImportBlobMeta(blob: Uint8Array, check_checksum: boolean): ImportBlobMetadata;
38
- /**
39
- * Get the version of Loro
40
- */
41
- export function LORO_VERSION(): string;
42
- export function decodeFrontiers(bytes: Uint8Array): { peer: PeerID, counter: number }[];
43
46
  export function encodeFrontiers(frontiers: ({ peer: PeerID, counter: number })[]): Uint8Array;
44
- /**
45
- * Enable debug info of Loro
46
- */
47
- export function setDebug(): void;
47
+ export function callPendingEvents(): void;
48
48
 
49
49
  /**
50
50
  * Container types supported by loro.
@@ -3074,12 +3074,20 @@ export class LoroText {
3074
3074
  * If it's detached, the operations on the container will not be persisted.
3075
3075
  */
3076
3076
  isAttached(): boolean;
3077
+ /**
3078
+ * Get the rich text delta in the given range (utf-16 index).
3079
+ */
3080
+ sliceDelta(start: number, end: number): Delta<string>[];
3077
3081
  /**
3078
3082
  * Get the attached container associated with this.
3079
3083
  *
3080
3084
  * Returns an attached `Container` that is equal to this or created by this; otherwise, it returns `undefined`.
3081
3085
  */
3082
3086
  getAttached(): LoroText | undefined;
3087
+ /**
3088
+ * Get the rich text delta in the given range (utf-8 index).
3089
+ */
3090
+ sliceDeltaUtf8(start: number, end: number): Delta<string>[];
3083
3091
  /**
3084
3092
  * Get the shallow value of the text. This equals to `text.toString()`.
3085
3093
  */
@@ -3701,14 +3709,14 @@ export interface InitOutput {
3701
3709
  readonly __wbg_undomanager_free: (a: number, b: number) => void;
3702
3710
  readonly __wbg_versionvector_free: (a: number, b: number) => void;
3703
3711
  readonly awarenesswasm_apply: (a: number, b: number, c: number) => [number, number, number];
3704
- readonly awarenesswasm_encode: (a: number, b: any) => [number, number];
3712
+ readonly awarenesswasm_encode: (a: number, b: any) => [number, number, number, number];
3705
3713
  readonly awarenesswasm_encodeAll: (a: number) => [number, number];
3706
- readonly awarenesswasm_getAllStates: (a: number) => any;
3707
- readonly awarenesswasm_getState: (a: number, b: any) => any;
3708
- readonly awarenesswasm_getTimestamp: (a: number, b: any) => [number, number];
3714
+ readonly awarenesswasm_getAllStates: (a: number) => [number, number, number];
3715
+ readonly awarenesswasm_getState: (a: number, b: any) => [number, number, number];
3716
+ readonly awarenesswasm_getTimestamp: (a: number, b: any) => [number, number, number, number];
3709
3717
  readonly awarenesswasm_isEmpty: (a: number) => number;
3710
3718
  readonly awarenesswasm_length: (a: number) => number;
3711
- readonly awarenesswasm_new: (a: any, b: number) => number;
3719
+ readonly awarenesswasm_new: (a: any, b: number) => [number, number, number];
3712
3720
  readonly awarenesswasm_peer: (a: number) => any;
3713
3721
  readonly awarenesswasm_peers: (a: number) => [number, number];
3714
3722
  readonly awarenesswasm_removeOutdated: (a: number) => [number, number];
@@ -3720,7 +3728,7 @@ export interface InitOutput {
3720
3728
  readonly cursor_decode: (a: number, b: number) => [number, number, number];
3721
3729
  readonly cursor_encode: (a: number) => [number, number];
3722
3730
  readonly cursor_kind: (a: number) => any;
3723
- readonly cursor_pos: (a: number) => any;
3731
+ readonly cursor_pos: (a: number) => [number, number, number];
3724
3732
  readonly cursor_side: (a: number) => any;
3725
3733
  readonly decodeFrontiers: (a: number, b: number) => [number, number, number];
3726
3734
  readonly decodeImportBlobMeta: (a: number, b: number, c: number) => [number, number, number];
@@ -3730,7 +3738,7 @@ export interface InitOutput {
3730
3738
  readonly ephemeralstorewasm_encode: (a: number, b: number, c: number) => [number, number];
3731
3739
  readonly ephemeralstorewasm_encodeAll: (a: number) => [number, number];
3732
3740
  readonly ephemeralstorewasm_get: (a: number, b: number, c: number) => any;
3733
- readonly ephemeralstorewasm_getAllStates: (a: number) => any;
3741
+ readonly ephemeralstorewasm_getAllStates: (a: number) => [number, number, number];
3734
3742
  readonly ephemeralstorewasm_isEmpty: (a: number) => number;
3735
3743
  readonly ephemeralstorewasm_keys: (a: number) => [number, number];
3736
3744
  readonly ephemeralstorewasm_new: (a: number) => number;
@@ -3740,7 +3748,7 @@ export interface InitOutput {
3740
3748
  readonly ephemeralstorewasm_subscribeLocalUpdates: (a: number, b: any) => any;
3741
3749
  readonly lorocounter_decrement: (a: number, b: number) => [number, number];
3742
3750
  readonly lorocounter_getAttached: (a: number) => any;
3743
- readonly lorocounter_getShallowValue: (a: number) => number;
3751
+ readonly lorocounter_getShallowValue: (a: number) => [number, number, number];
3744
3752
  readonly lorocounter_id: (a: number) => any;
3745
3753
  readonly lorocounter_increment: (a: number, b: number) => [number, number];
3746
3754
  readonly lorocounter_isAttached: (a: number) => number;
@@ -3748,8 +3756,6 @@ export interface InitOutput {
3748
3756
  readonly lorocounter_new: () => number;
3749
3757
  readonly lorocounter_parent: (a: number) => any;
3750
3758
  readonly lorocounter_subscribe: (a: number, b: any) => [number, number, number];
3751
- readonly lorocounter_toJSON: (a: number) => number;
3752
- readonly lorocounter_value: (a: number) => number;
3753
3759
  readonly lorodoc_JSONPath: (a: number, b: number, c: number) => [number, number, number];
3754
3760
  readonly lorodoc_applyDiff: (a: number, b: any) => [number, number];
3755
3761
  readonly lorodoc_attach: (a: number) => void;
@@ -3773,7 +3779,7 @@ export interface InitOutput {
3773
3779
  readonly lorodoc_fork: (a: number) => number;
3774
3780
  readonly lorodoc_forkAt: (a: number, b: number, c: number) => [number, number, number];
3775
3781
  readonly lorodoc_fromSnapshot: (a: number, b: number) => [number, number, number];
3776
- readonly lorodoc_frontiers: (a: number) => any;
3782
+ readonly lorodoc_frontiers: (a: number) => [number, number, number];
3777
3783
  readonly lorodoc_frontiersToVV: (a: number, b: number, c: number) => [number, number, number];
3778
3784
  readonly lorodoc_getAllChanges: (a: number) => any;
3779
3785
  readonly lorodoc_getByPath: (a: number, b: number, c: number) => any;
@@ -3803,7 +3809,7 @@ export interface InitOutput {
3803
3809
  readonly lorodoc_isShallow: (a: number) => number;
3804
3810
  readonly lorodoc_new: () => number;
3805
3811
  readonly lorodoc_opCount: (a: number) => number;
3806
- readonly lorodoc_oplogFrontiers: (a: number) => any;
3812
+ readonly lorodoc_oplogFrontiers: (a: number) => [number, number, number];
3807
3813
  readonly lorodoc_oplogVersion: (a: number) => number;
3808
3814
  readonly lorodoc_peerId: (a: number) => bigint;
3809
3815
  readonly lorodoc_peerIdStr: (a: number) => any;
@@ -3817,7 +3823,7 @@ export interface InitOutput {
3817
3823
  readonly lorodoc_setNextCommitTimestamp: (a: number, b: number) => void;
3818
3824
  readonly lorodoc_setPeerId: (a: number, b: any) => [number, number];
3819
3825
  readonly lorodoc_setRecordTimestamp: (a: number, b: number) => void;
3820
- readonly lorodoc_shallowSinceFrontiers: (a: number) => any;
3826
+ readonly lorodoc_shallowSinceFrontiers: (a: number) => [number, number, number];
3821
3827
  readonly lorodoc_shallowSinceVV: (a: number) => number;
3822
3828
  readonly lorodoc_subscribe: (a: number, b: any) => any;
3823
3829
  readonly lorodoc_subscribeFirstCommitFromPeer: (a: number, b: any) => any;
@@ -3832,7 +3838,7 @@ export interface InitOutput {
3832
3838
  readonly lorolist_get: (a: number, b: number) => any;
3833
3839
  readonly lorolist_getAttached: (a: number) => any;
3834
3840
  readonly lorolist_getCursor: (a: number, b: number, c: any) => number;
3835
- readonly lorolist_getIdAt: (a: number, b: number) => any;
3841
+ readonly lorolist_getIdAt: (a: number, b: number) => [number, number, number];
3836
3842
  readonly lorolist_getShallowValue: (a: number) => any;
3837
3843
  readonly lorolist_id: (a: number) => any;
3838
3844
  readonly lorolist_insert: (a: number, b: number, c: any) => [number, number];
@@ -3918,9 +3924,11 @@ export interface InitOutput {
3918
3924
  readonly lorotext_parent: (a: number) => any;
3919
3925
  readonly lorotext_push: (a: number, b: number, c: number) => [number, number];
3920
3926
  readonly lorotext_slice: (a: number, b: number, c: number) => [number, number, number, number];
3927
+ readonly lorotext_sliceDelta: (a: number, b: number, c: number) => [number, number, number];
3928
+ readonly lorotext_sliceDeltaUtf8: (a: number, b: number, c: number) => [number, number, number];
3921
3929
  readonly lorotext_splice: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
3922
3930
  readonly lorotext_subscribe: (a: number, b: any) => [number, number, number];
3923
- readonly lorotext_toDelta: (a: number) => any;
3931
+ readonly lorotext_toDelta: (a: number) => [number, number, number];
3924
3932
  readonly lorotext_toJSON: (a: number) => any;
3925
3933
  readonly lorotext_toString: (a: number) => [number, number];
3926
3934
  readonly lorotext_unmark: (a: number, b: any, c: number, d: number) => [number, number];
@@ -3952,11 +3960,11 @@ export interface InitOutput {
3952
3960
  readonly lorotreenode___getClassname: (a: number) => [number, number];
3953
3961
  readonly lorotreenode_children: (a: number) => any;
3954
3962
  readonly lorotreenode_createNode: (a: number, b: number) => [number, number, number];
3955
- readonly lorotreenode_creationId: (a: number) => any;
3963
+ readonly lorotreenode_creationId: (a: number) => [number, number, number];
3956
3964
  readonly lorotreenode_creator: (a: number) => any;
3957
3965
  readonly lorotreenode_data: (a: number) => [number, number, number];
3958
3966
  readonly lorotreenode_fractionalIndex: (a: number) => [number, number, number];
3959
- readonly lorotreenode_getLastMoveId: (a: number) => any;
3967
+ readonly lorotreenode_getLastMoveId: (a: number) => [number, number, number];
3960
3968
  readonly lorotreenode_id: (a: number) => any;
3961
3969
  readonly lorotreenode_index: (a: number) => [number, number, number];
3962
3970
  readonly lorotreenode_isDeleted: (a: number) => [number, number, number];
@@ -3997,6 +4005,8 @@ export interface InitOutput {
3997
4005
  readonly versionvector_toJSON: (a: number) => any;
3998
4006
  readonly lorodoc_importUpdateBatch: (a: number, b: any) => [number, number, number];
3999
4007
  readonly __wbg_loromovablelist_free: (a: number, b: number) => void;
4008
+ readonly lorocounter_value: (a: number) => [number, number, number];
4009
+ readonly lorocounter_toJSON: (a: number) => [number, number, number];
4000
4010
  readonly __wbindgen_malloc: (a: number, b: number) => number;
4001
4011
  readonly __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
4002
4012
  readonly __wbindgen_exn_store: (a: number) => void;
@@ -4006,8 +4016,8 @@ export interface InitOutput {
4006
4016
  readonly __wbindgen_export_6: WebAssembly.Table;
4007
4017
  readonly __externref_table_dealloc: (a: number) => void;
4008
4018
  readonly __externref_drop_slice: (a: number, b: number) => void;
4009
- readonly closure9_externref_shim: (a: number, b: number, c: any) => void;
4010
- readonly _dyn_core__ops__function__FnMut_____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__hb74e99a8b4d6b8dd: (a: number, b: number) => void;
4019
+ readonly closure11_externref_shim: (a: number, b: number, c: any) => void;
4020
+ readonly _dyn_core__ops__function__FnMut_____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h87f1268ec3b8423e: (a: number, b: number) => void;
4011
4021
  readonly __wbindgen_start: () => void;
4012
4022
  }
4013
4023
 
package/web/loro_wasm.js CHANGED
@@ -232,9 +232,46 @@ function getArrayJsValueFromWasm0(ptr, len) {
232
232
  wasm.__externref_drop_slice(ptr, len);
233
233
  return result;
234
234
  }
235
+ /**
236
+ * Get the version of Loro
237
+ * @returns {string}
238
+ */
239
+ export function LORO_VERSION() {
240
+ let deferred1_0;
241
+ let deferred1_1;
242
+ try {
243
+ const ret = wasm.LORO_VERSION();
244
+ deferred1_0 = ret[0];
245
+ deferred1_1 = ret[1];
246
+ return getStringFromWasm0(ret[0], ret[1]);
247
+ } finally {
248
+ wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
249
+ }
250
+ }
235
251
 
236
- export function callPendingEvents() {
237
- wasm.callPendingEvents();
252
+ /**
253
+ * Enable debug info of Loro
254
+ */
255
+ export function setDebug() {
256
+ wasm.setDebug();
257
+ }
258
+
259
+ export function run() {
260
+ wasm.run();
261
+ }
262
+
263
+ /**
264
+ * @param {Uint8Array} bytes
265
+ * @returns {{ peer: PeerID, counter: number }[]}
266
+ */
267
+ export function decodeFrontiers(bytes) {
268
+ const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_malloc);
269
+ const len0 = WASM_VECTOR_LEN;
270
+ const ret = wasm.decodeFrontiers(ptr0, len0);
271
+ if (ret[2]) {
272
+ throw takeFromExternrefTable0(ret[1]);
273
+ }
274
+ return takeFromExternrefTable0(ret[0]);
238
275
  }
239
276
 
240
277
  /**
@@ -267,10 +304,6 @@ export function redactJsonUpdates(json_updates, version_range) {
267
304
  return takeFromExternrefTable0(ret[0]);
268
305
  }
269
306
 
270
- export function run() {
271
- wasm.run();
272
- }
273
-
274
307
  /**
275
308
  * Decode the metadata of the import blob.
276
309
  *
@@ -296,37 +329,6 @@ export function decodeImportBlobMeta(blob, check_checksum) {
296
329
  return takeFromExternrefTable0(ret[0]);
297
330
  }
298
331
 
299
- /**
300
- * Get the version of Loro
301
- * @returns {string}
302
- */
303
- export function LORO_VERSION() {
304
- let deferred1_0;
305
- let deferred1_1;
306
- try {
307
- const ret = wasm.LORO_VERSION();
308
- deferred1_0 = ret[0];
309
- deferred1_1 = ret[1];
310
- return getStringFromWasm0(ret[0], ret[1]);
311
- } finally {
312
- wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
313
- }
314
- }
315
-
316
- /**
317
- * @param {Uint8Array} bytes
318
- * @returns {{ peer: PeerID, counter: number }[]}
319
- */
320
- export function decodeFrontiers(bytes) {
321
- const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_malloc);
322
- const len0 = WASM_VECTOR_LEN;
323
- const ret = wasm.decodeFrontiers(ptr0, len0);
324
- if (ret[2]) {
325
- throw takeFromExternrefTable0(ret[1]);
326
- }
327
- return takeFromExternrefTable0(ret[0]);
328
- }
329
-
330
332
  function passArrayJsValueToWasm0(array, malloc) {
331
333
  const ptr = malloc(array.length * 4, 4) >>> 0;
332
334
  for (let i = 0; i < array.length; i++) {
@@ -352,19 +354,16 @@ export function encodeFrontiers(frontiers) {
352
354
  return v2;
353
355
  }
354
356
 
355
- /**
356
- * Enable debug info of Loro
357
- */
358
- export function setDebug() {
359
- wasm.setDebug();
357
+ export function callPendingEvents() {
358
+ wasm.callPendingEvents();
360
359
  }
361
360
 
362
361
  function __wbg_adapter_62(arg0, arg1, arg2) {
363
- wasm.closure9_externref_shim(arg0, arg1, arg2);
362
+ wasm.closure11_externref_shim(arg0, arg1, arg2);
364
363
  }
365
364
 
366
365
  function __wbg_adapter_65(arg0, arg1) {
367
- wasm._dyn_core__ops__function__FnMut_____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__hb74e99a8b4d6b8dd(arg0, arg1);
366
+ wasm._dyn_core__ops__function__FnMut_____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h87f1268ec3b8423e(arg0, arg1);
368
367
  }
369
368
 
370
369
  const AwarenessWasmFinalization = (typeof FinalizationRegistry === 'undefined')
@@ -397,7 +396,10 @@ export class AwarenessWasm {
397
396
  */
398
397
  getAllStates() {
399
398
  const ret = wasm.awarenesswasm_getAllStates(this.__wbg_ptr);
400
- return ret;
399
+ if (ret[2]) {
400
+ throw takeFromExternrefTable0(ret[1]);
401
+ }
402
+ return takeFromExternrefTable0(ret[0]);
401
403
  }
402
404
  /**
403
405
  * Get the timestamp of the state of a given peer.
@@ -406,6 +408,9 @@ export class AwarenessWasm {
406
408
  */
407
409
  getTimestamp(peer) {
408
410
  const ret = wasm.awarenesswasm_getTimestamp(this.__wbg_ptr, peer);
411
+ if (ret[3]) {
412
+ throw takeFromExternrefTable0(ret[2]);
413
+ }
409
414
  return ret[0] === 0 ? undefined : ret[1];
410
415
  }
411
416
  /**
@@ -436,7 +441,10 @@ export class AwarenessWasm {
436
441
  */
437
442
  constructor(peer, timeout) {
438
443
  const ret = wasm.awarenesswasm_new(peer, timeout);
439
- this.__wbg_ptr = ret >>> 0;
444
+ if (ret[2]) {
445
+ throw takeFromExternrefTable0(ret[1]);
446
+ }
447
+ this.__wbg_ptr = ret[0] >>> 0;
440
448
  AwarenessWasmFinalization.register(this, this.__wbg_ptr, this);
441
449
  return this;
442
450
  }
@@ -482,6 +490,9 @@ export class AwarenessWasm {
482
490
  */
483
491
  encode(peers) {
484
492
  const ret = wasm.awarenesswasm_encode(this.__wbg_ptr, peers);
493
+ if (ret[3]) {
494
+ throw takeFromExternrefTable0(ret[2]);
495
+ }
485
496
  var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
486
497
  wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
487
498
  return v1;
@@ -509,7 +520,10 @@ export class AwarenessWasm {
509
520
  */
510
521
  getState(peer) {
511
522
  const ret = wasm.awarenesswasm_getState(this.__wbg_ptr, peer);
512
- return ret;
523
+ if (ret[2]) {
524
+ throw takeFromExternrefTable0(ret[1]);
525
+ }
526
+ return takeFromExternrefTable0(ret[0]);
513
527
  }
514
528
  /**
515
529
  * Encodes the state of all peers.
@@ -641,7 +655,10 @@ export class Cursor {
641
655
  */
642
656
  pos() {
643
657
  const ret = wasm.cursor_pos(this.__wbg_ptr);
644
- return ret;
658
+ if (ret[2]) {
659
+ throw takeFromExternrefTable0(ret[1]);
660
+ }
661
+ return takeFromExternrefTable0(ret[0]);
645
662
  }
646
663
  /**
647
664
  * "Cursor"
@@ -707,7 +724,10 @@ export class EphemeralStoreWasm {
707
724
  */
708
725
  getAllStates() {
709
726
  const ret = wasm.ephemeralstorewasm_getAllStates(this.__wbg_ptr);
710
- return ret;
727
+ if (ret[2]) {
728
+ throw takeFromExternrefTable0(ret[1]);
729
+ }
730
+ return takeFromExternrefTable0(ret[0]);
711
731
  }
712
732
  removeOutdated() {
713
733
  wasm.ephemeralstorewasm_removeOutdated(this.__wbg_ptr);
@@ -873,7 +893,10 @@ export class LoroCounter {
873
893
  */
874
894
  getShallowValue() {
875
895
  const ret = wasm.lorocounter_getShallowValue(this.__wbg_ptr);
876
- return ret;
896
+ if (ret[2]) {
897
+ throw takeFromExternrefTable0(ret[1]);
898
+ }
899
+ return ret[0];
877
900
  }
878
901
  /**
879
902
  * The container id of this handler.
@@ -917,7 +940,10 @@ export class LoroCounter {
917
940
  */
918
941
  toJSON() {
919
942
  const ret = wasm.lorocounter_toJSON(this.__wbg_ptr);
920
- return ret;
943
+ if (ret[2]) {
944
+ throw takeFromExternrefTable0(ret[1]);
945
+ }
946
+ return ret[0];
921
947
  }
922
948
  /**
923
949
  * Decrement the counter by the given value.
@@ -935,7 +961,10 @@ export class LoroCounter {
935
961
  */
936
962
  get value() {
937
963
  const ret = wasm.lorocounter_value(this.__wbg_ptr);
938
- return ret;
964
+ if (ret[2]) {
965
+ throw takeFromExternrefTable0(ret[1]);
966
+ }
967
+ return ret[0];
939
968
  }
940
969
  /**
941
970
  * Increment the counter by the given value.
@@ -1414,7 +1443,10 @@ export class LoroDoc {
1414
1443
  */
1415
1444
  oplogFrontiers() {
1416
1445
  const ret = wasm.lorodoc_oplogFrontiers(this.__wbg_ptr);
1417
- return ret;
1446
+ if (ret[2]) {
1447
+ throw takeFromExternrefTable0(ret[1]);
1448
+ }
1449
+ return takeFromExternrefTable0(ret[0]);
1418
1450
  }
1419
1451
  /**
1420
1452
  * Convert a version vector to frontiers
@@ -1950,7 +1982,10 @@ export class LoroDoc {
1950
1982
  */
1951
1983
  shallowSinceFrontiers() {
1952
1984
  const ret = wasm.lorodoc_shallowSinceFrontiers(this.__wbg_ptr);
1953
- return ret;
1985
+ if (ret[2]) {
1986
+ throw takeFromExternrefTable0(ret[1]);
1987
+ }
1988
+ return takeFromExternrefTable0(ret[0]);
1954
1989
  }
1955
1990
  /**
1956
1991
  * Subscribe the updates from local edits
@@ -2482,7 +2517,10 @@ export class LoroDoc {
2482
2517
  */
2483
2518
  frontiers() {
2484
2519
  const ret = wasm.lorodoc_frontiers(this.__wbg_ptr);
2485
- return ret;
2520
+ if (ret[2]) {
2521
+ throw takeFromExternrefTable0(ret[1]);
2522
+ }
2523
+ return takeFromExternrefTable0(ret[0]);
2486
2524
  }
2487
2525
  /**
2488
2526
  * Evaluate JSONPath against a LoroDoc
@@ -2830,7 +2868,10 @@ export class LoroList {
2830
2868
  */
2831
2869
  getIdAt(pos) {
2832
2870
  const ret = wasm.lorolist_getIdAt(this.__wbg_ptr, pos);
2833
- return ret;
2871
+ if (ret[2]) {
2872
+ throw takeFromExternrefTable0(ret[1]);
2873
+ }
2874
+ return takeFromExternrefTable0(ret[0]);
2834
2875
  }
2835
2876
  /**
2836
2877
  * Get elements of the list. If the type of a element is a container, it will be
@@ -3918,6 +3959,19 @@ export class LoroText {
3918
3959
  const ret = wasm.lorotext_isAttached(this.__wbg_ptr);
3919
3960
  return ret !== 0;
3920
3961
  }
3962
+ /**
3963
+ * Get the rich text delta in the given range (utf-16 index).
3964
+ * @param {number} start
3965
+ * @param {number} end
3966
+ * @returns {Delta<string>[]}
3967
+ */
3968
+ sliceDelta(start, end) {
3969
+ const ret = wasm.lorotext_sliceDelta(this.__wbg_ptr, start, end);
3970
+ if (ret[2]) {
3971
+ throw takeFromExternrefTable0(ret[1]);
3972
+ }
3973
+ return takeFromExternrefTable0(ret[0]);
3974
+ }
3921
3975
  /**
3922
3976
  * Get the attached container associated with this.
3923
3977
  *
@@ -3943,6 +3997,19 @@ export class LoroText {
3943
3997
  throw takeFromExternrefTable0(ret[0]);
3944
3998
  }
3945
3999
  }
4000
+ /**
4001
+ * Get the rich text delta in the given range (utf-8 index).
4002
+ * @param {number} start
4003
+ * @param {number} end
4004
+ * @returns {Delta<string>[]}
4005
+ */
4006
+ sliceDeltaUtf8(start, end) {
4007
+ const ret = wasm.lorotext_sliceDeltaUtf8(this.__wbg_ptr, start, end);
4008
+ if (ret[2]) {
4009
+ throw takeFromExternrefTable0(ret[1]);
4010
+ }
4011
+ return takeFromExternrefTable0(ret[0]);
4012
+ }
3946
4013
  /**
3947
4014
  * Get the shallow value of the text. This equals to `text.toString()`.
3948
4015
  * @returns {string}
@@ -4299,7 +4366,10 @@ export class LoroText {
4299
4366
  */
4300
4367
  toDelta() {
4301
4368
  const ret = wasm.lorotext_toDelta(this.__wbg_ptr);
4302
- return ret;
4369
+ if (ret[2]) {
4370
+ throw takeFromExternrefTable0(ret[1]);
4371
+ }
4372
+ return takeFromExternrefTable0(ret[0]);
4303
4373
  }
4304
4374
  /**
4305
4375
  * Get the cursor at the given position.
@@ -4806,7 +4876,10 @@ export class LoroTreeNode {
4806
4876
  */
4807
4877
  creationId() {
4808
4878
  const ret = wasm.lorotreenode_creationId(this.__wbg_ptr);
4809
- return ret;
4879
+ if (ret[2]) {
4880
+ throw takeFromExternrefTable0(ret[1]);
4881
+ }
4882
+ return takeFromExternrefTable0(ret[0]);
4810
4883
  }
4811
4884
  /**
4812
4885
  * Check if the node is deleted.
@@ -4880,7 +4953,10 @@ export class LoroTreeNode {
4880
4953
  */
4881
4954
  getLastMoveId() {
4882
4955
  const ret = wasm.lorotreenode_getLastMoveId(this.__wbg_ptr);
4883
- return ret;
4956
+ if (ret[2]) {
4957
+ throw takeFromExternrefTable0(ret[1]);
4958
+ }
4959
+ return takeFromExternrefTable0(ret[0]);
4884
4960
  }
4885
4961
  /**
4886
4962
  * @returns {any}
@@ -5445,9 +5521,6 @@ function __wbg_get_imports() {
5445
5521
  const ret = arg0.entries();
5446
5522
  return ret;
5447
5523
  };
5448
- imports.wbg.__wbg_error_741e969e3ea41e08 = function(arg0, arg1) {
5449
- console.error(getStringFromWasm0(arg0, arg1));
5450
- };
5451
5524
  imports.wbg.__wbg_error_7534b8e9a36f1ab4 = function(arg0, arg1) {
5452
5525
  let deferred0_0;
5453
5526
  let deferred0_1;
@@ -5459,10 +5532,17 @@ function __wbg_get_imports() {
5459
5532
  wasm.__wbindgen_free(deferred0_0, deferred0_1, 1);
5460
5533
  }
5461
5534
  };
5535
+ imports.wbg.__wbg_error_d3c8fa5665ed2ac9 = function(arg0, arg1) {
5536
+ console.error(getStringFromWasm0(arg0, arg1));
5537
+ };
5462
5538
  imports.wbg.__wbg_from_2a5d3e218e67aa85 = function(arg0) {
5463
5539
  const ret = Array.from(arg0);
5464
5540
  return ret;
5465
5541
  };
5542
+ imports.wbg.__wbg_getOwnPropertySymbols_97eebed6fe6e08be = function(arg0) {
5543
+ const ret = Object.getOwnPropertySymbols(arg0);
5544
+ return ret;
5545
+ };
5466
5546
  imports.wbg.__wbg_getRandomValues_b8f5dbd5f3995a9e = function() { return handleError(function (arg0, arg1) {
5467
5547
  arg0.getRandomValues(arg1);
5468
5548
  }, arguments) };
@@ -5553,7 +5633,7 @@ function __wbg_get_imports() {
5553
5633
  wasm.__wbindgen_free(deferred0_0, deferred0_1, 1);
5554
5634
  }
5555
5635
  };
5556
- imports.wbg.__wbg_log_2f1409a81a11ec18 = function(arg0, arg1) {
5636
+ imports.wbg.__wbg_log_5f802740a68181b2 = function(arg0, arg1) {
5557
5637
  console.log(getStringFromWasm0(arg0, arg1));
5558
5638
  };
5559
5639
  imports.wbg.__wbg_log_cb9e190acc5753fb = function(arg0, arg1) {
@@ -5666,7 +5746,7 @@ function __wbg_get_imports() {
5666
5746
  const ret = arg0.node;
5667
5747
  return ret;
5668
5748
  };
5669
- imports.wbg.__wbg_now_5580b74e0bacdfae = function() {
5749
+ imports.wbg.__wbg_now_d256cd3265ccdaa6 = function() {
5670
5750
  const ret = Date.now();
5671
5751
  return ret;
5672
5752
  };
@@ -5756,7 +5836,7 @@ function __wbg_get_imports() {
5756
5836
  const ret = VersionVector.__wrap(arg0);
5757
5837
  return ret;
5758
5838
  };
5759
- imports.wbg.__wbg_warn_1d84329ab77c1b72 = function(arg0, arg1) {
5839
+ imports.wbg.__wbg_warn_13f0ef2de338c601 = function(arg0, arg1) {
5760
5840
  console.warn(getStringFromWasm0(arg0, arg1));
5761
5841
  };
5762
5842
  imports.wbg.__wbindgen_as_number = function(arg0) {
@@ -5791,11 +5871,11 @@ function __wbg_get_imports() {
5791
5871
  const ret = false;
5792
5872
  return ret;
5793
5873
  };
5794
- imports.wbg.__wbindgen_closure_wrapper716 = function(arg0, arg1, arg2) {
5874
+ imports.wbg.__wbindgen_closure_wrapper718 = function(arg0, arg1, arg2) {
5795
5875
  const ret = makeMutClosure(arg0, arg1, 10, __wbg_adapter_62);
5796
5876
  return ret;
5797
5877
  };
5798
- imports.wbg.__wbindgen_closure_wrapper719 = function(arg0, arg1, arg2) {
5878
+ imports.wbg.__wbindgen_closure_wrapper720 = function(arg0, arg1, arg2) {
5799
5879
  const ret = makeMutClosure(arg0, arg1, 10, __wbg_adapter_65);
5800
5880
  return ret;
5801
5881
  };
Binary file