@fluidframework/sequence 1.0.0 → 1.1.0-76254
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/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 +72 -8
- package/dist/intervalCollection.d.ts.map +1 -1
- package/dist/intervalCollection.js +325 -155
- 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 +4 -5
- package/dist/sequence.d.ts.map +1 -1
- package/dist/sequence.js +11 -15
- package/dist/sequence.js.map +1 -1
- package/dist/sharedIntervalCollection.d.ts.map +1 -1
- package/dist/sharedIntervalCollection.js +1 -1
- 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 +72 -8
- package/lib/intervalCollection.d.ts.map +1 -1
- package/lib/intervalCollection.js +325 -155
- 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 +4 -5
- package/lib/sequence.d.ts.map +1 -1
- package/lib/sequence.js +11 -15
- package/lib/sequence.js.map +1 -1
- package/lib/sharedIntervalCollection.d.ts.map +1 -1
- package/lib/sharedIntervalCollection.js +1 -1
- 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 +20 -44
- package/src/defaultMap.ts +39 -41
- package/src/defaultMapInterfaces.ts +28 -3
- package/src/index.ts +3 -0
- package/src/intervalCollection.ts +447 -181
- package/src/packageVersion.ts +1 -1
- package/src/sequence.ts +17 -21
- package/src/sharedIntervalCollection.ts +3 -2
- package/src/sharedSequence.ts +1 -1
- package/src/sparsematrix.ts +2 -2
|
@@ -30,6 +30,21 @@ export interface ISerializedInterval {
|
|
|
30
30
|
intervalType: IntervalType;
|
|
31
31
|
properties?: PropertySet;
|
|
32
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
|
+
}
|
|
33
48
|
export interface ISerializableInterval extends IInterval {
|
|
34
49
|
properties: PropertySet;
|
|
35
50
|
propertyManager: PropertiesManager;
|
|
@@ -61,6 +76,7 @@ export declare class Interval implements ISerializableInterval {
|
|
|
61
76
|
getProperties(): PropertySet;
|
|
62
77
|
addProperties(newProps: PropertySet, collaborating?: boolean, seq?: number, op?: ICombiningOp): PropertySet | undefined;
|
|
63
78
|
modify(label: string, start: number, end: number, op?: ISequencedDocumentMessage): Interval;
|
|
79
|
+
private initializeProperties;
|
|
64
80
|
}
|
|
65
81
|
export declare class SequenceInterval implements ISerializableInterval {
|
|
66
82
|
start: LocalReference;
|
|
@@ -69,6 +85,17 @@ export declare class SequenceInterval implements ISerializableInterval {
|
|
|
69
85
|
properties: PropertySet;
|
|
70
86
|
propertyManager: PropertiesManager;
|
|
71
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;
|
|
72
99
|
serialize(client: Client): ISerializedInterval;
|
|
73
100
|
clone(): SequenceInterval;
|
|
74
101
|
compare(b: SequenceInterval): number;
|
|
@@ -80,6 +107,7 @@ export declare class SequenceInterval implements ISerializableInterval {
|
|
|
80
107
|
addProperties(newProps: PropertySet, collab?: boolean, seq?: number, op?: ICombiningOp): PropertySet | undefined;
|
|
81
108
|
overlapsPos(bstart: number, bend: number): boolean;
|
|
82
109
|
modify(label: string, start: number, end: number, op?: ISequencedDocumentMessage): SequenceInterval;
|
|
110
|
+
private initializeProperties;
|
|
83
111
|
}
|
|
84
112
|
export declare function defaultIntervalConflictResolver(a: Interval, b: Interval): Interval;
|
|
85
113
|
export declare function createIntervalIndex(conflict?: IntervalConflictResolver<Interval>): LocalIntervalCollection<Interval>;
|
|
@@ -87,29 +115,45 @@ export declare class LocalIntervalCollection<TInterval extends ISerializableInte
|
|
|
87
115
|
private readonly client;
|
|
88
116
|
private readonly label;
|
|
89
117
|
private readonly helpers;
|
|
118
|
+
/** Callback invoked each time one of the endpoints of an interval slides. */
|
|
119
|
+
private readonly onPositionChange?;
|
|
90
120
|
private readonly intervalTree;
|
|
91
121
|
private readonly endIntervalTree;
|
|
122
|
+
private readonly intervalIdMap;
|
|
92
123
|
private conflictResolver;
|
|
93
124
|
private endConflictResolver;
|
|
94
125
|
private static readonly legacyIdPrefix;
|
|
95
|
-
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);
|
|
96
129
|
addConflictResolver(conflictResolver: IntervalConflictResolver<TInterval>): void;
|
|
97
130
|
map(fn: (interval: TInterval) => void): void;
|
|
98
131
|
createLegacyId(start: number, end: number): string;
|
|
99
|
-
|
|
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;
|
|
100
140
|
mapUntil(fn: (interval: TInterval) => boolean): void;
|
|
101
141
|
gatherIterationResults(results: TInterval[], iteratesForward: boolean, start?: number, end?: number): void;
|
|
102
142
|
findOverlappingIntervals(startPosition: number, endPosition: number): TInterval[];
|
|
103
143
|
previousInterval(pos: number): TInterval;
|
|
104
144
|
nextInterval(pos: number): TInterval;
|
|
105
145
|
removeInterval(startPosition: number, endPosition: number): TInterval;
|
|
146
|
+
private removeIntervalFromIndex;
|
|
106
147
|
removeExistingInterval(interval: TInterval): void;
|
|
107
148
|
createInterval(start: number, end: number, intervalType: IntervalType, op?: ISequencedDocumentMessage): TInterval;
|
|
108
149
|
addInterval(start: number, end: number, intervalType: IntervalType, props?: PropertySet, op?: ISequencedDocumentMessage): TInterval;
|
|
150
|
+
private addIntervalToIndex;
|
|
109
151
|
add(interval: TInterval): void;
|
|
110
152
|
getIntervalById(id: string): TInterval;
|
|
111
153
|
changeInterval(interval: TInterval, start: number, end: number, op?: ISequencedDocumentMessage): TInterval;
|
|
112
|
-
serialize():
|
|
154
|
+
serialize(): ISerializedIntervalCollectionV2;
|
|
155
|
+
private addIntervalListeners;
|
|
156
|
+
private removeIntervalListeners;
|
|
113
157
|
}
|
|
114
158
|
export declare class SequenceIntervalCollectionValueType implements IValueType<IntervalCollection<SequenceInterval>> {
|
|
115
159
|
static Name: string;
|
|
@@ -138,7 +182,17 @@ export declare class IntervalCollectionIterator<TInterval extends ISerializableI
|
|
|
138
182
|
};
|
|
139
183
|
}
|
|
140
184
|
export interface IIntervalCollectionEvent<TInterval extends ISerializableInterval> extends IEvent {
|
|
141
|
-
|
|
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;
|
|
142
196
|
(event: "propertyChanged", listener: (interval: TInterval, propertyArgs: PropertySet) => void): any;
|
|
143
197
|
}
|
|
144
198
|
export declare class IntervalCollection<TInterval extends ISerializableInterval> extends TypedEventEmitter<IIntervalCollectionEvent<TInterval>> {
|
|
@@ -149,11 +203,16 @@ export declare class IntervalCollection<TInterval extends ISerializableInterval>
|
|
|
149
203
|
private localCollection;
|
|
150
204
|
private onDeserialize;
|
|
151
205
|
private client;
|
|
152
|
-
private pendingChangesStart;
|
|
153
|
-
private pendingChangesEnd;
|
|
206
|
+
private readonly pendingChangesStart;
|
|
207
|
+
private readonly pendingChangesEnd;
|
|
154
208
|
get attached(): boolean;
|
|
155
|
-
|
|
209
|
+
/** @internal */
|
|
210
|
+
constructor(helpers: IIntervalHelpers<TInterval>, requiresClient: boolean, emitter: IValueOpEmitter, serializedIntervals: ISerializedInterval[] | ISerializedIntervalCollectionV2);
|
|
156
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;
|
|
157
216
|
getIntervalById(id: string): TInterval;
|
|
158
217
|
/**
|
|
159
218
|
* Create a new interval and add it to the collection
|
|
@@ -180,6 +239,8 @@ export declare class IntervalCollection<TInterval extends ISerializableInterval>
|
|
|
180
239
|
ackChange(serializedInterval: ISerializedInterval, local: boolean, op: ISequencedDocumentMessage): void;
|
|
181
240
|
addConflictResolver(conflictResolver: IntervalConflictResolver<TInterval>): void;
|
|
182
241
|
attachDeserializer(onDeserialize: DeserializeCallback): void;
|
|
242
|
+
/** @internal */
|
|
243
|
+
rebaseLocalInterval(opName: string, serializedInterval: ISerializedInterval, localSeq: number): ISerializedInterval;
|
|
183
244
|
private getSlideToSegment;
|
|
184
245
|
private setSlideOnRemove;
|
|
185
246
|
private ackInterval;
|
|
@@ -191,7 +252,10 @@ export declare class IntervalCollection<TInterval extends ISerializableInterval>
|
|
|
191
252
|
deleteInterval(serializedInterval: ISerializedInterval, local: boolean, op: ISequencedDocumentMessage): void;
|
|
192
253
|
/** @internal */
|
|
193
254
|
ackDelete(serializedInterval: ISerializedInterval, local: boolean, op: ISequencedDocumentMessage): void;
|
|
194
|
-
|
|
255
|
+
/**
|
|
256
|
+
* @internal
|
|
257
|
+
*/
|
|
258
|
+
serializeInternal(): ISerializedIntervalCollectionV2;
|
|
195
259
|
[Symbol.iterator](): IntervalCollectionIterator<TInterval>;
|
|
196
260
|
CreateForwardIteratorWithStartPosition(startPosition: number): IntervalCollectionIterator<TInterval>;
|
|
197
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;AAE5D,OAAO,EAEH,MAAM,EAGN,YAAY,EACZ,SAAS,EACT,wBAAwB,EAIxB,cAAc,EAEd,iBAAiB,EACjB,WAAW,EAMd,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;
|
|
1
|
+
{"version":3,"file":"intervalCollection.d.ts","sourceRoot":"","sources":["../src/intervalCollection.ts"],"names":[],"mappings":"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"}
|