@vuer-ai/vuer-rtc 0.7.0 → 0.8.2
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/CLAUDE.md +3 -2
- package/dist/client/EditBuffer.d.ts +4 -4
- package/dist/client/EditBuffer.d.ts.map +1 -1
- package/dist/client/EditBuffer.js +26 -25
- package/dist/client/EditBuffer.js.map +1 -1
- package/dist/client/actions.d.ts +3 -3
- package/dist/client/actions.d.ts.map +1 -1
- package/dist/client/actions.js +71 -70
- package/dist/client/actions.js.map +1 -1
- package/dist/client/coalesceGraphOps.d.ts +4 -4
- package/dist/client/coalesceGraphOps.js +4 -4
- package/dist/client/coalesceTextOperations.d.ts.map +1 -1
- package/dist/client/coalesceTextOperations.js +23 -20
- package/dist/client/coalesceTextOperations.js.map +1 -1
- package/dist/client/coalescence/lwwOperations.js +3 -3
- package/dist/client/coalescence/lwwOperations.js.map +1 -1
- package/dist/client/coalescence/numberOperations.js +2 -2
- package/dist/client/coalescence/numberOperations.js.map +1 -1
- package/dist/client/coalescence/registry.d.ts +3 -3
- package/dist/client/coalescence/registry.d.ts.map +1 -1
- package/dist/client/coalescence/registry.js +11 -11
- package/dist/client/coalescence/registry.js.map +1 -1
- package/dist/client/coalescence/textDeletes.d.ts +8 -7
- package/dist/client/coalescence/textDeletes.d.ts.map +1 -1
- package/dist/client/coalescence/textDeletes.js +11 -11
- package/dist/client/coalescence/textDeletes.js.map +1 -1
- package/dist/client/coalescence/textInserts.d.ts +8 -5
- package/dist/client/coalescence/textInserts.d.ts.map +1 -1
- package/dist/client/coalescence/textInserts.js +32 -12
- package/dist/client/coalescence/textInserts.js.map +1 -1
- package/dist/client/coalescence/utils.d.ts +3 -9
- package/dist/client/coalescence/utils.d.ts.map +1 -1
- package/dist/client/coalescence/utils.js +10 -8
- package/dist/client/coalescence/utils.js.map +1 -1
- package/dist/client/coalescence/vector3Operations.js +2 -2
- package/dist/client/coalescence/vector3Operations.js.map +1 -1
- package/dist/client/createGraph.d.ts +2 -2
- package/dist/client/createGraph.js +4 -4
- package/dist/client/createGraph.js.map +1 -1
- package/dist/client/createTextDocument.d.ts +1 -1
- package/dist/client/createTextDocument.js +3 -3
- package/dist/client/createTextDocument.js.map +1 -1
- package/dist/client/hooks.d.ts +3 -3
- package/dist/client/hooks.d.ts.map +1 -1
- package/dist/client/hooks.js +4 -4
- package/dist/client/hooks.js.map +1 -1
- package/dist/client/textActions.d.ts +2 -2
- package/dist/client/textActions.d.ts.map +1 -1
- package/dist/client/textActions.js +47 -47
- package/dist/client/textActions.js.map +1 -1
- package/dist/client/textTypes.d.ts +8 -8
- package/dist/client/textTypes.d.ts.map +1 -1
- package/dist/client/types.d.ts +4 -4
- package/dist/client/types.d.ts.map +1 -1
- package/dist/crdt/GraphTextCRDT.d.ts +2 -2
- package/dist/crdt/GraphTextCRDT.d.ts.map +1 -1
- package/dist/crdt/GraphTextCRDT.js +6 -6
- package/dist/crdt/GraphTextCRDT.js.map +1 -1
- package/dist/crdt/Rope.d.ts +13 -14
- package/dist/crdt/Rope.d.ts.map +1 -1
- package/dist/crdt/Rope.js +130 -59
- package/dist/crdt/Rope.js.map +1 -1
- package/dist/crdt/index.d.ts +1 -1
- package/dist/crdt/index.d.ts.map +1 -1
- package/dist/crdt/index.js +1 -1
- package/dist/crdt/index.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/operations/OperationTypes.d.ts +45 -48
- package/dist/operations/OperationTypes.d.ts.map +1 -1
- package/dist/operations/OperationValidator.js +11 -11
- package/dist/operations/OperationValidator.js.map +1 -1
- package/dist/operations/apply/node.js +3 -3
- package/dist/operations/apply/node.js.map +1 -1
- package/dist/operations/apply/text.d.ts.map +1 -1
- package/dist/operations/apply/text.js +35 -32
- package/dist/operations/apply/text.js.map +1 -1
- package/dist/operations/apply/types.d.ts +4 -4
- package/dist/operations/apply/types.d.ts.map +1 -1
- package/dist/operations/apply/types.js +8 -8
- package/dist/operations/apply/types.js.map +1 -1
- package/dist/operations/dispatcher.d.ts.map +1 -1
- package/dist/operations/dispatcher.js +52 -13
- package/dist/operations/dispatcher.js.map +1 -1
- package/dist/serdes.d.ts +1 -1
- package/dist/serdes.d.ts.map +1 -1
- package/dist/state/ConflictResolver.d.ts +9 -9
- package/dist/state/ConflictResolver.d.ts.map +1 -1
- package/dist/state/ConflictResolver.js +20 -20
- package/dist/state/ConflictResolver.js.map +1 -1
- package/dist/state/DType.d.ts +2 -2
- package/dist/state/DType.d.ts.map +1 -1
- package/dist/state/DType.js +14 -14
- package/dist/state/DType.js.map +1 -1
- package/dist/state/VectorClock.d.ts +6 -6
- package/dist/state/VectorClock.d.ts.map +1 -1
- package/dist/state/VectorClock.js +14 -14
- package/dist/state/VectorClock.js.map +1 -1
- package/dist/state/index.d.ts +1 -1
- package/dist/state/index.js +1 -1
- package/examples/01-basic-usage.ts +16 -16
- package/examples/02-concurrent-edits.ts +29 -29
- package/examples/03-scene-building.ts +28 -28
- package/examples/04-conflict-resolution.ts +56 -56
- package/examples/05-coalescence-usage.ts +23 -23
- package/examples/README.md +12 -12
- package/package.json +1 -1
- package/src/client/EditBuffer.ts +28 -27
- package/src/client/TEXT_DOCUMENT_API.md +9 -9
- package/src/client/actions.ts +74 -70
- package/src/client/coalesceGraphOps.ts +4 -4
- package/src/client/coalesceTextOperations.ts +26 -22
- package/src/client/coalescence/lwwOperations.ts +3 -3
- package/src/client/coalescence/numberOperations.ts +2 -2
- package/src/client/coalescence/registry.ts +13 -12
- package/src/client/coalescence/textDeletes.ts +22 -18
- package/src/client/coalescence/textInserts.ts +49 -25
- package/src/client/coalescence/utils.ts +14 -11
- package/src/client/coalescence/vector3Operations.ts +2 -2
- package/src/client/createGraph.ts +4 -4
- package/src/client/createTextDocument.ts +3 -3
- package/src/client/hooks.tsx +5 -5
- package/src/client/textActions.ts +47 -47
- package/src/client/textTypes.ts +8 -8
- package/src/client/types.ts +4 -4
- package/src/crdt/GraphTextCRDT.ts +6 -6
- package/src/crdt/Rope.ts +156 -71
- package/src/crdt/index.ts +2 -0
- package/src/index.ts +2 -0
- package/src/operations/OperationTypes.ts +47 -47
- package/src/operations/OperationValidator.ts +11 -11
- package/src/operations/apply/node.ts +3 -3
- package/src/operations/apply/text.ts +38 -32
- package/src/operations/apply/types.ts +11 -11
- package/src/operations/dispatcher.ts +57 -13
- package/src/serdes.ts +1 -1
- package/src/state/ConflictResolver.ts +23 -23
- package/src/state/DType.ts +16 -16
- package/src/state/VectorClock.ts +14 -14
- package/src/state/index.ts +1 -1
- package/tests/client/actions.test.ts +76 -76
- package/tests/client/coalesce-graph-operations.test.ts +84 -84
- package/tests/client/coalesce-text-operations.test.ts +91 -114
- package/tests/client/compaction.test.ts +18 -18
- package/tests/client/delete-coalescence-bug.test.ts +34 -34
- package/tests/client/edit-buffer.test.ts +27 -30
- package/tests/client/graph-coalescence-phase1.test.ts +66 -66
- package/tests/client/graph-coalescence.test.ts +50 -50
- package/tests/client/journal-benchmark.test.ts +5 -5
- package/tests/crdt/graph-text-crdt.test.ts +60 -64
- package/tests/crdt/rope.test.ts +9 -8
- package/tests/crdt/text-operations.test.ts +28 -28
- package/tests/fixtures/array-ops.jsonl +6 -6
- package/tests/fixtures/boolean-ops.jsonl +6 -6
- package/tests/fixtures/color-ops.jsonl +4 -4
- package/tests/fixtures/edit-buffer.jsonl +3 -3
- package/tests/fixtures/node-ops.jsonl +6 -6
- package/tests/fixtures/number-ops.jsonl +7 -7
- package/tests/fixtures/object-ops.jsonl +4 -4
- package/tests/fixtures/operations.jsonl +7 -7
- package/tests/fixtures/string-ops.jsonl +4 -4
- package/tests/fixtures/undo-redo.jsonl +3 -3
- package/tests/fixtures/vector-ops.jsonl +17 -17
- package/tests/operations/collections.test.ts +4 -4
- package/tests/operations/nodes.test.ts +5 -5
- package/tests/operations/operation-ordering.test.ts +406 -0
- package/tests/operations/primitives.test.ts +4 -4
- package/tests/operations/unified-schema.test.ts +27 -27
- package/tests/operations/vectors.test.ts +4 -4
- package/tests/sync/digest.test.ts +5 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createGraph.js","sourceRoot":"","sources":["../../src/client/createGraph.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,EACL,kBAAkB,EAClB,MAAM,EACN,WAAW,EAEX,WAAW,EACX,eAAe,EACf,IAAI,EACJ,IAAI,EACJ,OAAO,EACP,kBAAkB,EAClB,cAAc,GACf,MAAM,cAAc,CAAC;AAGtB;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,OAA2B;IACrD,IAAI,KAAK,GAAG,kBAAkB,CAAC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"createGraph.js","sourceRoot":"","sources":["../../src/client/createGraph.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Usage:
|
|
5
5
|
* ```typescript
|
|
6
6
|
* const store = createTextDocument({
|
|
7
|
-
*
|
|
7
|
+
* client: 'my-session',
|
|
8
8
|
* onSend: (msg) => websocket.send(msg),
|
|
9
9
|
* });
|
|
10
10
|
*
|
|
@@ -19,7 +19,7 @@ import { createInitialTextState, onTextEdit, commitTextEdits, onTextServerAck, o
|
|
|
19
19
|
* Create a text document store
|
|
20
20
|
*/
|
|
21
21
|
export function createTextDocument(options) {
|
|
22
|
-
let state = createInitialTextState(options.
|
|
22
|
+
let state = createInitialTextState(options.client, options.initialSnapshot);
|
|
23
23
|
const listeners = new Set();
|
|
24
24
|
let coalescingTimer = null;
|
|
25
25
|
let coalescingEnabled = options.coalescingEnabled ?? false;
|
|
@@ -121,7 +121,7 @@ export function createTextDocument(options) {
|
|
|
121
121
|
dispatch(s => onTextServerAck(s, msgId));
|
|
122
122
|
},
|
|
123
123
|
loadServerState: (snapshot, journal) => {
|
|
124
|
-
dispatch(() => initTextFromServer(options.
|
|
124
|
+
dispatch(() => initTextFromServer(options.client, snapshot, journal));
|
|
125
125
|
},
|
|
126
126
|
// Undo/redo
|
|
127
127
|
undo: () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createTextDocument.js","sourceRoot":"","sources":["../../src/client/createTextDocument.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAQtF,OAAO,EACL,sBAAsB,EACtB,UAAU,EACV,eAAe,EAEf,eAAe,EACf,mBAAmB,EACnB,QAAQ,EACR,QAAQ,EACR,kBAAkB,GACnB,MAAM,kBAAkB,CAAC;AAE1B;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAkC;IACnE,IAAI,KAAK,GAAG,sBAAsB,CAAC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"createTextDocument.js","sourceRoot":"","sources":["../../src/client/createTextDocument.ts"],"names":[],"mappings":"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"}
|
package/dist/client/hooks.d.ts
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* ```tsx
|
|
6
6
|
* function App() {
|
|
7
7
|
* return (
|
|
8
|
-
* <GraphProvider
|
|
8
|
+
* <GraphProvider client="my-session" onSend={sendToServer}>
|
|
9
9
|
* <Scene />
|
|
10
10
|
* </GraphProvider>
|
|
11
11
|
* );
|
|
@@ -22,12 +22,12 @@ import React, { type ReactNode } from 'react';
|
|
|
22
22
|
import type { CRDTMessage, Operation, SceneGraph, SceneNode } from '../operations/OperationTypes.js';
|
|
23
23
|
import { type GraphStore, type Snapshot } from './createGraph.js';
|
|
24
24
|
export interface GraphProviderProps {
|
|
25
|
-
|
|
25
|
+
client: string;
|
|
26
26
|
initialSnapshot?: Snapshot;
|
|
27
27
|
onSend?: (msg: CRDTMessage) => void;
|
|
28
28
|
children: ReactNode;
|
|
29
29
|
}
|
|
30
|
-
export declare function GraphProvider({
|
|
30
|
+
export declare function GraphProvider({ client, initialSnapshot, onSend, children, }: GraphProviderProps): React.ReactElement;
|
|
31
31
|
/**
|
|
32
32
|
* Get the graph store
|
|
33
33
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/client/hooks.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,EAOZ,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AACrG,OAAO,EAAe,KAAK,UAAU,EAAE,KAAK,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAY/E,MAAM,WAAW,kBAAkB;IACjC,
|
|
1
|
+
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/client/hooks.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,EAOZ,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AACrG,OAAO,EAAe,KAAK,UAAU,EAAE,KAAK,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAY/E,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,QAAQ,CAAC;IAC3B,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,IAAI,CAAC;IACpC,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,wBAAgB,aAAa,CAAC,EAC5B,MAAM,EACN,eAAe,EACf,MAAM,EACN,QAAQ,GACT,EAAE,kBAAkB,GAAG,KAAK,CAAC,YAAY,CAczC;AAMD;;GAEG;AACH,wBAAgB,aAAa,IAAI,UAAU,CAM1C;AAED;;GAEG;AACH,wBAAgB,QAAQ,IAAI,UAAU,CAOrC;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAO1D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS,CAa3E;AAED;;GAEG;AACH,wBAAgB,eAAe;eAItB,SAAS;2BAOC,MAAM;;;;;;;mBAef,WAAW;iBAOT,MAAM;;EAsBjB;AAED;;;;;;;GAOG;AACH,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;;;oBASzC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;;EAoBnC;AAED;;GAEG;AACH,wBAAgB,oBAAoB,SAkBnC"}
|
package/dist/client/hooks.js
CHANGED
|
@@ -6,7 +6,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
6
6
|
* ```tsx
|
|
7
7
|
* function App() {
|
|
8
8
|
* return (
|
|
9
|
-
* <GraphProvider
|
|
9
|
+
* <GraphProvider client="my-session" onSend={sendToServer}>
|
|
10
10
|
* <Scene />
|
|
11
11
|
* </GraphProvider>
|
|
12
12
|
* );
|
|
@@ -25,9 +25,9 @@ import { createGraph } from './createGraph.js';
|
|
|
25
25
|
// Context
|
|
26
26
|
// ===========================================
|
|
27
27
|
const GraphContext = createContext(null);
|
|
28
|
-
export function GraphProvider({
|
|
28
|
+
export function GraphProvider({ client, initialSnapshot, onSend, children, }) {
|
|
29
29
|
const [store] = useState(() => createGraph({
|
|
30
|
-
|
|
30
|
+
client,
|
|
31
31
|
initialSnapshot,
|
|
32
32
|
onSend,
|
|
33
33
|
}));
|
|
@@ -125,7 +125,7 @@ export function useDrag(nodeKey, path) {
|
|
|
125
125
|
}, []);
|
|
126
126
|
const onDrag = useCallback((delta) => {
|
|
127
127
|
edit({
|
|
128
|
-
|
|
128
|
+
ot: 'vector3.add',
|
|
129
129
|
key: nodeKey,
|
|
130
130
|
path,
|
|
131
131
|
value: delta,
|
package/dist/client/hooks.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/client/hooks.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,EACZ,aAAa,EACb,UAAU,EACV,QAAQ,EACR,WAAW,EACX,oBAAoB,EACpB,OAAO,GAER,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,WAAW,EAAkC,MAAM,kBAAkB,CAAC;AAE/E,8CAA8C;AAC9C,UAAU;AACV,8CAA8C;AAE9C,MAAM,YAAY,GAAG,aAAa,CAAoB,IAAI,CAAC,CAAC;AAa5D,MAAM,UAAU,aAAa,CAAC,EAC5B,
|
|
1
|
+
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/client/hooks.tsx"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@ import type { TextDocumentState, TextMessage, TextOperation, TextSnapshot } from
|
|
|
8
8
|
/**
|
|
9
9
|
* Create initial text document state
|
|
10
10
|
*/
|
|
11
|
-
export declare function createInitialTextState(
|
|
11
|
+
export declare function createInitialTextState(client: string, initialSnapshot?: TextSnapshot): TextDocumentState;
|
|
12
12
|
/**
|
|
13
13
|
* Add a text operation to the edit buffer
|
|
14
14
|
*/
|
|
@@ -35,7 +35,7 @@ export declare function onTextRemoteMessage(state: TextDocumentState, msg: TextM
|
|
|
35
35
|
/**
|
|
36
36
|
* Initialize from server state
|
|
37
37
|
*/
|
|
38
|
-
export declare function initTextFromServer(
|
|
38
|
+
export declare function initTextFromServer(client: string, snapshot: TextSnapshot, journal: TextMessage[]): TextDocumentState;
|
|
39
39
|
/**
|
|
40
40
|
* Undo last committed change
|
|
41
41
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"textActions.d.ts","sourceRoot":"","sources":["../../src/client/textActions.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAYH,OAAO,KAAK,EACV,iBAAiB,EAGjB,WAAW,EACX,aAAa,EACb,YAAY,EACb,MAAM,gBAAgB,CAAC;AAMxB;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,
|
|
1
|
+
{"version":3,"file":"textActions.d.ts","sourceRoot":"","sources":["../../src/client/textActions.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAYH,OAAO,KAAK,EACV,iBAAiB,EAGjB,WAAW,EACX,aAAa,EACb,YAAY,EACb,MAAM,gBAAgB,CAAC;AAMxB;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,EACd,eAAe,CAAC,EAAE,YAAY,GAC7B,iBAAiB,CA4BnB;AAED;;GAEG;AACH,wBAAgB,UAAU,CACxB,KAAK,EAAE,iBAAiB,EACxB,EAAE,EAAE,aAAa,GAChB,iBAAiB,CAmBnB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,iBAAiB,EACxB,WAAW,CAAC,EAAE,MAAM,EACpB,qBAAqB,CAAC,EAAE,MAAM,GAC7B;IAAE,KAAK,EAAE,iBAAiB,CAAC;IAAC,GAAG,EAAE,WAAW,GAAG,IAAI,CAAA;CAAE,CAuCvD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,iBAAiB,GAAG,iBAAiB,CAwB3E;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,iBAAiB,EACxB,KAAK,EAAE,MAAM,GACZ,iBAAiB,CAKnB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,iBAAiB,EACxB,GAAG,EAAE,WAAW,GACf,iBAAiB,CAgCnB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE,WAAW,EAAE,GACrB,iBAAiB,CASnB;AAED;;GAEG;AACH,wBAAgB,QAAQ,CACtB,KAAK,EAAE,iBAAiB,GACvB;IAAE,KAAK,EAAE,iBAAiB,CAAC;IAAC,GAAG,EAAE,WAAW,GAAG,IAAI,CAAA;CAAE,CA0DvD;AAED;;GAEG;AACH,wBAAgB,QAAQ,CACtB,KAAK,EAAE,iBAAiB,GACvB;IAAE,KAAK,EAAE,iBAAiB,CAAC;IAAC,GAAG,EAAE,WAAW,GAAG,IAAI,CAAA;CAAE,CA2DvD"}
|
|
@@ -11,32 +11,32 @@ const clockManager = new VectorClockManager();
|
|
|
11
11
|
/**
|
|
12
12
|
* Create initial text document state
|
|
13
13
|
*/
|
|
14
|
-
export function createInitialTextState(
|
|
14
|
+
export function createInitialTextState(client, initialSnapshot) {
|
|
15
15
|
if (initialSnapshot) {
|
|
16
16
|
return {
|
|
17
17
|
rope: initialSnapshot.rope,
|
|
18
18
|
journal: [],
|
|
19
19
|
edits: { ops: [], baseText: null },
|
|
20
20
|
snapshot: initialSnapshot,
|
|
21
|
-
|
|
21
|
+
lt: initialSnapshot.lt,
|
|
22
22
|
vectorClock: { ...initialSnapshot.vectorClock },
|
|
23
|
-
|
|
23
|
+
client: client,
|
|
24
24
|
};
|
|
25
25
|
}
|
|
26
|
-
const rope = createRope(
|
|
26
|
+
const rope = createRope(client);
|
|
27
27
|
return {
|
|
28
28
|
rope,
|
|
29
29
|
journal: [],
|
|
30
30
|
edits: { ops: [], baseText: null },
|
|
31
31
|
snapshot: {
|
|
32
32
|
rope,
|
|
33
|
-
vectorClock: { [
|
|
34
|
-
|
|
33
|
+
vectorClock: { [client]: 0 },
|
|
34
|
+
lt: 0,
|
|
35
35
|
journalIndex: 0,
|
|
36
36
|
},
|
|
37
|
-
|
|
38
|
-
vectorClock: { [
|
|
39
|
-
|
|
37
|
+
lt: 0,
|
|
38
|
+
vectorClock: { [client]: 0 },
|
|
39
|
+
client: client,
|
|
40
40
|
};
|
|
41
41
|
}
|
|
42
42
|
/**
|
|
@@ -51,10 +51,10 @@ export function onTextEdit(state, op) {
|
|
|
51
51
|
edits.ops = [...edits.ops, op];
|
|
52
52
|
// Clone rope and apply operation (rope operations mutate in place)
|
|
53
53
|
const rope = cloneRope(state.rope);
|
|
54
|
-
if (op.
|
|
54
|
+
if (op.ot === 'insert') {
|
|
55
55
|
ropeApply(rope, op);
|
|
56
56
|
}
|
|
57
|
-
else if (op.
|
|
57
|
+
else if (op.ot === 'delete') {
|
|
58
58
|
ropeApplyDelete(rope, op);
|
|
59
59
|
}
|
|
60
60
|
return { ...state, rope, edits };
|
|
@@ -70,16 +70,16 @@ export function commitTextEdits(state, description, coalescingThresholdMs) {
|
|
|
70
70
|
const operations = coalescingThresholdMs !== undefined
|
|
71
71
|
? coalesceTextOperations(state.edits.ops, { thresholdMs: coalescingThresholdMs })
|
|
72
72
|
: state.edits.ops;
|
|
73
|
-
const msgId = `${state.
|
|
74
|
-
const vectorClock = clockManager.increment(state.vectorClock, state.
|
|
75
|
-
const lamportTime = state.
|
|
73
|
+
const msgId = `${state.client}-${Date.now()}-${Math.random().toString(36).slice(2)}`;
|
|
74
|
+
const vectorClock = clockManager.increment(state.vectorClock, state.client);
|
|
75
|
+
const lamportTime = state.lt + 1;
|
|
76
76
|
const msg = {
|
|
77
77
|
msgId,
|
|
78
|
-
|
|
78
|
+
client: state.client,
|
|
79
79
|
operations,
|
|
80
80
|
vectorClock,
|
|
81
|
-
lamportTime,
|
|
82
|
-
|
|
81
|
+
lt: lamportTime,
|
|
82
|
+
ts: Date.now(),
|
|
83
83
|
description,
|
|
84
84
|
};
|
|
85
85
|
const entry = {
|
|
@@ -92,7 +92,7 @@ export function commitTextEdits(state, description, coalescingThresholdMs) {
|
|
|
92
92
|
journal: [...state.journal, entry],
|
|
93
93
|
edits: { ops: [], baseText: null },
|
|
94
94
|
vectorClock,
|
|
95
|
-
lamportTime,
|
|
95
|
+
lt: lamportTime,
|
|
96
96
|
},
|
|
97
97
|
msg,
|
|
98
98
|
};
|
|
@@ -110,10 +110,10 @@ export function cancelTextEdits(state) {
|
|
|
110
110
|
if (entry.deletedAt)
|
|
111
111
|
continue; // Skip undone entries
|
|
112
112
|
for (const op of entry.msg.operations) {
|
|
113
|
-
if (op.
|
|
113
|
+
if (op.ot === 'insert') {
|
|
114
114
|
ropeApply(rope, op);
|
|
115
115
|
}
|
|
116
|
-
else if (op.
|
|
116
|
+
else if (op.ot === 'delete') {
|
|
117
117
|
ropeApplyDelete(rope, op);
|
|
118
118
|
}
|
|
119
119
|
}
|
|
@@ -142,10 +142,10 @@ export function onTextRemoteMessage(state, msg) {
|
|
|
142
142
|
// Clone rope and apply remote operations
|
|
143
143
|
const rope = cloneRope(state.rope);
|
|
144
144
|
for (const op of msg.operations) {
|
|
145
|
-
if (op.
|
|
145
|
+
if (op.ot === 'insert') {
|
|
146
146
|
ropeApply(rope, op);
|
|
147
147
|
}
|
|
148
|
-
else if (op.
|
|
148
|
+
else if (op.ot === 'delete') {
|
|
149
149
|
ropeApplyDelete(rope, op);
|
|
150
150
|
}
|
|
151
151
|
}
|
|
@@ -155,20 +155,20 @@ export function onTextRemoteMessage(state, msg) {
|
|
|
155
155
|
};
|
|
156
156
|
// Merge vector clocks
|
|
157
157
|
const vectorClock = clockManager.merge(state.vectorClock, msg.vectorClock);
|
|
158
|
-
const lamportTime = Math.max(state.
|
|
158
|
+
const lamportTime = Math.max(state.lt, msg.lt) + 1;
|
|
159
159
|
return {
|
|
160
160
|
...state,
|
|
161
161
|
rope,
|
|
162
162
|
journal: [...state.journal, entry],
|
|
163
163
|
vectorClock,
|
|
164
|
-
lamportTime,
|
|
164
|
+
lt: lamportTime,
|
|
165
165
|
};
|
|
166
166
|
}
|
|
167
167
|
/**
|
|
168
168
|
* Initialize from server state
|
|
169
169
|
*/
|
|
170
|
-
export function initTextFromServer(
|
|
171
|
-
let state = createInitialTextState(
|
|
170
|
+
export function initTextFromServer(client, snapshot, journal) {
|
|
171
|
+
let state = createInitialTextState(client, snapshot);
|
|
172
172
|
// Apply journal entries
|
|
173
173
|
for (const msg of journal) {
|
|
174
174
|
state = onTextRemoteMessage(state, msg);
|
|
@@ -182,7 +182,7 @@ export function undoText(state) {
|
|
|
182
182
|
// Find last non-deleted entry by this session
|
|
183
183
|
let lastIdx = -1;
|
|
184
184
|
for (let i = state.journal.length - 1; i >= 0; i--) {
|
|
185
|
-
if (state.journal[i].msg.
|
|
185
|
+
if (state.journal[i].msg.client === state.client &&
|
|
186
186
|
!state.journal[i].deletedAt) {
|
|
187
187
|
lastIdx = i;
|
|
188
188
|
break;
|
|
@@ -201,24 +201,24 @@ export function undoText(state) {
|
|
|
201
201
|
if (entry.deletedAt)
|
|
202
202
|
continue;
|
|
203
203
|
for (const op of entry.msg.operations) {
|
|
204
|
-
if (op.
|
|
204
|
+
if (op.ot === 'insert') {
|
|
205
205
|
ropeApply(rope, op);
|
|
206
206
|
}
|
|
207
|
-
else if (op.
|
|
207
|
+
else if (op.ot === 'delete') {
|
|
208
208
|
ropeApplyDelete(rope, op);
|
|
209
209
|
}
|
|
210
210
|
}
|
|
211
211
|
}
|
|
212
212
|
// Create undo message
|
|
213
|
-
const vectorClock = clockManager.increment(state.vectorClock, state.
|
|
214
|
-
const lamportTime = state.
|
|
213
|
+
const vectorClock = clockManager.increment(state.vectorClock, state.client);
|
|
214
|
+
const lamportTime = state.lt + 1;
|
|
215
215
|
const msg = {
|
|
216
|
-
msgId: `${state.
|
|
217
|
-
|
|
218
|
-
operations: [{
|
|
216
|
+
msgId: `${state.client}-undo-${Date.now()}`,
|
|
217
|
+
client: state.client,
|
|
218
|
+
operations: [{ ot: 'delete', rm: [] }], // Placeholder for undo marker
|
|
219
219
|
vectorClock,
|
|
220
|
-
lamportTime,
|
|
221
|
-
|
|
220
|
+
lt: lamportTime,
|
|
221
|
+
ts: Date.now(),
|
|
222
222
|
description: 'undo',
|
|
223
223
|
};
|
|
224
224
|
return {
|
|
@@ -227,7 +227,7 @@ export function undoText(state) {
|
|
|
227
227
|
rope,
|
|
228
228
|
journal,
|
|
229
229
|
vectorClock,
|
|
230
|
-
lamportTime,
|
|
230
|
+
lt: lamportTime,
|
|
231
231
|
},
|
|
232
232
|
msg,
|
|
233
233
|
};
|
|
@@ -239,7 +239,7 @@ export function redoText(state) {
|
|
|
239
239
|
// Find last deleted entry by this session
|
|
240
240
|
let lastIdx = -1;
|
|
241
241
|
for (let i = state.journal.length - 1; i >= 0; i--) {
|
|
242
|
-
if (state.journal[i].msg.
|
|
242
|
+
if (state.journal[i].msg.client === state.client &&
|
|
243
243
|
state.journal[i].deletedAt) {
|
|
244
244
|
lastIdx = i;
|
|
245
245
|
break;
|
|
@@ -259,24 +259,24 @@ export function redoText(state) {
|
|
|
259
259
|
if (e.deletedAt)
|
|
260
260
|
continue;
|
|
261
261
|
for (const op of e.msg.operations) {
|
|
262
|
-
if (op.
|
|
262
|
+
if (op.ot === 'insert') {
|
|
263
263
|
ropeApply(rope, op);
|
|
264
264
|
}
|
|
265
|
-
else if (op.
|
|
265
|
+
else if (op.ot === 'delete') {
|
|
266
266
|
ropeApplyDelete(rope, op);
|
|
267
267
|
}
|
|
268
268
|
}
|
|
269
269
|
}
|
|
270
270
|
// Create redo message
|
|
271
|
-
const vectorClock = clockManager.increment(state.vectorClock, state.
|
|
272
|
-
const lamportTime = state.
|
|
271
|
+
const vectorClock = clockManager.increment(state.vectorClock, state.client);
|
|
272
|
+
const lamportTime = state.lt + 1;
|
|
273
273
|
const msg = {
|
|
274
|
-
msgId: `${state.
|
|
275
|
-
|
|
274
|
+
msgId: `${state.client}-redo-${Date.now()}`,
|
|
275
|
+
client: state.client,
|
|
276
276
|
operations: entry.msg.operations,
|
|
277
277
|
vectorClock,
|
|
278
|
-
lamportTime,
|
|
279
|
-
|
|
278
|
+
lt: lamportTime,
|
|
279
|
+
ts: Date.now(),
|
|
280
280
|
description: 'redo',
|
|
281
281
|
};
|
|
282
282
|
return {
|
|
@@ -285,7 +285,7 @@ export function redoText(state) {
|
|
|
285
285
|
rope,
|
|
286
286
|
journal,
|
|
287
287
|
vectorClock,
|
|
288
|
-
lamportTime,
|
|
288
|
+
lt: lamportTime,
|
|
289
289
|
},
|
|
290
290
|
msg,
|
|
291
291
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"textActions.js","sourceRoot":"","sources":["../../src/client/textActions.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,MAAM,IAAI,UAAU,EACpB,OAAO,EAGP,KAAK,IAAI,SAAS,EAClB,WAAW,IAAI,eAAe,EAC9B,QAAQ,IAAI,SAAS,GAEtB,MAAM,iBAAiB,CAAC;AASzB,OAAO,EAAE,kBAAkB,EAAoB,MAAM,yBAAyB,CAAC;AAC/E,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAErE,MAAM,YAAY,GAAG,IAAI,kBAAkB,EAAE,CAAC;AAE9C;;GAEG;AACH,MAAM,UAAU,sBAAsB,CACpC,
|
|
1
|
+
{"version":3,"file":"textActions.js","sourceRoot":"","sources":["../../src/client/textActions.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,MAAM,IAAI,UAAU,EACpB,OAAO,EAGP,KAAK,IAAI,SAAS,EAClB,WAAW,IAAI,eAAe,EAC9B,QAAQ,IAAI,SAAS,GAEtB,MAAM,iBAAiB,CAAC;AASzB,OAAO,EAAE,kBAAkB,EAAoB,MAAM,yBAAyB,CAAC;AAC/E,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAErE,MAAM,YAAY,GAAG,IAAI,kBAAkB,EAAE,CAAC;AAE9C;;GAEG;AACH,MAAM,UAAU,sBAAsB,CACpC,MAAc,EACd,eAA8B;IAE9B,IAAI,eAAe,EAAE,CAAC;QACpB,OAAO;YACL,IAAI,EAAE,eAAe,CAAC,IAAI;YAC1B,OAAO,EAAE,EAAE;YACX,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;YAClC,QAAQ,EAAE,eAAe;YACzB,EAAE,EAAE,eAAe,CAAC,EAAE;YACtB,WAAW,EAAE,EAAE,GAAG,eAAe,CAAC,WAAW,EAAE;YAC/C,MAAM,EAAE,MAAM;SACf,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IAChC,OAAO;QACL,IAAI;QACJ,OAAO,EAAE,EAAE;QACX,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;QAClC,QAAQ,EAAE;YACR,IAAI;YACJ,WAAW,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE;YAC5B,EAAE,EAAE,CAAC;YACL,YAAY,EAAE,CAAC;SAChB;QACD,EAAE,EAAE,CAAC;QACL,WAAW,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE;QAC5B,MAAM,EAAE,MAAM;KACf,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CACxB,KAAwB,EACxB,EAAiB;IAEjB,MAAM,KAAK,GAAG,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;IAEjC,wCAAwC;IACxC,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAE/B,mEAAmE;IACnE,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,EAAE,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;QACvB,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACtB,CAAC;SAAM,IAAI,EAAE,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;QAC9B,eAAe,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAC5B,CAAC;IAED,OAAO,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AACnC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAC7B,KAAwB,EACxB,WAAoB,EACpB,qBAA8B;IAE9B,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;IAC9B,CAAC;IAED,6DAA6D;IAC7D,MAAM,UAAU,GAAG,qBAAqB,KAAK,SAAS;QACpD,CAAC,CAAC,sBAAsB,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,qBAAqB,EAAE,CAAC;QACjF,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;IAEpB,MAAM,KAAK,GAAG,GAAG,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IACrF,MAAM,WAAW,GAAG,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC5E,MAAM,WAAW,GAAG,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC;IAEjC,MAAM,GAAG,GAAgB;QACvB,KAAK;QACL,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,UAAU;QACV,WAAW;QACX,EAAE,EAAE,WAAW;QACf,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;QACd,WAAW;KACZ,CAAC;IAEF,MAAM,KAAK,GAAqB;QAC9B,GAAG;QACH,GAAG,EAAE,KAAK;KACX,CAAC;IAEF,OAAO;QACL,KAAK,EAAE;YACL,GAAG,KAAK;YACR,OAAO,EAAE,CAAC,GAAG,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC;YAClC,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;YAClC,WAAW;YACX,EAAE,EAAE,WAAW;SAChB;QACD,GAAG;KACJ,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,KAAwB;IACtD,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,uCAAuC;IACvC,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAE5C,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAClC,IAAI,KAAK,CAAC,SAAS;YAAE,SAAS,CAAC,sBAAsB;QACrD,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;YACtC,IAAI,EAAE,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;gBACvB,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACtB,CAAC;iBAAM,IAAI,EAAE,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;gBAC9B,eAAe,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO;QACL,GAAG,KAAK;QACR,IAAI;QACJ,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;KACnC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAC7B,KAAwB,EACxB,KAAa;IAEb,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CACxC,KAAK,CAAC,GAAG,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAC5D,CAAC;IACF,OAAO,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,CAAC;AAC/B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CACjC,KAAwB,EACxB,GAAgB;IAEhB,8BAA8B;IAC9B,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,KAAK,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QACvD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,yCAAyC;IACzC,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACnC,KAAK,MAAM,EAAE,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;QAChC,IAAI,EAAE,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;YACvB,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACtB,CAAC;aAAM,IAAI,EAAE,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;YAC9B,eAAe,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,MAAM,KAAK,GAAqB;QAC9B,GAAG;QACH,GAAG,EAAE,IAAI,EAAE,wCAAwC;KACpD,CAAC;IAEF,sBAAsB;IACtB,MAAM,WAAW,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;IAC3E,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IAEnD,OAAO;QACL,GAAG,KAAK;QACR,IAAI;QACJ,OAAO,EAAE,CAAC,GAAG,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC;QAClC,WAAW;QACX,EAAE,EAAE,WAAW;KAChB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAChC,MAAc,EACd,QAAsB,EACtB,OAAsB;IAEtB,IAAI,KAAK,GAAG,sBAAsB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAErD,wBAAwB;IACxB,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,KAAK,GAAG,mBAAmB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC1C,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CACtB,KAAwB;IAExB,8CAA8C;IAC9C,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC;IACjB,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACnD,IACE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;YAC5C,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAC3B,CAAC;YACD,OAAO,GAAG,CAAC,CAAC;YACZ,MAAM;QACR,CAAC;IACH,CAAC;IAED,IAAI,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC;QACnB,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;IAC9B,CAAC;IAED,kBAAkB;IAClB,MAAM,OAAO,GAAG,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;IACnC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC;IAEtD,eAAe;IACf,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC5C,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,KAAK,CAAC,SAAS;YAAE,SAAS;QAC9B,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;YACtC,IAAI,EAAE,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;gBACvB,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACtB,CAAC;iBAAM,IAAI,EAAE,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;gBAC9B,eAAe,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;IACH,CAAC;IAED,sBAAsB;IACtB,MAAM,WAAW,GAAG,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC5E,MAAM,WAAW,GAAG,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC;IACjC,MAAM,GAAG,GAAgB;QACvB,KAAK,EAAE,GAAG,KAAK,CAAC,MAAM,SAAS,IAAI,CAAC,GAAG,EAAE,EAAE;QAC3C,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,8BAA8B;QACtE,WAAW;QACX,EAAE,EAAE,WAAW;QACf,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;QACd,WAAW,EAAE,MAAM;KACpB,CAAC;IAEF,OAAO;QACL,KAAK,EAAE;YACL,GAAG,KAAK;YACR,IAAI;YACJ,OAAO;YACP,WAAW;YACX,EAAE,EAAE,WAAW;SAChB;QACD,GAAG;KACJ,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CACtB,KAAwB;IAExB,0CAA0C;IAC1C,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC;IACjB,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACnD,IACE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;YAC5C,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAC1B,CAAC;YACD,OAAO,GAAG,CAAC,CAAC;YACZ,MAAM;QACR,CAAC;IACH,CAAC;IAED,IAAI,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC;QACnB,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;IAC9B,CAAC;IAED,oBAAoB;IACpB,MAAM,OAAO,GAAG,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;IACnC,MAAM,KAAK,GAAG,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;IACtC,OAAO,KAAK,CAAC,SAAS,CAAC;IACvB,OAAO,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;IAEzB,eAAe;IACf,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC5C,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,CAAC,SAAS;YAAE,SAAS;QAC1B,KAAK,MAAM,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;YAClC,IAAI,EAAE,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;gBACvB,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACtB,CAAC;iBAAM,IAAI,EAAE,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;gBAC9B,eAAe,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;IACH,CAAC;IAED,sBAAsB;IACtB,MAAM,WAAW,GAAG,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC5E,MAAM,WAAW,GAAG,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC;IACjC,MAAM,GAAG,GAAgB;QACvB,KAAK,EAAE,GAAG,KAAK,CAAC,MAAM,SAAS,IAAI,CAAC,GAAG,EAAE,EAAE;QAC3C,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,UAAU,EAAE,KAAK,CAAC,GAAG,CAAC,UAAU;QAChC,WAAW;QACX,EAAE,EAAE,WAAW;QACf,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;QACd,WAAW,EAAE,MAAM;KACpB,CAAC;IAEF,OAAO;QACL,KAAK,EAAE;YACL,GAAG,KAAK;YACR,IAAI;YACJ,OAAO;YACP,WAAW;YACX,EAAE,EAAE,WAAW;SAChB;QACD,GAAG;KACJ,CAAC;AACJ,CAAC"}
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
import type { TextRope, InsertOp, DeleteOp, ReplaceOp } from '../crdt/Rope.js';
|
|
10
10
|
import type { VectorClock } from '../state/VectorClock.js';
|
|
11
11
|
/**
|
|
12
|
-
* Text operation types - no wrapper needed since ops have
|
|
12
|
+
* Text operation types - no wrapper needed since ops have ot discriminator
|
|
13
13
|
*/
|
|
14
14
|
export type TextOperation = InsertOp | DeleteOp | ReplaceOp;
|
|
15
15
|
/**
|
|
@@ -17,11 +17,11 @@ export type TextOperation = InsertOp | DeleteOp | ReplaceOp;
|
|
|
17
17
|
*/
|
|
18
18
|
export interface TextMessage {
|
|
19
19
|
msgId: string;
|
|
20
|
-
|
|
20
|
+
client: string;
|
|
21
21
|
operations: TextOperation[];
|
|
22
22
|
vectorClock: VectorClock;
|
|
23
|
-
|
|
24
|
-
|
|
23
|
+
lt: number;
|
|
24
|
+
ts: number;
|
|
25
25
|
description?: string;
|
|
26
26
|
}
|
|
27
27
|
/**
|
|
@@ -45,7 +45,7 @@ export interface TextEditBuffer {
|
|
|
45
45
|
export interface TextSnapshot {
|
|
46
46
|
rope: TextRope;
|
|
47
47
|
vectorClock: VectorClock;
|
|
48
|
-
|
|
48
|
+
lt: number;
|
|
49
49
|
journalIndex: number;
|
|
50
50
|
}
|
|
51
51
|
/**
|
|
@@ -56,15 +56,15 @@ export interface TextDocumentState {
|
|
|
56
56
|
journal: TextJournalEntry[];
|
|
57
57
|
edits: TextEditBuffer;
|
|
58
58
|
snapshot: TextSnapshot;
|
|
59
|
-
|
|
59
|
+
lt: number;
|
|
60
60
|
vectorClock: VectorClock;
|
|
61
|
-
|
|
61
|
+
client: string;
|
|
62
62
|
}
|
|
63
63
|
/**
|
|
64
64
|
* Options for creating a text document store
|
|
65
65
|
*/
|
|
66
66
|
export interface CreateTextDocumentOptions {
|
|
67
|
-
|
|
67
|
+
client: string;
|
|
68
68
|
initialSnapshot?: TextSnapshot;
|
|
69
69
|
onSend?: (msg: TextMessage) => void;
|
|
70
70
|
onStateChange?: (state: TextDocumentState) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"textTypes.d.ts","sourceRoot":"","sources":["../../src/client/textTypes.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC/E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE5D;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,
|
|
1
|
+
{"version":3,"file":"textTypes.d.ts","sourceRoot":"","sources":["../../src/client/textTypes.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC/E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE5D;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,aAAa,EAAE,CAAC;IAC5B,WAAW,EAAE,WAAW,CAAC;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,WAAW,CAAC;IACjB,GAAG,EAAE,OAAO,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,aAAa,EAAE,CAAC;IACrB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,QAAQ,CAAC;IACf,WAAW,EAAE,WAAW,CAAC;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAEhC,IAAI,EAAE,QAAQ,CAAC;IAGf,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAG5B,KAAK,EAAE,cAAc,CAAC;IAGtB,QAAQ,EAAE,YAAY,CAAC;IAGvB,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,WAAW,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,YAAY,CAAC;IAC/B,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,IAAI,CAAC;IACpC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;IACnD,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,IAAI,CAAC;IAC3C,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAEhC,QAAQ,EAAE,MAAM,iBAAiB,CAAC;IAClC,OAAO,EAAE,MAAM,MAAM,CAAC;IACtB,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,MAAM,IAAI,CAAC;IAGhD,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjD,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACnD,OAAO,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAClE,MAAM,EAAE,CAAC,WAAW,CAAC,EAAE,MAAM,KAAK,WAAW,GAAG,IAAI,CAAC;IAGrD,OAAO,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,IAAI,CAAC;IACpC,GAAG,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,eAAe,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,IAAI,CAAC;IAG1E,IAAI,EAAE,MAAM;QAAE,GAAG,EAAE,WAAW,GAAG,IAAI,CAAA;KAAE,CAAC;IACxC,IAAI,EAAE,MAAM;QAAE,GAAG,EAAE,WAAW,GAAG,IAAI,CAAA;KAAE,CAAC;IAGxC,oBAAoB,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACjD,kBAAkB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,oBAAoB,EAAE,MAAM,OAAO,CAAC;IACpC,kBAAkB,EAAE,MAAM,MAAM,CAAC;CAClC"}
|
package/dist/client/types.d.ts
CHANGED
|
@@ -30,7 +30,7 @@ export interface EditBuffer {
|
|
|
30
30
|
export interface Snapshot {
|
|
31
31
|
graph: SceneGraph;
|
|
32
32
|
vectorClock: VectorClock;
|
|
33
|
-
|
|
33
|
+
lt: number;
|
|
34
34
|
journalIndex: number;
|
|
35
35
|
}
|
|
36
36
|
/**
|
|
@@ -41,15 +41,15 @@ export interface ClientState {
|
|
|
41
41
|
journal: JournalEntry[];
|
|
42
42
|
edits: EditBuffer;
|
|
43
43
|
snapshot: Snapshot;
|
|
44
|
-
|
|
44
|
+
lt: number;
|
|
45
45
|
vectorClock: VectorClock;
|
|
46
|
-
|
|
46
|
+
client: string;
|
|
47
47
|
}
|
|
48
48
|
/**
|
|
49
49
|
* Options for creating a graph store
|
|
50
50
|
*/
|
|
51
51
|
export interface CreateGraphOptions {
|
|
52
|
-
|
|
52
|
+
client: string;
|
|
53
53
|
initialSnapshot?: Snapshot;
|
|
54
54
|
onSend?: (msg: CRDTMessage) => void;
|
|
55
55
|
onStateChange?: (state: ClientState) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/client/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC1F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,WAAW,CAAC;IACjB,GAAG,EAAE,OAAO,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,SAAS,EAAE,CAAC;IACjB,SAAS,EAAE,UAAU,GAAG,IAAI,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,UAAU,CAAC;IAClB,WAAW,EAAE,WAAW,CAAC;IACzB,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/client/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC1F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,WAAW,CAAC;IACjB,GAAG,EAAE,OAAO,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,SAAS,EAAE,CAAC;IACjB,SAAS,EAAE,UAAU,GAAG,IAAI,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,UAAU,CAAC;IAClB,WAAW,EAAE,WAAW,CAAC;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAE1B,KAAK,EAAE,UAAU,CAAC;IAGlB,OAAO,EAAE,YAAY,EAAE,CAAC;IAGxB,KAAK,EAAE,UAAU,CAAC;IAGlB,QAAQ,EAAE,QAAQ,CAAC;IAGnB,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,WAAW,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,QAAQ,CAAC;IAC3B,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,IAAI,CAAC;IACpC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IAC7C,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,IAAI,CAAC;IAC3C,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IAEzB,QAAQ,EAAE,MAAM,WAAW,CAAC;IAC5B,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,MAAM,IAAI,CAAC;IAGhD,IAAI,EAAE,CAAC,EAAE,EAAE,SAAS,KAAK,IAAI,CAAC;IAC9B,MAAM,EAAE,CAAC,WAAW,CAAC,EAAE,MAAM,KAAK,WAAW,GAAG,IAAI,CAAC;IAGrD,OAAO,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,IAAI,CAAC;IACpC,GAAG,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,eAAe,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,IAAI,CAAC;IAGtE,IAAI,EAAE,MAAM;QAAE,GAAG,EAAE,WAAW,GAAG,IAAI,CAAA;KAAE,CAAC;IACxC,IAAI,EAAE,MAAM;QAAE,GAAG,EAAE,WAAW,GAAG,IAAI,CAAA;KAAE,CAAC;IAGxC,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,kBAAkB,EAAE,CAAC,SAAS,EAAE,WAAW,KAAK,IAAI,CAAC;IAGrD,oBAAoB,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACjD,kBAAkB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,sBAAsB,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IACtD,oBAAoB,EAAE,MAAM,OAAO,CAAC;IACpC,kBAAkB,EAAE,MAAM,MAAM,CAAC;IACjC,sBAAsB,EAAE,MAAM,MAAM,CAAC;CACtC"}
|
|
@@ -23,8 +23,8 @@ import { type TextRope, type InsertOp, type DeleteOp, type ReplaceOp } from './R
|
|
|
23
23
|
*/
|
|
24
24
|
export declare class GraphTextCRDT {
|
|
25
25
|
private _state;
|
|
26
|
-
private
|
|
27
|
-
constructor(
|
|
26
|
+
private _client;
|
|
27
|
+
constructor(client: string);
|
|
28
28
|
/**
|
|
29
29
|
* Get or create TextRope for a text property
|
|
30
30
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GraphTextCRDT.d.ts","sourceRoot":"","sources":["../../src/crdt/GraphTextCRDT.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAUL,KAAK,QAAQ,EACb,KAAK,QAAQ,EACb,KAAK,QAAQ,EACb,KAAK,SAAS,EACf,MAAM,WAAW,CAAC;AAMnB;;;;;GAKG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAqC;IACnD,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"GraphTextCRDT.d.ts","sourceRoot":"","sources":["../../src/crdt/GraphTextCRDT.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAUL,KAAK,QAAQ,EACb,KAAK,QAAQ,EACb,KAAK,QAAQ,EACb,KAAK,SAAS,EACf,MAAM,WAAW,CAAC;AAMnB;;;;;GAKG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAqC;IACnD,OAAO,CAAC,OAAO,CAAS;gBAEZ,MAAM,EAAE,MAAM;IAK1B;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,QAAQ;IAgBpD;;OAEG;IACH,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;IAIxD;;OAEG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI;IAQhE;;;OAGG;IACH,WAAW,CACT,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,GACX,QAAQ;IAKX;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,GAAG,IAAI;IAK9D;;;OAGG;IACH,WAAW,CACT,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GACb,QAAQ;IAKX;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,GAAG,IAAI;IAK9D;;OAEG;IACH,YAAY,CACV,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,GACX,SAAS;IAKZ;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,GAAG,IAAI;IAKhE;;OAEG;IACH,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM;IAK9C;;;OAGG;IACH,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM;IAIjE;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAIjC;;OAEG;IACH,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;CAGpD"}
|