@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,628 @@
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 { BehaviorSubject, Observable, startWith, Subject, Subscription, } from 'rxjs';
11
+ import { AbstractType as YType, Map as YMap, Array as YArray, Text as YText, YMapEvent, YArrayEvent, YTextEvent, createRelativePositionFromTypeIndex, createAbsolutePositionFromRelativePosition, Doc, applyUpdate, encodeStateAsUpdate, } from 'yjs';
12
+ import { fromByteArray, toByteArray } from 'base64-js';
13
+ import { YjsIndexedDBPersistence } from '../yjs/YjsIndexedDBPersistence';
14
+ export const APPLY_UPDATES_TO_INST_TRANSACTION_ORIGIN = '__apply_updates_to_inst';
15
+ /**
16
+ * Creates a new YJS shared document.
17
+ * @param config The config for the document.
18
+ */
19
+ export function createYjsSharedDocument(config) {
20
+ return new YjsSharedDocument(config);
21
+ }
22
+ /**
23
+ * Defines a shared document that is backed by a YJS document.
24
+ */
25
+ export class YjsSharedDocument {
26
+ get recordName() {
27
+ return this._recordName;
28
+ }
29
+ get address() {
30
+ return this._inst;
31
+ }
32
+ get branch() {
33
+ return this._branch;
34
+ }
35
+ get clientId() {
36
+ return this._doc.clientID;
37
+ }
38
+ get closed() {
39
+ return this._sub.closed;
40
+ }
41
+ get onVersionUpdated() {
42
+ return this._onVersionUpdated;
43
+ }
44
+ get onError() {
45
+ return this._onError;
46
+ }
47
+ get onEvents() {
48
+ return this._onEvents;
49
+ }
50
+ get onClientError() {
51
+ return this._onClientError;
52
+ }
53
+ get onStatusUpdated() {
54
+ return this._onStatusUpdated;
55
+ }
56
+ get site() {
57
+ return this._currentSite;
58
+ }
59
+ get onUpdates() {
60
+ return this._onUpdates.pipe(startWith([fromByteArray(encodeStateAsUpdate(this._doc))]));
61
+ }
62
+ get doc() {
63
+ return this._doc;
64
+ }
65
+ get _remoteSite() {
66
+ return this._remoteId.toString();
67
+ }
68
+ get _currentSite() {
69
+ return this._localId.toString();
70
+ }
71
+ unsubscribe() {
72
+ this._sub.unsubscribe();
73
+ }
74
+ constructor(config) {
75
+ this._onUpdates = new Subject();
76
+ this._onError = new Subject();
77
+ this._onEvents = new Subject();
78
+ this._onStatusUpdated = new Subject();
79
+ this._onClientError = new Subject();
80
+ this._sub = new Subscription();
81
+ this._doc = new Doc();
82
+ this._isLocalTransaction = true;
83
+ this._isRemoteUpdate = false;
84
+ this._maps = new Map();
85
+ this._arrays = new Map();
86
+ this._texts = new Map();
87
+ Object.defineProperty(this._doc, '__sharedDoc', {
88
+ value: this,
89
+ enumerable: false,
90
+ writable: false,
91
+ });
92
+ this._branch = config.branch;
93
+ this._persistence = config.localPersistence;
94
+ this._localId = this._doc.clientID;
95
+ this._remoteId = new Doc().clientID;
96
+ this._currentVersion = {
97
+ currentSite: this._localId.toString(),
98
+ remoteSite: this._remoteId.toString(),
99
+ vector: {},
100
+ };
101
+ this._onVersionUpdated = new BehaviorSubject(this._currentVersion);
102
+ this._onUpdates = new Subject();
103
+ }
104
+ getMap(name) {
105
+ let map = this._maps.get(name);
106
+ if (!map) {
107
+ map = new YjsSharedMap(this._doc.getMap(name));
108
+ this._maps.set(name, map);
109
+ }
110
+ return map;
111
+ }
112
+ getArray(name) {
113
+ let array = this._arrays.get(name);
114
+ if (!array) {
115
+ array = new YjsSharedArray(this._doc.getArray(name));
116
+ this._arrays.set(name, array);
117
+ }
118
+ return array;
119
+ }
120
+ getText(name) {
121
+ let text = this._texts.get(name);
122
+ if (!text) {
123
+ text = new YjsSharedText(this._doc.getText(name));
124
+ this._texts.set(name, text);
125
+ }
126
+ return text;
127
+ }
128
+ createMap() {
129
+ return new YjsSharedMap(new YMap());
130
+ }
131
+ createArray() {
132
+ return new YjsSharedArray(new YArray());
133
+ }
134
+ init() {
135
+ return __awaiter(this, void 0, void 0, function* () { });
136
+ }
137
+ connect() {
138
+ var _a;
139
+ if (((_a = this._persistence) === null || _a === void 0 ? void 0 : _a.saveToIndexedDb) && this._branch) {
140
+ console.log('[YjsPartition] Using IndexedDB persistence');
141
+ this._indexeddb = new YjsIndexedDBPersistence(this._branch, this._doc, { broadcastChanges: true });
142
+ }
143
+ this._onStatusUpdated.next({
144
+ type: 'connection',
145
+ connected: true,
146
+ });
147
+ this._onStatusUpdated.next({
148
+ type: 'authentication',
149
+ authenticated: true,
150
+ });
151
+ this._onStatusUpdated.next({
152
+ type: 'authorization',
153
+ authorized: true,
154
+ });
155
+ if (this._indexeddb) {
156
+ // wait to send the initial sync event until the persistence is ready
157
+ this._indexeddb.waitForInit().then(() => {
158
+ this._onStatusUpdated.next({
159
+ type: 'sync',
160
+ synced: true,
161
+ });
162
+ });
163
+ }
164
+ else {
165
+ this._onStatusUpdated.next({
166
+ type: 'sync',
167
+ synced: true,
168
+ });
169
+ }
170
+ }
171
+ transact(callback) {
172
+ return this._doc.transact(callback);
173
+ }
174
+ getStateUpdate() {
175
+ const update = {
176
+ id: 0,
177
+ timestamp: Date.now(),
178
+ update: fromByteArray(encodeStateAsUpdate(this._doc)),
179
+ };
180
+ return update;
181
+ }
182
+ applyStateUpdates(updates) {
183
+ this._applyUpdates(updates.map((u) => u.update), APPLY_UPDATES_TO_INST_TRANSACTION_ORIGIN);
184
+ }
185
+ /**
186
+ * Applies the given updates to the YJS document.
187
+ * @param updates The updates to apply.
188
+ * @param transactionOrigin The origin of the transaction.
189
+ */
190
+ _applyUpdates(updates, transactionOrigin) {
191
+ try {
192
+ this._isRemoteUpdate = true;
193
+ for (let updateBase64 of updates) {
194
+ const update = toByteArray(updateBase64);
195
+ applyUpdate(this._doc, update, transactionOrigin);
196
+ }
197
+ }
198
+ finally {
199
+ this._isRemoteUpdate = false;
200
+ }
201
+ }
202
+ }
203
+ function convertEvent(event) {
204
+ if (event instanceof YMapEvent) {
205
+ return {
206
+ type: 'map',
207
+ target: event.target.__sharedType,
208
+ changes: event.changes.keys,
209
+ };
210
+ }
211
+ else if (event instanceof YArrayEvent) {
212
+ return {
213
+ type: 'array',
214
+ target: event.target.__sharedType,
215
+ delta: convertArrayDelta(event.delta),
216
+ };
217
+ }
218
+ else if (event instanceof YTextEvent) {
219
+ return {
220
+ type: 'text',
221
+ target: event.target.__sharedType,
222
+ delta: convertTextDelta(event.delta),
223
+ };
224
+ }
225
+ return null;
226
+ }
227
+ function convertArrayDelta(delta) {
228
+ let ops = [];
229
+ for (let op of delta) {
230
+ if (op.insert) {
231
+ ops.push({
232
+ type: 'insert',
233
+ values: op.insert,
234
+ });
235
+ }
236
+ else if (op.delete) {
237
+ ops.push({
238
+ type: 'delete',
239
+ count: op.delete,
240
+ });
241
+ }
242
+ else {
243
+ ops.push({
244
+ type: 'preserve',
245
+ count: op.retain,
246
+ });
247
+ }
248
+ }
249
+ return ops;
250
+ }
251
+ function convertTextDelta(delta) {
252
+ let ops = [];
253
+ for (let op of delta) {
254
+ if (op.insert) {
255
+ ops.push({
256
+ type: 'insert',
257
+ text: op.insert,
258
+ attributes: op.attributes,
259
+ });
260
+ }
261
+ else if (op.delete) {
262
+ ops.push({
263
+ type: 'delete',
264
+ count: op.delete,
265
+ });
266
+ }
267
+ else {
268
+ ops.push({
269
+ type: 'preserve',
270
+ count: op.retain,
271
+ });
272
+ }
273
+ }
274
+ return ops;
275
+ }
276
+ function changesObservable(type) {
277
+ return new Observable((observer) => {
278
+ const f = (event) => {
279
+ observer.next(convertEvent(event));
280
+ };
281
+ type.observe(f);
282
+ return () => {
283
+ // Unsubscribe
284
+ type.unobserve(f);
285
+ };
286
+ });
287
+ }
288
+ function deepChangesObservable(type) {
289
+ return new Observable((observer) => {
290
+ const f = (event) => {
291
+ observer.next(event.map(convertEvent));
292
+ };
293
+ type.observeDeep(f);
294
+ return () => {
295
+ // Unsubscribe
296
+ type.unobserveDeep(f);
297
+ };
298
+ });
299
+ }
300
+ export class YjsSharedType {
301
+ get type() {
302
+ return this._type;
303
+ }
304
+ get doc() {
305
+ var _a;
306
+ return (_a = this._type.doc) === null || _a === void 0 ? void 0 : _a.__sharedDoc;
307
+ }
308
+ get parent() {
309
+ var _a;
310
+ return (_a = this._type.parent) === null || _a === void 0 ? void 0 : _a.__sharedType;
311
+ }
312
+ get changes() {
313
+ return this._changes;
314
+ }
315
+ get deepChanges() {
316
+ return this._deepChanges;
317
+ }
318
+ constructor(type) {
319
+ this._type = type;
320
+ Object.defineProperty(this._type, '__sharedType', {
321
+ value: this,
322
+ enumerable: false,
323
+ writable: false,
324
+ });
325
+ this._changes = changesObservable(this._type);
326
+ this._deepChanges = deepChangesObservable(this._type);
327
+ }
328
+ }
329
+ export class YjsSharedMap extends YjsSharedType {
330
+ constructor(map) {
331
+ let ymap;
332
+ if (map instanceof YMap) {
333
+ ymap = map;
334
+ }
335
+ else {
336
+ ymap = new YMap(map);
337
+ }
338
+ super(ymap);
339
+ }
340
+ get size() {
341
+ return this.type.size;
342
+ }
343
+ set(key, value) {
344
+ if (value instanceof YjsSharedType) {
345
+ if (value.doc) {
346
+ throw new Error('Cannot set a top-level map inside another map.');
347
+ }
348
+ value = value.type;
349
+ }
350
+ this.type.set(key, value);
351
+ }
352
+ get(key) {
353
+ const val = this.type.get(key);
354
+ return valueOrSharedType(val);
355
+ }
356
+ delete(key) {
357
+ this.type.delete(key);
358
+ }
359
+ has(key) {
360
+ return this.type.has(key);
361
+ }
362
+ clear() {
363
+ this.type.clear();
364
+ }
365
+ clone() {
366
+ return new YjsSharedMap(this.type.clone());
367
+ }
368
+ toJSON() {
369
+ return this.type.toJSON();
370
+ }
371
+ forEach(callback) {
372
+ return this.type.forEach((value, key) => callback(value, key, this));
373
+ }
374
+ entries() {
375
+ return this.type.entries();
376
+ }
377
+ keys() {
378
+ return this.type.keys();
379
+ }
380
+ values() {
381
+ return this.type.values();
382
+ }
383
+ [Symbol.iterator]() {
384
+ return this.type[Symbol.iterator]();
385
+ }
386
+ }
387
+ export class YjsSharedArray extends YjsSharedType {
388
+ get length() {
389
+ return this.type.length;
390
+ }
391
+ get size() {
392
+ return this.type.length;
393
+ }
394
+ constructor(arr) {
395
+ let yarray;
396
+ if (arr instanceof YArray) {
397
+ yarray = arr;
398
+ }
399
+ else {
400
+ yarray = YArray.from(arr);
401
+ }
402
+ super(yarray);
403
+ }
404
+ insert(index, items) {
405
+ this.type.insert(index, this._mapItems(items));
406
+ }
407
+ delete(index, count) {
408
+ this.type.delete(index, count);
409
+ }
410
+ applyDelta(delta) {
411
+ let index = 0;
412
+ for (let op of delta) {
413
+ if (op.type === 'preserve') {
414
+ index += op.count;
415
+ }
416
+ else if (op.type === 'insert') {
417
+ this.type.insert(index, op.values);
418
+ index += op.values.length;
419
+ }
420
+ else if (op.type === 'delete') {
421
+ this.type.delete(index, op.count);
422
+ }
423
+ }
424
+ }
425
+ push(...items) {
426
+ this.type.push(this._mapItems(items));
427
+ }
428
+ pop() {
429
+ let lastIndex = this.type.length - 1;
430
+ if (lastIndex < 0) {
431
+ return undefined;
432
+ }
433
+ else {
434
+ const lastItem = this.type.get(lastIndex);
435
+ this.type.delete(lastIndex, 1);
436
+ return lastItem;
437
+ }
438
+ }
439
+ unshift(...items) {
440
+ this.type.unshift(this._mapItems(items));
441
+ }
442
+ shift() {
443
+ if (this.type.length <= 0) {
444
+ return undefined;
445
+ }
446
+ else {
447
+ const firstItem = this.type.get(0);
448
+ this.type.delete(0, 1);
449
+ return firstItem;
450
+ }
451
+ }
452
+ get(index) {
453
+ return valueOrSharedType(this.type.get(index));
454
+ }
455
+ slice(start, end) {
456
+ return this.type.slice(start, end);
457
+ }
458
+ splice(start, deleteCount, ...items) {
459
+ if (this.type.length <= 0) {
460
+ if (items.length > 0) {
461
+ this.push(...items);
462
+ }
463
+ return [];
464
+ }
465
+ const len = this.type.length;
466
+ if (start < -len) {
467
+ start = 0;
468
+ }
469
+ else if (-len <= start && start < 0) {
470
+ start = len + start;
471
+ }
472
+ else if (start >= len) {
473
+ start = len;
474
+ }
475
+ if (start >= len) {
476
+ deleteCount = 0;
477
+ }
478
+ else if (typeof deleteCount === 'undefined') {
479
+ deleteCount = 0;
480
+ }
481
+ else if (deleteCount >= len - start) {
482
+ deleteCount = len - start;
483
+ }
484
+ else if (deleteCount < 0) {
485
+ deleteCount = 0;
486
+ }
487
+ let deleted = [];
488
+ if (deleteCount > 0) {
489
+ deleted = this.type.slice(start, start + deleteCount);
490
+ this.delete(start, deleteCount);
491
+ }
492
+ if (items.length > 0) {
493
+ this.insert(start, items);
494
+ }
495
+ return deleted;
496
+ }
497
+ toArray() {
498
+ return this.type.toArray();
499
+ }
500
+ toJSON() {
501
+ return this.type.toJSON();
502
+ }
503
+ forEach(callback) {
504
+ this.type.forEach((value, index) => callback(value, index, this));
505
+ }
506
+ map(callback) {
507
+ return this.type.map((value, index) => callback(value, index, this));
508
+ }
509
+ filter(predicate) {
510
+ let arr = [];
511
+ for (let i = 0; i < this.type.length; i++) {
512
+ const val = this.type.get(i);
513
+ if (predicate(val, i, this)) {
514
+ arr.push(val);
515
+ }
516
+ }
517
+ return arr;
518
+ }
519
+ clone() {
520
+ return new YjsSharedArray(this.type.clone());
521
+ }
522
+ [Symbol.iterator]() {
523
+ return this.type[Symbol.iterator]();
524
+ }
525
+ _mapItems(items) {
526
+ let containsSharedType = false;
527
+ for (let i of items) {
528
+ if (i instanceof YjsSharedType) {
529
+ if (i.doc) {
530
+ throw new Error('Cannot push a top-level array inside another array.');
531
+ }
532
+ containsSharedType = true;
533
+ break;
534
+ }
535
+ }
536
+ if (containsSharedType) {
537
+ items = items.map((i) => (i instanceof YjsSharedType ? i.type : i));
538
+ }
539
+ return items;
540
+ }
541
+ }
542
+ export class YjsSharedText {
543
+ get doc() {
544
+ var _a;
545
+ return (_a = this._text.doc) === null || _a === void 0 ? void 0 : _a.__sharedDoc;
546
+ }
547
+ get parent() {
548
+ var _a;
549
+ return (_a = this._text.parent) === null || _a === void 0 ? void 0 : _a.__sharedType;
550
+ }
551
+ get length() {
552
+ return this._text.length;
553
+ }
554
+ get size() {
555
+ return this._text.length;
556
+ }
557
+ get changes() {
558
+ return this._changes;
559
+ }
560
+ get deepChanges() {
561
+ return this._deepChanges;
562
+ }
563
+ constructor(text) {
564
+ if (text instanceof YText) {
565
+ this._text = text;
566
+ }
567
+ else {
568
+ this._text = new YText(text);
569
+ }
570
+ Object.defineProperty(this._text, '__sharedType', {
571
+ value: this,
572
+ enumerable: false,
573
+ writable: false,
574
+ });
575
+ this._changes = changesObservable(this._text);
576
+ this._deepChanges = deepChangesObservable(this._text);
577
+ }
578
+ insert(index, text, attribtues) {
579
+ this._text.insert(index, text, attribtues);
580
+ }
581
+ delete(index, count) {
582
+ this._text.delete(index, count);
583
+ }
584
+ applyDelta(delta) {
585
+ let d = [];
586
+ for (let op of delta) {
587
+ if (op.type === 'preserve') {
588
+ d.push({ retain: op.count });
589
+ }
590
+ else if (op.type === 'insert') {
591
+ d.push({ insert: op.text, attributes: op.attributes });
592
+ }
593
+ else if (op.type === 'delete') {
594
+ d.push({ delete: op.count });
595
+ }
596
+ }
597
+ this._text.applyDelta(d);
598
+ }
599
+ toDelta() {
600
+ return convertTextDelta(this._text.toDelta());
601
+ }
602
+ encodeRelativePosition(index, assoc) {
603
+ return createRelativePositionFromTypeIndex(this._text, index, assoc);
604
+ }
605
+ decodeRelativePosition(position) {
606
+ const pos = createAbsolutePositionFromRelativePosition(position, this._text.doc);
607
+ return pos.index;
608
+ }
609
+ slice(start, end) {
610
+ return this._text.toString().slice(start, end);
611
+ }
612
+ toString() {
613
+ return this._text.toString();
614
+ }
615
+ toJSON() {
616
+ return this._text.toJSON();
617
+ }
618
+ clone() {
619
+ return new YjsSharedText(this._text.clone());
620
+ }
621
+ }
622
+ function valueOrSharedType(val) {
623
+ if (val instanceof YType) {
624
+ return val.__sharedType;
625
+ }
626
+ return val;
627
+ }
628
+ //# sourceMappingURL=YjsSharedDocument.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"YjsSharedDocument.js","sourceRoot":"","sources":["YjsSharedDocument.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export * from './SharedDocument';
2
+ export * from './SharedDocumentConfig';
3
+ export * from './SharedDocumentFactories';
4
+ export * from './YjsSharedDocument';
5
+ export * from './RemoteYjsSharedDocument';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,6 @@
1
+ export * from './SharedDocument';
2
+ export * from './SharedDocumentConfig';
3
+ export * from './SharedDocumentFactories';
4
+ export * from './YjsSharedDocument';
5
+ export * from './RemoteYjsSharedDocument';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { SharedDocument } from '../SharedDocument';
2
+ /**
3
+ * Tests the given document implementation for various features.
4
+ */
5
+ export declare function testDocumentImplementation(createDocument: () => Promise<SharedDocument>): void;
6
+ //# sourceMappingURL=DocumentTests.d.ts.map