@homeostate/core 0.0.0 → 0.1.1

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/dist/diff.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"diff.js","sourceRoot":"","sources":["../src/diff.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"diff.js","sourceRoot":"","sources":["../src/diff.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,12 @@
1
- export { createSyncEngine } from './sync-engine.js';
2
- export { defaultSyncFilter } from './types.js';
3
- export type { StoreAdapter, SyncEngine, SyncEngineConfig, Unsubscribe, } from './types.js';
1
+ export { createSyncEngine } from "./sync-engine.js";
2
+ export { createMemoryBackend } from "./memory-backend.js";
3
+ export type { MemoryBackend } from "./memory-backend.js";
4
+ export { getChanges } from "./diff.js";
5
+ export { applyChanges, applyStringChanges } from "./apply.js";
6
+ export type { ApplyOps } from "./apply.js";
7
+ export type { Diffable } from "./diff.js";
8
+ export { ChangeType } from "./change.js";
9
+ export type { Change } from "./change.js";
10
+ export { defaultSyncFilter } from "./types.js";
11
+ export type { CrdtBackend, SeedStrategy, StoreAdapter, SyncEngine, SyncEngineConfig, Unsubscribe, } from "./types.js";
4
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,YAAY,EACV,YAAY,EACZ,UAAU,EACV,gBAAgB,EAChB,WAAW,GACZ,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAC9D,YAAY,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,YAAY,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,YAAY,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,YAAY,EACV,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,gBAAgB,EAChB,WAAW,GACZ,MAAM,YAAY,CAAC"}
package/dist/index.js CHANGED
@@ -1,3 +1,7 @@
1
- export { createSyncEngine } from './sync-engine.js';
2
- export { defaultSyncFilter } from './types.js';
1
+ export { createSyncEngine } from "./sync-engine.js";
2
+ export { createMemoryBackend } from "./memory-backend.js";
3
+ export { getChanges } from "./diff.js";
4
+ export { applyChanges, applyStringChanges } from "./apply.js";
5
+ export { ChangeType } from "./change.js";
6
+ export { defaultSyncFilter } from "./types.js";
3
7
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAG9D,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { CrdtBackend } from "./types.js";
2
+ export interface MemoryBackend extends CrdtBackend {
3
+ /** Replace the held state as if a remote peer had written it, then notify subscribers */
4
+ receive: (next: unknown) => void;
5
+ }
6
+ /**
7
+ * Plain-JSON backend with no replication. It proves the engine has no
8
+ * CRDT-library assumptions and gives tests a fast in-process peer.
9
+ */
10
+ export declare const createMemoryBackend: (initial?: unknown) => MemoryBackend;
11
+ //# sourceMappingURL=memory-backend.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-backend.d.ts","sourceRoot":"","sources":["../src/memory-backend.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAe,MAAM,YAAY,CAAC;AAE3D,MAAM,WAAW,aAAc,SAAQ,WAAW;IAChD,yFAAyF;IACzF,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CAClC;AAKD;;;GAGG;AACH,eAAO,MAAM,mBAAmB,GAAI,UAAS,OAAY,KAAG,aAuB3D,CAAC"}
@@ -0,0 +1,26 @@
1
+ const clone = (value) => value === undefined ? value : JSON.parse(JSON.stringify(value));
2
+ /**
3
+ * Plain-JSON backend with no replication. It proves the engine has no
4
+ * CRDT-library assumptions and gives tests a fast in-process peer.
5
+ */
6
+ export const createMemoryBackend = (initial = {}) => {
7
+ let state = clone(initial);
8
+ const listeners = new Set();
9
+ return {
10
+ read: () => clone(state),
11
+ write: (next) => {
12
+ state = clone(next);
13
+ },
14
+ subscribe: (onRemoteChange) => {
15
+ listeners.add(onRemoteChange);
16
+ return () => {
17
+ listeners.delete(onRemoteChange);
18
+ };
19
+ },
20
+ receive: (next) => {
21
+ state = clone(next);
22
+ listeners.forEach((listener) => listener());
23
+ },
24
+ };
25
+ };
26
+ //# sourceMappingURL=memory-backend.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-backend.js","sourceRoot":"","sources":["../src/memory-backend.ts"],"names":[],"mappings":"AAOA,MAAM,KAAK,GAAG,CAAI,KAAQ,EAAK,EAAE,CAC/B,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;AAElE;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,UAAmB,EAAE,EAAiB,EAAE;IAC1E,IAAI,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;IAC3B,MAAM,SAAS,GAAG,IAAI,GAAG,EAAc,CAAC;IAExC,OAAO;QACL,IAAI,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC;QAExB,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE;YACd,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;QAED,SAAS,EAAE,CAAC,cAAc,EAAe,EAAE;YACzC,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YAC9B,OAAO,GAAG,EAAE;gBACV,SAAS,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;YACnC,CAAC,CAAC;QACJ,CAAC;QAED,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YAChB,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YACpB,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC9C,CAAC;KACF,CAAC;AACJ,CAAC,CAAC"}
@@ -1,23 +1,13 @@
1
- import * as Y from 'yjs';
2
1
  /**
3
- * Diffs sharedType and newState to create a list of changes for transforming
4
- * the contents of sharedType into that of newState. For every nested, 'pending'
5
- * change detected, this function recurses, as a nested object or array is
6
- * represented as a Y.Map or Y.Array.
7
- *
8
- * @param sharedType The Yjs shared type to patch.
9
- * @param newState The new state to patch the shared type into.
10
- */
11
- export declare const patchSharedType: (sharedType: Y.Map<unknown> | Y.Array<unknown> | Y.Text, newState: unknown) => void;
12
- /**
13
- * Patches oldState to be identical to newState. This function recurses when
14
- * an array or object is encountered. If oldState and newState are already
15
- * identical (indicated by an empty diff), then oldState is returned.
2
+ * Returns a value identical to newState, built from oldState by copying every
3
+ * container along a changed path and sharing every unchanged subtree. Neither
4
+ * input is mutated. If oldState and newState are already identical (indicated
5
+ * by an empty diff), then oldState itself is returned.
16
6
  *
17
7
  * @param oldState The state we want to patch.
18
- * @param newState The state we want oldState to match after patching.
8
+ * @param newState The state we want the result to match.
19
9
  *
20
- * @returns The patched oldState, identical to newState.
10
+ * @returns The patched state, identical to newState.
21
11
  */
22
12
  export declare const patchState: <T>(oldState: T, newState: T) => T;
23
13
  //# sourceMappingURL=patching.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"patching.d.ts","sourceRoot":"","sources":["../src/patching.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAKzB;;;;;;;;GAQG;AACH,eAAO,MAAM,eAAe,GAC1B,YAAY,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EACtD,UAAU,OAAO,KAChB,IAmEF,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,UAAU,GAAI,CAAC,EAAE,UAAU,CAAC,EAAE,UAAU,CAAC,KAAG,CA+GxD,CAAC"}
1
+ {"version":3,"file":"patching.d.ts","sourceRoot":"","sources":["../src/patching.ts"],"names":[],"mappings":"AAqEA;;;;;;;;;;GAUG;AACH,eAAO,MAAM,UAAU,GAAI,CAAC,EAAE,UAAU,CAAC,EAAE,UAAU,CAAC,KAAG,CAKxD,CAAC"}
package/dist/patching.js CHANGED
@@ -1,159 +1,68 @@
1
- import * as Y from 'yjs';
2
- import { ChangeType } from './change.js';
3
- import { getChanges } from './diff.js';
4
- import { arrayToYArray, objectToYMap, stringToYText } from './mapping.js';
5
- /**
6
- * Diffs sharedType and newState to create a list of changes for transforming
7
- * the contents of sharedType into that of newState. For every nested, 'pending'
8
- * change detected, this function recurses, as a nested object or array is
9
- * represented as a Y.Map or Y.Array.
10
- *
11
- * @param sharedType The Yjs shared type to patch.
12
- * @param newState The new state to patch the shared type into.
13
- */
14
- export const patchSharedType = (sharedType, newState) => {
15
- const changes = getChanges(sharedType.toJSON(), newState);
16
- changes.forEach(([type, property, value]) => {
1
+ import { applyStringChanges } from "./apply.js";
2
+ import { ChangeType } from "./change.js";
3
+ import { getChanges } from "./diff.js";
4
+ const applyChanges = (state, changes) => {
5
+ if (typeof state === "string")
6
+ return applyStringChanges(state, changes);
7
+ if (Array.isArray(state))
8
+ return applyChangesToArray(state, changes);
9
+ return applyChangesToObject(state, changes);
10
+ };
11
+ const applyChangesToArray = (array, changes) => {
12
+ const revised = [...array];
13
+ for (const [type, index, value] of changes) {
14
+ const i = index;
17
15
  switch (type) {
18
16
  case ChangeType.INSERT:
17
+ revised.splice(i, 0, value);
18
+ break;
19
19
  case ChangeType.UPDATE:
20
- if (value instanceof Function === false) {
21
- if (sharedType instanceof Y.Map) {
22
- if (typeof value === 'string')
23
- sharedType.set(property, stringToYText(value));
24
- else if (value instanceof Array)
25
- sharedType.set(property, arrayToYArray(value));
26
- else if (value instanceof Object)
27
- sharedType.set(property, objectToYMap(value));
28
- else
29
- sharedType.set(property, value);
30
- }
31
- else if (sharedType instanceof Y.Array) {
32
- const index = property;
33
- if (type === ChangeType.UPDATE)
34
- sharedType.delete(index);
35
- if (typeof value === 'string')
36
- sharedType.insert(index, [stringToYText(value)]);
37
- else if (value instanceof Array)
38
- sharedType.insert(index, [arrayToYArray(value)]);
39
- else if (value instanceof Object)
40
- sharedType.insert(index, [objectToYMap(value)]);
41
- else
42
- sharedType.insert(index, [value]);
43
- }
44
- else if (sharedType instanceof Y.Text)
45
- sharedType.insert(property, value);
46
- }
20
+ revised[i] = value;
21
+ break;
22
+ case ChangeType.PENDING:
23
+ revised[i] = applyChanges(revised[i], value);
47
24
  break;
48
25
  case ChangeType.DELETE:
49
- if (sharedType instanceof Y.Map)
50
- sharedType.delete(property);
51
- else if (sharedType instanceof Y.Array) {
52
- const index = property;
53
- sharedType.delete(sharedType.length <= index ? sharedType.length - 1 : index);
54
- }
55
- else if (sharedType instanceof Y.Text)
56
- // A delete operation for text is only ever for a single character.
57
- sharedType.delete(property, 1);
26
+ revised.splice(i, 1);
27
+ break;
28
+ }
29
+ }
30
+ return revised;
31
+ };
32
+ const applyChangesToObject = (object, changes) => {
33
+ const revised = { ...object };
34
+ for (const [type, property, value] of changes) {
35
+ const key = property;
36
+ switch (type) {
37
+ case ChangeType.INSERT:
38
+ case ChangeType.UPDATE:
39
+ revised[key] = value;
58
40
  break;
59
41
  case ChangeType.PENDING:
60
- if (sharedType instanceof Y.Map) {
61
- patchSharedType(sharedType.get(property), newState[property]);
62
- }
63
- else if (sharedType instanceof Y.Array) {
64
- patchSharedType(sharedType.get(property), newState[property]);
65
- }
42
+ revised[key] = applyChanges(object[key], value);
66
43
  break;
67
- default:
44
+ case ChangeType.DELETE:
45
+ delete revised[key];
68
46
  break;
69
47
  }
70
- });
48
+ }
49
+ return revised;
71
50
  };
72
51
  /**
73
- * Patches oldState to be identical to newState. This function recurses when
74
- * an array or object is encountered. If oldState and newState are already
75
- * identical (indicated by an empty diff), then oldState is returned.
52
+ * Returns a value identical to newState, built from oldState by copying every
53
+ * container along a changed path and sharing every unchanged subtree. Neither
54
+ * input is mutated. If oldState and newState are already identical (indicated
55
+ * by an empty diff), then oldState itself is returned.
76
56
  *
77
57
  * @param oldState The state we want to patch.
78
- * @param newState The state we want oldState to match after patching.
58
+ * @param newState The state we want the result to match.
79
59
  *
80
- * @returns The patched oldState, identical to newState.
60
+ * @returns The patched state, identical to newState.
81
61
  */
82
62
  export const patchState = (oldState, newState) => {
83
63
  const changes = getChanges(oldState, newState);
84
- const applyChanges = (state, changes) => {
85
- if (typeof state === 'string')
86
- return applyChangesToString(state, changes);
87
- else if (state instanceof Array)
88
- return applyChangesToArray(state, changes);
89
- else if (state instanceof Object)
90
- return applyChangesToObject(state, changes);
91
- };
92
- const applyChangesToArray = (array, changes) => changes
93
- .sort(([, indexA], [, indexB]) => Math.sign(indexA - indexB))
94
- .reduce((revisedArray, [type, index, value]) => {
95
- switch (type) {
96
- case ChangeType.INSERT: {
97
- revisedArray.splice(index, 0, value);
98
- return revisedArray;
99
- }
100
- case ChangeType.UPDATE: {
101
- revisedArray[index] = value;
102
- return revisedArray;
103
- }
104
- case ChangeType.PENDING: {
105
- revisedArray[index] = applyChanges(array[index], value);
106
- return revisedArray;
107
- }
108
- case ChangeType.DELETE: {
109
- revisedArray.splice(index, 1);
110
- return revisedArray;
111
- }
112
- case ChangeType.NONE:
113
- default:
114
- return revisedArray;
115
- }
116
- }, array);
117
- const applyChangesToObject = (object, changes) => changes.reduce((revisedObject, [type, property, value]) => {
118
- switch (type) {
119
- case ChangeType.INSERT:
120
- case ChangeType.UPDATE: {
121
- revisedObject[property] = value;
122
- return revisedObject;
123
- }
124
- case ChangeType.PENDING: {
125
- revisedObject[property] = applyChanges(object[property], value);
126
- return revisedObject;
127
- }
128
- case ChangeType.DELETE: {
129
- delete revisedObject[property];
130
- return revisedObject;
131
- }
132
- case ChangeType.NONE:
133
- default:
134
- return revisedObject;
135
- }
136
- }, object);
137
- const applyChangesToString = (string, changes) => changes.reduce((revisedString, [type, index, value]) => {
138
- switch (type) {
139
- case ChangeType.INSERT: {
140
- const left = revisedString.slice(0, index);
141
- const right = revisedString.slice(index);
142
- return left + value + right;
143
- }
144
- case ChangeType.DELETE: {
145
- const left = revisedString.slice(0, index);
146
- const right = revisedString.slice(index + 1);
147
- return left + right;
148
- }
149
- default: {
150
- return revisedString;
151
- }
152
- }
153
- }, string);
154
64
  if (changes.length === 0)
155
65
  return oldState;
156
- else
157
- return applyChanges(oldState, changes);
66
+ return applyChanges(oldState, changes);
158
67
  };
159
68
  //# sourceMappingURL=patching.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"patching.js","sourceRoot":"","sources":["../src/patching.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"patching.js","sourceRoot":"","sources":["../src/patching.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,UAAU,EAAe,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,UAAU,EAAiB,MAAM,WAAW,CAAC;AAEtD,MAAM,YAAY,GAAG,CAAC,KAAe,EAAE,OAAiB,EAAY,EAAE;IACpE,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,kBAAkB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACzE,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACrE,OAAO,oBAAoB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AAC9C,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAC1B,KAAgB,EAChB,OAAiB,EACN,EAAE;IACb,MAAM,OAAO,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;IAE3B,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,OAAO,EAAE,CAAC;QAC3C,MAAM,CAAC,GAAG,KAAe,CAAC;QAE1B,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,UAAU,CAAC,MAAM;gBACpB,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;gBAC5B,MAAM;YAER,KAAK,UAAU,CAAC,MAAM;gBACpB,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;gBACnB,MAAM;YAER,KAAK,UAAU,CAAC,OAAO;gBACrB,OAAO,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,CAAa,EAAE,KAAiB,CAAC,CAAC;gBACrE,MAAM;YAER,KAAK,UAAU,CAAC,MAAM;gBACpB,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACrB,MAAM;QACV,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,CAC3B,MAA+B,EAC/B,OAAiB,EACQ,EAAE;IAC3B,MAAM,OAAO,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;IAE9B,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,IAAI,OAAO,EAAE,CAAC;QAC9C,MAAM,GAAG,GAAG,QAAkB,CAAC;QAE/B,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,UAAU,CAAC,MAAM,CAAC;YACvB,KAAK,UAAU,CAAC,MAAM;gBACpB,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBACrB,MAAM;YAER,KAAK,UAAU,CAAC,OAAO;gBACrB,OAAO,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC,GAAG,CAAa,EAAE,KAAiB,CAAC,CAAC;gBACxE,MAAM;YAER,KAAK,UAAU,CAAC,MAAM;gBACpB,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC;gBACpB,MAAM;QACV,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAI,QAAW,EAAE,QAAW,EAAK,EAAE;IAC3D,MAAM,OAAO,GAAG,UAAU,CAAC,QAAoB,EAAE,QAAoB,CAAC,CAAC;IAEvE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC1C,OAAO,YAAY,CAAC,QAAoB,EAAE,OAAO,CAAM,CAAC;AAC1D,CAAC,CAAC"}
@@ -1,18 +1,24 @@
1
- import * as Y from 'yjs';
2
- import type { StoreAdapter, SyncEngine, SyncEngineConfig } from './types.js';
1
+ import type { CrdtBackend, StoreAdapter, SyncEngine, SyncEngineConfig } from "./types.js";
3
2
  /**
4
- * Creates a sync engine that manages bidirectional synchronization
5
- * between any store (via adapter) and a Yjs document.
3
+ * Creates a sync engine that keeps a store (via its adapter) and a CRDT backend
4
+ * in sync in both directions.
6
5
  *
7
- * This is the core abstraction that makes the sync logic state-manager agnostic.
6
+ * This is the core abstraction that makes the sync logic state-manager and
7
+ * CRDT-library agnostic.
8
+ *
9
+ * On `connect()` the two sides are reconciled per key over the filtered view: a key the
10
+ * backend holds wins over the store's value, and a synced key the backend lacks stays in
11
+ * the store and is seeded into the backend unless `seed` is `'never'`. Afterwards the
12
+ * backend owns the synced document: every write replaces it with the store's filtered
13
+ * state, and a key removed from the backend is removed from the store.
8
14
  *
9
15
  * @example
10
16
  * ```typescript
11
- * const doc = new Y.Doc();
17
+ * const backend = createYjsBackend(new Y.Doc(), 'shared');
12
18
  * const adapter = new ZustandAdapter(store);
13
- * const engine = createSyncEngine(doc, adapter, { name: 'shared' });
19
+ * const engine = createSyncEngine(backend, adapter);
14
20
  * engine.connect();
15
21
  * ```
16
22
  */
17
- export declare function createSyncEngine<S>(doc: Y.Doc, adapter: StoreAdapter<S>, config: SyncEngineConfig): SyncEngine;
23
+ export declare function createSyncEngine<S extends object>(backend: CrdtBackend, adapter: StoreAdapter<S>, config?: SyncEngineConfig): SyncEngine;
18
24
  //# sourceMappingURL=sync-engine.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sync-engine.d.ts","sourceRoot":"","sources":["../src/sync-engine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AACzB,OAAO,KAAK,EACV,YAAY,EACZ,UAAU,EACV,gBAAgB,EAEjB,MAAM,YAAY,CAAC;AAIpB;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAChC,GAAG,EAAE,CAAC,CAAC,GAAG,EACV,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EACxB,MAAM,EAAE,gBAAgB,GACvB,UAAU,CAiJZ"}
1
+ {"version":3,"file":"sync-engine.d.ts","sourceRoot":"","sources":["../src/sync-engine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,YAAY,EACZ,UAAU,EACV,gBAAgB,EAEjB,MAAM,YAAY,CAAC;AAMpB;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,EAC/C,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EACxB,MAAM,GAAE,gBAAqB,GAC5B,UAAU,CAiGZ"}