@pluv/crdt-yjs 0.19.0 → 0.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/.turbo/turbo-build.log +8 -8
  2. package/CHANGELOG.md +77 -0
  3. package/README.md +0 -64
  4. package/dist/index.d.mts +40 -119
  5. package/dist/index.d.ts +40 -119
  6. package/dist/index.js +142 -268
  7. package/dist/index.mjs +147 -273
  8. package/package.json +5 -5
  9. package/src/array/YjsArray.ts +18 -0
  10. package/src/array/array.ts +5 -3
  11. package/src/array/index.ts +1 -1
  12. package/src/doc/CrdtYjsDoc.ts +58 -69
  13. package/src/doc/CrdtYjsDocFactory.ts +30 -26
  14. package/src/doc/doc.ts +2 -2
  15. package/src/map/YjsMap.ts +16 -0
  16. package/src/map/index.ts +1 -1
  17. package/src/map/map.ts +7 -3
  18. package/src/object/YjsObject.ts +16 -0
  19. package/src/object/index.ts +1 -1
  20. package/src/object/object.ts +5 -3
  21. package/src/text/YjsText.ts +16 -0
  22. package/src/text/index.ts +1 -1
  23. package/src/text/text.ts +5 -3
  24. package/src/types.ts +5 -63
  25. package/src/xmlElement/YjsXmlElement.ts +22 -0
  26. package/src/xmlElement/index.ts +1 -1
  27. package/src/xmlElement/xmlElement.ts +6 -6
  28. package/src/xmlFragment/YjsXmlFragment.ts +19 -0
  29. package/src/xmlFragment/index.ts +1 -1
  30. package/src/xmlFragment/xmlFragment.ts +6 -5
  31. package/src/xmlText/YjsXmlText.ts +16 -0
  32. package/src/xmlText/index.ts +1 -1
  33. package/src/xmlText/xmlText.ts +5 -3
  34. package/src/yjs.ts +9 -9
  35. package/src/array/CrdtYjsArray.ts +0 -50
  36. package/src/map/CrdtYjsMap.ts +0 -40
  37. package/src/object/CrdtYjsObject.ts +0 -30
  38. package/src/shared/index.ts +0 -2
  39. package/src/shared/isWrapper.ts +0 -21
  40. package/src/shared/toYjsValue.ts +0 -5
  41. package/src/text/CrdtYjsText.ts +0 -34
  42. package/src/xmlElement/CrdtYjsXmlElement.ts +0 -50
  43. package/src/xmlFragment/CrdtYjsXmlFragment.ts +0 -49
  44. package/src/xmlText/CrdtYjsXmlText.ts +0 -34
package/dist/index.js CHANGED
@@ -44,304 +44,145 @@ module.exports = __toCommonJS(src_exports);
44
44
  // src/yjs.ts
45
45
  var yjs_exports = {};
46
46
  __export(yjs_exports, {
47
- CrdtYjsArray: () => CrdtYjsArray,
48
- CrdtYjsDoc: () => CrdtYjsDoc,
49
- CrdtYjsMap: () => CrdtYjsMap,
50
- CrdtYjsObject: () => CrdtYjsObject,
51
- CrdtYjsText: () => CrdtYjsText,
52
- CrdtYjsXmlElement: () => CrdtYjsXmlElement,
53
- CrdtYjsXmlFragment: () => CrdtYjsXmlFragment,
54
- CrdtYjsXmlText: () => CrdtYjsXmlText,
55
47
  array: () => array,
56
48
  doc: () => doc,
57
49
  map: () => map,
58
50
  object: () => object,
51
+ text: () => text,
59
52
  xmlElement: () => xmlElement,
60
53
  xmlFragment: () => xmlFragment,
61
54
  xmlText: () => xmlText
62
55
  });
63
56
 
64
- // src/array/CrdtYjsArray.ts
65
- var import_crdt7 = require("@pluv/crdt");
66
- var import_yjs7 = require("yjs");
67
-
68
- // src/map/CrdtYjsMap.ts
69
- var import_crdt = require("@pluv/crdt");
57
+ // src/array/YjsArray.ts
70
58
  var import_yjs = require("yjs");
71
- var CrdtYjsMap = class extends import_crdt.AbstractCrdtType {
59
+ var YjsArray = class extends import_yjs.Array {
72
60
  constructor(value = []) {
73
61
  super();
74
- this.initialValue = value.map(([k, v]) => [k, toYjsValue(v)]);
75
- this.value = new import_yjs.Map(this.initialValue);
76
- }
77
- get size() {
78
- return this.value.size;
79
- }
80
- delete(prop) {
81
- this.value.delete(prop);
82
- return this;
83
- }
84
- set(prop, value) {
85
- this.value.set(prop, toYjsValue(value));
86
- return this;
62
+ this.insert(0, value);
63
+ this.initialValue = value;
87
64
  }
88
- toJson() {
89
- return this.value.toJSON();
65
+ __pluvType() {
66
+ return {};
90
67
  }
91
68
  };
92
69
 
93
- // src/object/CrdtYjsObject.ts
94
- var import_crdt2 = require("@pluv/crdt");
70
+ // src/array/array.ts
71
+ var array = (value = []) => {
72
+ return new YjsArray(value);
73
+ };
74
+
75
+ // src/doc/CrdtYjsDoc.ts
76
+ var import_crdt = require("@pluv/crdt");
77
+ var import_js_base64 = require("js-base64");
78
+ var import_yjs7 = require("yjs");
79
+
80
+ // src/map/YjsMap.ts
95
81
  var import_yjs2 = require("yjs");
96
- var CrdtYjsObject = class extends import_crdt2.AbstractCrdtType {
97
- constructor(value = {}) {
98
- super();
99
- this.initialValue = Object.entries(value).map(([k, v]) => [k, toYjsValue(v)]);
100
- this.value = new import_yjs2.Map(this.initialValue);
101
- }
102
- set(prop, value) {
103
- this.value.set(prop.toString(), toYjsValue(value));
104
- return this;
82
+ var YjsMap = class extends import_yjs2.Map {
83
+ constructor(value = []) {
84
+ super(value);
85
+ this.initialValue = value;
105
86
  }
106
- toJson() {
107
- return this.value.toJSON();
87
+ __pluvType() {
88
+ return {};
108
89
  }
109
90
  };
110
91
 
111
- // src/text/CrdtYjsText.ts
112
- var import_crdt3 = require("@pluv/crdt");
92
+ // src/object/YjsObject.ts
113
93
  var import_yjs3 = require("yjs");
114
- var CrdtYjsText = class extends import_crdt3.AbstractCrdtType {
115
- constructor(value = "") {
116
- super();
94
+ var YjsObject = class extends import_yjs3.Map {
95
+ constructor(value) {
96
+ super(Object.entries(value));
117
97
  this.initialValue = value;
118
- this.value = new import_yjs3.Text(value);
119
98
  }
120
- get length() {
121
- return this.value.length;
122
- }
123
- delete(index, length = 1) {
124
- this.value.delete(index, length);
125
- return this;
126
- }
127
- insert(index, text2) {
128
- this.value.insert(index, text2);
129
- return this;
130
- }
131
- toJson() {
132
- return this.value.toJSON();
99
+ __pluvType() {
100
+ return {};
133
101
  }
134
102
  };
135
103
 
136
- // src/xmlElement/CrdtYjsXmlElement.ts
137
- var import_crdt4 = require("@pluv/crdt");
104
+ // src/text/YjsText.ts
138
105
  var import_yjs4 = require("yjs");
139
- var CrdtYjsXmlElement = class extends import_crdt4.AbstractCrdtType {
140
- constructor(name, children) {
106
+ var YjsText = class extends import_yjs4.Text {
107
+ constructor(value = "") {
141
108
  super();
142
- this.initialValue = children.map((item) => item.value);
143
- this.name = name;
144
- this.value = new import_yjs4.XmlElement(name);
145
- this.push(...children);
146
- }
147
- get length() {
148
- return this.value.length;
149
- }
150
- delete(index, length = 1) {
151
- this.value.delete(index, length);
152
- return this;
153
- }
154
- insert(index, ...children) {
155
- const converted = children.map((child) => toYjsValue(child));
156
- this.value.insert(index, converted);
157
- return this;
158
- }
159
- push(...children) {
160
- return this.insert(this.length, ...children);
161
- }
162
- unshift(...children) {
163
- return this.insert(0, ...children);
109
+ this.initialValue = value;
164
110
  }
165
- toJson() {
166
- return this.value.toJSON();
111
+ __pluvType() {
112
+ return {};
167
113
  }
168
114
  };
169
115
 
170
- // src/xmlElement/xmlElement.ts
171
- var xmlElement = (name, children) => {
172
- return new CrdtYjsXmlElement(name, children);
173
- };
174
-
175
- // src/xmlFragment/CrdtYjsXmlFragment.ts
176
- var import_crdt5 = require("@pluv/crdt");
116
+ // src/xmlElement/YjsXmlElement.ts
177
117
  var import_yjs5 = require("yjs");
178
- var CrdtYjsXmlFragment = class extends import_crdt5.AbstractCrdtType {
179
- constructor(children) {
180
- super();
181
- this.initialValue = children.map((item) => item.value);
182
- this.value = new import_yjs5.XmlFragment();
183
- this.push(...children);
184
- }
185
- get length() {
186
- return this.value.length;
187
- }
188
- delete(index, length = 1) {
189
- this.value.delete(index, length);
190
- return this;
191
- }
192
- insert(index, ...children) {
193
- const converted = children.map((child) => toYjsValue(child));
194
- this.value.insert(index, converted);
195
- return this;
196
- }
197
- push(...children) {
198
- return this.insert(this.length, ...children);
199
- }
200
- unshift(...children) {
201
- return this.insert(0, ...children);
118
+ var YjsXmlElement = class extends import_yjs5.XmlElement {
119
+ constructor(name, value) {
120
+ super(name);
121
+ !!value.length && this.insert(0, value);
122
+ this.initialValue = value;
202
123
  }
203
- toJson() {
204
- return this.value.toJSON();
124
+ __pluvType() {
125
+ return {};
205
126
  }
206
127
  };
207
128
 
208
- // src/xmlFragment/xmlFragment.ts
209
- var xmlFragment = (children) => {
210
- return new CrdtYjsXmlFragment(children);
211
- };
212
-
213
- // src/xmlText/CrdtYjsXmlText.ts
214
- var import_crdt6 = require("@pluv/crdt");
129
+ // src/xmlText/YjsXmlText.ts
215
130
  var import_yjs6 = require("yjs");
216
- var CrdtYjsXmlText = class extends import_crdt6.AbstractCrdtType {
131
+ var YjsXmlText = class extends import_yjs6.XmlText {
217
132
  constructor(value = "") {
218
133
  super();
219
134
  this.initialValue = value;
220
- this.value = new import_yjs6.XmlText(value);
221
- }
222
- get length() {
223
- return this.value.length;
224
- }
225
- delete(index, length = 1) {
226
- this.value.delete(index, length);
227
- return this;
228
- }
229
- insert(index, text2, attributes) {
230
- this.value.insert(index, text2, attributes);
231
- return this;
232
- }
233
- toJson() {
234
- return this.value.toJSON();
235
- }
236
- };
237
-
238
- // src/xmlText/xmlText.ts
239
- var xmlText = (value = "") => {
240
- return new CrdtYjsXmlText(value);
241
- };
242
-
243
- // src/shared/isWrapper.ts
244
- var isWrapper = (item) => {
245
- return item instanceof CrdtYjsArray || item instanceof CrdtYjsMap || item instanceof CrdtYjsObject || item instanceof CrdtYjsText || item instanceof CrdtYjsXmlElement || item instanceof CrdtYjsXmlFragment || item instanceof CrdtYjsXmlText;
246
- };
247
-
248
- // src/shared/toYjsValue.ts
249
- var toYjsValue = (item) => {
250
- return isWrapper(item) ? item.value : item;
251
- };
252
-
253
- // src/array/CrdtYjsArray.ts
254
- var CrdtYjsArray = class extends import_crdt7.AbstractCrdtType {
255
- constructor(value = []) {
256
- super();
257
- const initialValue = value.map((item) => toYjsValue(item));
258
- this.initialValue = initialValue;
259
- this.value = new import_yjs7.Array();
260
- this.push(...value);
261
- }
262
- get length() {
263
- return this.value.length;
264
- }
265
- delete(index, length = 1) {
266
- this.value.delete(index, length);
267
- return this;
268
- }
269
- insert(index, ...items) {
270
- const converted = items.map((item) => toYjsValue(item));
271
- this.value.insert(index, converted);
272
- return this;
273
- }
274
- push(...items) {
275
- return this.insert(this.length, ...items);
276
- }
277
- unshift(...items) {
278
- return this.insert(0, ...items);
279
135
  }
280
- toJson() {
281
- return this.value.toJSON();
136
+ __pluvType() {
137
+ return {};
282
138
  }
283
139
  };
284
140
 
285
- // src/array/array.ts
286
- var array = (value = []) => {
287
- return new CrdtYjsArray(value);
288
- };
289
-
290
141
  // src/doc/CrdtYjsDoc.ts
291
- var import_crdt8 = require("@pluv/crdt");
292
- var import_js_base64 = require("js-base64");
293
- var import_yjs8 = require("yjs");
294
- var CrdtYjsDoc = class extends import_crdt8.AbstractCrdtDoc {
142
+ var CrdtYjsDoc = class extends import_crdt.AbstractCrdtDoc {
295
143
  constructor(value = {}) {
296
144
  super();
297
- this.value = new import_yjs8.Doc();
145
+ this.value = new import_yjs7.Doc();
298
146
  this._undoManager = null;
299
147
  this._storage = Object.entries(value).reduce((acc, [key, node]) => {
300
- if (node instanceof CrdtYjsArray) {
301
- const yArray = this.value.get(key, import_yjs8.Array);
302
- yArray.insert(0, node.initialValue.slice(0));
303
- node.value = yArray;
304
- return __spreadProps(__spreadValues({}, acc), { [key]: node });
148
+ var _a, _b, _c, _d, _e, _f, _g, _h;
149
+ if (node instanceof YjsArray) {
150
+ const yArray = this.value.getArray(key);
151
+ !!((_a = node.initialValue) == null ? void 0 : _a.length) && yArray.insert(0, (_b = node.initialValue) == null ? void 0 : _b.slice(0));
152
+ return __spreadProps(__spreadValues({}, acc), { [key]: yArray });
305
153
  }
306
- if (node instanceof CrdtYjsMap || node instanceof CrdtYjsObject) {
307
- const yMap = this.value.get(key, import_yjs8.Map);
308
- node.initialValue.forEach(([k, v]) => {
154
+ if (node instanceof YjsMap) {
155
+ const yMap = this.value.getMap(key);
156
+ ((_c = node.initialValue) != null ? _c : []).forEach(([k, v]) => {
309
157
  yMap.set(k.toString(), v);
310
158
  });
311
- node.value = yMap;
312
- return __spreadProps(__spreadValues({}, acc), { [key]: node });
159
+ return __spreadProps(__spreadValues({}, acc), { [key]: yMap });
313
160
  }
314
- if (node instanceof CrdtYjsObject) {
315
- const yMap = this.value.get(key, import_yjs8.Map);
316
- node.initialValue.forEach(([k, v]) => {
161
+ if (node instanceof YjsObject) {
162
+ const yMap = this.value.getMap(key);
163
+ Object.entries((_d = node.initialValue) != null ? _d : {}).forEach(([k, v]) => {
317
164
  yMap.set(k.toString(), v);
318
165
  });
319
- node.value = yMap;
320
- return __spreadProps(__spreadValues({}, acc), { [key]: node });
166
+ return __spreadProps(__spreadValues({}, acc), { [key]: yMap });
321
167
  }
322
- if (node instanceof CrdtYjsText) {
323
- const yText = this.value.get(key, import_yjs8.Text);
324
- yText.insert(0, node.initialValue);
325
- node.value = yText;
326
- return __spreadProps(__spreadValues({}, acc), { [key]: node });
168
+ if (node instanceof YjsText) {
169
+ const yText = this.value.getText(key);
170
+ typeof node.initialValue === "string" && yText.insert(0, node.initialValue);
171
+ return __spreadProps(__spreadValues({}, acc), { [key]: yText });
327
172
  }
328
- if (node instanceof CrdtYjsXmlElement) {
329
- const yXmlElement = this.value.get(key, import_yjs8.XmlElement);
330
- yXmlElement.insert(0, node.initialValue.slice(0));
331
- node.value = yXmlElement;
332
- return __spreadProps(__spreadValues({}, acc), { [key]: node });
173
+ if (node instanceof YjsXmlElement) {
174
+ const yXmlElement = this.value.getXmlElement(key);
175
+ !!((_e = node.initialValue) == null ? void 0 : _e.length) && yXmlElement.insert(0, (_f = node.initialValue) == null ? void 0 : _f.slice(0));
176
+ return __spreadProps(__spreadValues({}, acc), { [key]: yXmlElement });
333
177
  }
334
- if (node instanceof CrdtYjsXmlFragment) {
335
- const yXmlFragment = this.value.get(key, import_yjs8.XmlFragment);
336
- yXmlFragment.insert(0, node.initialValue.slice(0));
337
- node.value = yXmlFragment;
338
- return __spreadProps(__spreadValues({}, acc), { [key]: node });
178
+ if (node instanceof import_yjs7.XmlFragment) {
179
+ const yXmlFragment = this.value.getXmlFragment(key);
180
+ !!((_g = node.initialValue) == null ? void 0 : _g.length) && yXmlFragment.insert(0, (_h = node.initialValue) == null ? void 0 : _h.slice(0));
181
+ return __spreadProps(__spreadValues({}, acc), { [key]: yXmlFragment });
339
182
  }
340
- if (node instanceof CrdtYjsXmlText) {
341
- const yXmlText = this.value.get(key, import_yjs8.XmlText);
342
- yXmlText.insert(0, node.initialValue);
343
- node.value = yXmlText;
344
- return __spreadProps(__spreadValues({}, acc), { [key]: node });
183
+ if (node instanceof YjsXmlText) {
184
+ const yXmlText = this.value.get(key, import_yjs7.XmlText);
185
+ return __spreadProps(__spreadValues({}, acc), { [key]: yXmlText });
345
186
  }
346
187
  return acc;
347
188
  }, {});
@@ -350,7 +191,7 @@ var CrdtYjsDoc = class extends import_crdt8.AbstractCrdtDoc {
350
191
  const { origin, update } = params;
351
192
  if (update === null || typeof update === "undefined") return this;
352
193
  const uint8Update = typeof update === "string" ? (0, import_js_base64.toUint8Array)(update) : update;
353
- (0, import_yjs8.applyUpdate)(this.value, uint8Update, origin);
194
+ (0, import_yjs7.applyUpdate)(this.value, uint8Update, origin);
354
195
  return this;
355
196
  }
356
197
  batchApplyEncodedState(updates) {
@@ -381,12 +222,12 @@ var CrdtYjsDoc = class extends import_crdt8.AbstractCrdtDoc {
381
222
  (_a = this._undoManager) == null ? void 0 : _a.destroy();
382
223
  this.value.destroy();
383
224
  }
384
- get(key) {
385
- if (typeof key === "undefined") return this._storage;
386
- return this._storage[key];
225
+ get(type) {
226
+ if (typeof type === "undefined") return this._storage;
227
+ return this._storage[type];
387
228
  }
388
229
  getEncodedState() {
389
- return (0, import_js_base64.fromUint8Array)((0, import_yjs8.encodeStateAsUpdate)(this.value));
230
+ return (0, import_js_base64.fromUint8Array)((0, import_yjs7.encodeStateAsUpdate)(this.value));
390
231
  }
391
232
  isEmpty() {
392
233
  return !this.value.share.size;
@@ -414,8 +255,8 @@ var CrdtYjsDoc = class extends import_crdt8.AbstractCrdtDoc {
414
255
  var _a;
415
256
  if (this._undoManager) this._undoManager.destroy();
416
257
  const sharedTypes = Object.values(this._storage).reduce((acc, type) => {
417
- if (type instanceof CrdtYjsArray || type instanceof CrdtYjsMap || type instanceof CrdtYjsObject || type instanceof CrdtYjsText || type instanceof CrdtYjsXmlElement || type instanceof CrdtYjsXmlFragment || type instanceof CrdtYjsXmlText) {
418
- acc.push(type.value);
258
+ if (type instanceof import_yjs7.Array || type instanceof import_yjs7.Map || type instanceof import_yjs7.Text || type instanceof import_yjs7.XmlElement || type instanceof import_yjs7.XmlFragment || type instanceof import_yjs7.XmlText) {
259
+ acc.push(type);
419
260
  }
420
261
  return acc;
421
262
  }, []);
@@ -424,16 +265,17 @@ var CrdtYjsDoc = class extends import_crdt8.AbstractCrdtDoc {
424
265
  this._undoManager = null;
425
266
  return this;
426
267
  }
427
- this._undoManager = new import_yjs8.UndoManager(sharedTypes, { captureTimeout: 0 });
268
+ this._undoManager = new import_yjs7.UndoManager(sharedTypes, { captureTimeout: 0 });
428
269
  return this;
429
270
  }
430
271
  transact(fn) {
431
272
  this.value.transact(fn);
432
273
  return this;
433
274
  }
434
- toJson() {
275
+ toJson(type) {
276
+ if (typeof type === "string") return this._storage[type].toJSON();
435
277
  return Object.entries(this._storage).reduce(
436
- (acc, [key, value]) => __spreadProps(__spreadValues({}, acc), { [key]: value.toJson() }),
278
+ (acc, [key, value]) => __spreadProps(__spreadValues({}, acc), { [key]: value.toJSON() }),
437
279
  {}
438
280
  );
439
281
  }
@@ -445,20 +287,54 @@ var CrdtYjsDoc = class extends import_crdt8.AbstractCrdtDoc {
445
287
  };
446
288
 
447
289
  // src/doc/CrdtYjsDocFactory.ts
448
- var import_crdt9 = require("@pluv/crdt");
290
+ var import_crdt2 = require("@pluv/crdt");
291
+ var import_yjs9 = require("yjs");
449
292
 
450
293
  // src/map/map.ts
451
294
  var map = (value = []) => {
452
- return new CrdtYjsMap(value);
295
+ return new YjsMap(value);
453
296
  };
454
297
 
455
298
  // src/object/object.ts
456
- var object = (value) => {
457
- return new CrdtYjsObject(value);
299
+ var object = (value = {}) => {
300
+ return new YjsObject(value);
301
+ };
302
+
303
+ // src/text/text.ts
304
+ var text = (value = "") => {
305
+ return new YjsText(value);
306
+ };
307
+
308
+ // src/xmlElement/xmlElement.ts
309
+ var xmlElement = (name, children) => {
310
+ return new YjsXmlElement(name, children);
311
+ };
312
+
313
+ // src/xmlFragment/YjsXmlFragment.ts
314
+ var import_yjs8 = require("yjs");
315
+ var YjsXmlFragment = class extends import_yjs8.XmlFragment {
316
+ constructor(value) {
317
+ super();
318
+ !!value.length && this.insert(0, value);
319
+ this.initialValue = value;
320
+ }
321
+ __pluvType() {
322
+ return {};
323
+ }
324
+ };
325
+
326
+ // src/xmlFragment/xmlFragment.ts
327
+ var xmlFragment = (children) => {
328
+ return new YjsXmlFragment(children);
329
+ };
330
+
331
+ // src/xmlText/xmlText.ts
332
+ var xmlText = () => {
333
+ return new YjsXmlText();
458
334
  };
459
335
 
460
336
  // src/doc/CrdtYjsDocFactory.ts
461
- var CrdtYjsDocFactory = class _CrdtYjsDocFactory extends import_crdt9.AbstractCrdtDocFactory {
337
+ var CrdtYjsDocFactory = class _CrdtYjsDocFactory extends import_crdt2.AbstractCrdtDocFactory {
462
338
  constructor(initialStorage = () => ({})) {
463
339
  super();
464
340
  this._initialStorage = initialStorage;
@@ -473,28 +349,26 @@ var CrdtYjsDocFactory = class _CrdtYjsDocFactory extends import_crdt9.AbstractCr
473
349
  const storage = this._initialStorage();
474
350
  return new CrdtYjsDoc(
475
351
  Object.entries(storage).reduce((acc, [key, node]) => {
476
- if (node instanceof CrdtYjsArray) {
477
- return __spreadProps(__spreadValues({}, acc), { [key]: new CrdtYjsArray([]) });
352
+ if (node instanceof YjsArray) {
353
+ return __spreadProps(__spreadValues({}, acc), { [key]: array() });
478
354
  }
479
- if (node instanceof CrdtYjsMap) {
480
- return __spreadProps(__spreadValues({}, acc), { [key]: new CrdtYjsMap([]) });
355
+ if (node instanceof YjsMap) {
356
+ return __spreadProps(__spreadValues({}, acc), { [key]: map() });
481
357
  }
482
- if (node instanceof CrdtYjsObject) {
483
- return __spreadProps(__spreadValues({}, acc), { [key]: new CrdtYjsObject({}) });
358
+ if (node instanceof YjsObject) {
359
+ return __spreadProps(__spreadValues({}, acc), { [key]: object() });
484
360
  }
485
- if (node instanceof CrdtYjsText) {
486
- return __spreadProps(__spreadValues({}, acc), { [key]: new CrdtYjsText("") });
361
+ if (node instanceof YjsText) {
362
+ return __spreadProps(__spreadValues({}, acc), { [key]: text() });
487
363
  }
488
- if (node instanceof CrdtYjsXmlElement) {
489
- return __spreadProps(__spreadValues({}, acc), {
490
- [key]: new CrdtYjsXmlElement(node.name, [])
491
- });
364
+ if (node instanceof YjsXmlElement) {
365
+ return __spreadProps(__spreadValues({}, acc), { [key]: xmlElement(node.nodeName, []) });
492
366
  }
493
- if (node instanceof CrdtYjsXmlFragment) {
494
- return __spreadProps(__spreadValues({}, acc), { [key]: new CrdtYjsXmlFragment([]) });
367
+ if (node instanceof import_yjs9.XmlFragment) {
368
+ return __spreadProps(__spreadValues({}, acc), { [key]: xmlFragment([]) });
495
369
  }
496
- if (node instanceof CrdtYjsXmlText) {
497
- return __spreadProps(__spreadValues({}, acc), { [key]: new CrdtYjsXmlText("") });
370
+ if (node instanceof YjsXmlText) {
371
+ return __spreadProps(__spreadValues({}, acc), { [key]: xmlText() });
498
372
  }
499
373
  return acc;
500
374
  }, {})