@casual-simulation/aux-common 3.3.11 → 3.3.13

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 (38) hide show
  1. package/bots/BotEvents.d.ts +30 -1
  2. package/bots/BotEvents.js +16 -0
  3. package/bots/BotEvents.js.map +1 -1
  4. package/common/DenialReason.d.ts +4 -1
  5. package/documents/RemoteYjsSharedDocument.d.ts +52 -0
  6. package/documents/RemoteYjsSharedDocument.js +304 -0
  7. package/documents/RemoteYjsSharedDocument.js.map +1 -0
  8. package/documents/SharedDocument.d.ts +449 -0
  9. package/documents/SharedDocument.js +2 -0
  10. package/documents/SharedDocument.js.map +1 -0
  11. package/documents/SharedDocumentConfig.d.ts +65 -0
  12. package/documents/SharedDocumentConfig.js +2 -0
  13. package/documents/SharedDocumentConfig.js.map +1 -0
  14. package/documents/SharedDocumentFactories.d.ts +20 -0
  15. package/documents/SharedDocumentFactories.js +29 -0
  16. package/documents/SharedDocumentFactories.js.map +1 -0
  17. package/documents/YjsSharedDocument.d.ts +152 -0
  18. package/documents/YjsSharedDocument.js +628 -0
  19. package/documents/YjsSharedDocument.js.map +1 -0
  20. package/documents/index.d.ts +6 -0
  21. package/documents/index.js +6 -0
  22. package/documents/index.js.map +1 -0
  23. package/documents/test/DocumentTests.d.ts +6 -0
  24. package/documents/test/DocumentTests.js +497 -0
  25. package/documents/test/DocumentTests.js.map +1 -0
  26. package/package.json +2 -2
  27. package/partitions/AuxPartitionConfig.d.ts +5 -4
  28. package/partitions/PartitionAuthSource.d.ts +4 -0
  29. package/partitions/RemoteYjsPartition.d.ts +8 -50
  30. package/partitions/RemoteYjsPartition.js +65 -364
  31. package/partitions/RemoteYjsPartition.js.map +1 -1
  32. package/partitions/YjsPartition.d.ts +4 -28
  33. package/partitions/YjsPartition.js +7 -93
  34. package/partitions/YjsPartition.js.map +1 -1
  35. package/rpc/ErrorCodes.d.ts +1 -1
  36. package/rpc/ErrorCodes.js.map +1 -1
  37. package/websockets/InstRecordsClient.js +1 -1
  38. package/websockets/InstRecordsClient.js.map +1 -1
@@ -0,0 +1,497 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { Subscription } from 'rxjs';
11
+ import { waitAsync } from '../../test/TestHelpers';
12
+ /**
13
+ * Tests the given document implementation for various features.
14
+ */
15
+ export function testDocumentImplementation(createDocument) {
16
+ let document;
17
+ let statuses;
18
+ let version;
19
+ let sub;
20
+ beforeEach(() => __awaiter(this, void 0, void 0, function* () {
21
+ sub = new Subscription();
22
+ document = yield createDocument();
23
+ statuses = [];
24
+ sub.add(document.onVersionUpdated.subscribe((v) => (version = v)));
25
+ sub.add(document.onStatusUpdated.subscribe((update) => statuses.push(update)));
26
+ }));
27
+ afterEach(() => {
28
+ sub.unsubscribe();
29
+ });
30
+ describe('getMap()', () => {
31
+ it('should return a map', () => {
32
+ expect(document.getMap('abc')).toBeTruthy();
33
+ });
34
+ it('should be able to get the same map multiple times', () => {
35
+ const map1 = document.getMap('abc');
36
+ const map2 = document.getMap('abc');
37
+ expect(map1).toBe(map2);
38
+ });
39
+ it('should return different maps for different keys', () => {
40
+ const map1 = document.getMap('abc');
41
+ const map2 = document.getMap('def');
42
+ expect(map1).not.toBe(map2);
43
+ });
44
+ it('should be able to store data in a map', () => {
45
+ const map = document.getMap('abc');
46
+ map.set('hello', 'world');
47
+ expect(map.get('hello')).toBe('world');
48
+ });
49
+ it('should be able delete keys in a map', () => {
50
+ const map = document.getMap('abc');
51
+ map.set('hello', 'world');
52
+ map.delete('hello');
53
+ expect(map.has('hello')).toBe(false);
54
+ });
55
+ it('should be able list keys in a map', () => {
56
+ const map = document.getMap('abc');
57
+ map.set('hello', 'world');
58
+ map.set('test', 'value');
59
+ expect([...map.keys()]).toEqual(['hello', 'test']);
60
+ });
61
+ it('should be able to list entries in a a map', () => {
62
+ const map = document.getMap('abc');
63
+ map.set('hello', 'world');
64
+ map.set('test', 'value');
65
+ expect([...map.entries()]).toEqual([
66
+ ['hello', 'world'],
67
+ ['test', 'value'],
68
+ ]);
69
+ });
70
+ it('should be able to list values in a map', () => {
71
+ const map = document.getMap('abc');
72
+ map.set('hello', 'world');
73
+ map.set('test', 'value');
74
+ expect([...map.values()]).toEqual(['world', 'value']);
75
+ });
76
+ it('should be able to clear the map', () => {
77
+ const map = document.getMap('abc');
78
+ map.set('hello', 'world');
79
+ map.set('test', 'value');
80
+ map.clear();
81
+ expect([...map.keys()]).toEqual([]);
82
+ });
83
+ it('should be able to loop over the map', () => {
84
+ const map = document.getMap('abc');
85
+ map.set('hello', 'world');
86
+ map.set('test', 'value');
87
+ const keys = [];
88
+ const values = [];
89
+ map.forEach((value, key) => {
90
+ keys.push(key);
91
+ values.push(value);
92
+ });
93
+ expect(keys).toEqual(['hello', 'test']);
94
+ expect(values).toEqual(['world', 'value']);
95
+ });
96
+ it('should be able to iterate over the map', () => {
97
+ const map = document.getMap('abc');
98
+ map.set('hello', 'world');
99
+ map.set('test', 'value');
100
+ const keys = [];
101
+ const values = [];
102
+ for (let [key, value] of map) {
103
+ keys.push(key);
104
+ values.push(value);
105
+ }
106
+ expect(keys).toEqual(['hello', 'test']);
107
+ expect(values).toEqual(['world', 'value']);
108
+ });
109
+ it('should be able to get the document from a map', () => {
110
+ const map = document.getMap('abc');
111
+ map.set('hello', 'world');
112
+ expect(map.doc).toBe(document);
113
+ });
114
+ it('should return undefined if the map doesnt have a parent', () => {
115
+ const map = document.getMap('abc');
116
+ expect(map.parent).toBeUndefined();
117
+ });
118
+ it('should be able to set a map in a map', () => {
119
+ const map1 = document.getMap('abc');
120
+ const map2 = document.createMap();
121
+ map2.set('hello', 'world');
122
+ map1.set('map', map2);
123
+ expect(map1.get('map')).toBe(map2);
124
+ expect(map2.parent).toBe(map1);
125
+ expect(map2.doc).toBe(document);
126
+ expect(map1.toJSON()).toEqual({
127
+ map: {
128
+ hello: 'world',
129
+ },
130
+ });
131
+ });
132
+ it('should throw an error if setting a top-level map inside another map', () => {
133
+ const map1 = document.getMap('abc');
134
+ const map2 = document.getMap('top');
135
+ map2.set('hello', 'world');
136
+ expect(() => {
137
+ map1.set('map', map2);
138
+ }).toThrow('Cannot set a top-level map inside another map.');
139
+ });
140
+ // TODO: Currently YJS doesn't seem to actually clone the map
141
+ it.skip('should be able to clone a map', () => {
142
+ const map = document.getMap('abc');
143
+ map.set('hello', 'world');
144
+ map.set('test', 'value');
145
+ const c = map.clone();
146
+ expect([...c.keys()]).toEqual(['hello', 'test']);
147
+ expect(c.toJSON()).toEqual({
148
+ hello: 'world',
149
+ test: 'value',
150
+ });
151
+ });
152
+ it('should emit changes', () => __awaiter(this, void 0, void 0, function* () {
153
+ const map = document.getMap('abc');
154
+ let changes = [];
155
+ sub.add(map.changes.subscribe((c) => changes.push(c)));
156
+ map.set('hello', 'world');
157
+ map.set('hello', 'different');
158
+ map.delete('hello');
159
+ yield waitAsync();
160
+ expect(changes.length).toBe(3);
161
+ expect(changes[0].type).toBe('map');
162
+ expect(changes[0].target === map).toBe(true);
163
+ expect(changes[0].changes).toEqual(new Map([
164
+ [
165
+ 'hello',
166
+ {
167
+ action: 'add',
168
+ oldValue: undefined,
169
+ },
170
+ ],
171
+ ]));
172
+ expect(changes[1].type).toBe('map');
173
+ expect(changes[1].target === map).toBe(true);
174
+ expect(changes[1].changes).toEqual(new Map([
175
+ [
176
+ 'hello',
177
+ {
178
+ action: 'update',
179
+ oldValue: 'world',
180
+ },
181
+ ],
182
+ ]));
183
+ expect(changes[2].type).toBe('map');
184
+ expect(changes[2].target === map).toBe(true);
185
+ expect(changes[2].changes).toEqual(new Map([
186
+ [
187
+ 'hello',
188
+ {
189
+ action: 'delete',
190
+ oldValue: 'different',
191
+ },
192
+ ],
193
+ ]));
194
+ }));
195
+ });
196
+ describe('getArray()', () => {
197
+ it('should return an array', () => {
198
+ expect(document.getArray('abc')).toBeTruthy();
199
+ });
200
+ it('should be able to get the same array multiple times', () => {
201
+ const array1 = document.getArray('abc');
202
+ const array2 = document.getArray('abc');
203
+ expect(array1).toBe(array2);
204
+ });
205
+ it('should return different arrays for different keys', () => {
206
+ const map1 = document.getArray('abc');
207
+ const map2 = document.getArray('def');
208
+ expect(map1).not.toBe(map2);
209
+ });
210
+ it('should be able to store data in an array', () => {
211
+ const array = document.getArray('abc');
212
+ array.push('hello');
213
+ expect(array.toArray()).toEqual(['hello']);
214
+ });
215
+ it('should be able to push multiple items at once', () => {
216
+ const array = document.getArray('abc');
217
+ array.push('hello', 'world');
218
+ expect(array.toArray()).toEqual(['hello', 'world']);
219
+ });
220
+ it('should be able to delete items in an array', () => {
221
+ const array = document.getArray('abc');
222
+ array.push('hello');
223
+ array.delete(0, 1);
224
+ expect(array.toArray()).toEqual([]);
225
+ });
226
+ it('should be able to pop items from the array', () => {
227
+ const array = document.getArray('abc');
228
+ array.push('hello');
229
+ array.push('world');
230
+ expect(array.pop()).toBe('world');
231
+ expect(array.toArray()).toEqual(['hello']);
232
+ });
233
+ it('should be able to add items to the beginning of the array', () => {
234
+ const array = document.getArray('abc');
235
+ array.push('world');
236
+ array.unshift('hello');
237
+ expect(array.toArray()).toEqual(['hello', 'world']);
238
+ });
239
+ it('should be able to shift items from the beginning of the array', () => {
240
+ const array = document.getArray('abc');
241
+ array.push('hello');
242
+ array.push('world');
243
+ expect(array.shift()).toBe('hello');
244
+ expect(array.toArray()).toEqual(['world']);
245
+ });
246
+ it('should be able to unshift items onto the beginning of the array', () => {
247
+ const array = document.getArray('abc');
248
+ array.unshift('hello');
249
+ array.unshift('world');
250
+ expect(array.toArray()).toEqual(['world', 'hello']);
251
+ });
252
+ it('should be able to use splice to delete items from the array', () => {
253
+ const array = document.getArray('abc');
254
+ array.push('hello');
255
+ array.push('world');
256
+ array.push('123');
257
+ array.push('456');
258
+ const deleted = array.splice(2, 2);
259
+ expect(deleted).toEqual(['123', '456']);
260
+ expect(array.toArray()).toEqual(['hello', 'world']);
261
+ });
262
+ it('should be able to use splice with negative start to delete items from end of the array', () => {
263
+ const array = document.getArray('abc');
264
+ array.push('hello');
265
+ array.push('world');
266
+ array.push('123');
267
+ array.push('456');
268
+ const deleted = array.splice(-2, 2);
269
+ expect(deleted).toEqual(['123', '456']);
270
+ expect(array.toArray()).toEqual(['hello', 'world']);
271
+ });
272
+ it('should be able to use splice to insert items in the array', () => {
273
+ const array = document.getArray('abc');
274
+ array.push('hello');
275
+ array.push('world');
276
+ array.push('123');
277
+ array.push('456');
278
+ const deleted = array.splice(2, undefined, 'test', 'value');
279
+ expect(deleted).toEqual([]);
280
+ expect(array.toArray()).toEqual([
281
+ 'hello',
282
+ 'world',
283
+ 'test',
284
+ 'value',
285
+ '123',
286
+ '456',
287
+ ]);
288
+ });
289
+ it('should be able to use splice with negative start to insert items counted from the end of the array', () => {
290
+ const array = document.getArray('abc');
291
+ array.push('hello');
292
+ array.push('world');
293
+ array.push('123');
294
+ array.push('456');
295
+ const deleted = array.splice(-2, undefined, 'test', 'value');
296
+ expect(deleted).toEqual([]);
297
+ expect(array.toArray()).toEqual([
298
+ 'hello',
299
+ 'world',
300
+ 'test',
301
+ 'value',
302
+ '123',
303
+ '456',
304
+ ]);
305
+ });
306
+ it('should be able to use splice to replace items in the array', () => {
307
+ const array = document.getArray('abc');
308
+ array.push('hello');
309
+ array.push('world');
310
+ array.push('123');
311
+ array.push('456');
312
+ const deleted = array.splice(2, 2, 'test', 'value');
313
+ expect(deleted).toEqual(['123', '456']);
314
+ expect(array.toArray()).toEqual([
315
+ 'hello',
316
+ 'world',
317
+ 'test',
318
+ 'value',
319
+ ]);
320
+ });
321
+ it('should be able to map over the array', () => {
322
+ const array = document.getArray('abc');
323
+ array.push('hello');
324
+ array.push('world');
325
+ const mapped = array.map((v) => v.toUpperCase());
326
+ expect(mapped).toEqual(['HELLO', 'WORLD']);
327
+ });
328
+ it('should be able to filter the array', () => {
329
+ const array = document.getArray('abc');
330
+ array.push('hello');
331
+ array.push('world');
332
+ const filtered = array.filter((v) => v === 'hello');
333
+ expect(filtered).toEqual(['hello']);
334
+ });
335
+ it('should be able to iterate over the array', () => {
336
+ const array = document.getArray('abc');
337
+ array.push('hello');
338
+ array.push('world');
339
+ const values = [];
340
+ array.forEach((v) => values.push(v));
341
+ expect(values).toEqual(['hello', 'world']);
342
+ });
343
+ it('should be able to get the document from an array', () => {
344
+ const array = document.getArray('abc');
345
+ array.push('hello');
346
+ expect(array.doc === document).toBe(true);
347
+ });
348
+ it('should return undefined if the array doesnt have a parent', () => {
349
+ const array = document.getArray('abc');
350
+ expect(array.parent).toBeUndefined();
351
+ });
352
+ it('should be able to set an array in an array', () => {
353
+ const array1 = document.getArray('abc');
354
+ const array2 = document.createArray();
355
+ array2.push('hello');
356
+ array1.push(array2);
357
+ expect(array1.get(0) === array2).toBe(true);
358
+ expect(array2.parent === array1).toBe(true);
359
+ expect(array2.doc === document).toBe(true);
360
+ expect(array1.toJSON()).toEqual([['hello']]);
361
+ });
362
+ it('should be able to emit changes', () => __awaiter(this, void 0, void 0, function* () {
363
+ const array = document.getArray('abc');
364
+ let changes = [];
365
+ sub.add(array.changes.subscribe((c) => changes.push(c)));
366
+ array.push('hello');
367
+ array.push('world');
368
+ array.delete(1, 1);
369
+ yield waitAsync();
370
+ expect(changes.length).toBe(3);
371
+ expect(changes[0].type).toBe('array');
372
+ expect(changes[0].target === array).toBe(true);
373
+ expect(changes[0].delta).toEqual([
374
+ {
375
+ type: 'insert',
376
+ values: ['hello'],
377
+ },
378
+ ]);
379
+ expect(changes[1].type).toBe('array');
380
+ expect(changes[1].target === array).toBe(true);
381
+ expect(changes[1].delta).toEqual([
382
+ {
383
+ type: 'preserve',
384
+ count: 1,
385
+ },
386
+ {
387
+ type: 'insert',
388
+ values: ['world'],
389
+ },
390
+ ]);
391
+ expect(changes[2].type).toBe('array');
392
+ expect(changes[2].target === array).toBe(true);
393
+ expect(changes[2].delta).toEqual([
394
+ {
395
+ type: 'preserve',
396
+ count: 1,
397
+ },
398
+ {
399
+ type: 'delete',
400
+ count: 1,
401
+ },
402
+ ]);
403
+ }));
404
+ });
405
+ describe('getText()', () => {
406
+ it('should return an array', () => {
407
+ expect(document.getText('abc')).toBeTruthy();
408
+ });
409
+ it('should be able to get the same text multiple times', () => {
410
+ const array1 = document.getText('abc');
411
+ const array2 = document.getText('abc');
412
+ expect(array1).toBe(array2);
413
+ });
414
+ it('should return different text for different keys', () => {
415
+ const map1 = document.getText('abc');
416
+ const map2 = document.getText('def');
417
+ expect(map1).not.toBe(map2);
418
+ });
419
+ it('should be able to store strings in a text', () => {
420
+ const array = document.getText('abc');
421
+ array.insert(0, 'hello');
422
+ expect(array.toString()).toEqual('hello');
423
+ });
424
+ it('should be able to insert text at the end', () => {
425
+ const array = document.getText('abc');
426
+ array.insert(0, 'hello');
427
+ array.insert(5, ' world');
428
+ expect(array.toString()).toEqual('hello world');
429
+ });
430
+ it('should be able to insert text at the beginning', () => {
431
+ const array = document.getText('abc');
432
+ array.insert(0, 'hello');
433
+ array.insert(0, 'world');
434
+ expect(array.toString()).toEqual('worldhello');
435
+ });
436
+ it('should be able to delete chars from the text', () => {
437
+ const array = document.getText('abc');
438
+ array.insert(0, 'hello');
439
+ array.delete(0, 1);
440
+ expect(array.toString()).toEqual('ello');
441
+ });
442
+ it('should be able to get a slice of text', () => {
443
+ const array = document.getText('abc');
444
+ array.insert(0, 'hello');
445
+ expect(array.slice(0, 2)).toEqual('he');
446
+ });
447
+ });
448
+ describe('transact()', () => {
449
+ it('should batch changes', () => __awaiter(this, void 0, void 0, function* () {
450
+ const map = document.getMap('abc');
451
+ const array = document.getArray('def');
452
+ let mapChanges = [];
453
+ let arrayChanges = [];
454
+ sub.add(map.changes.subscribe((c) => mapChanges.push(c)));
455
+ sub.add(array.changes.subscribe((c) => arrayChanges.push(c)));
456
+ document.transact(() => {
457
+ map.set('hello', 'world');
458
+ map.set('hello', 'different');
459
+ array.push('test');
460
+ });
461
+ yield waitAsync();
462
+ expect(mapChanges.length).toBe(1);
463
+ expect(arrayChanges.length).toBe(1);
464
+ expect(mapChanges[0].type).toBe('map');
465
+ expect(mapChanges[0].target === map).toBe(true);
466
+ expect(mapChanges[0].changes).toEqual(new Map([
467
+ [
468
+ 'hello',
469
+ {
470
+ action: 'add',
471
+ oldValue: undefined,
472
+ },
473
+ ],
474
+ ]));
475
+ expect(arrayChanges[0].type).toBe('array');
476
+ expect(arrayChanges[0].target === array).toBe(true);
477
+ expect(arrayChanges[0].delta).toEqual([
478
+ {
479
+ type: 'insert',
480
+ values: ['test'],
481
+ },
482
+ ]);
483
+ }));
484
+ });
485
+ describe('getStateUpdate()', () => {
486
+ it('should be able to apply the update to another document', () => __awaiter(this, void 0, void 0, function* () {
487
+ const map = document.getMap('abc');
488
+ map.set('hello', 'world');
489
+ const state = document.getStateUpdate();
490
+ const document2 = yield createDocument();
491
+ document2.applyStateUpdates([state]);
492
+ const map2 = document2.getMap('abc');
493
+ expect(map2.toJSON()).toEqual(map.toJSON());
494
+ }));
495
+ });
496
+ }
497
+ //# sourceMappingURL=DocumentTests.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DocumentTests.js","sourceRoot":"","sources":["DocumentTests.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@casual-simulation/aux-common",
3
- "version": "3.3.11",
3
+ "version": "3.3.13",
4
4
  "description": "Common library for AUX projects",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",
@@ -74,5 +74,5 @@
74
74
  "**/*.d.ts",
75
75
  "**/*.def"
76
76
  ],
77
- "gitHead": "8e5ee8f33c196328a1c90dbbd799d2ddf248f31d"
77
+ "gitHead": "dfd33895a860f63dca1a0698a694fe7ca8d0e4c8"
78
78
  }
@@ -184,6 +184,11 @@ export interface PartitionRemoteEvents {
184
184
  */
185
185
  export interface YjsPartitionConfig extends PartitionConfigBase {
186
186
  type: 'yjs';
187
+ /**
188
+ * The branch to load.
189
+ * If omitted, then local persistence will not be supported.
190
+ */
191
+ branch?: string;
187
192
  /**
188
193
  * The options for local persistence for the partition.
189
194
  */
@@ -192,10 +197,6 @@ export interface YjsPartitionConfig extends PartitionConfigBase {
192
197
  * Whether to save partition updates to indexed db.
193
198
  */
194
199
  saveToIndexedDb: boolean;
195
- /**
196
- * The database that updates should be saved under.
197
- */
198
- database: string;
199
200
  /**
200
201
  * The encryption key that should be used.
201
202
  */
@@ -132,6 +132,10 @@ export interface PartitionInstResource {
132
132
  * The name of the inst.
133
133
  */
134
134
  inst: string;
135
+ /**
136
+ * The branch that is being loaded.
137
+ */
138
+ branch: string;
135
139
  }
136
140
  export type PartitionAuthResponse = PartitionAuthResponseSuccess | PartitionAuthResponseFailure;
137
141
  export interface PartitionAuthResponseBase {