loro-crdt 1.5.9 → 1.5.11
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.
- package/CHANGELOG.md +13 -62
- package/base64/index.d.ts +21 -14
- package/base64/index.js +51 -25
- package/base64/loro_wasm.d.ts +5 -0
- package/base64/loro_wasm_bg-ec172175.js +64 -0
- package/bundler/index.d.ts +21 -14
- package/bundler/index.js +21 -14
- package/bundler/index.js.map +1 -1
- package/bundler/loro_wasm.d.ts +5 -0
- package/bundler/loro_wasm_bg.js +26 -7
- package/bundler/loro_wasm_bg.wasm +0 -0
- package/bundler/loro_wasm_bg.wasm.d.ts +2 -1
- package/nodejs/index.d.ts +21 -14
- package/nodejs/index.js +21 -14
- package/nodejs/index.js.map +1 -1
- package/nodejs/loro_wasm.d.ts +5 -0
- package/nodejs/loro_wasm.js +26 -7
- package/nodejs/loro_wasm_bg.wasm +0 -0
- package/nodejs/loro_wasm_bg.wasm.d.ts +2 -1
- package/package.json +1 -1
- package/web/index.d.ts +21 -14
- package/web/index.js +21 -14
- package/web/index.js.map +1 -1
- package/web/loro_wasm.d.ts +7 -1
- package/web/loro_wasm.js +26 -7
- package/web/loro_wasm_bg.wasm +0 -0
- package/web/loro_wasm_bg.wasm.d.ts +2 -1
- package/base64/loro_wasm_bg-467afd22.js +0 -64
package/bundler/index.d.ts
CHANGED
|
@@ -73,27 +73,34 @@ export declare class Awareness<T extends Value = Value> {
|
|
|
73
73
|
private startTimerIfNotEmpty;
|
|
74
74
|
}
|
|
75
75
|
/**
|
|
76
|
-
* EphemeralStore
|
|
76
|
+
* EphemeralStore tracks ephemeral key-value state across peers.
|
|
77
77
|
*
|
|
78
|
-
*
|
|
79
|
-
*
|
|
78
|
+
* - Use it for lightweight presence/state like cursors, selections, and UI hints.
|
|
79
|
+
* - Conflict resolution is timestamp-based LWW (Last-Write-Wins) per key.
|
|
80
|
+
* - Timeout unit: milliseconds.
|
|
81
|
+
* - After timeout: keys are considered expired. They are omitted from
|
|
82
|
+
* `encode(key)`, `encodeAll()` and `getAllStates()`. A periodic cleanup runs
|
|
83
|
+
* while the store is non-empty and removes expired keys; when removals happen
|
|
84
|
+
* subscribers receive an event with `by: "timeout"` and the `removed` keys.
|
|
80
85
|
*
|
|
81
|
-
*
|
|
82
|
-
* The timeout is in milliseconds. This can be used to handle the offline state of a peer.
|
|
86
|
+
* See: https://loro.dev/docs/tutorial/ephemeral
|
|
83
87
|
*
|
|
84
|
-
* @
|
|
88
|
+
* @param timeout Inactivity timeout in milliseconds (default: 30000). If a key
|
|
89
|
+
* doesn't receive updates within this duration, it will expire and be removed
|
|
90
|
+
* on the next cleanup tick.
|
|
85
91
|
*
|
|
92
|
+
* @example
|
|
86
93
|
* ```ts
|
|
87
94
|
* const store = new EphemeralStore();
|
|
88
95
|
* const store2 = new EphemeralStore();
|
|
89
|
-
* // Subscribe to local updates
|
|
90
|
-
* store.subscribeLocalUpdates((data)=>{
|
|
91
|
-
*
|
|
92
|
-
* })
|
|
93
|
-
* // Subscribe to all updates
|
|
94
|
-
* store2.subscribe((event)=>{
|
|
95
|
-
*
|
|
96
|
-
* })
|
|
96
|
+
* // Subscribe to local updates and forward over the wire
|
|
97
|
+
* store.subscribeLocalUpdates((data) => {
|
|
98
|
+
* store2.apply(data);
|
|
99
|
+
* });
|
|
100
|
+
* // Subscribe to all updates (including removals by timeout)
|
|
101
|
+
* store2.subscribe((event) => {
|
|
102
|
+
* console.log("event:", event);
|
|
103
|
+
* });
|
|
97
104
|
* // Set a value
|
|
98
105
|
* store.set("key", "value");
|
|
99
106
|
* // Encode the value
|
package/bundler/index.js
CHANGED
|
@@ -154,27 +154,34 @@ class Awareness {
|
|
|
154
154
|
}
|
|
155
155
|
}
|
|
156
156
|
/**
|
|
157
|
-
* EphemeralStore
|
|
157
|
+
* EphemeralStore tracks ephemeral key-value state across peers.
|
|
158
158
|
*
|
|
159
|
-
*
|
|
160
|
-
*
|
|
159
|
+
* - Use it for lightweight presence/state like cursors, selections, and UI hints.
|
|
160
|
+
* - Conflict resolution is timestamp-based LWW (Last-Write-Wins) per key.
|
|
161
|
+
* - Timeout unit: milliseconds.
|
|
162
|
+
* - After timeout: keys are considered expired. They are omitted from
|
|
163
|
+
* `encode(key)`, `encodeAll()` and `getAllStates()`. A periodic cleanup runs
|
|
164
|
+
* while the store is non-empty and removes expired keys; when removals happen
|
|
165
|
+
* subscribers receive an event with `by: "timeout"` and the `removed` keys.
|
|
161
166
|
*
|
|
162
|
-
*
|
|
163
|
-
* The timeout is in milliseconds. This can be used to handle the offline state of a peer.
|
|
167
|
+
* See: https://loro.dev/docs/tutorial/ephemeral
|
|
164
168
|
*
|
|
165
|
-
* @
|
|
169
|
+
* @param timeout Inactivity timeout in milliseconds (default: 30000). If a key
|
|
170
|
+
* doesn't receive updates within this duration, it will expire and be removed
|
|
171
|
+
* on the next cleanup tick.
|
|
166
172
|
*
|
|
173
|
+
* @example
|
|
167
174
|
* ```ts
|
|
168
175
|
* const store = new EphemeralStore();
|
|
169
176
|
* const store2 = new EphemeralStore();
|
|
170
|
-
* // Subscribe to local updates
|
|
171
|
-
* store.subscribeLocalUpdates((data)=>{
|
|
172
|
-
*
|
|
173
|
-
* })
|
|
174
|
-
* // Subscribe to all updates
|
|
175
|
-
* store2.subscribe((event)=>{
|
|
176
|
-
*
|
|
177
|
-
* })
|
|
177
|
+
* // Subscribe to local updates and forward over the wire
|
|
178
|
+
* store.subscribeLocalUpdates((data) => {
|
|
179
|
+
* store2.apply(data);
|
|
180
|
+
* });
|
|
181
|
+
* // Subscribe to all updates (including removals by timeout)
|
|
182
|
+
* store2.subscribe((event) => {
|
|
183
|
+
* console.log("event:", event);
|
|
184
|
+
* });
|
|
178
185
|
* // Set a value
|
|
179
186
|
* store.set("key", "value");
|
|
180
187
|
* // Encode the value
|
package/bundler/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../index.ts"],"sourcesContent":[null],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../index.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
package/bundler/loro_wasm.d.ts
CHANGED
|
@@ -2181,6 +2181,7 @@ export class LoroDoc {
|
|
|
2181
2181
|
* @param mode - The export mode to use. Can be one of:
|
|
2182
2182
|
* - `{ mode: "snapshot" }`: Export a full snapshot of the document.
|
|
2183
2183
|
* - `{ mode: "update", from?: VersionVector }`: Export updates from the given version vector.
|
|
2184
|
+
* If `from` is not provided, it will export the whole history of the document.
|
|
2184
2185
|
* - `{ mode: "updates-in-range", spans: { id: ID, len: number }[] }`: Export updates within the specified ID spans.
|
|
2185
2186
|
* - `{ mode: "shallow-snapshot", frontiers: Frontiers }`: Export a garbage-collected snapshot up to the given frontiers.
|
|
2186
2187
|
*
|
|
@@ -3608,6 +3609,10 @@ export class UndoManager {
|
|
|
3608
3609
|
* Redo the last undone operation.
|
|
3609
3610
|
*/
|
|
3610
3611
|
redo(): boolean;
|
|
3612
|
+
/**
|
|
3613
|
+
* Get the peer id of the undo manager.
|
|
3614
|
+
*/
|
|
3615
|
+
peer(): PeerID;
|
|
3611
3616
|
/**
|
|
3612
3617
|
* Can undo the last operation.
|
|
3613
3618
|
*/
|
package/bundler/loro_wasm_bg.js
CHANGED
|
@@ -925,9 +925,19 @@ export class EphemeralStoreWasm {
|
|
|
925
925
|
* @param {Uint8Array} data
|
|
926
926
|
*/
|
|
927
927
|
apply(data) {
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
928
|
+
try {
|
|
929
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
930
|
+
const ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_export_0);
|
|
931
|
+
const len0 = WASM_VECTOR_LEN;
|
|
932
|
+
wasm.ephemeralstorewasm_apply(retptr, this.__wbg_ptr, ptr0, len0);
|
|
933
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
934
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
935
|
+
if (r1) {
|
|
936
|
+
throw takeObject(r0);
|
|
937
|
+
}
|
|
938
|
+
} finally {
|
|
939
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
940
|
+
}
|
|
931
941
|
}
|
|
932
942
|
removeOutdated() {
|
|
933
943
|
wasm.ephemeralstorewasm_removeOutdated(this.__wbg_ptr);
|
|
@@ -2266,6 +2276,7 @@ export class LoroDoc {
|
|
|
2266
2276
|
* @param mode - The export mode to use. Can be one of:
|
|
2267
2277
|
* - `{ mode: "snapshot" }`: Export a full snapshot of the document.
|
|
2268
2278
|
* - `{ mode: "update", from?: VersionVector }`: Export updates from the given version vector.
|
|
2279
|
+
* If `from` is not provided, it will export the whole history of the document.
|
|
2269
2280
|
* - `{ mode: "updates-in-range", spans: { id: ID, len: number }[] }`: Export updates within the specified ID spans.
|
|
2270
2281
|
* - `{ mode: "shallow-snapshot", frontiers: Frontiers }`: Export a garbage-collected snapshot up to the given frontiers.
|
|
2271
2282
|
*
|
|
@@ -6171,6 +6182,14 @@ export class UndoManager {
|
|
|
6171
6182
|
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
6172
6183
|
}
|
|
6173
6184
|
}
|
|
6185
|
+
/**
|
|
6186
|
+
* Get the peer id of the undo manager.
|
|
6187
|
+
* @returns {PeerID}
|
|
6188
|
+
*/
|
|
6189
|
+
peer() {
|
|
6190
|
+
const ret = wasm.undomanager_peer(this.__wbg_ptr);
|
|
6191
|
+
return takeObject(ret);
|
|
6192
|
+
}
|
|
6174
6193
|
groupStart() {
|
|
6175
6194
|
try {
|
|
6176
6195
|
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
@@ -6805,7 +6824,7 @@ export function __wbg_node_02999533c4ea02e3(arg0) {
|
|
|
6805
6824
|
return addHeapObject(ret);
|
|
6806
6825
|
};
|
|
6807
6826
|
|
|
6808
|
-
export function
|
|
6827
|
+
export function __wbg_now_4f8b2820be8a682c() {
|
|
6809
6828
|
const ret = Date.now();
|
|
6810
6829
|
return ret;
|
|
6811
6830
|
};
|
|
@@ -6947,12 +6966,12 @@ export function __wbindgen_cb_drop(arg0) {
|
|
|
6947
6966
|
};
|
|
6948
6967
|
|
|
6949
6968
|
export function __wbindgen_closure_wrapper563(arg0, arg1, arg2) {
|
|
6950
|
-
const ret = makeMutClosure(arg0, arg1,
|
|
6969
|
+
const ret = makeMutClosure(arg0, arg1, 10, __wbg_adapter_60);
|
|
6951
6970
|
return addHeapObject(ret);
|
|
6952
6971
|
};
|
|
6953
6972
|
|
|
6954
|
-
export function
|
|
6955
|
-
const ret = makeMutClosure(arg0, arg1,
|
|
6973
|
+
export function __wbindgen_closure_wrapper565(arg0, arg1, arg2) {
|
|
6974
|
+
const ret = makeMutClosure(arg0, arg1, 8, __wbg_adapter_63);
|
|
6956
6975
|
return addHeapObject(ret);
|
|
6957
6976
|
};
|
|
6958
6977
|
|
|
Binary file
|
|
@@ -37,7 +37,7 @@ export const ephemeralstorewasm_subscribeLocalUpdates: (a: number, b: number) =>
|
|
|
37
37
|
export const ephemeralstorewasm_subscribe: (a: number, b: number) => number;
|
|
38
38
|
export const ephemeralstorewasm_encode: (a: number, b: number, c: number, d: number) => void;
|
|
39
39
|
export const ephemeralstorewasm_encodeAll: (a: number, b: number) => void;
|
|
40
|
-
export const ephemeralstorewasm_apply: (a: number, b: number, c: number) => void;
|
|
40
|
+
export const ephemeralstorewasm_apply: (a: number, b: number, c: number, d: number) => void;
|
|
41
41
|
export const ephemeralstorewasm_removeOutdated: (a: number) => void;
|
|
42
42
|
export const ephemeralstorewasm_isEmpty: (a: number) => number;
|
|
43
43
|
export const ephemeralstorewasm_keys: (a: number, b: number) => void;
|
|
@@ -280,6 +280,7 @@ export const __wbg_undomanager_free: (a: number, b: number) => void;
|
|
|
280
280
|
export const undomanager_new: (a: number, b: number) => number;
|
|
281
281
|
export const undomanager_undo: (a: number, b: number) => void;
|
|
282
282
|
export const undomanager_redo: (a: number, b: number) => void;
|
|
283
|
+
export const undomanager_peer: (a: number) => number;
|
|
283
284
|
export const undomanager_groupStart: (a: number, b: number) => void;
|
|
284
285
|
export const undomanager_groupEnd: (a: number) => void;
|
|
285
286
|
export const undomanager_canUndo: (a: number) => number;
|
package/nodejs/index.d.ts
CHANGED
|
@@ -73,27 +73,34 @@ export declare class Awareness<T extends Value = Value> {
|
|
|
73
73
|
private startTimerIfNotEmpty;
|
|
74
74
|
}
|
|
75
75
|
/**
|
|
76
|
-
* EphemeralStore
|
|
76
|
+
* EphemeralStore tracks ephemeral key-value state across peers.
|
|
77
77
|
*
|
|
78
|
-
*
|
|
79
|
-
*
|
|
78
|
+
* - Use it for lightweight presence/state like cursors, selections, and UI hints.
|
|
79
|
+
* - Conflict resolution is timestamp-based LWW (Last-Write-Wins) per key.
|
|
80
|
+
* - Timeout unit: milliseconds.
|
|
81
|
+
* - After timeout: keys are considered expired. They are omitted from
|
|
82
|
+
* `encode(key)`, `encodeAll()` and `getAllStates()`. A periodic cleanup runs
|
|
83
|
+
* while the store is non-empty and removes expired keys; when removals happen
|
|
84
|
+
* subscribers receive an event with `by: "timeout"` and the `removed` keys.
|
|
80
85
|
*
|
|
81
|
-
*
|
|
82
|
-
* The timeout is in milliseconds. This can be used to handle the offline state of a peer.
|
|
86
|
+
* See: https://loro.dev/docs/tutorial/ephemeral
|
|
83
87
|
*
|
|
84
|
-
* @
|
|
88
|
+
* @param timeout Inactivity timeout in milliseconds (default: 30000). If a key
|
|
89
|
+
* doesn't receive updates within this duration, it will expire and be removed
|
|
90
|
+
* on the next cleanup tick.
|
|
85
91
|
*
|
|
92
|
+
* @example
|
|
86
93
|
* ```ts
|
|
87
94
|
* const store = new EphemeralStore();
|
|
88
95
|
* const store2 = new EphemeralStore();
|
|
89
|
-
* // Subscribe to local updates
|
|
90
|
-
* store.subscribeLocalUpdates((data)=>{
|
|
91
|
-
*
|
|
92
|
-
* })
|
|
93
|
-
* // Subscribe to all updates
|
|
94
|
-
* store2.subscribe((event)=>{
|
|
95
|
-
*
|
|
96
|
-
* })
|
|
96
|
+
* // Subscribe to local updates and forward over the wire
|
|
97
|
+
* store.subscribeLocalUpdates((data) => {
|
|
98
|
+
* store2.apply(data);
|
|
99
|
+
* });
|
|
100
|
+
* // Subscribe to all updates (including removals by timeout)
|
|
101
|
+
* store2.subscribe((event) => {
|
|
102
|
+
* console.log("event:", event);
|
|
103
|
+
* });
|
|
97
104
|
* // Set a value
|
|
98
105
|
* store.set("key", "value");
|
|
99
106
|
* // Encode the value
|
package/nodejs/index.js
CHANGED
|
@@ -155,27 +155,34 @@ class Awareness {
|
|
|
155
155
|
}
|
|
156
156
|
}
|
|
157
157
|
/**
|
|
158
|
-
* EphemeralStore
|
|
158
|
+
* EphemeralStore tracks ephemeral key-value state across peers.
|
|
159
159
|
*
|
|
160
|
-
*
|
|
161
|
-
*
|
|
160
|
+
* - Use it for lightweight presence/state like cursors, selections, and UI hints.
|
|
161
|
+
* - Conflict resolution is timestamp-based LWW (Last-Write-Wins) per key.
|
|
162
|
+
* - Timeout unit: milliseconds.
|
|
163
|
+
* - After timeout: keys are considered expired. They are omitted from
|
|
164
|
+
* `encode(key)`, `encodeAll()` and `getAllStates()`. A periodic cleanup runs
|
|
165
|
+
* while the store is non-empty and removes expired keys; when removals happen
|
|
166
|
+
* subscribers receive an event with `by: "timeout"` and the `removed` keys.
|
|
162
167
|
*
|
|
163
|
-
*
|
|
164
|
-
* The timeout is in milliseconds. This can be used to handle the offline state of a peer.
|
|
168
|
+
* See: https://loro.dev/docs/tutorial/ephemeral
|
|
165
169
|
*
|
|
166
|
-
* @
|
|
170
|
+
* @param timeout Inactivity timeout in milliseconds (default: 30000). If a key
|
|
171
|
+
* doesn't receive updates within this duration, it will expire and be removed
|
|
172
|
+
* on the next cleanup tick.
|
|
167
173
|
*
|
|
174
|
+
* @example
|
|
168
175
|
* ```ts
|
|
169
176
|
* const store = new EphemeralStore();
|
|
170
177
|
* const store2 = new EphemeralStore();
|
|
171
|
-
* // Subscribe to local updates
|
|
172
|
-
* store.subscribeLocalUpdates((data)=>{
|
|
173
|
-
*
|
|
174
|
-
* })
|
|
175
|
-
* // Subscribe to all updates
|
|
176
|
-
* store2.subscribe((event)=>{
|
|
177
|
-
*
|
|
178
|
-
* })
|
|
178
|
+
* // Subscribe to local updates and forward over the wire
|
|
179
|
+
* store.subscribeLocalUpdates((data) => {
|
|
180
|
+
* store2.apply(data);
|
|
181
|
+
* });
|
|
182
|
+
* // Subscribe to all updates (including removals by timeout)
|
|
183
|
+
* store2.subscribe((event) => {
|
|
184
|
+
* console.log("event:", event);
|
|
185
|
+
* });
|
|
179
186
|
* // Set a value
|
|
180
187
|
* store.set("key", "value");
|
|
181
188
|
* // Encode the value
|
package/nodejs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../index.ts"],"sourcesContent":[null],"names":["LoroDoc","AwarenessWasm","EphemeralStoreWasm"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../index.ts"],"sourcesContent":[null],"names":["LoroDoc","AwarenessWasm","EphemeralStoreWasm"],"mappings":"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"}
|
package/nodejs/loro_wasm.d.ts
CHANGED
|
@@ -2181,6 +2181,7 @@ export class LoroDoc {
|
|
|
2181
2181
|
* @param mode - The export mode to use. Can be one of:
|
|
2182
2182
|
* - `{ mode: "snapshot" }`: Export a full snapshot of the document.
|
|
2183
2183
|
* - `{ mode: "update", from?: VersionVector }`: Export updates from the given version vector.
|
|
2184
|
+
* If `from` is not provided, it will export the whole history of the document.
|
|
2184
2185
|
* - `{ mode: "updates-in-range", spans: { id: ID, len: number }[] }`: Export updates within the specified ID spans.
|
|
2185
2186
|
* - `{ mode: "shallow-snapshot", frontiers: Frontiers }`: Export a garbage-collected snapshot up to the given frontiers.
|
|
2186
2187
|
*
|
|
@@ -3608,6 +3609,10 @@ export class UndoManager {
|
|
|
3608
3609
|
* Redo the last undone operation.
|
|
3609
3610
|
*/
|
|
3610
3611
|
redo(): boolean;
|
|
3612
|
+
/**
|
|
3613
|
+
* Get the peer id of the undo manager.
|
|
3614
|
+
*/
|
|
3615
|
+
peer(): PeerID;
|
|
3611
3616
|
/**
|
|
3612
3617
|
* Can undo the last operation.
|
|
3613
3618
|
*/
|
package/nodejs/loro_wasm.js
CHANGED
|
@@ -924,9 +924,19 @@ class EphemeralStoreWasm {
|
|
|
924
924
|
* @param {Uint8Array} data
|
|
925
925
|
*/
|
|
926
926
|
apply(data) {
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
927
|
+
try {
|
|
928
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
929
|
+
const ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_export_0);
|
|
930
|
+
const len0 = WASM_VECTOR_LEN;
|
|
931
|
+
wasm.ephemeralstorewasm_apply(retptr, this.__wbg_ptr, ptr0, len0);
|
|
932
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
933
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
934
|
+
if (r1) {
|
|
935
|
+
throw takeObject(r0);
|
|
936
|
+
}
|
|
937
|
+
} finally {
|
|
938
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
939
|
+
}
|
|
930
940
|
}
|
|
931
941
|
removeOutdated() {
|
|
932
942
|
wasm.ephemeralstorewasm_removeOutdated(this.__wbg_ptr);
|
|
@@ -2267,6 +2277,7 @@ class LoroDoc {
|
|
|
2267
2277
|
* @param mode - The export mode to use. Can be one of:
|
|
2268
2278
|
* - `{ mode: "snapshot" }`: Export a full snapshot of the document.
|
|
2269
2279
|
* - `{ mode: "update", from?: VersionVector }`: Export updates from the given version vector.
|
|
2280
|
+
* If `from` is not provided, it will export the whole history of the document.
|
|
2270
2281
|
* - `{ mode: "updates-in-range", spans: { id: ID, len: number }[] }`: Export updates within the specified ID spans.
|
|
2271
2282
|
* - `{ mode: "shallow-snapshot", frontiers: Frontiers }`: Export a garbage-collected snapshot up to the given frontiers.
|
|
2272
2283
|
*
|
|
@@ -6179,6 +6190,14 @@ class UndoManager {
|
|
|
6179
6190
|
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
6180
6191
|
}
|
|
6181
6192
|
}
|
|
6193
|
+
/**
|
|
6194
|
+
* Get the peer id of the undo manager.
|
|
6195
|
+
* @returns {PeerID}
|
|
6196
|
+
*/
|
|
6197
|
+
peer() {
|
|
6198
|
+
const ret = wasm.undomanager_peer(this.__wbg_ptr);
|
|
6199
|
+
return takeObject(ret);
|
|
6200
|
+
}
|
|
6182
6201
|
groupStart() {
|
|
6183
6202
|
try {
|
|
6184
6203
|
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
@@ -6815,7 +6834,7 @@ module.exports.__wbg_node_02999533c4ea02e3 = function(arg0) {
|
|
|
6815
6834
|
return addHeapObject(ret);
|
|
6816
6835
|
};
|
|
6817
6836
|
|
|
6818
|
-
module.exports.
|
|
6837
|
+
module.exports.__wbg_now_4f8b2820be8a682c = function() {
|
|
6819
6838
|
const ret = Date.now();
|
|
6820
6839
|
return ret;
|
|
6821
6840
|
};
|
|
@@ -6957,12 +6976,12 @@ module.exports.__wbindgen_cb_drop = function(arg0) {
|
|
|
6957
6976
|
};
|
|
6958
6977
|
|
|
6959
6978
|
module.exports.__wbindgen_closure_wrapper563 = function(arg0, arg1, arg2) {
|
|
6960
|
-
const ret = makeMutClosure(arg0, arg1,
|
|
6979
|
+
const ret = makeMutClosure(arg0, arg1, 10, __wbg_adapter_60);
|
|
6961
6980
|
return addHeapObject(ret);
|
|
6962
6981
|
};
|
|
6963
6982
|
|
|
6964
|
-
module.exports.
|
|
6965
|
-
const ret = makeMutClosure(arg0, arg1,
|
|
6983
|
+
module.exports.__wbindgen_closure_wrapper565 = function(arg0, arg1, arg2) {
|
|
6984
|
+
const ret = makeMutClosure(arg0, arg1, 8, __wbg_adapter_63);
|
|
6966
6985
|
return addHeapObject(ret);
|
|
6967
6986
|
};
|
|
6968
6987
|
|
package/nodejs/loro_wasm_bg.wasm
CHANGED
|
Binary file
|
|
@@ -37,7 +37,7 @@ export const ephemeralstorewasm_subscribeLocalUpdates: (a: number, b: number) =>
|
|
|
37
37
|
export const ephemeralstorewasm_subscribe: (a: number, b: number) => number;
|
|
38
38
|
export const ephemeralstorewasm_encode: (a: number, b: number, c: number, d: number) => void;
|
|
39
39
|
export const ephemeralstorewasm_encodeAll: (a: number, b: number) => void;
|
|
40
|
-
export const ephemeralstorewasm_apply: (a: number, b: number, c: number) => void;
|
|
40
|
+
export const ephemeralstorewasm_apply: (a: number, b: number, c: number, d: number) => void;
|
|
41
41
|
export const ephemeralstorewasm_removeOutdated: (a: number) => void;
|
|
42
42
|
export const ephemeralstorewasm_isEmpty: (a: number) => number;
|
|
43
43
|
export const ephemeralstorewasm_keys: (a: number, b: number) => void;
|
|
@@ -280,6 +280,7 @@ export const __wbg_undomanager_free: (a: number, b: number) => void;
|
|
|
280
280
|
export const undomanager_new: (a: number, b: number) => number;
|
|
281
281
|
export const undomanager_undo: (a: number, b: number) => void;
|
|
282
282
|
export const undomanager_redo: (a: number, b: number) => void;
|
|
283
|
+
export const undomanager_peer: (a: number) => number;
|
|
283
284
|
export const undomanager_groupStart: (a: number, b: number) => void;
|
|
284
285
|
export const undomanager_groupEnd: (a: number) => void;
|
|
285
286
|
export const undomanager_canUndo: (a: number) => number;
|
package/package.json
CHANGED
package/web/index.d.ts
CHANGED
|
@@ -73,27 +73,34 @@ export declare class Awareness<T extends Value = Value> {
|
|
|
73
73
|
private startTimerIfNotEmpty;
|
|
74
74
|
}
|
|
75
75
|
/**
|
|
76
|
-
* EphemeralStore
|
|
76
|
+
* EphemeralStore tracks ephemeral key-value state across peers.
|
|
77
77
|
*
|
|
78
|
-
*
|
|
79
|
-
*
|
|
78
|
+
* - Use it for lightweight presence/state like cursors, selections, and UI hints.
|
|
79
|
+
* - Conflict resolution is timestamp-based LWW (Last-Write-Wins) per key.
|
|
80
|
+
* - Timeout unit: milliseconds.
|
|
81
|
+
* - After timeout: keys are considered expired. They are omitted from
|
|
82
|
+
* `encode(key)`, `encodeAll()` and `getAllStates()`. A periodic cleanup runs
|
|
83
|
+
* while the store is non-empty and removes expired keys; when removals happen
|
|
84
|
+
* subscribers receive an event with `by: "timeout"` and the `removed` keys.
|
|
80
85
|
*
|
|
81
|
-
*
|
|
82
|
-
* The timeout is in milliseconds. This can be used to handle the offline state of a peer.
|
|
86
|
+
* See: https://loro.dev/docs/tutorial/ephemeral
|
|
83
87
|
*
|
|
84
|
-
* @
|
|
88
|
+
* @param timeout Inactivity timeout in milliseconds (default: 30000). If a key
|
|
89
|
+
* doesn't receive updates within this duration, it will expire and be removed
|
|
90
|
+
* on the next cleanup tick.
|
|
85
91
|
*
|
|
92
|
+
* @example
|
|
86
93
|
* ```ts
|
|
87
94
|
* const store = new EphemeralStore();
|
|
88
95
|
* const store2 = new EphemeralStore();
|
|
89
|
-
* // Subscribe to local updates
|
|
90
|
-
* store.subscribeLocalUpdates((data)=>{
|
|
91
|
-
*
|
|
92
|
-
* })
|
|
93
|
-
* // Subscribe to all updates
|
|
94
|
-
* store2.subscribe((event)=>{
|
|
95
|
-
*
|
|
96
|
-
* })
|
|
96
|
+
* // Subscribe to local updates and forward over the wire
|
|
97
|
+
* store.subscribeLocalUpdates((data) => {
|
|
98
|
+
* store2.apply(data);
|
|
99
|
+
* });
|
|
100
|
+
* // Subscribe to all updates (including removals by timeout)
|
|
101
|
+
* store2.subscribe((event) => {
|
|
102
|
+
* console.log("event:", event);
|
|
103
|
+
* });
|
|
97
104
|
* // Set a value
|
|
98
105
|
* store.set("key", "value");
|
|
99
106
|
* // Encode the value
|
package/web/index.js
CHANGED
|
@@ -155,27 +155,34 @@ class Awareness {
|
|
|
155
155
|
}
|
|
156
156
|
}
|
|
157
157
|
/**
|
|
158
|
-
* EphemeralStore
|
|
158
|
+
* EphemeralStore tracks ephemeral key-value state across peers.
|
|
159
159
|
*
|
|
160
|
-
*
|
|
161
|
-
*
|
|
160
|
+
* - Use it for lightweight presence/state like cursors, selections, and UI hints.
|
|
161
|
+
* - Conflict resolution is timestamp-based LWW (Last-Write-Wins) per key.
|
|
162
|
+
* - Timeout unit: milliseconds.
|
|
163
|
+
* - After timeout: keys are considered expired. They are omitted from
|
|
164
|
+
* `encode(key)`, `encodeAll()` and `getAllStates()`. A periodic cleanup runs
|
|
165
|
+
* while the store is non-empty and removes expired keys; when removals happen
|
|
166
|
+
* subscribers receive an event with `by: "timeout"` and the `removed` keys.
|
|
162
167
|
*
|
|
163
|
-
*
|
|
164
|
-
* The timeout is in milliseconds. This can be used to handle the offline state of a peer.
|
|
168
|
+
* See: https://loro.dev/docs/tutorial/ephemeral
|
|
165
169
|
*
|
|
166
|
-
* @
|
|
170
|
+
* @param timeout Inactivity timeout in milliseconds (default: 30000). If a key
|
|
171
|
+
* doesn't receive updates within this duration, it will expire and be removed
|
|
172
|
+
* on the next cleanup tick.
|
|
167
173
|
*
|
|
174
|
+
* @example
|
|
168
175
|
* ```ts
|
|
169
176
|
* const store = new EphemeralStore();
|
|
170
177
|
* const store2 = new EphemeralStore();
|
|
171
|
-
* // Subscribe to local updates
|
|
172
|
-
* store.subscribeLocalUpdates((data)=>{
|
|
173
|
-
*
|
|
174
|
-
* })
|
|
175
|
-
* // Subscribe to all updates
|
|
176
|
-
* store2.subscribe((event)=>{
|
|
177
|
-
*
|
|
178
|
-
* })
|
|
178
|
+
* // Subscribe to local updates and forward over the wire
|
|
179
|
+
* store.subscribeLocalUpdates((data) => {
|
|
180
|
+
* store2.apply(data);
|
|
181
|
+
* });
|
|
182
|
+
* // Subscribe to all updates (including removals by timeout)
|
|
183
|
+
* store2.subscribe((event) => {
|
|
184
|
+
* console.log("event:", event);
|
|
185
|
+
* });
|
|
179
186
|
* // Set a value
|
|
180
187
|
* store.set("key", "value");
|
|
181
188
|
* // Encode the value
|