loro-crdt 1.5.4 → 1.5.6
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 +12 -0
- package/base64/index.d.ts +7 -6
- package/base64/index.js +46 -4
- package/base64/loro_wasm.d.ts +32 -15
- package/base64/loro_wasm_bg-f48ca64a.js +64 -0
- package/bundler/index.d.ts +7 -6
- package/bundler/index.js +3 -0
- package/bundler/index.js.map +1 -1
- package/bundler/loro_wasm.d.ts +32 -15
- package/bundler/loro_wasm_bg.js +39 -1
- package/bundler/loro_wasm_bg.wasm +0 -0
- package/bundler/loro_wasm_bg.wasm.d.ts +1 -0
- package/nodejs/index.d.ts +7 -6
- package/nodejs/index.js +3 -0
- package/nodejs/index.js.map +1 -1
- package/nodejs/loro_wasm.d.ts +32 -15
- package/nodejs/loro_wasm.js +39 -1
- package/nodejs/loro_wasm_bg.wasm +0 -0
- package/nodejs/loro_wasm_bg.wasm.d.ts +1 -0
- package/package.json +4 -1
- package/web/index.d.ts +7 -6
- package/web/index.js +3 -0
- package/web/index.js.map +1 -1
- package/web/loro_wasm.d.ts +33 -15
- package/web/loro_wasm.js +39 -1
- package/web/loro_wasm_bg.wasm +0 -0
- package/web/loro_wasm_bg.wasm.d.ts +1 -0
- package/base64/loro_wasm_bg-cf5679c4.js +0 -64
package/CHANGELOG.md
CHANGED
package/base64/index.d.ts
CHANGED
|
@@ -102,16 +102,17 @@ export declare class Awareness<T extends Value = Value> {
|
|
|
102
102
|
* store2.apply(encoded);
|
|
103
103
|
* ```
|
|
104
104
|
*/
|
|
105
|
-
export declare class EphemeralStore<T extends Value = Value
|
|
106
|
-
inner: EphemeralStoreWasm
|
|
105
|
+
export declare class EphemeralStore<T extends Record<string, Value> = Record<string, Value>> {
|
|
106
|
+
inner: EphemeralStoreWasm;
|
|
107
107
|
private timer;
|
|
108
108
|
private timeout;
|
|
109
109
|
constructor(timeout?: number);
|
|
110
110
|
apply(bytes: Uint8Array): void;
|
|
111
|
-
set(key:
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
111
|
+
set<K extends keyof T>(key: K, value: T[K]): void;
|
|
112
|
+
delete<K extends keyof T>(key: K): void;
|
|
113
|
+
get<K extends keyof T>(key: K): T[K] | undefined;
|
|
114
|
+
getAllStates(): Partial<T>;
|
|
115
|
+
encode<K extends keyof T>(key: K): Uint8Array;
|
|
115
116
|
encodeAll(): Uint8Array;
|
|
116
117
|
keys(): string[];
|
|
117
118
|
destroy(): void;
|
package/base64/index.js
CHANGED
|
@@ -383,6 +383,44 @@ function decodeImportBlobMeta(blob, check_checksum) {
|
|
|
383
383
|
}
|
|
384
384
|
}
|
|
385
385
|
|
|
386
|
+
/**
|
|
387
|
+
* Redacts sensitive content in JSON updates within the specified version range.
|
|
388
|
+
*
|
|
389
|
+
* This function allows you to share document history while removing potentially sensitive content.
|
|
390
|
+
* It preserves the document structure and collaboration capabilities while replacing content with
|
|
391
|
+
* placeholders according to these redaction rules:
|
|
392
|
+
*
|
|
393
|
+
* - Preserves delete and move operations
|
|
394
|
+
* - Replaces text insertion content with the Unicode replacement character
|
|
395
|
+
* - Substitutes list and map insert values with null
|
|
396
|
+
* - Maintains structure of child containers
|
|
397
|
+
* - Replaces text mark values with null
|
|
398
|
+
* - Preserves map keys and text annotation keys
|
|
399
|
+
*
|
|
400
|
+
* @param {Object|string} jsonUpdates - The JSON updates to redact (object or JSON string)
|
|
401
|
+
* @param {Object} versionRange - Version range defining what content to redact,
|
|
402
|
+
* format: { peerId: [startCounter, endCounter], ... }
|
|
403
|
+
* @returns {Object} The redacted JSON updates
|
|
404
|
+
* @param {string | JsonSchema} json_updates
|
|
405
|
+
* @param {any} version_range
|
|
406
|
+
* @returns {JsonSchema}
|
|
407
|
+
*/
|
|
408
|
+
function redactJsonUpdates(json_updates, version_range) {
|
|
409
|
+
try {
|
|
410
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
411
|
+
wasm.redactJsonUpdates(retptr, addHeapObject(json_updates), addHeapObject(version_range));
|
|
412
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
413
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
414
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
415
|
+
if (r2) {
|
|
416
|
+
throw takeObject(r1);
|
|
417
|
+
}
|
|
418
|
+
return takeObject(r0);
|
|
419
|
+
} finally {
|
|
420
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
421
|
+
}
|
|
422
|
+
}
|
|
423
|
+
|
|
386
424
|
function __wbg_adapter_60(arg0, arg1, arg2) {
|
|
387
425
|
wasm.__wbindgen_export_5(arg0, arg1, addHeapObject(arg2));
|
|
388
426
|
}
|
|
@@ -6812,7 +6850,7 @@ function __wbindgen_closure_wrapper483(arg0, arg1, arg2) {
|
|
|
6812
6850
|
const ret = makeMutClosure(arg0, arg1, 10, __wbg_adapter_60);
|
|
6813
6851
|
return addHeapObject(ret);
|
|
6814
6852
|
}
|
|
6815
|
-
function
|
|
6853
|
+
function __wbindgen_closure_wrapper485(arg0, arg1, arg2) {
|
|
6816
6854
|
const ret = makeMutClosure(arg0, arg1, 8, __wbg_adapter_63);
|
|
6817
6855
|
return addHeapObject(ret);
|
|
6818
6856
|
}
|
|
@@ -7019,7 +7057,7 @@ var imports = /*#__PURE__*/Object.freeze({
|
|
|
7019
7057
|
__wbindgen_boolean_get: __wbindgen_boolean_get,
|
|
7020
7058
|
__wbindgen_cb_drop: __wbindgen_cb_drop,
|
|
7021
7059
|
__wbindgen_closure_wrapper483: __wbindgen_closure_wrapper483,
|
|
7022
|
-
|
|
7060
|
+
__wbindgen_closure_wrapper485: __wbindgen_closure_wrapper485,
|
|
7023
7061
|
__wbindgen_debug_string: __wbindgen_debug_string,
|
|
7024
7062
|
__wbindgen_error_new: __wbindgen_error_new,
|
|
7025
7063
|
__wbindgen_in: __wbindgen_in,
|
|
@@ -7046,6 +7084,7 @@ var imports = /*#__PURE__*/Object.freeze({
|
|
|
7046
7084
|
decodeFrontiers: decodeFrontiers,
|
|
7047
7085
|
decodeImportBlobMeta: decodeImportBlobMeta,
|
|
7048
7086
|
encodeFrontiers: encodeFrontiers,
|
|
7087
|
+
redactJsonUpdates: redactJsonUpdates,
|
|
7049
7088
|
run: run,
|
|
7050
7089
|
setDebug: setDebug
|
|
7051
7090
|
});
|
|
@@ -7054,7 +7093,7 @@ var imports = /*#__PURE__*/Object.freeze({
|
|
|
7054
7093
|
// Without this patch, Cloudflare Worker would raise issue like: "Uncaught TypeError: wasm2.__wbindgen_start is not a function"
|
|
7055
7094
|
|
|
7056
7095
|
|
|
7057
|
-
import loro_wasm_bg_js from './loro_wasm_bg-
|
|
7096
|
+
import loro_wasm_bg_js from './loro_wasm_bg-f48ca64a.js';
|
|
7058
7097
|
const instance = new WebAssembly.Instance(loro_wasm_bg_js(), {
|
|
7059
7098
|
"./loro_wasm_bg.js": imports,
|
|
7060
7099
|
});
|
|
@@ -7256,6 +7295,9 @@ class EphemeralStore {
|
|
|
7256
7295
|
this.inner.set(key, value);
|
|
7257
7296
|
this.startTimerIfNotEmpty();
|
|
7258
7297
|
}
|
|
7298
|
+
delete(key) {
|
|
7299
|
+
this.inner.delete(key);
|
|
7300
|
+
}
|
|
7259
7301
|
get(key) {
|
|
7260
7302
|
return this.inner.get(key);
|
|
7261
7303
|
}
|
|
@@ -7356,4 +7398,4 @@ function idStrToId(idStr) {
|
|
|
7356
7398
|
};
|
|
7357
7399
|
}
|
|
7358
7400
|
|
|
7359
|
-
export { Awareness, AwarenessWasm, ChangeModifier, Cursor, EphemeralStore, EphemeralStoreWasm, LORO_VERSION, Loro, LoroCounter, LoroDoc, LoroList, LoroMap, LoroMovableList, LoroText, LoroTree, LoroTreeNode, UndoManager, VersionVector, __wbg_String_8f0eb39a4a4c2f66, __wbg_apply_9bb7fe8fff013a3f, __wbg_buffer_ef9774282e5dab94, __wbg_call_0ad083564791763a, __wbg_call_a34b6b4765f27be0, __wbg_call_d00953b926be4879, __wbg_call_efe5a4db7065d1a2, __wbg_changemodifier_new, __wbg_crypto_ed58b8e10a292839, __wbg_cursor_new, __wbg_done_f4c254830a095eaf, __wbg_entries_4dce6361e3ba6fbc, __wbg_entries_83beb641792ccb9c, __wbg_error_7534b8e9a36f1ab4, __wbg_error_9912f7d6d7835a4b, __wbg_from_3aa0fcaa8eef0104, __wbg_getRandomValues_bcb4912f16000dc4, __wbg_get_0c3cc364764a0b98, __wbg_get_b996a12be035ef4f, __wbg_getindex_a471648b3037c750, __wbg_getwithrefkey_1dc361bd10053bfe, __wbg_globalThis_6b4d52a0b6aaeaea, __wbg_global_49324ce12193de77, __wbg_instanceof_ArrayBuffer_ff40e55b5978e215, __wbg_instanceof_Map_0f3f3653f757ced1, __wbg_instanceof_Object_9108547bac1f91b1, __wbg_instanceof_Uint8Array_db97368f94b1373f, __wbg_isArray_8738f1062fa88586, __wbg_isSafeInteger_a1b3e0811faecf2f, __wbg_iterator_c0c688f37fa815e6, __wbg_length_12246a78d2f65d3a, __wbg_length_c24da17096edfe57, __wbg_log_0cc1b7768397bcfe, __wbg_log_0fd6c49475c7bece, __wbg_log_cb9e190acc5753fb, __wbg_lorocounter_new, __wbg_lorolist_new, __wbg_loromap_new, __wbg_loromovablelist_new, __wbg_lorotext_new, __wbg_lorotree_new, __wbg_lorotreenode_new, __wbg_mark_7438147ce31e9d4b, __wbg_measure_fb7825c11612c823, __wbg_msCrypto_0a36e2ec3a343d26, __wbg_new_518e2184725aa711, __wbg_new_59845962d1127937, __wbg_new_67abf4a77618ee3e, __wbg_new_8a6f238a6ece86ea, __wbg_new_e2d07398d7689006, __wbg_newnoargs_a136448eeb7d48ac, __wbg_newwithbyteoffsetandlength_84908302a4c137cf, __wbg_newwithlength_4c216eaaf23f2f9a, __wbg_newwithlength_88b49de1eb24d63e, __wbg_next_928df8c15fc0c9b0, __wbg_next_9dc0926f351c7090, __wbg_node_02999533c4ea02e3, __wbg_now_3e8577e703add0ba, __wbg_ownKeys_b16312a839a4152c, __wbg_process_5c1d670bc53614b8, __wbg_push_e7d7247e69dad3ee, __wbg_randomFillSync_ab2cfe79ebbf2740, __wbg_require_79b1e9274cde3c87, __wbg_resolve_267ff08e7e1d2ce4, __wbg_self_cca3ca60d61220f4, __wbg_set_1b50d2de855a9d50, __wbg_set_393f510a6b7e9da5, __wbg_set_3f1d0b984ed272ed, __wbg_set_5deee49b10b2b780, __wbg_set_93ba9407b5476ec6, __wbg_set_wasm, __wbg_setindex_e0b7b31bfc87ba3f, __wbg_stack_0ed75d68575b0f3c, __wbg_subarray_2dc34705c0dc7cdb, __wbg_then_84907e7a6730461e, __wbg_value_51f8a88d4a1805fb, __wbg_versions_c71aa1626a93e0a1, __wbg_versionvector_new, __wbg_window_2aba046d3fc4ad7c, __wbindgen_as_number, __wbindgen_bigint_from_i64, __wbindgen_bigint_from_u64, __wbindgen_bigint_get_as_i64, __wbindgen_boolean_get, __wbindgen_cb_drop, __wbindgen_closure_wrapper483,
|
|
7401
|
+
export { Awareness, AwarenessWasm, ChangeModifier, Cursor, EphemeralStore, EphemeralStoreWasm, LORO_VERSION, Loro, LoroCounter, LoroDoc, LoroList, LoroMap, LoroMovableList, LoroText, LoroTree, LoroTreeNode, UndoManager, VersionVector, __wbg_String_8f0eb39a4a4c2f66, __wbg_apply_9bb7fe8fff013a3f, __wbg_buffer_ef9774282e5dab94, __wbg_call_0ad083564791763a, __wbg_call_a34b6b4765f27be0, __wbg_call_d00953b926be4879, __wbg_call_efe5a4db7065d1a2, __wbg_changemodifier_new, __wbg_crypto_ed58b8e10a292839, __wbg_cursor_new, __wbg_done_f4c254830a095eaf, __wbg_entries_4dce6361e3ba6fbc, __wbg_entries_83beb641792ccb9c, __wbg_error_7534b8e9a36f1ab4, __wbg_error_9912f7d6d7835a4b, __wbg_from_3aa0fcaa8eef0104, __wbg_getRandomValues_bcb4912f16000dc4, __wbg_get_0c3cc364764a0b98, __wbg_get_b996a12be035ef4f, __wbg_getindex_a471648b3037c750, __wbg_getwithrefkey_1dc361bd10053bfe, __wbg_globalThis_6b4d52a0b6aaeaea, __wbg_global_49324ce12193de77, __wbg_instanceof_ArrayBuffer_ff40e55b5978e215, __wbg_instanceof_Map_0f3f3653f757ced1, __wbg_instanceof_Object_9108547bac1f91b1, __wbg_instanceof_Uint8Array_db97368f94b1373f, __wbg_isArray_8738f1062fa88586, __wbg_isSafeInteger_a1b3e0811faecf2f, __wbg_iterator_c0c688f37fa815e6, __wbg_length_12246a78d2f65d3a, __wbg_length_c24da17096edfe57, __wbg_log_0cc1b7768397bcfe, __wbg_log_0fd6c49475c7bece, __wbg_log_cb9e190acc5753fb, __wbg_lorocounter_new, __wbg_lorolist_new, __wbg_loromap_new, __wbg_loromovablelist_new, __wbg_lorotext_new, __wbg_lorotree_new, __wbg_lorotreenode_new, __wbg_mark_7438147ce31e9d4b, __wbg_measure_fb7825c11612c823, __wbg_msCrypto_0a36e2ec3a343d26, __wbg_new_518e2184725aa711, __wbg_new_59845962d1127937, __wbg_new_67abf4a77618ee3e, __wbg_new_8a6f238a6ece86ea, __wbg_new_e2d07398d7689006, __wbg_newnoargs_a136448eeb7d48ac, __wbg_newwithbyteoffsetandlength_84908302a4c137cf, __wbg_newwithlength_4c216eaaf23f2f9a, __wbg_newwithlength_88b49de1eb24d63e, __wbg_next_928df8c15fc0c9b0, __wbg_next_9dc0926f351c7090, __wbg_node_02999533c4ea02e3, __wbg_now_3e8577e703add0ba, __wbg_ownKeys_b16312a839a4152c, __wbg_process_5c1d670bc53614b8, __wbg_push_e7d7247e69dad3ee, __wbg_randomFillSync_ab2cfe79ebbf2740, __wbg_require_79b1e9274cde3c87, __wbg_resolve_267ff08e7e1d2ce4, __wbg_self_cca3ca60d61220f4, __wbg_set_1b50d2de855a9d50, __wbg_set_393f510a6b7e9da5, __wbg_set_3f1d0b984ed272ed, __wbg_set_5deee49b10b2b780, __wbg_set_93ba9407b5476ec6, __wbg_set_wasm, __wbg_setindex_e0b7b31bfc87ba3f, __wbg_stack_0ed75d68575b0f3c, __wbg_subarray_2dc34705c0dc7cdb, __wbg_then_84907e7a6730461e, __wbg_value_51f8a88d4a1805fb, __wbg_versions_c71aa1626a93e0a1, __wbg_versionvector_new, __wbg_window_2aba046d3fc4ad7c, __wbindgen_as_number, __wbindgen_bigint_from_i64, __wbindgen_bigint_from_u64, __wbindgen_bigint_get_as_i64, __wbindgen_boolean_get, __wbindgen_cb_drop, __wbindgen_closure_wrapper483, __wbindgen_closure_wrapper485, __wbindgen_debug_string, __wbindgen_error_new, __wbindgen_in, __wbindgen_is_array, __wbindgen_is_bigint, __wbindgen_is_falsy, __wbindgen_is_function, __wbindgen_is_null, __wbindgen_is_object, __wbindgen_is_string, __wbindgen_is_undefined, __wbindgen_jsval_eq, __wbindgen_jsval_loose_eq, __wbindgen_memory, __wbindgen_number_get, __wbindgen_number_new, __wbindgen_object_clone_ref, __wbindgen_object_drop_ref, __wbindgen_rethrow, __wbindgen_string_get, __wbindgen_string_new, __wbindgen_throw, __wbindgen_typeof, decodeFrontiers, decodeImportBlobMeta, encodeFrontiers, getType, idStrToId, isContainer, isContainerId, newContainerID, newRootContainerID, redactJsonUpdates, run, setDebug };
|
package/base64/loro_wasm.d.ts
CHANGED
|
@@ -24,6 +24,26 @@ export function setDebug(): void;
|
|
|
24
24
|
* - changeNum
|
|
25
25
|
*/
|
|
26
26
|
export function decodeImportBlobMeta(blob: Uint8Array, check_checksum: boolean): ImportBlobMetadata;
|
|
27
|
+
/**
|
|
28
|
+
* Redacts sensitive content in JSON updates within the specified version range.
|
|
29
|
+
*
|
|
30
|
+
* This function allows you to share document history while removing potentially sensitive content.
|
|
31
|
+
* It preserves the document structure and collaboration capabilities while replacing content with
|
|
32
|
+
* placeholders according to these redaction rules:
|
|
33
|
+
*
|
|
34
|
+
* - Preserves delete and move operations
|
|
35
|
+
* - Replaces text insertion content with the Unicode replacement character
|
|
36
|
+
* - Substitutes list and map insert values with null
|
|
37
|
+
* - Maintains structure of child containers
|
|
38
|
+
* - Replaces text mark values with null
|
|
39
|
+
* - Preserves map keys and text annotation keys
|
|
40
|
+
*
|
|
41
|
+
* @param {Object|string} jsonUpdates - The JSON updates to redact (object or JSON string)
|
|
42
|
+
* @param {Object} versionRange - Version range defining what content to redact,
|
|
43
|
+
* format: { peerId: [startCounter, endCounter], ... }
|
|
44
|
+
* @returns {Object} The redacted JSON updates
|
|
45
|
+
*/
|
|
46
|
+
export function redactJsonUpdates(json_updates: string | JsonSchema, version_range: any): JsonSchema;
|
|
27
47
|
|
|
28
48
|
/**
|
|
29
49
|
* Container types supported by loro.
|
|
@@ -194,11 +214,11 @@ interface LoroDoc {
|
|
|
194
214
|
* doc.commit();
|
|
195
215
|
* expect(doc.getChangeAt({ peer: "0", counter: 0 }).message).toBe("test");
|
|
196
216
|
* ```
|
|
197
|
-
*
|
|
217
|
+
*
|
|
198
218
|
* ### Advanced Example: Creating a Merkle DAG
|
|
199
|
-
*
|
|
219
|
+
*
|
|
200
220
|
* By combining `doc.subscribePreCommit` with `doc.exportJsonInIdSpan`, you can implement advanced features like representing Loro's editing history as a Merkle DAG:
|
|
201
|
-
*
|
|
221
|
+
*
|
|
202
222
|
* ```ts
|
|
203
223
|
* const doc = new LoroDoc();
|
|
204
224
|
* doc.setPeerId(0);
|
|
@@ -218,7 +238,7 @@ interface LoroDoc {
|
|
|
218
238
|
* const sha256Hash = hash.digest('hex');
|
|
219
239
|
* e.modifier.setMessage(sha256Hash);
|
|
220
240
|
* });
|
|
221
|
-
*
|
|
241
|
+
*
|
|
222
242
|
* doc.getList("list").insert(0, 100);
|
|
223
243
|
* doc.commit();
|
|
224
244
|
* // Change 0
|
|
@@ -236,8 +256,8 @@ interface LoroDoc {
|
|
|
236
256
|
* // }
|
|
237
257
|
* // ]
|
|
238
258
|
* // }
|
|
239
|
-
*
|
|
240
|
-
*
|
|
259
|
+
*
|
|
260
|
+
*
|
|
241
261
|
* doc.getList("list").insert(0, 200);
|
|
242
262
|
* doc.commit();
|
|
243
263
|
* // Change 1
|
|
@@ -257,13 +277,13 @@ interface LoroDoc {
|
|
|
257
277
|
* // }
|
|
258
278
|
* // ]
|
|
259
279
|
* // }
|
|
260
|
-
*
|
|
280
|
+
*
|
|
261
281
|
* expect(doc.getChangeAt({ peer: "0", counter: 0 }).message).toBe("2af99cf93869173984bcf6b1ce5412610b0413d027a5511a8f720a02a4432853");
|
|
262
282
|
* expect(doc.getChangeAt({ peer: "0", counter: 1 }).message).toBe("aedbb442c554ecf59090e0e8339df1d8febf647f25cc37c67be0c6e27071d37f");
|
|
263
283
|
* ```
|
|
264
|
-
*
|
|
284
|
+
*
|
|
265
285
|
* @param f - A callback function that receives a pre commit event.
|
|
266
|
-
*
|
|
286
|
+
*
|
|
267
287
|
**/
|
|
268
288
|
subscribePreCommit(f: (e: { changeMeta: Change, origin: string, modifier: ChangeModifier }) => void): () => void
|
|
269
289
|
|
|
@@ -587,9 +607,6 @@ interface LoroMovableList {
|
|
|
587
607
|
}
|
|
588
608
|
|
|
589
609
|
export type Side = -1 | 0 | 1;
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
610
|
export type JsonOpID = `${number}@${PeerID}`;
|
|
594
611
|
export type JsonContainerID = `🦜:${ContainerID}` ;
|
|
595
612
|
export type JsonValue =
|
|
@@ -931,7 +948,7 @@ interface LoroDoc<T extends Record<string, Container> = Record<string, Container
|
|
|
931
948
|
* import { LoroDoc } from "loro-crdt";
|
|
932
949
|
*
|
|
933
950
|
* const doc = new LoroDoc();
|
|
934
|
-
* const list = doc.
|
|
951
|
+
* const list = doc.getMovableList("list");
|
|
935
952
|
* ```
|
|
936
953
|
*/
|
|
937
954
|
getMovableList<Key extends keyof T | ContainerID>(name: Key): T[Key] extends LoroMovableList ? T[Key] : LoroMovableList;
|
|
@@ -967,9 +984,9 @@ interface LoroDoc<T extends Record<string, Container> = Record<string, Container
|
|
|
967
984
|
* It ensures deterministic output, making it ideal for hash calculations and integrity checks.
|
|
968
985
|
*
|
|
969
986
|
* This method can also export pending changes from the uncommitted transaction that have not yet been applied to the OpLog.
|
|
970
|
-
*
|
|
987
|
+
*
|
|
971
988
|
* This method will NOT trigger a new commit implicitly.
|
|
972
|
-
*
|
|
989
|
+
*
|
|
973
990
|
* @param idSpan - The id span to export.
|
|
974
991
|
* @returns The changes in the given id span.
|
|
975
992
|
*/
|