@fluidframework/sequence 1.2.0 → 2.0.0-internal.1.0.0.81589
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 +17 -11
- package/dist/intervalCollection.d.ts.map +1 -1
- package/dist/intervalCollection.js +30 -42
- 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 +4 -0
- package/dist/sharedString.d.ts.map +1 -1
- package/dist/sharedString.js +11 -0
- package/dist/sharedString.js.map +1 -1
- package/lib/intervalCollection.d.ts +17 -11
- package/lib/intervalCollection.d.ts.map +1 -1
- package/lib/intervalCollection.js +31 -43
- 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 +4 -0
- package/lib/sharedString.d.ts.map +1 -1
- package/lib/sharedString.js +11 -0
- package/lib/sharedString.js.map +1 -1
- package/package.json +60 -20
- package/src/intervalCollection.ts +73 -65
- package/src/packageVersion.ts +1 -1
- package/src/sequence.ts +4 -36
- package/src/sequenceDeltaEvent.ts +0 -7
- package/src/sharedString.ts +13 -2
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { TypedEventEmitter } from "@fluidframework/common-utils";
|
|
6
6
|
import { IEvent } from "@fluidframework/common-definitions";
|
|
7
|
-
import { Client, ICombiningOp, IInterval, IntervalConflictResolver,
|
|
7
|
+
import { Client, ICombiningOp, IInterval, IntervalConflictResolver, PropertiesManager, PropertySet, LocalReferencePosition } from "@fluidframework/merge-tree";
|
|
8
8
|
import { ISequencedDocumentMessage } from "@fluidframework/protocol-definitions";
|
|
9
9
|
import { IValueFactory, IValueOpEmitter, IValueOperation, IValueType } from "./defaultMapInterfaces";
|
|
10
10
|
export declare enum IntervalType {
|
|
@@ -54,7 +54,18 @@ export interface ISerializableInterval extends IInterval {
|
|
|
54
54
|
}
|
|
55
55
|
export interface IIntervalHelpers<TInterval extends ISerializableInterval> {
|
|
56
56
|
compareEnds(a: TInterval, b: TInterval): number;
|
|
57
|
-
|
|
57
|
+
/**
|
|
58
|
+
*
|
|
59
|
+
* @param label - label of the interval collection this interval is being added to. This parameter is
|
|
60
|
+
* irrelevant for transient intervals.
|
|
61
|
+
* @param start - numerical start position of the interval
|
|
62
|
+
* @param end - numberical end position of the interval
|
|
63
|
+
* @param client - client creating the interval
|
|
64
|
+
* @param intervalType - Type of interval to create. Default is SlideOnRemove
|
|
65
|
+
* @param op - If this create came from a remote client, op that created it. Default is undefined (i.e. local)
|
|
66
|
+
* @param fromSnapshot - If this create came from loading a snapshot. Default is false.
|
|
67
|
+
*/
|
|
68
|
+
create(label: string, start: number, end: number, client: Client, intervalType?: IntervalType, op?: ISequencedDocumentMessage, fromSnapshot?: boolean): TInterval;
|
|
58
69
|
}
|
|
59
70
|
export declare class Interval implements ISerializableInterval {
|
|
60
71
|
start: number;
|
|
@@ -79,12 +90,13 @@ export declare class Interval implements ISerializableInterval {
|
|
|
79
90
|
private initializeProperties;
|
|
80
91
|
}
|
|
81
92
|
export declare class SequenceInterval implements ISerializableInterval {
|
|
82
|
-
|
|
83
|
-
|
|
93
|
+
private readonly client;
|
|
94
|
+
start: LocalReferencePosition;
|
|
95
|
+
end: LocalReferencePosition;
|
|
84
96
|
intervalType: IntervalType;
|
|
85
97
|
properties: PropertySet;
|
|
86
98
|
propertyManager: PropertiesManager;
|
|
87
|
-
constructor(start:
|
|
99
|
+
constructor(client: Client, start: LocalReferencePosition, end: LocalReferencePosition, intervalType: IntervalType, props?: PropertySet);
|
|
88
100
|
private callbacks?;
|
|
89
101
|
/**
|
|
90
102
|
* @internal
|
|
@@ -233,8 +245,6 @@ export declare class IntervalCollection<TInterval extends ISerializableInterval>
|
|
|
233
245
|
private removePendingChangeHelper;
|
|
234
246
|
private hasPendingChangeStart;
|
|
235
247
|
private hasPendingChangeEnd;
|
|
236
|
-
/** @deprecated - use ackChange */
|
|
237
|
-
changeInterval(serializedInterval: ISerializedInterval, local: boolean, op: ISequencedDocumentMessage): void;
|
|
238
248
|
/** @internal */
|
|
239
249
|
ackChange(serializedInterval: ISerializedInterval, local: boolean, op: ISequencedDocumentMessage): void;
|
|
240
250
|
addConflictResolver(conflictResolver: IntervalConflictResolver<TInterval>): void;
|
|
@@ -244,12 +254,8 @@ export declare class IntervalCollection<TInterval extends ISerializableInterval>
|
|
|
244
254
|
private getSlideToSegment;
|
|
245
255
|
private setSlideOnRemove;
|
|
246
256
|
private ackInterval;
|
|
247
|
-
/** @deprecated - use ackAdd */
|
|
248
|
-
addInternal(serializedInterval: ISerializedInterval, local: boolean, op: ISequencedDocumentMessage): TInterval;
|
|
249
257
|
/** @internal */
|
|
250
258
|
ackAdd(serializedInterval: ISerializedInterval, local: boolean, op: ISequencedDocumentMessage): TInterval;
|
|
251
|
-
/** @deprecated - use ackDelete */
|
|
252
|
-
deleteInterval(serializedInterval: ISerializedInterval, local: boolean, op: ISequencedDocumentMessage): void;
|
|
253
259
|
/** @internal */
|
|
254
260
|
ackDelete(serializedInterval: ISerializedInterval, local: boolean, op: ISequencedDocumentMessage): void;
|
|
255
261
|
/**
|
|
@@ -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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"}
|
|
@@ -184,7 +184,8 @@ class Interval {
|
|
|
184
184
|
}
|
|
185
185
|
exports.Interval = Interval;
|
|
186
186
|
class SequenceInterval {
|
|
187
|
-
constructor(start, end, intervalType, props) {
|
|
187
|
+
constructor(client, start, end, intervalType, props) {
|
|
188
|
+
this.client = client;
|
|
188
189
|
this.start = start;
|
|
189
190
|
this.end = end;
|
|
190
191
|
this.intervalType = intervalType;
|
|
@@ -224,8 +225,8 @@ class SequenceInterval {
|
|
|
224
225
|
}
|
|
225
226
|
}
|
|
226
227
|
serialize(client) {
|
|
227
|
-
const startPosition = this.start
|
|
228
|
-
const endPosition = this.end
|
|
228
|
+
const startPosition = client.localReferencePositionToPosition(this.start);
|
|
229
|
+
const endPosition = client.localReferencePositionToPosition(this.end);
|
|
229
230
|
const serializedInterval = {
|
|
230
231
|
end: endPosition,
|
|
231
232
|
intervalType: this.intervalType,
|
|
@@ -238,7 +239,7 @@ class SequenceInterval {
|
|
|
238
239
|
return serializedInterval;
|
|
239
240
|
}
|
|
240
241
|
clone() {
|
|
241
|
-
return new SequenceInterval(this.start, this.end, this.intervalType, this.properties);
|
|
242
|
+
return new SequenceInterval(this.client, this.start, this.end, this.intervalType, this.properties);
|
|
242
243
|
}
|
|
243
244
|
compare(b) {
|
|
244
245
|
const startResult = this.compareStart(b);
|
|
@@ -264,14 +265,14 @@ class SequenceInterval {
|
|
|
264
265
|
}
|
|
265
266
|
}
|
|
266
267
|
compareStart(b) {
|
|
267
|
-
return this.start
|
|
268
|
+
return (0, merge_tree_1.compareReferencePositions)(this.start, b.start);
|
|
268
269
|
}
|
|
269
270
|
compareEnd(b) {
|
|
270
|
-
return this.end
|
|
271
|
+
return (0, merge_tree_1.compareReferencePositions)(this.end, b.end);
|
|
271
272
|
}
|
|
272
273
|
overlaps(b) {
|
|
273
|
-
const result = (this.start
|
|
274
|
-
(this.end
|
|
274
|
+
const result = ((0, merge_tree_1.compareReferencePositions)(this.start, b.end) <= 0) &&
|
|
275
|
+
((0, merge_tree_1.compareReferencePositions)(this.end, b.start) >= 0);
|
|
275
276
|
return result;
|
|
276
277
|
}
|
|
277
278
|
getIntervalId() {
|
|
@@ -283,15 +284,15 @@ class SequenceInterval {
|
|
|
283
284
|
return `${id}`;
|
|
284
285
|
}
|
|
285
286
|
union(b) {
|
|
286
|
-
return new SequenceInterval(this.
|
|
287
|
+
return new SequenceInterval(this.client, (0, merge_tree_1.minReferencePosition)(this.start, b.start), (0, merge_tree_1.maxReferencePosition)(this.end, b.end), this.intervalType);
|
|
287
288
|
}
|
|
288
289
|
addProperties(newProps, collab = false, seq, op) {
|
|
289
290
|
this.initializeProperties();
|
|
290
291
|
return this.propertyManager.addProperties(this.properties, newProps, op, seq, collab);
|
|
291
292
|
}
|
|
292
293
|
overlapsPos(bstart, bend) {
|
|
293
|
-
const startPos = this.
|
|
294
|
-
const endPos = this.
|
|
294
|
+
const startPos = this.client.localReferencePositionToPosition(this.start);
|
|
295
|
+
const endPos = this.client.localReferencePositionToPosition(this.end);
|
|
295
296
|
return (endPos > bstart) && (startPos < bend);
|
|
296
297
|
}
|
|
297
298
|
modify(label, start, end, op) {
|
|
@@ -305,17 +306,15 @@ class SequenceInterval {
|
|
|
305
306
|
};
|
|
306
307
|
let startRef = this.start;
|
|
307
308
|
if (start !== undefined) {
|
|
308
|
-
startRef = createPositionReference(this.
|
|
309
|
+
startRef = createPositionReference(this.client, start, getRefType(this.start.refType), op);
|
|
309
310
|
startRef.addProperties(this.start.properties);
|
|
310
311
|
}
|
|
311
312
|
let endRef = this.end;
|
|
312
313
|
if (end !== undefined) {
|
|
313
|
-
endRef = createPositionReference(this.
|
|
314
|
+
endRef = createPositionReference(this.client, end, getRefType(this.end.refType), op);
|
|
314
315
|
endRef.addProperties(this.end.properties);
|
|
315
316
|
}
|
|
316
|
-
|
|
317
|
-
endRef.pairedRef = startRef;
|
|
318
|
-
const newInterval = new SequenceInterval(startRef, endRef, this.intervalType);
|
|
317
|
+
const newInterval = new SequenceInterval(this.client, startRef, endRef, this.intervalType);
|
|
319
318
|
if (this.properties) {
|
|
320
319
|
newInterval.initializeProperties();
|
|
321
320
|
this.propertyManager.copyTo(this.properties, newInterval.properties, newInterval.propertyManager);
|
|
@@ -341,10 +340,10 @@ function createPositionReferenceFromSegoff(client, segoff, refType, op) {
|
|
|
341
340
|
if (!op && !(0, merge_tree_1.refTypeIncludesFlag)(refType, merge_tree_1.ReferenceType.Transient)) {
|
|
342
341
|
throw new container_utils_1.UsageError("Non-transient references need segment");
|
|
343
342
|
}
|
|
344
|
-
return new merge_tree_1.LocalReference(client, undefined, 0, refType);
|
|
345
343
|
}
|
|
344
|
+
return (0, merge_tree_1.createDetachedLocalReferencePosition)(refType);
|
|
346
345
|
}
|
|
347
|
-
function createPositionReference(client, pos, refType, op) {
|
|
346
|
+
function createPositionReference(client, pos, refType, op, fromSnapshot) {
|
|
348
347
|
let segoff;
|
|
349
348
|
if (op) {
|
|
350
349
|
(0, common_utils_1.assert)((refType & merge_tree_1.ReferenceType.SlideOnRemove) !== 0, 0x2f5 /* op create references must be SlideOnRemove */);
|
|
@@ -352,12 +351,12 @@ function createPositionReference(client, pos, refType, op) {
|
|
|
352
351
|
segoff = client.getSlideToSegment(segoff);
|
|
353
352
|
}
|
|
354
353
|
else {
|
|
355
|
-
(0, common_utils_1.assert)((refType & merge_tree_1.ReferenceType.SlideOnRemove) === 0, 0x2f6 /* SlideOnRemove references must be op created */);
|
|
354
|
+
(0, common_utils_1.assert)((refType & merge_tree_1.ReferenceType.SlideOnRemove) === 0 || fromSnapshot, 0x2f6 /* SlideOnRemove references must be op created */);
|
|
356
355
|
segoff = client.getContainingSegment(pos);
|
|
357
356
|
}
|
|
358
357
|
return createPositionReferenceFromSegoff(client, segoff, refType, op);
|
|
359
358
|
}
|
|
360
|
-
function createSequenceInterval(label, start, end, client, intervalType, op) {
|
|
359
|
+
function createSequenceInterval(label, start, end, client, intervalType, op, fromSnapshot) {
|
|
361
360
|
let beginRefType = merge_tree_1.ReferenceType.RangeBegin;
|
|
362
361
|
let endRefType = merge_tree_1.ReferenceType.RangeEnd;
|
|
363
362
|
if (intervalType === IntervalType.Transient) {
|
|
@@ -372,7 +371,7 @@ function createSequenceInterval(label, start, end, client, intervalType, op) {
|
|
|
372
371
|
// All non-transient interval references must eventually be SlideOnRemove
|
|
373
372
|
// To ensure eventual consistency, they must start as StayOnRemove when
|
|
374
373
|
// pending (created locally and creation op is not acked)
|
|
375
|
-
if (op) {
|
|
374
|
+
if (op || fromSnapshot) {
|
|
376
375
|
beginRefType |= merge_tree_1.ReferenceType.SlideOnRemove;
|
|
377
376
|
endRefType |= merge_tree_1.ReferenceType.SlideOnRemove;
|
|
378
377
|
}
|
|
@@ -381,16 +380,14 @@ function createSequenceInterval(label, start, end, client, intervalType, op) {
|
|
|
381
380
|
endRefType |= merge_tree_1.ReferenceType.StayOnRemove;
|
|
382
381
|
}
|
|
383
382
|
}
|
|
384
|
-
const startLref = createPositionReference(client, start, beginRefType, op);
|
|
385
|
-
const endLref = createPositionReference(client, end, endRefType, op);
|
|
386
|
-
startLref.pairedRef = endLref;
|
|
387
|
-
endLref.pairedRef = startLref;
|
|
383
|
+
const startLref = createPositionReference(client, start, beginRefType, op, fromSnapshot);
|
|
384
|
+
const endLref = createPositionReference(client, end, endRefType, op, fromSnapshot);
|
|
388
385
|
const rangeProp = {
|
|
389
386
|
[merge_tree_1.reservedRangeLabelsKey]: [label],
|
|
390
387
|
};
|
|
391
388
|
startLref.addProperties(rangeProp);
|
|
392
389
|
endLref.addProperties(rangeProp);
|
|
393
|
-
const ival = new SequenceInterval(startLref, endLref, intervalType, rangeProp);
|
|
390
|
+
const ival = new SequenceInterval(client, startLref, endLref, intervalType, rangeProp);
|
|
394
391
|
return ival;
|
|
395
392
|
}
|
|
396
393
|
function defaultIntervalConflictResolver(a, b) {
|
|
@@ -649,7 +646,7 @@ class LocalIntervalCollection {
|
|
|
649
646
|
}
|
|
650
647
|
exports.LocalIntervalCollection = LocalIntervalCollection;
|
|
651
648
|
LocalIntervalCollection.legacyIdPrefix = "legacy";
|
|
652
|
-
const compareSequenceIntervalEnds = (a, b) => a.end
|
|
649
|
+
const compareSequenceIntervalEnds = (a, b) => (0, merge_tree_1.compareReferencePositions)(a.end, b.end);
|
|
653
650
|
class SequenceIntervalCollectionFactory {
|
|
654
651
|
load(emitter, raw = []) {
|
|
655
652
|
const helpers = {
|
|
@@ -805,7 +802,10 @@ class IntervalCollection extends common_utils_1.TypedEventEmitter {
|
|
|
805
802
|
if (this.savedSerializedIntervals) {
|
|
806
803
|
for (const serializedInterval of this.savedSerializedIntervals) {
|
|
807
804
|
this.localCollection.ensureSerializedId(serializedInterval);
|
|
808
|
-
|
|
805
|
+
const { start, end, intervalType, properties } = serializedInterval;
|
|
806
|
+
const interval = this.helpers.create(label, start, end, client, intervalType, undefined, true);
|
|
807
|
+
interval.addProperties(properties);
|
|
808
|
+
this.localCollection.add(interval);
|
|
809
809
|
}
|
|
810
810
|
}
|
|
811
811
|
this.savedSerializedIntervals = undefined;
|
|
@@ -977,10 +977,6 @@ class IntervalCollection extends common_utils_1.TypedEventEmitter {
|
|
|
977
977
|
const entries = this.pendingChangesEnd.get(id);
|
|
978
978
|
return entries && entries.length !== 0;
|
|
979
979
|
}
|
|
980
|
-
/** @deprecated - use ackChange */
|
|
981
|
-
changeInterval(serializedInterval, local, op) {
|
|
982
|
-
return this.ackChange(serializedInterval, local, op);
|
|
983
|
-
}
|
|
984
980
|
/** @internal */
|
|
985
981
|
ackChange(serializedInterval, local, op) {
|
|
986
982
|
var _a, _b, _c, _d;
|
|
@@ -1080,7 +1076,7 @@ class IntervalCollection extends common_utils_1.TypedEventEmitter {
|
|
|
1080
1076
|
return rebased;
|
|
1081
1077
|
}
|
|
1082
1078
|
getSlideToSegment(lref) {
|
|
1083
|
-
const segoff = { segment: lref.
|
|
1079
|
+
const segoff = { segment: lref.getSegment(), offset: lref.getOffset() };
|
|
1084
1080
|
const newSegoff = this.client.getSlideToSegment(segoff);
|
|
1085
1081
|
const value = (segoff.segment === newSegoff.segment && segoff.offset === newSegoff.offset) ? undefined : newSegoff;
|
|
1086
1082
|
return value;
|
|
@@ -1116,7 +1112,7 @@ class IntervalCollection extends common_utils_1.TypedEventEmitter {
|
|
|
1116
1112
|
if (needsStartUpdate || needsEndUpdate) {
|
|
1117
1113
|
// In this case, where we change the start or end of an interval,
|
|
1118
1114
|
// it is necessary to remove and re-add the interval listeners.
|
|
1119
|
-
// This ensures that the correct listeners are added to the
|
|
1115
|
+
// This ensures that the correct listeners are added to the LocalReferencePosition.
|
|
1120
1116
|
this.localCollection.removeExistingInterval(interval);
|
|
1121
1117
|
if (needsStartUpdate) {
|
|
1122
1118
|
const props = interval.start.properties;
|
|
@@ -1137,10 +1133,6 @@ class IntervalCollection extends common_utils_1.TypedEventEmitter {
|
|
|
1137
1133
|
this.localCollection.add(interval);
|
|
1138
1134
|
}
|
|
1139
1135
|
}
|
|
1140
|
-
/** @deprecated - use ackAdd */
|
|
1141
|
-
addInternal(serializedInterval, local, op) {
|
|
1142
|
-
return this.ackAdd(serializedInterval, local, op);
|
|
1143
|
-
}
|
|
1144
1136
|
/** @internal */
|
|
1145
1137
|
ackAdd(serializedInterval, local, op) {
|
|
1146
1138
|
var _a;
|
|
@@ -1165,10 +1157,6 @@ class IntervalCollection extends common_utils_1.TypedEventEmitter {
|
|
|
1165
1157
|
this.emit("addInterval", interval, local, op);
|
|
1166
1158
|
return interval;
|
|
1167
1159
|
}
|
|
1168
|
-
/** @deprecated - use ackDelete */
|
|
1169
|
-
deleteInterval(serializedInterval, local, op) {
|
|
1170
|
-
return this.ackDelete(serializedInterval, local, op);
|
|
1171
|
-
}
|
|
1172
1160
|
/** @internal */
|
|
1173
1161
|
ackDelete(serializedInterval, local, op) {
|
|
1174
1162
|
if (local) {
|