@fluidframework/merge-tree 2.5.0 → 2.10.0-305357
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/api-report/merge-tree.legacy.alpha.api.md +0 -230
- package/dist/client.d.ts +9 -8
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +7 -6
- package/dist/client.js.map +1 -1
- package/dist/index.d.ts +3 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -5
- package/dist/index.js.map +1 -1
- package/dist/legacy.d.ts +0 -12
- package/dist/mergeTree.d.ts +14 -13
- package/dist/mergeTree.d.ts.map +1 -1
- package/dist/mergeTree.js +51 -20
- package/dist/mergeTree.js.map +1 -1
- package/dist/mergeTreeNodes.d.ts +13 -79
- package/dist/mergeTreeNodes.d.ts.map +1 -1
- package/dist/mergeTreeNodes.js +5 -95
- package/dist/mergeTreeNodes.js.map +1 -1
- package/dist/referencePositions.d.ts +0 -12
- package/dist/referencePositions.d.ts.map +1 -1
- package/dist/referencePositions.js.map +1 -1
- package/dist/segmentGroupCollection.d.ts +7 -14
- package/dist/segmentGroupCollection.d.ts.map +1 -1
- package/dist/segmentGroupCollection.js +2 -9
- package/dist/segmentGroupCollection.js.map +1 -1
- package/dist/segmentPropertiesManager.d.ts +13 -12
- package/dist/segmentPropertiesManager.d.ts.map +1 -1
- package/dist/segmentPropertiesManager.js +19 -13
- package/dist/segmentPropertiesManager.js.map +1 -1
- package/dist/sortedSegmentSet.d.ts +0 -1
- package/dist/sortedSegmentSet.d.ts.map +1 -1
- package/dist/sortedSegmentSet.js.map +1 -1
- package/dist/sortedSet.d.ts +0 -1
- package/dist/sortedSet.d.ts.map +1 -1
- package/dist/sortedSet.js +0 -1
- package/dist/sortedSet.js.map +1 -1
- package/dist/test/index.d.ts +2 -2
- package/dist/test/index.d.ts.map +1 -1
- package/dist/test/index.js +2 -4
- package/dist/test/index.js.map +1 -1
- package/dist/test/mergeTree.annotate.spec.js +4 -4
- package/dist/test/mergeTree.annotate.spec.js.map +1 -1
- package/dist/test/segmentGroupCollection.spec.js +22 -18
- package/dist/test/segmentGroupCollection.spec.js.map +1 -1
- package/dist/test/snapshot.spec.js.map +1 -1
- package/dist/test/snapshot.utils.d.ts +4 -4
- package/dist/test/snapshot.utils.d.ts.map +1 -1
- package/dist/test/snapshot.utils.js.map +1 -1
- package/dist/textSegment.d.ts +1 -3
- package/dist/textSegment.d.ts.map +1 -1
- package/dist/textSegment.js.map +1 -1
- package/lib/client.d.ts +9 -8
- package/lib/client.d.ts.map +1 -1
- package/lib/client.js +8 -7
- package/lib/client.js.map +1 -1
- package/lib/index.d.ts +3 -4
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +2 -3
- package/lib/index.js.map +1 -1
- package/lib/legacy.d.ts +0 -12
- package/lib/mergeTree.d.ts +14 -13
- package/lib/mergeTree.d.ts.map +1 -1
- package/lib/mergeTree.js +53 -22
- package/lib/mergeTree.js.map +1 -1
- package/lib/mergeTreeNodes.d.ts +13 -79
- package/lib/mergeTreeNodes.d.ts.map +1 -1
- package/lib/mergeTreeNodes.js +5 -94
- package/lib/mergeTreeNodes.js.map +1 -1
- package/lib/referencePositions.d.ts +0 -12
- package/lib/referencePositions.d.ts.map +1 -1
- package/lib/referencePositions.js.map +1 -1
- package/lib/segmentGroupCollection.d.ts +7 -14
- package/lib/segmentGroupCollection.d.ts.map +1 -1
- package/lib/segmentGroupCollection.js +2 -9
- package/lib/segmentGroupCollection.js.map +1 -1
- package/lib/segmentPropertiesManager.d.ts +13 -12
- package/lib/segmentPropertiesManager.d.ts.map +1 -1
- package/lib/segmentPropertiesManager.js +17 -12
- package/lib/segmentPropertiesManager.js.map +1 -1
- package/lib/sortedSegmentSet.d.ts +0 -1
- package/lib/sortedSegmentSet.d.ts.map +1 -1
- package/lib/sortedSegmentSet.js.map +1 -1
- package/lib/sortedSet.d.ts +0 -1
- package/lib/sortedSet.d.ts.map +1 -1
- package/lib/sortedSet.js +0 -1
- package/lib/sortedSet.js.map +1 -1
- package/lib/test/index.d.ts +2 -2
- package/lib/test/index.d.ts.map +1 -1
- package/lib/test/index.js +2 -2
- package/lib/test/index.js.map +1 -1
- package/lib/test/mergeTree.annotate.spec.js +4 -4
- package/lib/test/mergeTree.annotate.spec.js.map +1 -1
- package/lib/test/segmentGroupCollection.spec.js +22 -18
- package/lib/test/segmentGroupCollection.spec.js.map +1 -1
- package/lib/test/snapshot.spec.js.map +1 -1
- package/lib/test/snapshot.utils.d.ts +4 -4
- package/lib/test/snapshot.utils.d.ts.map +1 -1
- package/lib/test/snapshot.utils.js.map +1 -1
- package/lib/textSegment.d.ts +1 -3
- package/lib/textSegment.d.ts.map +1 -1
- package/lib/textSegment.js.map +1 -1
- package/package.json +91 -19
- package/src/client.ts +15 -12
- package/src/index.ts +6 -3
- package/src/mergeTree.ts +87 -38
- package/src/mergeTreeNodes.ts +16 -177
- package/src/referencePositions.ts +0 -12
- package/src/segmentGroupCollection.ts +14 -20
- package/src/segmentPropertiesManager.ts +30 -12
- package/src/sortedSegmentSet.ts +0 -1
- package/src/sortedSet.ts +0 -1
- package/src/textSegment.ts +1 -3
|
@@ -7,22 +7,9 @@
|
|
|
7
7
|
// @alpha
|
|
8
8
|
export function appendToMergeTreeDeltaRevertibles(deltaArgs: IMergeTreeDeltaCallbackArgs, revertibles: MergeTreeDeltaRevertible[]): void;
|
|
9
9
|
|
|
10
|
-
// @alpha @sealed @deprecated
|
|
11
|
-
export interface AttributionPolicy {
|
|
12
|
-
attach: (client: Client) => void;
|
|
13
|
-
detach: () => void;
|
|
14
|
-
// (undocumented)
|
|
15
|
-
isAttached: boolean;
|
|
16
|
-
serializer: IAttributionCollectionSerializer;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
10
|
// @alpha (undocumented)
|
|
20
11
|
export abstract class BaseSegment implements ISegment {
|
|
21
12
|
constructor(properties?: PropertySet);
|
|
22
|
-
// @deprecated (undocumented)
|
|
23
|
-
ack(segmentGroup: SegmentGroup, opArgs: IMergeTreeDeltaOpArgs): boolean;
|
|
24
|
-
// @deprecated
|
|
25
|
-
addProperties(newProps: PropertySet, seq?: number, collaborating?: boolean, rollback?: PropertiesRollback): PropertySet;
|
|
26
13
|
// (undocumented)
|
|
27
14
|
protected addSerializedProps(jseg: IJSONSegment): void;
|
|
28
15
|
// (undocumented)
|
|
@@ -65,14 +52,10 @@ export abstract class BaseSegment implements ISegment {
|
|
|
65
52
|
ordinal: string;
|
|
66
53
|
// (undocumented)
|
|
67
54
|
properties?: PropertySet;
|
|
68
|
-
// @deprecated
|
|
69
|
-
propertyManager?: PropertiesManager;
|
|
70
55
|
// (undocumented)
|
|
71
56
|
removedClientIds?: number[];
|
|
72
57
|
// (undocumented)
|
|
73
58
|
removedSeq?: number;
|
|
74
|
-
// @deprecated (undocumented)
|
|
75
|
-
readonly segmentGroups: SegmentGroupCollection;
|
|
76
59
|
// (undocumented)
|
|
77
60
|
seq: number;
|
|
78
61
|
// (undocumented)
|
|
@@ -87,104 +70,6 @@ export abstract class BaseSegment implements ISegment {
|
|
|
87
70
|
wasMovedOnInsert?: boolean | undefined;
|
|
88
71
|
}
|
|
89
72
|
|
|
90
|
-
// @alpha @deprecated (undocumented)
|
|
91
|
-
export class Client extends TypedEventEmitter<IClientEvents> {
|
|
92
|
-
constructor(specToSegment: (spec: IJSONSegment) => ISegment, logger: ITelemetryLoggerExt, options?: IMergeTreeOptions & PropertySet, getMinInFlightRefSeq?: () => number | undefined);
|
|
93
|
-
// (undocumented)
|
|
94
|
-
addLongClientId(longClientId: string): void;
|
|
95
|
-
annotateMarker(marker: Marker, props: PropertySet): IMergeTreeAnnotateMsg | undefined;
|
|
96
|
-
annotateRangeLocal(start: number, end: number, props: PropertySet): IMergeTreeAnnotateMsg | undefined;
|
|
97
|
-
// (undocumented)
|
|
98
|
-
applyMsg(msg: ISequencedDocumentMessage, local?: boolean): void;
|
|
99
|
-
// (undocumented)
|
|
100
|
-
applyStashedOp(op: IMergeTreeOp): void;
|
|
101
|
-
createLocalReferencePosition(segment: ISegment | "start" | "end", offset: number | undefined, refType: ReferenceType, properties: PropertySet | undefined, slidingPreference?: SlidingPreference, canSlideToEndpoint?: boolean): LocalReferencePosition;
|
|
102
|
-
// (undocumented)
|
|
103
|
-
createTextHelper(): IMergeTreeTextHelper;
|
|
104
|
-
findReconnectionPosition(segment: ISegment, localSeq: number): number;
|
|
105
|
-
// (undocumented)
|
|
106
|
-
getClientId(): number;
|
|
107
|
-
// (undocumented)
|
|
108
|
-
getCollabWindow(): CollaborationWindow;
|
|
109
|
-
// (undocumented)
|
|
110
|
-
getContainingSegment<T extends ISegment>(pos: number, sequenceArgs?: Pick<ISequencedDocumentMessage, "referenceSequenceNumber" | "clientId">, localSeq?: number): {
|
|
111
|
-
segment: T | undefined;
|
|
112
|
-
offset: number | undefined;
|
|
113
|
-
};
|
|
114
|
-
// (undocumented)
|
|
115
|
-
getCurrentSeq(): number;
|
|
116
|
-
// (undocumented)
|
|
117
|
-
getLength(): number;
|
|
118
|
-
// (undocumented)
|
|
119
|
-
getLongClientId(shortClientId: number): string;
|
|
120
|
-
// (undocumented)
|
|
121
|
-
getMarkerFromId(id: string): ISegment | undefined;
|
|
122
|
-
// (undocumented)
|
|
123
|
-
getOrAddShortClientId(longClientId: string): number;
|
|
124
|
-
getPosition(segment: ISegment | undefined, localSeq?: number): number;
|
|
125
|
-
// (undocumented)
|
|
126
|
-
getPropertiesAtPosition(pos: number): PropertySet | undefined;
|
|
127
|
-
// (undocumented)
|
|
128
|
-
getRangeExtentsOfPosition(pos: number): {
|
|
129
|
-
posStart: number | undefined;
|
|
130
|
-
posAfterEnd: number | undefined;
|
|
131
|
-
};
|
|
132
|
-
// (undocumented)
|
|
133
|
-
protected getShortClientId(longClientId: string): number;
|
|
134
|
-
insertAtReferencePositionLocal(refPos: ReferencePosition, segment: ISegment): IMergeTreeInsertMsg | undefined;
|
|
135
|
-
insertSegmentLocal(pos: number, segment: ISegment): IMergeTreeInsertMsg | undefined;
|
|
136
|
-
// (undocumented)
|
|
137
|
-
load(runtime: IFluidDataStoreRuntime, storage: IChannelStorageService, serializer: IFluidSerializer): Promise<{
|
|
138
|
-
catchupOpsP: Promise<ISequencedDocumentMessage[]>;
|
|
139
|
-
}>;
|
|
140
|
-
localReferencePositionToPosition(lref: ReferencePosition): number;
|
|
141
|
-
// (undocumented)
|
|
142
|
-
localTransaction(groupOp: IMergeTreeGroupMsg): void;
|
|
143
|
-
// (undocumented)
|
|
144
|
-
readonly logger: ITelemetryLoggerExt;
|
|
145
|
-
// (undocumented)
|
|
146
|
-
longClientId: string | undefined;
|
|
147
|
-
obliterateRangeLocal(start: number | InteriorSequencePlace, end: number | InteriorSequencePlace): IMergeTreeObliterateMsg | IMergeTreeObliterateSidedMsg;
|
|
148
|
-
peekPendingSegmentGroups(): SegmentGroup | undefined;
|
|
149
|
-
// (undocumented)
|
|
150
|
-
peekPendingSegmentGroups(count: number): SegmentGroup | SegmentGroup[] | undefined;
|
|
151
|
-
posFromRelativePos(relativePos: IRelativePosition): number;
|
|
152
|
-
regeneratePendingOp(resetOp: IMergeTreeOp, segmentGroup: SegmentGroup | SegmentGroup[]): IMergeTreeOp;
|
|
153
|
-
removeLocalReferencePosition(lref: LocalReferencePosition): LocalReferencePosition | undefined;
|
|
154
|
-
removeRangeLocal(start: number, end: number): IMergeTreeRemoveMsg;
|
|
155
|
-
resolveRemoteClientPosition(remoteClientPosition: number, remoteClientRefSeq: number, remoteClientId: string): number | undefined;
|
|
156
|
-
rollback?(op: unknown, localOpMetadata: unknown): void;
|
|
157
|
-
searchForMarker(startPos: number, markerLabel: string, forwards?: boolean): Marker | undefined;
|
|
158
|
-
serializeGCData(handle: IFluidHandle, handleCollectingSerializer: IFluidSerializer): void;
|
|
159
|
-
// (undocumented)
|
|
160
|
-
readonly specToSegment: (spec: IJSONSegment) => ISegment;
|
|
161
|
-
// (undocumented)
|
|
162
|
-
startOrUpdateCollaboration(longClientId: string | undefined, minSeq?: number, currentSeq?: number): void;
|
|
163
|
-
// (undocumented)
|
|
164
|
-
summarize(runtime: IFluidDataStoreRuntime, handle: IFluidHandle, serializer: IFluidSerializer, catchUpMsgs: ISequencedDocumentMessage[]): ISummaryTreeWithStats;
|
|
165
|
-
// (undocumented)
|
|
166
|
-
updateMinSeq(minSeq: number): void;
|
|
167
|
-
// (undocumented)
|
|
168
|
-
protected walkAllSegments<TClientData>(action: (segment: ISegment, accum?: TClientData) => boolean, accum?: TClientData): boolean;
|
|
169
|
-
// (undocumented)
|
|
170
|
-
walkSegments<TClientData>(handler: ISegmentAction<TClientData>, start: number | undefined, end: number | undefined, accum: TClientData, splitRange?: boolean): void;
|
|
171
|
-
// (undocumented)
|
|
172
|
-
walkSegments(handler: ISegmentAction<undefined>, start?: number, end?: number, accum?: undefined, splitRange?: boolean): void;
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
// @alpha @deprecated (undocumented)
|
|
176
|
-
export class CollaborationWindow {
|
|
177
|
-
// (undocumented)
|
|
178
|
-
clientId: number;
|
|
179
|
-
// (undocumented)
|
|
180
|
-
collaborating: boolean;
|
|
181
|
-
currentSeq: number;
|
|
182
|
-
// (undocumented)
|
|
183
|
-
loadFrom(a: CollaborationWindow): void;
|
|
184
|
-
localSeq: number;
|
|
185
|
-
minSeq: number;
|
|
186
|
-
}
|
|
187
|
-
|
|
188
73
|
// @alpha
|
|
189
74
|
export function discardMergeTreeDeltaRevertible(revertibles: MergeTreeDeltaRevertible[]): void;
|
|
190
75
|
|
|
@@ -244,16 +129,6 @@ export interface IAttributionCollectionSpec<T> {
|
|
|
244
129
|
}>;
|
|
245
130
|
}
|
|
246
131
|
|
|
247
|
-
// @alpha @deprecated
|
|
248
|
-
export interface IClientEvents {
|
|
249
|
-
// (undocumented)
|
|
250
|
-
(event: "normalize", listener: (target: IEventThisPlaceHolder) => void): void;
|
|
251
|
-
// (undocumented)
|
|
252
|
-
(event: "delta", listener: (opArgs: IMergeTreeDeltaOpArgs, deltaArgs: IMergeTreeDeltaCallbackArgs, target: IEventThisPlaceHolder) => void): void;
|
|
253
|
-
// (undocumented)
|
|
254
|
-
(event: "maintenance", listener: (args: IMergeTreeMaintenanceCallbackArgs, deltaArgs: IMergeTreeDeltaOpArgs | undefined, target: IEventThisPlaceHolder) => void): void;
|
|
255
|
-
}
|
|
256
|
-
|
|
257
132
|
// @alpha (undocumented)
|
|
258
133
|
export interface IJSONMarkerSegment extends IJSONSegment {
|
|
259
134
|
// (undocumented)
|
|
@@ -302,12 +177,6 @@ export interface IMergeTreeAnnotateMsg extends IMergeTreeDelta {
|
|
|
302
177
|
type: typeof MergeTreeDeltaType.ANNOTATE;
|
|
303
178
|
}
|
|
304
179
|
|
|
305
|
-
// @alpha @deprecated (undocumented)
|
|
306
|
-
export interface IMergeTreeAttributionOptions {
|
|
307
|
-
policyFactory?: () => AttributionPolicy;
|
|
308
|
-
track?: boolean;
|
|
309
|
-
}
|
|
310
|
-
|
|
311
180
|
// @alpha (undocumented)
|
|
312
181
|
export interface IMergeTreeDelta {
|
|
313
182
|
type: MergeTreeDeltaType;
|
|
@@ -392,7 +261,6 @@ export type IMergeTreeOp = IMergeTreeDeltaOp | IMergeTreeGroupMsg;
|
|
|
392
261
|
|
|
393
262
|
// @alpha (undocumented)
|
|
394
263
|
export interface IMergeTreeOptions {
|
|
395
|
-
attribution?: IMergeTreeAttributionOptions;
|
|
396
264
|
// (undocumented)
|
|
397
265
|
catchUpBlobName?: string;
|
|
398
266
|
mergeTreeEnableObliterate?: boolean;
|
|
@@ -424,12 +292,6 @@ export interface IMergeTreeSegmentDelta {
|
|
|
424
292
|
segment: ISegment;
|
|
425
293
|
}
|
|
426
294
|
|
|
427
|
-
// @alpha @deprecated (undocumented)
|
|
428
|
-
export interface IMergeTreeTextHelper {
|
|
429
|
-
// (undocumented)
|
|
430
|
-
getText(refSeq: number, clientId: number, placeholder: string, start?: number, end?: number): string;
|
|
431
|
-
}
|
|
432
|
-
|
|
433
295
|
// @alpha
|
|
434
296
|
export interface IMoveInfo {
|
|
435
297
|
localMovedSeq?: number;
|
|
@@ -464,10 +326,6 @@ export interface IRemovalInfo {
|
|
|
464
326
|
|
|
465
327
|
// @alpha
|
|
466
328
|
export interface ISegment extends IMergeNodeCommon, Partial<IRemovalInfo>, Partial<IMoveInfo> {
|
|
467
|
-
// @deprecated (undocumented)
|
|
468
|
-
ack(segmentGroup: SegmentGroup, opArgs: IMergeTreeDeltaOpArgs): boolean;
|
|
469
|
-
// @deprecated
|
|
470
|
-
addProperties(newProps: PropertySet, seq?: number, collaborating?: boolean, rollback?: PropertiesRollback): PropertySet;
|
|
471
329
|
// (undocumented)
|
|
472
330
|
append(segment: ISegment): void;
|
|
473
331
|
attribution?: IAttributionCollection<AttributionKey>;
|
|
@@ -482,10 +340,6 @@ export interface ISegment extends IMergeNodeCommon, Partial<IRemovalInfo>, Parti
|
|
|
482
340
|
localRemovedSeq?: number;
|
|
483
341
|
localSeq?: number;
|
|
484
342
|
properties?: PropertySet;
|
|
485
|
-
// @deprecated
|
|
486
|
-
propertyManager?: PropertiesManager;
|
|
487
|
-
// @deprecated (undocumented)
|
|
488
|
-
readonly segmentGroups: SegmentGroupCollection;
|
|
489
343
|
seq?: number;
|
|
490
344
|
// (undocumented)
|
|
491
345
|
splitAt(pos: number): ISegment | undefined;
|
|
@@ -594,18 +448,6 @@ export class Marker extends BaseSegment implements ReferencePosition, ISegment {
|
|
|
594
448
|
readonly type = "Marker";
|
|
595
449
|
}
|
|
596
450
|
|
|
597
|
-
// @alpha @deprecated (undocumented)
|
|
598
|
-
export class MergeNode implements IMergeNodeCommon {
|
|
599
|
-
// (undocumented)
|
|
600
|
-
cachedLength: number;
|
|
601
|
-
// (undocumented)
|
|
602
|
-
index: number;
|
|
603
|
-
// (undocumented)
|
|
604
|
-
isLeaf(): this is ISegment;
|
|
605
|
-
// (undocumented)
|
|
606
|
-
ordinal: string;
|
|
607
|
-
}
|
|
608
|
-
|
|
609
451
|
// @alpha (undocumented)
|
|
610
452
|
export type MergeTreeDeltaOperationType = typeof MergeTreeDeltaType.ANNOTATE | typeof MergeTreeDeltaType.INSERT | typeof MergeTreeDeltaType.REMOVE | typeof MergeTreeDeltaType.OBLITERATE;
|
|
611
453
|
|
|
@@ -659,50 +501,11 @@ export interface MergeTreeRevertibleDriver {
|
|
|
659
501
|
removeRange(start: number, end: number): void;
|
|
660
502
|
}
|
|
661
503
|
|
|
662
|
-
// @alpha @deprecated (undocumented)
|
|
663
|
-
export interface ObliterateInfo {
|
|
664
|
-
// (undocumented)
|
|
665
|
-
clientId: number;
|
|
666
|
-
// (undocumented)
|
|
667
|
-
end: LocalReferencePosition;
|
|
668
|
-
// (undocumented)
|
|
669
|
-
localSeq: number | undefined;
|
|
670
|
-
// (undocumented)
|
|
671
|
-
refSeq: number;
|
|
672
|
-
// (undocumented)
|
|
673
|
-
segmentGroup: SegmentGroup | undefined;
|
|
674
|
-
// (undocumented)
|
|
675
|
-
seq: number;
|
|
676
|
-
// (undocumented)
|
|
677
|
-
start: LocalReferencePosition;
|
|
678
|
-
}
|
|
679
|
-
|
|
680
|
-
// @alpha @deprecated (undocumented)
|
|
681
|
-
export class PropertiesManager {
|
|
682
|
-
// (undocumented)
|
|
683
|
-
ackPendingProperties(annotateOp: IMergeTreeAnnotateMsg): void;
|
|
684
|
-
// (undocumented)
|
|
685
|
-
addProperties(oldProps: PropertySet, newProps: PropertySet, seq?: number, collaborating?: boolean, rollback?: PropertiesRollback): PropertySet;
|
|
686
|
-
// (undocumented)
|
|
687
|
-
copyTo(oldProps: PropertySet, newProps: PropertySet | undefined, newManager: PropertiesManager): PropertySet | undefined;
|
|
688
|
-
hasPendingProperties(props: PropertySet): boolean;
|
|
689
|
-
// (undocumented)
|
|
690
|
-
hasPendingProperty(key: string): boolean;
|
|
691
|
-
}
|
|
692
|
-
|
|
693
|
-
// @alpha @deprecated (undocumented)
|
|
694
|
-
export enum PropertiesRollback {
|
|
695
|
-
None = 0,
|
|
696
|
-
Rollback = 1
|
|
697
|
-
}
|
|
698
|
-
|
|
699
504
|
// @alpha
|
|
700
505
|
export type PropertySet = MapLike<any>;
|
|
701
506
|
|
|
702
507
|
// @alpha
|
|
703
508
|
export interface ReferencePosition {
|
|
704
|
-
// @deprecated (undocumented)
|
|
705
|
-
addProperties(newProps: PropertySet): void;
|
|
706
509
|
getOffset(): number;
|
|
707
510
|
getSegment(): ISegment | undefined;
|
|
708
511
|
// (undocumented)
|
|
@@ -737,39 +540,6 @@ export const reservedMarkerIdKey = "markerId";
|
|
|
737
540
|
// @alpha
|
|
738
541
|
export function revertMergeTreeDeltaRevertibles(driver: MergeTreeRevertibleDriver, revertibles: MergeTreeDeltaRevertible[]): void;
|
|
739
542
|
|
|
740
|
-
// @alpha @deprecated (undocumented)
|
|
741
|
-
export interface SegmentGroup {
|
|
742
|
-
// (undocumented)
|
|
743
|
-
localSeq?: number;
|
|
744
|
-
// (undocumented)
|
|
745
|
-
obliterateInfo?: ObliterateInfo;
|
|
746
|
-
// (undocumented)
|
|
747
|
-
previousProps?: PropertySet[];
|
|
748
|
-
// (undocumented)
|
|
749
|
-
refSeq: number;
|
|
750
|
-
// (undocumented)
|
|
751
|
-
segments: ISegment[];
|
|
752
|
-
}
|
|
753
|
-
|
|
754
|
-
// @alpha @deprecated (undocumented)
|
|
755
|
-
export class SegmentGroupCollection {
|
|
756
|
-
constructor(segment: ISegment);
|
|
757
|
-
// (undocumented)
|
|
758
|
-
copyTo(segment: ISegment): void;
|
|
759
|
-
// (undocumented)
|
|
760
|
-
dequeue(): SegmentGroup | undefined;
|
|
761
|
-
// (undocumented)
|
|
762
|
-
get empty(): boolean;
|
|
763
|
-
// (undocumented)
|
|
764
|
-
enqueue(segmentGroup: SegmentGroup): void;
|
|
765
|
-
// (undocumented)
|
|
766
|
-
pop?(): SegmentGroup | undefined;
|
|
767
|
-
// (undocumented)
|
|
768
|
-
remove?(segmentGroup: SegmentGroup): boolean;
|
|
769
|
-
// (undocumented)
|
|
770
|
-
get size(): number;
|
|
771
|
-
}
|
|
772
|
-
|
|
773
543
|
// @alpha (undocumented)
|
|
774
544
|
export interface SequenceOffsets {
|
|
775
545
|
// (undocumented)
|
package/dist/client.d.ts
CHANGED
|
@@ -10,7 +10,7 @@ import { ISummaryTreeWithStats } from "@fluidframework/runtime-definitions/inter
|
|
|
10
10
|
import { IFluidSerializer } from "@fluidframework/shared-object-base/internal";
|
|
11
11
|
import { ITelemetryLoggerExt } from "@fluidframework/telemetry-utils/internal";
|
|
12
12
|
import { LocalReferencePosition, SlidingPreference } from "./localReference.js";
|
|
13
|
-
import {
|
|
13
|
+
import { type IMergeTreeOptionsInternal } from "./mergeTree.js";
|
|
14
14
|
import type { IMergeTreeDeltaCallbackArgs, IMergeTreeDeltaOpArgs, IMergeTreeMaintenanceCallbackArgs } from "./mergeTreeDeltaCallback.js";
|
|
15
15
|
import { CollaborationWindow, ISegment, ISegmentAction, Marker, SegmentGroup } from "./mergeTreeNodes.js";
|
|
16
16
|
import { IJSONSegment, IMergeTreeAnnotateMsg, IMergeTreeGroupMsg, IMergeTreeInsertMsg, IMergeTreeObliterateMsg, IMergeTreeOp, IMergeTreeRemoveMsg, IRelativePosition, ReferenceType, type IMergeTreeObliterateSidedMsg } from "./ops.js";
|
|
@@ -30,9 +30,7 @@ export interface IIntegerRange {
|
|
|
30
30
|
* Emitted before this client's merge-tree normalizes its segments on reconnect, potentially
|
|
31
31
|
* ordering them. Useful for DDS-like consumers built atop the merge-tree to compute any information
|
|
32
32
|
* they need for rebasing their ops on reconnection.
|
|
33
|
-
* @
|
|
34
|
-
* @alpha
|
|
35
|
-
* @deprecated This functionality was not meant to be exported and will be removed in a future release
|
|
33
|
+
* @internal
|
|
36
34
|
*/
|
|
37
35
|
export interface IClientEvents {
|
|
38
36
|
(event: "normalize", listener: (target: IEventThisPlaceHolder) => void): void;
|
|
@@ -40,9 +38,12 @@ export interface IClientEvents {
|
|
|
40
38
|
(event: "maintenance", listener: (args: IMergeTreeMaintenanceCallbackArgs, deltaArgs: IMergeTreeDeltaOpArgs | undefined, target: IEventThisPlaceHolder) => void): void;
|
|
41
39
|
}
|
|
42
40
|
/**
|
|
43
|
-
*
|
|
44
|
-
*
|
|
45
|
-
*
|
|
41
|
+
* This class encapsulates a merge-tree, and provides a local client specific view over it and
|
|
42
|
+
* the capability to modify it as the local client. Additionally it provides
|
|
43
|
+
* binding for processing remote ops on the encapsulated merge tree, and projects local and remote events
|
|
44
|
+
* caused by all modification to the underlying merge-tree.
|
|
45
|
+
*
|
|
46
|
+
* @internal
|
|
46
47
|
*/
|
|
47
48
|
export declare class Client extends TypedEventEmitter<IClientEvents> {
|
|
48
49
|
readonly specToSegment: (spec: IJSONSegment) => ISegment;
|
|
@@ -67,7 +68,7 @@ export declare class Client extends TypedEventEmitter<IClientEvents> {
|
|
|
67
68
|
* - Passing specToSegment would be unnecessary if Client were merged with SharedSegmentSequence
|
|
68
69
|
* - AB#6866 tracks a more unified approach to collab window min seq handling.
|
|
69
70
|
*/
|
|
70
|
-
constructor(specToSegment: (spec: IJSONSegment) => ISegment, logger: ITelemetryLoggerExt, options?:
|
|
71
|
+
constructor(specToSegment: (spec: IJSONSegment) => ISegment, logger: ITelemetryLoggerExt, options?: IMergeTreeOptionsInternal & PropertySet, getMinInFlightRefSeq?: () => number | undefined);
|
|
71
72
|
/**
|
|
72
73
|
* The merge tree maintains a queue of segment groups for each local operation.
|
|
73
74
|
* These segment groups track segments modified by an operation.
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,KAAK,qBAAqB,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAE3F,OAAO,EACN,sBAAsB,EACtB,sBAAsB,EACtB,MAAM,gDAAgD,CAAC;AACxD,OAAO,EAEN,yBAAyB,EACzB,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,8CAA8C,CAAC;AAErF,OAAO,EAAE,gBAAgB,EAAE,MAAM,6CAA6C,CAAC;AAC/E,OAAO,EACN,mBAAmB,EAGnB,MAAM,0CAA0C,CAAC;AAKlD,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,KAAK,qBAAqB,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAE3F,OAAO,EACN,sBAAsB,EACtB,sBAAsB,EACtB,MAAM,gDAAgD,CAAC;AACxD,OAAO,EAEN,yBAAyB,EACzB,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,8CAA8C,CAAC;AAErF,OAAO,EAAE,gBAAgB,EAAE,MAAM,6CAA6C,CAAC;AAC/E,OAAO,EACN,mBAAmB,EAGnB,MAAM,0CAA0C,CAAC;AAKlD,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,EAGN,KAAK,yBAAyB,EAC9B,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAEX,2BAA2B,EAC3B,qBAAqB,EACrB,iCAAiC,EACjC,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAEN,mBAAmB,EACnB,QAAQ,EACR,cAAc,EAEd,MAAM,EAEN,YAAY,EAGZ,MAAM,qBAAqB,CAAC;AAW7B,OAAO,EACN,YAAY,EACZ,qBAAqB,EAGrB,kBAAkB,EAClB,mBAAmB,EAEnB,uBAAuB,EACvB,YAAY,EACZ,mBAAmB,EACnB,iBAAiB,EAEjB,aAAa,EACb,KAAK,4BAA4B,EACjC,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAA6B,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACvF,OAAO,EAAQ,KAAK,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAKtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAKxD;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACZ;AAED;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC7B,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,qBAAqB,KAAK,IAAI,GAAG,IAAI,CAAC;IAC9E,CACC,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,CACT,MAAM,EAAE,qBAAqB,EAC7B,SAAS,EAAE,2BAA2B,EACtC,MAAM,EAAE,qBAAqB,KACzB,IAAI,GACP,IAAI,CAAC;IACR,CACC,KAAK,EAAE,aAAa,EACpB,QAAQ,EAAE,CACT,IAAI,EAAE,iCAAiC,EACvC,SAAS,EAAE,qBAAqB,GAAG,SAAS,EAC5C,MAAM,EAAE,qBAAqB,KACzB,IAAI,GACP,IAAI,CAAC;CACR;AAED;;;;;;;GAOG;AACH,qBAAa,MAAO,SAAQ,iBAAiB,CAAC,aAAa,CAAC;aAwB1C,aAAa,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,QAAQ;aAC/C,MAAM,EAAE,mBAAmB;IAE3C,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IA1B/B,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IAExC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAY;IAEvC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAoD;IACpF,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAgB;IAEjD;;;;;;;;;;;;;;OAcG;gBAEc,aAAa,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,QAAQ,EAC/C,MAAM,EAAE,mBAAmB,EAC3C,OAAO,CAAC,EAAE,yBAAyB,GAAG,WAAW,EAChC,oBAAoB,GAAE,MAAM,MAAM,GAAG,SAC5C;IAsBX;;;;;;OAMG;IAEI,wBAAwB,IAAI,YAAY,GAAG,SAAS;IAEpD,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,GAAG,YAAY,EAAE,GAAG,SAAS;IAmBzF;;;;;OAKG;IACI,cAAc,CACpB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,WAAW,GAChB,qBAAqB,GAAG,SAAS;IAMpC;;;;;;OAMG;IACI,kBAAkB,CACxB,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,WAAW,GAChB,qBAAqB,GAAG,SAAS;IAMpC;;;;;OAKG;IACI,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,mBAAmB;IAMxE;;;;;;;OAOG;IACI,oBAAoB,CAC1B,KAAK,EAAE,MAAM,GAAG,qBAAqB,EACrC,GAAG,EAAE,MAAM,GAAG,qBAAqB,GAEjC,uBAAuB,GAAG,4BAA4B;IAgBzD;;;;OAIG;IACI,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,GAAG,mBAAmB,GAAG,SAAS;IAS1F;;;;OAIG;IACI,8BAA8B,CACpC,MAAM,EAAE,iBAAiB,EACzB,OAAO,EAAE,QAAQ,GACf,mBAAmB,GAAG,SAAS;IAa3B,YAAY,CAAC,WAAW,EAC9B,OAAO,EAAE,cAAc,CAAC,WAAW,CAAC,EACpC,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,KAAK,EAAE,WAAW,EAClB,UAAU,CAAC,EAAE,OAAO,GAClB,IAAI;IACA,YAAY,CAClB,OAAO,EAAE,cAAc,CAAC,SAAS,CAAC,EAClC,KAAK,CAAC,EAAE,MAAM,EACd,GAAG,CAAC,EAAE,MAAM,EACZ,KAAK,CAAC,EAAE,SAAS,EACjB,UAAU,CAAC,EAAE,OAAO,GAClB,IAAI;IAmBP,SAAS,CAAC,eAAe,CAAC,WAAW,EACpC,MAAM,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,WAAW,KAAK,OAAO,EAC3D,KAAK,CAAC,EAAE,WAAW,GACjB,OAAO;IAOV;;;;OAIG;IACI,eAAe,CACrB,MAAM,EAAE,YAAY,EACpB,0BAA0B,EAAE,gBAAgB,GAC1C,IAAI;IA2BA,eAAe,IAAI,mBAAmB;IAI7C;;;;OAIG;IACI,WAAW,CAAC,OAAO,EAAE,QAAQ,GAAG,SAAS,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM;IAa5E;;;;;;;;;;OAUG;IACI,4BAA4B,CAClC,OAAO,EAAE,QAAQ,GAAG,OAAO,GAAG,KAAK,EACnC,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,OAAO,EAAE,aAAa,EACtB,UAAU,EAAE,WAAW,GAAG,SAAS,EACnC,iBAAiB,CAAC,EAAE,iBAAiB,EACrC,kBAAkB,CAAC,EAAE,OAAO,GAC1B,sBAAsB;IAWzB;;OAEG;IACI,4BAA4B,CAClC,IAAI,EAAE,sBAAsB,GAC1B,sBAAsB,GAAG,SAAS;IAIrC;;;;;;;OAOG;IACI,gCAAgC,CAAC,IAAI,EAAE,iBAAiB,GAAG,MAAM;IAIxE;;;;OAIG;IACI,kBAAkB,CAAC,WAAW,EAAE,iBAAiB,GAAG,MAAM;IAI1D,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;IAIxD;;OAEG;IACI,QAAQ,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE,OAAO,GAAG,IAAI;IAK7D,OAAO,CAAC,sBAAsB;IAmC9B;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAmB1B;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAoB5B;;;;OAIG;IACH,OAAO,CAAC,aAAa;IAsBrB;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;IAyE1B;;;;OAIG;IACH,OAAO,CAAC,eAAe;IA2EvB;;;OAGG;IACH,OAAO,CAAC,+BAA+B;IA+BvC;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,iBAAiB;IAczB,qBAAqB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM;IAOnD,SAAS,CAAC,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM;IAIxD,eAAe,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM;IAI9C,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IAK3C,OAAO,CAAC,gCAAgC;IAMxC;;;;;;;;OAQG;IACI,wBAAwB,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM;IAS5E,OAAO,CAAC,sBAAsB;IAmL9B,OAAO,CAAC,aAAa;IAsCd,cAAc,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI;IA6BtC,QAAQ,CAAC,GAAG,EAAE,yBAAyB,EAAE,KAAK,GAAE,OAAe,GAAG,IAAI;IAuB7E,OAAO,CAAC,gBAAgB;IAYxB;;;;;;;OAOG;IACI,2BAA2B,CACjC,oBAAoB,EAAE,MAAM,EAC5B,kBAAkB,EAAE,MAAM,EAC1B,cAAc,EAAE,MAAM,GACpB,MAAM,GAAG,SAAS;IASrB,OAAO,CAAC,uBAAuB,CAAK;IAGpC,OAAO,CAAC,aAAa,CAA6C;IAElE;;;;;OAKG;IACI,mBAAmB,CACzB,OAAO,EAAE,YAAY,EAErB,YAAY,EAAE,YAAY,GAAG,YAAY,EAAE,GACzC,YAAY;IAkER,gBAAgB,IAAI,oBAAoB;IAIxC,SAAS,CACf,OAAO,EAAE,sBAAsB,EAC/B,MAAM,EAAE,YAAY,EACpB,UAAU,EAAE,gBAAgB,EAC5B,WAAW,EAAE,yBAAyB,EAAE,GACtC,qBAAqB;IAoCX,IAAI,CAChB,OAAO,EAAE,sBAAsB,EAC/B,OAAO,EAAE,sBAAsB,EAC/B,UAAU,EAAE,gBAAgB,GAC1B,OAAO,CAAC;QAAE,WAAW,EAAE,OAAO,CAAC,yBAAyB,EAAE,CAAC,CAAA;KAAE,CAAC;IAMjE,OAAO,CAAC,sBAAsB;IAM9B,gBAAgB,CAAC,OAAO,EAAE,kBAAkB,GAAG,IAAI;IA+BnD,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAIlC,oBAAoB,CAAC,CAAC,SAAS,QAAQ,EACtC,GAAG,EAAE,MAAM,EACX,YAAY,CAAC,EAAE,IAAI,CAAC,yBAAyB,EAAE,yBAAyB,GAAG,UAAU,CAAC,EACtF,QAAQ,CAAC,EAAE,MAAM,GACf;QACF,OAAO,EAAE,CAAC,GAAG,SAAS,CAAC;QACvB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;KAC3B;IAWD,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAU7D,yBAAyB,CAAC,GAAG,EAAE,MAAM,GAAG;QACvC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;QAC7B,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;KAChC;IAaD,aAAa,IAAI,MAAM;IAIvB,WAAW,IAAI,MAAM;IAIrB,SAAS,IAAI,MAAM;IAInB,0BAA0B,CACzB,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,MAAM,SAAI,EACV,UAAU,SAAI,GACZ,IAAI;IAyBP;;;;;;;;OAQG;IACH,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,UAAO,GAAG,MAAM,GAAG,SAAS;CAI3F"}
|
package/dist/client.js
CHANGED
|
@@ -25,9 +25,12 @@ const snapshotLoader_js_1 = require("./snapshotLoader.js");
|
|
|
25
25
|
const snapshotV1_js_1 = require("./snapshotV1.js");
|
|
26
26
|
const snapshotlegacy_js_1 = require("./snapshotlegacy.js");
|
|
27
27
|
/**
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
28
|
+
* This class encapsulates a merge-tree, and provides a local client specific view over it and
|
|
29
|
+
* the capability to modify it as the local client. Additionally it provides
|
|
30
|
+
* binding for processing remote ops on the encapsulated merge tree, and projects local and remote events
|
|
31
|
+
* caused by all modification to the underlying merge-tree.
|
|
32
|
+
*
|
|
33
|
+
* @internal
|
|
31
34
|
*/
|
|
32
35
|
class Client extends client_utils_1.TypedEventEmitter {
|
|
33
36
|
/**
|
|
@@ -536,7 +539,7 @@ class Client extends client_utils_1.TypedEventEmitter {
|
|
|
536
539
|
// By sorting we ensure the nearer segment will be applied and sequenced before the farther segments
|
|
537
540
|
// so their recalculated positions will be correct.
|
|
538
541
|
for (const segment of segmentGroup.segments.sort((a, b) => a.ordinal < b.ordinal ? -1 : 1)) {
|
|
539
|
-
(0, internal_1.assert)(segment.segmentGroups
|
|
542
|
+
(0, internal_1.assert)(segment.segmentGroups?.remove?.(segmentGroup) === true, 0x035 /* "Segment group not in segment pending queue" */);
|
|
540
543
|
(0, internal_1.assert)(segmentGroup.localSeq !== undefined, 0x867 /* expected segment group localSeq to be defined */);
|
|
541
544
|
const segmentPosition = this.findReconnectionPosition(segment, segmentGroup.localSeq);
|
|
542
545
|
let newOp;
|
|
@@ -618,7 +621,6 @@ class Client extends client_utils_1.TypedEventEmitter {
|
|
|
618
621
|
}
|
|
619
622
|
}
|
|
620
623
|
else if (newOp) {
|
|
621
|
-
// eslint-disable-next-line import/no-deprecated
|
|
622
624
|
const newSegmentGroup = {
|
|
623
625
|
segments: [],
|
|
624
626
|
localSeq: segmentGroup.localSeq,
|
|
@@ -749,7 +751,6 @@ class Client extends client_utils_1.TypedEventEmitter {
|
|
|
749
751
|
// eslint-disable-next-line import/no-deprecated
|
|
750
752
|
segmentGroup) {
|
|
751
753
|
if (this.pendingRebase === undefined || this.pendingRebase.empty) {
|
|
752
|
-
// eslint-disable-next-line import/no-deprecated
|
|
753
754
|
let firstGroup;
|
|
754
755
|
if (Array.isArray(segmentGroup)) {
|
|
755
756
|
if (segmentGroup.length === 0) {
|