@fluidframework/sequence 0.59.4001 → 1.1.0-75972
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/.eslintrc.js +1 -1
- package/README.md +18 -6
- package/dist/defaultMap.d.ts +2 -6
- package/dist/defaultMap.d.ts.map +1 -1
- package/dist/defaultMap.js +27 -37
- package/dist/defaultMap.js.map +1 -1
- package/dist/defaultMapInterfaces.d.ts +24 -3
- package/dist/defaultMapInterfaces.d.ts.map +1 -1
- package/dist/defaultMapInterfaces.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/intervalCollection.d.ts +93 -8
- package/dist/intervalCollection.d.ts.map +1 -1
- package/dist/intervalCollection.js +434 -178
- 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 +6 -7
- package/dist/sequence.d.ts.map +1 -1
- package/dist/sequence.js +17 -21
- package/dist/sequence.js.map +1 -1
- package/dist/sharedIntervalCollection.d.ts.map +1 -1
- package/dist/sharedIntervalCollection.js +2 -2
- package/dist/sharedIntervalCollection.js.map +1 -1
- package/dist/sharedSequence.js.map +1 -1
- package/dist/sparsematrix.js +2 -2
- package/dist/sparsematrix.js.map +1 -1
- package/lib/defaultMap.d.ts +2 -6
- package/lib/defaultMap.d.ts.map +1 -1
- package/lib/defaultMap.js +27 -37
- package/lib/defaultMap.js.map +1 -1
- package/lib/defaultMapInterfaces.d.ts +24 -3
- package/lib/defaultMapInterfaces.d.ts.map +1 -1
- package/lib/defaultMapInterfaces.js.map +1 -1
- package/lib/index.d.ts +2 -2
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js.map +1 -1
- package/lib/intervalCollection.d.ts +93 -8
- package/lib/intervalCollection.d.ts.map +1 -1
- package/lib/intervalCollection.js +435 -179
- 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 +6 -7
- package/lib/sequence.d.ts.map +1 -1
- package/lib/sequence.js +18 -22
- package/lib/sequence.js.map +1 -1
- package/lib/sharedIntervalCollection.d.ts.map +1 -1
- package/lib/sharedIntervalCollection.js +2 -2
- package/lib/sharedIntervalCollection.js.map +1 -1
- package/lib/sharedSequence.js.map +1 -1
- package/lib/sparsematrix.js +2 -2
- package/lib/sparsematrix.js.map +1 -1
- package/package.json +23 -45
- package/src/defaultMap.ts +39 -41
- package/src/defaultMapInterfaces.ts +28 -3
- package/src/index.ts +3 -0
- package/src/intervalCollection.ts +575 -211
- package/src/packageVersion.ts +1 -1
- package/src/sequence.ts +36 -38
- package/src/sharedIntervalCollection.ts +4 -3
- package/src/sharedSequence.ts +1 -1
- package/src/sparsematrix.ts +2 -2
|
@@ -10,7 +10,17 @@ import { IValueFactory, IValueOpEmitter, IValueOperation, IValueType } from "./d
|
|
|
10
10
|
export declare enum IntervalType {
|
|
11
11
|
Simple = 0,
|
|
12
12
|
Nest = 1,
|
|
13
|
+
/**
|
|
14
|
+
* SlideOnRemove indicates that the ends of the interval will slide if the segment
|
|
15
|
+
* they reference is removed and acked.
|
|
16
|
+
* See `packages\dds\merge-tree\REFERENCEPOSITIONS.md` for details
|
|
17
|
+
* SlideOnRemove is the default interval behavior and does not need to be specified.
|
|
18
|
+
*/
|
|
13
19
|
SlideOnRemove = 2,
|
|
20
|
+
/**
|
|
21
|
+
* @internal
|
|
22
|
+
* A temporary interval, used internally
|
|
23
|
+
*/
|
|
14
24
|
Transient = 4
|
|
15
25
|
}
|
|
16
26
|
export interface ISerializedInterval {
|
|
@@ -20,6 +30,21 @@ export interface ISerializedInterval {
|
|
|
20
30
|
intervalType: IntervalType;
|
|
21
31
|
properties?: PropertySet;
|
|
22
32
|
}
|
|
33
|
+
/**
|
|
34
|
+
* A size optimization to avoid redundantly storing keys when serializing intervals
|
|
35
|
+
* as JSON. Intervals are of the format:
|
|
36
|
+
*
|
|
37
|
+
* [start, end, sequenceNumber, intervalType, properties]
|
|
38
|
+
*/
|
|
39
|
+
export declare type CompressedSerializedInterval = [number, number, number, IntervalType, PropertySet];
|
|
40
|
+
/**
|
|
41
|
+
* @internal
|
|
42
|
+
*/
|
|
43
|
+
export interface ISerializedIntervalCollectionV2 {
|
|
44
|
+
label: string;
|
|
45
|
+
version: 2;
|
|
46
|
+
intervals: CompressedSerializedInterval[];
|
|
47
|
+
}
|
|
23
48
|
export interface ISerializableInterval extends IInterval {
|
|
24
49
|
properties: PropertySet;
|
|
25
50
|
propertyManager: PropertiesManager;
|
|
@@ -51,6 +76,7 @@ export declare class Interval implements ISerializableInterval {
|
|
|
51
76
|
getProperties(): PropertySet;
|
|
52
77
|
addProperties(newProps: PropertySet, collaborating?: boolean, seq?: number, op?: ICombiningOp): PropertySet | undefined;
|
|
53
78
|
modify(label: string, start: number, end: number, op?: ISequencedDocumentMessage): Interval;
|
|
79
|
+
private initializeProperties;
|
|
54
80
|
}
|
|
55
81
|
export declare class SequenceInterval implements ISerializableInterval {
|
|
56
82
|
start: LocalReference;
|
|
@@ -59,6 +85,17 @@ export declare class SequenceInterval implements ISerializableInterval {
|
|
|
59
85
|
properties: PropertySet;
|
|
60
86
|
propertyManager: PropertiesManager;
|
|
61
87
|
constructor(start: LocalReference, end: LocalReference, intervalType: IntervalType, props?: PropertySet);
|
|
88
|
+
private callbacks?;
|
|
89
|
+
/**
|
|
90
|
+
* @internal
|
|
91
|
+
* Subscribes to position change events on this interval if there are no current listeners.
|
|
92
|
+
*/
|
|
93
|
+
addPositionChangeListeners(beforePositionChange: () => void, afterPositionChange: () => void): void;
|
|
94
|
+
/**
|
|
95
|
+
* @internal
|
|
96
|
+
* Removes the currently subscribed position change listeners.
|
|
97
|
+
*/
|
|
98
|
+
removePositionChangeListeners(): void;
|
|
62
99
|
serialize(client: Client): ISerializedInterval;
|
|
63
100
|
clone(): SequenceInterval;
|
|
64
101
|
compare(b: SequenceInterval): number;
|
|
@@ -70,6 +107,7 @@ export declare class SequenceInterval implements ISerializableInterval {
|
|
|
70
107
|
addProperties(newProps: PropertySet, collab?: boolean, seq?: number, op?: ICombiningOp): PropertySet | undefined;
|
|
71
108
|
overlapsPos(bstart: number, bend: number): boolean;
|
|
72
109
|
modify(label: string, start: number, end: number, op?: ISequencedDocumentMessage): SequenceInterval;
|
|
110
|
+
private initializeProperties;
|
|
73
111
|
}
|
|
74
112
|
export declare function defaultIntervalConflictResolver(a: Interval, b: Interval): Interval;
|
|
75
113
|
export declare function createIntervalIndex(conflict?: IntervalConflictResolver<Interval>): LocalIntervalCollection<Interval>;
|
|
@@ -77,29 +115,45 @@ export declare class LocalIntervalCollection<TInterval extends ISerializableInte
|
|
|
77
115
|
private readonly client;
|
|
78
116
|
private readonly label;
|
|
79
117
|
private readonly helpers;
|
|
118
|
+
/** Callback invoked each time one of the endpoints of an interval slides. */
|
|
119
|
+
private readonly onPositionChange?;
|
|
80
120
|
private readonly intervalTree;
|
|
81
121
|
private readonly endIntervalTree;
|
|
122
|
+
private readonly intervalIdMap;
|
|
82
123
|
private conflictResolver;
|
|
83
124
|
private endConflictResolver;
|
|
84
125
|
private static readonly legacyIdPrefix;
|
|
85
|
-
constructor(client: Client, label: string, helpers: IIntervalHelpers<TInterval
|
|
126
|
+
constructor(client: Client, label: string, helpers: IIntervalHelpers<TInterval>,
|
|
127
|
+
/** Callback invoked each time one of the endpoints of an interval slides. */
|
|
128
|
+
onPositionChange?: (interval: TInterval) => void);
|
|
86
129
|
addConflictResolver(conflictResolver: IntervalConflictResolver<TInterval>): void;
|
|
87
130
|
map(fn: (interval: TInterval) => void): void;
|
|
88
131
|
createLegacyId(start: number, end: number): string;
|
|
89
|
-
|
|
132
|
+
/**
|
|
133
|
+
* Validates that a serialized interval has the ID property. Creates an ID
|
|
134
|
+
* if one does not already exist
|
|
135
|
+
*
|
|
136
|
+
* @param serializedInterval - The interval to be checked
|
|
137
|
+
* @returns The interval's existing or newly created id
|
|
138
|
+
*/
|
|
139
|
+
ensureSerializedId(serializedInterval: ISerializedInterval): string;
|
|
90
140
|
mapUntil(fn: (interval: TInterval) => boolean): void;
|
|
91
141
|
gatherIterationResults(results: TInterval[], iteratesForward: boolean, start?: number, end?: number): void;
|
|
92
142
|
findOverlappingIntervals(startPosition: number, endPosition: number): TInterval[];
|
|
93
143
|
previousInterval(pos: number): TInterval;
|
|
94
144
|
nextInterval(pos: number): TInterval;
|
|
95
145
|
removeInterval(startPosition: number, endPosition: number): TInterval;
|
|
146
|
+
private removeIntervalFromIndex;
|
|
96
147
|
removeExistingInterval(interval: TInterval): void;
|
|
97
148
|
createInterval(start: number, end: number, intervalType: IntervalType, op?: ISequencedDocumentMessage): TInterval;
|
|
98
149
|
addInterval(start: number, end: number, intervalType: IntervalType, props?: PropertySet, op?: ISequencedDocumentMessage): TInterval;
|
|
150
|
+
private addIntervalToIndex;
|
|
99
151
|
add(interval: TInterval): void;
|
|
100
152
|
getIntervalById(id: string): TInterval;
|
|
101
153
|
changeInterval(interval: TInterval, start: number, end: number, op?: ISequencedDocumentMessage): TInterval;
|
|
102
|
-
serialize():
|
|
154
|
+
serialize(): ISerializedIntervalCollectionV2;
|
|
155
|
+
private addIntervalListeners;
|
|
156
|
+
private removeIntervalListeners;
|
|
103
157
|
}
|
|
104
158
|
export declare class SequenceIntervalCollectionValueType implements IValueType<IntervalCollection<SequenceInterval>> {
|
|
105
159
|
static Name: string;
|
|
@@ -128,7 +182,17 @@ export declare class IntervalCollectionIterator<TInterval extends ISerializableI
|
|
|
128
182
|
};
|
|
129
183
|
}
|
|
130
184
|
export interface IIntervalCollectionEvent<TInterval extends ISerializableInterval> extends IEvent {
|
|
131
|
-
|
|
185
|
+
/**
|
|
186
|
+
* This event is invoked whenever the properties or endpoints of an interval may have changed.
|
|
187
|
+
* This can happen on:
|
|
188
|
+
* - endpoint modification (local or remote)
|
|
189
|
+
* - ack of an endpoint modification
|
|
190
|
+
* - property change (local or remote)
|
|
191
|
+
* - position change due to segment sliding (will always appear as a local change)
|
|
192
|
+
* The `interval` argument reflects the new values.
|
|
193
|
+
*/
|
|
194
|
+
(event: "changeInterval", listener: (interval: TInterval, local: boolean, op: ISequencedDocumentMessage | undefined) => void): any;
|
|
195
|
+
(event: "addInterval" | "deleteInterval", listener: (interval: TInterval, local: boolean, op: ISequencedDocumentMessage) => void): any;
|
|
132
196
|
(event: "propertyChanged", listener: (interval: TInterval, propertyArgs: PropertySet) => void): any;
|
|
133
197
|
}
|
|
134
198
|
export declare class IntervalCollection<TInterval extends ISerializableInterval> extends TypedEventEmitter<IIntervalCollectionEvent<TInterval>> {
|
|
@@ -139,12 +203,25 @@ export declare class IntervalCollection<TInterval extends ISerializableInterval>
|
|
|
139
203
|
private localCollection;
|
|
140
204
|
private onDeserialize;
|
|
141
205
|
private client;
|
|
142
|
-
private pendingChangesStart;
|
|
143
|
-
private pendingChangesEnd;
|
|
206
|
+
private readonly pendingChangesStart;
|
|
207
|
+
private readonly pendingChangesEnd;
|
|
144
208
|
get attached(): boolean;
|
|
145
|
-
|
|
209
|
+
/** @internal */
|
|
210
|
+
constructor(helpers: IIntervalHelpers<TInterval>, requiresClient: boolean, emitter: IValueOpEmitter, serializedIntervals: ISerializedInterval[] | ISerializedIntervalCollectionV2);
|
|
146
211
|
attachGraph(client: Client, label: string): void;
|
|
212
|
+
/**
|
|
213
|
+
* Gets the next local sequence number, modifying this client's collab window in doing so.
|
|
214
|
+
*/
|
|
215
|
+
private getNextLocalSeq;
|
|
147
216
|
getIntervalById(id: string): TInterval;
|
|
217
|
+
/**
|
|
218
|
+
* Create a new interval and add it to the collection
|
|
219
|
+
* @param start - interval start position
|
|
220
|
+
* @param end - interval end position
|
|
221
|
+
* @param intervalType - type of the interval. All intervals are SlideOnRemove. Intervals may not be Transient.
|
|
222
|
+
* @param props - properties of the interval
|
|
223
|
+
* @returns - the created interval
|
|
224
|
+
*/
|
|
148
225
|
add(start: number, end: number, intervalType: IntervalType, props?: PropertySet): TInterval;
|
|
149
226
|
private deleteExistingInterval;
|
|
150
227
|
removeIntervalById(id: string): TInterval;
|
|
@@ -162,6 +239,11 @@ export declare class IntervalCollection<TInterval extends ISerializableInterval>
|
|
|
162
239
|
ackChange(serializedInterval: ISerializedInterval, local: boolean, op: ISequencedDocumentMessage): void;
|
|
163
240
|
addConflictResolver(conflictResolver: IntervalConflictResolver<TInterval>): void;
|
|
164
241
|
attachDeserializer(onDeserialize: DeserializeCallback): void;
|
|
242
|
+
/** @internal */
|
|
243
|
+
rebaseLocalInterval(opName: string, serializedInterval: ISerializedInterval, localSeq: number): ISerializedInterval;
|
|
244
|
+
private getSlideToSegment;
|
|
245
|
+
private setSlideOnRemove;
|
|
246
|
+
private ackInterval;
|
|
165
247
|
/** @deprecated - use ackAdd */
|
|
166
248
|
addInternal(serializedInterval: ISerializedInterval, local: boolean, op: ISequencedDocumentMessage): TInterval;
|
|
167
249
|
/** @internal */
|
|
@@ -170,7 +252,10 @@ export declare class IntervalCollection<TInterval extends ISerializableInterval>
|
|
|
170
252
|
deleteInterval(serializedInterval: ISerializedInterval, local: boolean, op: ISequencedDocumentMessage): void;
|
|
171
253
|
/** @internal */
|
|
172
254
|
ackDelete(serializedInterval: ISerializedInterval, local: boolean, op: ISequencedDocumentMessage): void;
|
|
173
|
-
|
|
255
|
+
/**
|
|
256
|
+
* @internal
|
|
257
|
+
*/
|
|
258
|
+
serializeInternal(): ISerializedIntervalCollectionV2;
|
|
174
259
|
[Symbol.iterator](): IntervalCollectionIterator<TInterval>;
|
|
175
260
|
CreateForwardIteratorWithStartPosition(startPosition: number): IntervalCollectionIterator<TInterval>;
|
|
176
261
|
CreateBackwardIteratorWithStartPosition(startPosition: number): IntervalCollectionIterator<TInterval>;
|
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"intervalCollection.d.ts","sourceRoot":"","sources":["../src/intervalCollection.ts"],"names":[],"mappings":"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"}
|