@fluidframework/sequence 1.2.1 → 2.0.0-internal.1.0.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.
- package/dist/intervalCollection.d.ts +5 -10
- package/dist/intervalCollection.d.ts.map +1 -1
- package/dist/intervalCollection.js +31 -41
- package/dist/intervalCollection.js.map +1 -1
- package/dist/packageVersion.d.ts +1 -1
- package/dist/packageVersion.d.ts.map +1 -1
- package/dist/packageVersion.js +1 -1
- package/dist/packageVersion.js.map +1 -1
- package/dist/sequence.d.ts +5 -17
- package/dist/sequence.d.ts.map +1 -1
- package/dist/sequence.js +4 -28
- package/dist/sequence.js.map +1 -1
- package/dist/sequenceDeltaEvent.d.ts +0 -6
- package/dist/sequenceDeltaEvent.d.ts.map +1 -1
- package/dist/sequenceDeltaEvent.js +0 -1
- package/dist/sequenceDeltaEvent.js.map +1 -1
- package/dist/sharedString.d.ts +30 -1
- package/dist/sharedString.d.ts.map +1 -1
- package/dist/sharedString.js +40 -5
- package/dist/sharedString.js.map +1 -1
- package/lib/intervalCollection.d.ts +5 -10
- package/lib/intervalCollection.d.ts.map +1 -1
- package/lib/intervalCollection.js +32 -42
- package/lib/intervalCollection.js.map +1 -1
- package/lib/packageVersion.d.ts +1 -1
- package/lib/packageVersion.d.ts.map +1 -1
- package/lib/packageVersion.js +1 -1
- package/lib/packageVersion.js.map +1 -1
- package/lib/sequence.d.ts +5 -17
- package/lib/sequence.d.ts.map +1 -1
- package/lib/sequence.js +5 -29
- package/lib/sequence.js.map +1 -1
- package/lib/sequenceDeltaEvent.d.ts +0 -6
- package/lib/sequenceDeltaEvent.d.ts.map +1 -1
- package/lib/sequenceDeltaEvent.js +0 -1
- package/lib/sequenceDeltaEvent.js.map +1 -1
- package/lib/sharedString.d.ts +30 -1
- package/lib/sharedString.d.ts.map +1 -1
- package/lib/sharedString.js +38 -4
- package/lib/sharedString.js.map +1 -1
- package/package.json +61 -21
- package/src/intervalCollection.ts +45 -61
- package/src/packageVersion.ts +1 -1
- package/src/sequence.ts +4 -36
- package/src/sequenceDeltaEvent.ts +0 -7
- package/src/sharedString.ts +44 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"intervalCollection.d.ts","sourceRoot":"","sources":["../src/intervalCollection.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAU,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAE5D,OAAO,EAEH,MAAM,
|
|
1
|
+
{"version":3,"file":"intervalCollection.d.ts","sourceRoot":"","sources":["../src/intervalCollection.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,7 +16,7 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
16
16
|
/* eslint-disable no-bitwise */
|
|
17
17
|
import { assert, TypedEventEmitter } from "@fluidframework/common-utils";
|
|
18
18
|
import { UsageError } from "@fluidframework/container-utils";
|
|
19
|
-
import { addProperties, createMap, IntervalTree,
|
|
19
|
+
import { addProperties, compareReferencePositions, createMap, IntervalTree, MergeTreeDeltaType, minReferencePosition, PropertiesManager, RedBlackTree, ReferenceType, refTypeIncludesFlag, reservedRangeLabelsKey, UnassignedSequenceNumber, maxReferencePosition, createDetachedLocalReferencePosition, } from "@fluidframework/merge-tree";
|
|
20
20
|
import { LoggingError } from "@fluidframework/telemetry-utils";
|
|
21
21
|
import { v4 as uuid } from "uuid";
|
|
22
22
|
const reservedIntervalIdKey = "intervalId";
|
|
@@ -92,10 +92,8 @@ export class Interval {
|
|
|
92
92
|
this.auxProps.push(props);
|
|
93
93
|
}
|
|
94
94
|
serialize(client) {
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
seq = client.getCurrentSeq();
|
|
98
|
-
}
|
|
95
|
+
var _a;
|
|
96
|
+
const seq = (_a = client === null || client === void 0 ? void 0 : client.getCurrentSeq()) !== null && _a !== void 0 ? _a : 0;
|
|
99
97
|
const serializedInterval = {
|
|
100
98
|
end: this.end,
|
|
101
99
|
intervalType: 0,
|
|
@@ -180,7 +178,8 @@ export class Interval {
|
|
|
180
178
|
}
|
|
181
179
|
}
|
|
182
180
|
export class SequenceInterval {
|
|
183
|
-
constructor(start, end, intervalType, props) {
|
|
181
|
+
constructor(client, start, end, intervalType, props) {
|
|
182
|
+
this.client = client;
|
|
184
183
|
this.start = start;
|
|
185
184
|
this.end = end;
|
|
186
185
|
this.intervalType = intervalType;
|
|
@@ -220,8 +219,8 @@ export class SequenceInterval {
|
|
|
220
219
|
}
|
|
221
220
|
}
|
|
222
221
|
serialize(client) {
|
|
223
|
-
const startPosition = this.start
|
|
224
|
-
const endPosition = this.end
|
|
222
|
+
const startPosition = client.localReferencePositionToPosition(this.start);
|
|
223
|
+
const endPosition = client.localReferencePositionToPosition(this.end);
|
|
225
224
|
const serializedInterval = {
|
|
226
225
|
end: endPosition,
|
|
227
226
|
intervalType: this.intervalType,
|
|
@@ -234,7 +233,7 @@ export class SequenceInterval {
|
|
|
234
233
|
return serializedInterval;
|
|
235
234
|
}
|
|
236
235
|
clone() {
|
|
237
|
-
return new SequenceInterval(this.start, this.end, this.intervalType, this.properties);
|
|
236
|
+
return new SequenceInterval(this.client, this.start, this.end, this.intervalType, this.properties);
|
|
238
237
|
}
|
|
239
238
|
compare(b) {
|
|
240
239
|
const startResult = this.compareStart(b);
|
|
@@ -260,14 +259,14 @@ export class SequenceInterval {
|
|
|
260
259
|
}
|
|
261
260
|
}
|
|
262
261
|
compareStart(b) {
|
|
263
|
-
return this.start
|
|
262
|
+
return compareReferencePositions(this.start, b.start);
|
|
264
263
|
}
|
|
265
264
|
compareEnd(b) {
|
|
266
|
-
return this.end
|
|
265
|
+
return compareReferencePositions(this.end, b.end);
|
|
267
266
|
}
|
|
268
267
|
overlaps(b) {
|
|
269
|
-
const result = (this.start
|
|
270
|
-
(this.end
|
|
268
|
+
const result = (compareReferencePositions(this.start, b.end) <= 0) &&
|
|
269
|
+
(compareReferencePositions(this.end, b.start) >= 0);
|
|
271
270
|
return result;
|
|
272
271
|
}
|
|
273
272
|
getIntervalId() {
|
|
@@ -279,15 +278,15 @@ export class SequenceInterval {
|
|
|
279
278
|
return `${id}`;
|
|
280
279
|
}
|
|
281
280
|
union(b) {
|
|
282
|
-
return new SequenceInterval(this.start
|
|
281
|
+
return new SequenceInterval(this.client, minReferencePosition(this.start, b.start), maxReferencePosition(this.end, b.end), this.intervalType);
|
|
283
282
|
}
|
|
284
283
|
addProperties(newProps, collab = false, seq, op) {
|
|
285
284
|
this.initializeProperties();
|
|
286
285
|
return this.propertyManager.addProperties(this.properties, newProps, op, seq, collab);
|
|
287
286
|
}
|
|
288
287
|
overlapsPos(bstart, bend) {
|
|
289
|
-
const startPos = this.
|
|
290
|
-
const endPos = this.
|
|
288
|
+
const startPos = this.client.localReferencePositionToPosition(this.start);
|
|
289
|
+
const endPos = this.client.localReferencePositionToPosition(this.end);
|
|
291
290
|
return (endPos > bstart) && (startPos < bend);
|
|
292
291
|
}
|
|
293
292
|
modify(label, start, end, op) {
|
|
@@ -301,17 +300,15 @@ export class SequenceInterval {
|
|
|
301
300
|
};
|
|
302
301
|
let startRef = this.start;
|
|
303
302
|
if (start !== undefined) {
|
|
304
|
-
startRef = createPositionReference(this.
|
|
303
|
+
startRef = createPositionReference(this.client, start, getRefType(this.start.refType), op);
|
|
305
304
|
startRef.addProperties(this.start.properties);
|
|
306
305
|
}
|
|
307
306
|
let endRef = this.end;
|
|
308
307
|
if (end !== undefined) {
|
|
309
|
-
endRef = createPositionReference(this.
|
|
308
|
+
endRef = createPositionReference(this.client, end, getRefType(this.end.refType), op);
|
|
310
309
|
endRef.addProperties(this.end.properties);
|
|
311
310
|
}
|
|
312
|
-
|
|
313
|
-
endRef.pairedRef = startRef;
|
|
314
|
-
const newInterval = new SequenceInterval(startRef, endRef, this.intervalType);
|
|
311
|
+
const newInterval = new SequenceInterval(this.client, startRef, endRef, this.intervalType);
|
|
315
312
|
if (this.properties) {
|
|
316
313
|
newInterval.initializeProperties();
|
|
317
314
|
this.propertyManager.copyTo(this.properties, newInterval.properties, newInterval.propertyManager);
|
|
@@ -336,8 +333,8 @@ function createPositionReferenceFromSegoff(client, segoff, refType, op) {
|
|
|
336
333
|
if (!op && !refTypeIncludesFlag(refType, ReferenceType.Transient)) {
|
|
337
334
|
throw new UsageError("Non-transient references need segment");
|
|
338
335
|
}
|
|
339
|
-
return new LocalReference(client, undefined, 0, refType);
|
|
340
336
|
}
|
|
337
|
+
return createDetachedLocalReferencePosition(refType);
|
|
341
338
|
}
|
|
342
339
|
function createPositionReference(client, pos, refType, op, fromSnapshot) {
|
|
343
340
|
let segoff;
|
|
@@ -378,14 +375,12 @@ function createSequenceInterval(label, start, end, client, intervalType, op, fro
|
|
|
378
375
|
}
|
|
379
376
|
const startLref = createPositionReference(client, start, beginRefType, op, fromSnapshot);
|
|
380
377
|
const endLref = createPositionReference(client, end, endRefType, op, fromSnapshot);
|
|
381
|
-
startLref.pairedRef = endLref;
|
|
382
|
-
endLref.pairedRef = startLref;
|
|
383
378
|
const rangeProp = {
|
|
384
379
|
[reservedRangeLabelsKey]: [label],
|
|
385
380
|
};
|
|
386
381
|
startLref.addProperties(rangeProp);
|
|
387
382
|
endLref.addProperties(rangeProp);
|
|
388
|
-
const ival = new SequenceInterval(startLref, endLref, intervalType, rangeProp);
|
|
383
|
+
const ival = new SequenceInterval(client, startLref, endLref, intervalType, rangeProp);
|
|
389
384
|
return ival;
|
|
390
385
|
}
|
|
391
386
|
export function defaultIntervalConflictResolver(a, b) {
|
|
@@ -641,7 +636,7 @@ export class LocalIntervalCollection {
|
|
|
641
636
|
}
|
|
642
637
|
}
|
|
643
638
|
LocalIntervalCollection.legacyIdPrefix = "legacy";
|
|
644
|
-
const compareSequenceIntervalEnds = (a, b) => a.end
|
|
639
|
+
const compareSequenceIntervalEnds = (a, b) => compareReferencePositions(a.end, b.end);
|
|
645
640
|
class SequenceIntervalCollectionFactory {
|
|
646
641
|
load(emitter, raw = []) {
|
|
647
642
|
const helpers = {
|
|
@@ -806,7 +801,10 @@ export class IntervalCollection extends TypedEventEmitter {
|
|
|
806
801
|
* Gets the next local sequence number, modifying this client's collab window in doing so.
|
|
807
802
|
*/
|
|
808
803
|
getNextLocalSeq() {
|
|
809
|
-
|
|
804
|
+
if (this.client) {
|
|
805
|
+
return ++this.client.getCollabWindow().localSeq;
|
|
806
|
+
}
|
|
807
|
+
return 0;
|
|
810
808
|
}
|
|
811
809
|
getIntervalById(id) {
|
|
812
810
|
if (!this.attached) {
|
|
@@ -969,10 +967,6 @@ export class IntervalCollection extends TypedEventEmitter {
|
|
|
969
967
|
const entries = this.pendingChangesEnd.get(id);
|
|
970
968
|
return entries && entries.length !== 0;
|
|
971
969
|
}
|
|
972
|
-
/** @deprecated - use ackChange */
|
|
973
|
-
changeInterval(serializedInterval, local, op) {
|
|
974
|
-
return this.ackChange(serializedInterval, local, op);
|
|
975
|
-
}
|
|
976
970
|
/** @internal */
|
|
977
971
|
ackChange(serializedInterval, local, op) {
|
|
978
972
|
var _a, _b, _c, _d;
|
|
@@ -1049,6 +1043,10 @@ export class IntervalCollection extends TypedEventEmitter {
|
|
|
1049
1043
|
/** @internal */
|
|
1050
1044
|
rebaseLocalInterval(opName, serializedInterval, localSeq) {
|
|
1051
1045
|
var _a, _b;
|
|
1046
|
+
if (!this.client) {
|
|
1047
|
+
// If there's no associated mergeTree client, the originally submitted op is still correct.
|
|
1048
|
+
return serializedInterval;
|
|
1049
|
+
}
|
|
1052
1050
|
if (!this.attached) {
|
|
1053
1051
|
throw new LoggingError("attachSequence must be called");
|
|
1054
1052
|
}
|
|
@@ -1072,7 +1070,7 @@ export class IntervalCollection extends TypedEventEmitter {
|
|
|
1072
1070
|
return rebased;
|
|
1073
1071
|
}
|
|
1074
1072
|
getSlideToSegment(lref) {
|
|
1075
|
-
const segoff = { segment: lref.
|
|
1073
|
+
const segoff = { segment: lref.getSegment(), offset: lref.getOffset() };
|
|
1076
1074
|
const newSegoff = this.client.getSlideToSegment(segoff);
|
|
1077
1075
|
const value = (segoff.segment === newSegoff.segment && segoff.offset === newSegoff.offset) ? undefined : newSegoff;
|
|
1078
1076
|
return value;
|
|
@@ -1084,7 +1082,7 @@ export class IntervalCollection extends TypedEventEmitter {
|
|
|
1084
1082
|
lref.refType = refType;
|
|
1085
1083
|
}
|
|
1086
1084
|
ackInterval(interval, op) {
|
|
1087
|
-
//
|
|
1085
|
+
// Only SequenceIntervals need potential sliding
|
|
1088
1086
|
if (!(interval instanceof SequenceInterval)) {
|
|
1089
1087
|
return;
|
|
1090
1088
|
}
|
|
@@ -1108,7 +1106,7 @@ export class IntervalCollection extends TypedEventEmitter {
|
|
|
1108
1106
|
if (needsStartUpdate || needsEndUpdate) {
|
|
1109
1107
|
// In this case, where we change the start or end of an interval,
|
|
1110
1108
|
// it is necessary to remove and re-add the interval listeners.
|
|
1111
|
-
// This ensures that the correct listeners are added to the
|
|
1109
|
+
// This ensures that the correct listeners are added to the LocalReferencePosition.
|
|
1112
1110
|
this.localCollection.removeExistingInterval(interval);
|
|
1113
1111
|
if (needsStartUpdate) {
|
|
1114
1112
|
const props = interval.start.properties;
|
|
@@ -1129,10 +1127,6 @@ export class IntervalCollection extends TypedEventEmitter {
|
|
|
1129
1127
|
this.localCollection.add(interval);
|
|
1130
1128
|
}
|
|
1131
1129
|
}
|
|
1132
|
-
/** @deprecated - use ackAdd */
|
|
1133
|
-
addInternal(serializedInterval, local, op) {
|
|
1134
|
-
return this.ackAdd(serializedInterval, local, op);
|
|
1135
|
-
}
|
|
1136
1130
|
/** @internal */
|
|
1137
1131
|
ackAdd(serializedInterval, local, op) {
|
|
1138
1132
|
var _a;
|
|
@@ -1157,10 +1151,6 @@ export class IntervalCollection extends TypedEventEmitter {
|
|
|
1157
1151
|
this.emit("addInterval", interval, local, op);
|
|
1158
1152
|
return interval;
|
|
1159
1153
|
}
|
|
1160
|
-
/** @deprecated - use ackDelete */
|
|
1161
|
-
deleteInterval(serializedInterval, local, op) {
|
|
1162
|
-
return this.ackDelete(serializedInterval, local, op);
|
|
1163
|
-
}
|
|
1164
1154
|
/** @internal */
|
|
1165
1155
|
ackDelete(serializedInterval, local, op) {
|
|
1166
1156
|
if (local) {
|