@fluidframework/sequence 2.0.2 → 2.1.0-276326
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-extractor/api-extractor.legacy.json +4 -0
- package/api-report/sequence.beta.api.md +0 -48
- package/api-report/{sequence.alpha.api.md → sequence.legacy.alpha.api.md} +2 -52
- package/api-report/sequence.public.api.md +0 -48
- package/dist/intervalCollection.d.ts +6 -0
- package/dist/intervalCollection.d.ts.map +1 -1
- package/dist/intervalCollection.js +1 -0
- package/dist/intervalCollection.js.map +1 -1
- package/dist/intervalCollectionMapInterfaces.d.ts +5 -12
- package/dist/intervalCollectionMapInterfaces.d.ts.map +1 -1
- package/dist/intervalCollectionMapInterfaces.js.map +1 -1
- package/dist/intervalIndex/intervalIndex.d.ts +1 -0
- package/dist/intervalIndex/intervalIndex.d.ts.map +1 -1
- package/dist/intervalIndex/intervalIndex.js.map +1 -1
- package/dist/intervalIndex/overlappingIntervalsIndex.d.ts +2 -0
- package/dist/intervalIndex/overlappingIntervalsIndex.d.ts.map +1 -1
- package/dist/intervalIndex/overlappingIntervalsIndex.js +1 -0
- package/dist/intervalIndex/overlappingIntervalsIndex.js.map +1 -1
- package/dist/intervals/intervalUtils.d.ts +8 -0
- package/dist/intervals/intervalUtils.d.ts.map +1 -1
- package/dist/intervals/intervalUtils.js +3 -0
- package/dist/intervals/intervalUtils.js.map +1 -1
- package/dist/intervals/sequenceInterval.d.ts +1 -0
- package/dist/intervals/sequenceInterval.d.ts.map +1 -1
- package/dist/intervals/sequenceInterval.js +1 -0
- package/dist/intervals/sequenceInterval.js.map +1 -1
- package/dist/legacy.d.ts +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/revertibles.d.ts +9 -0
- package/dist/revertibles.d.ts.map +1 -1
- package/dist/revertibles.js +7 -0
- package/dist/revertibles.js.map +1 -1
- package/dist/sequence.d.ts +3 -0
- package/dist/sequence.d.ts.map +1 -1
- package/dist/sequence.js +8 -2
- package/dist/sequence.js.map +1 -1
- package/dist/sequenceDeltaEvent.d.ts +4 -0
- package/dist/sequenceDeltaEvent.d.ts.map +1 -1
- package/dist/sequenceDeltaEvent.js +3 -0
- package/dist/sequenceDeltaEvent.js.map +1 -1
- package/dist/sequenceFactory.d.ts +2 -0
- package/dist/sequenceFactory.d.ts.map +1 -1
- package/dist/sequenceFactory.js +1 -0
- package/dist/sequenceFactory.js.map +1 -1
- package/dist/sharedIntervalCollection.d.ts +1 -0
- package/dist/sharedIntervalCollection.d.ts.map +1 -1
- package/dist/sharedIntervalCollection.js.map +1 -1
- package/dist/sharedString.d.ts +3 -0
- package/dist/sharedString.d.ts.map +1 -1
- package/dist/sharedString.js +1 -0
- package/dist/sharedString.js.map +1 -1
- package/lib/intervalCollection.d.ts +6 -0
- package/lib/intervalCollection.d.ts.map +1 -1
- package/lib/intervalCollection.js +1 -0
- package/lib/intervalCollection.js.map +1 -1
- package/lib/intervalCollectionMapInterfaces.d.ts +5 -12
- package/lib/intervalCollectionMapInterfaces.d.ts.map +1 -1
- package/lib/intervalCollectionMapInterfaces.js.map +1 -1
- package/lib/intervalIndex/intervalIndex.d.ts +1 -0
- package/lib/intervalIndex/intervalIndex.d.ts.map +1 -1
- package/lib/intervalIndex/intervalIndex.js.map +1 -1
- package/lib/intervalIndex/overlappingIntervalsIndex.d.ts +2 -0
- package/lib/intervalIndex/overlappingIntervalsIndex.d.ts.map +1 -1
- package/lib/intervalIndex/overlappingIntervalsIndex.js +1 -0
- package/lib/intervalIndex/overlappingIntervalsIndex.js.map +1 -1
- package/lib/intervals/intervalUtils.d.ts +8 -0
- package/lib/intervals/intervalUtils.d.ts.map +1 -1
- package/lib/intervals/intervalUtils.js +3 -0
- package/lib/intervals/intervalUtils.js.map +1 -1
- package/lib/intervals/sequenceInterval.d.ts +1 -0
- package/lib/intervals/sequenceInterval.d.ts.map +1 -1
- package/lib/intervals/sequenceInterval.js +1 -0
- package/lib/intervals/sequenceInterval.js.map +1 -1
- package/lib/legacy.d.ts +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/revertibles.d.ts +9 -0
- package/lib/revertibles.d.ts.map +1 -1
- package/lib/revertibles.js +7 -0
- package/lib/revertibles.js.map +1 -1
- package/lib/sequence.d.ts +3 -0
- package/lib/sequence.d.ts.map +1 -1
- package/lib/sequence.js +9 -3
- package/lib/sequence.js.map +1 -1
- package/lib/sequenceDeltaEvent.d.ts +4 -0
- package/lib/sequenceDeltaEvent.d.ts.map +1 -1
- package/lib/sequenceDeltaEvent.js +3 -0
- package/lib/sequenceDeltaEvent.js.map +1 -1
- package/lib/sequenceFactory.d.ts +2 -0
- package/lib/sequenceFactory.d.ts.map +1 -1
- package/lib/sequenceFactory.js +1 -0
- package/lib/sequenceFactory.js.map +1 -1
- package/lib/sharedIntervalCollection.d.ts +1 -0
- package/lib/sharedIntervalCollection.d.ts.map +1 -1
- package/lib/sharedIntervalCollection.js.map +1 -1
- package/lib/sharedString.d.ts +3 -0
- package/lib/sharedString.d.ts.map +1 -1
- package/lib/sharedString.js +1 -0
- package/lib/sharedString.js.map +1 -1
- package/package.json +27 -76
- package/src/intervalCollection.ts +6 -0
- package/src/intervalCollectionMapInterfaces.ts +9 -12
- package/src/intervalIndex/intervalIndex.ts +1 -0
- package/src/intervalIndex/overlappingIntervalsIndex.ts +2 -0
- package/src/intervals/intervalUtils.ts +8 -0
- package/src/intervals/sequenceInterval.ts +1 -0
- package/src/packageVersion.ts +1 -1
- package/src/revertibles.ts +9 -0
- package/src/sequence.ts +27 -4
- package/src/sequenceDeltaEvent.ts +4 -0
- package/src/sequenceFactory.ts +2 -0
- package/src/sharedIntervalCollection.ts +1 -0
- package/src/sharedString.ts +3 -0
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
import { IEventThisPlaceHolder } from "@fluidframework/core-interfaces";
|
|
7
7
|
import { ISequencedDocumentMessage } from "@fluidframework/driver-definitions/internal";
|
|
8
|
+
import type { IMergeTreeOptions } from "@fluidframework/merge-tree/internal";
|
|
8
9
|
import { ISharedObjectEvents } from "@fluidframework/shared-object-base/internal";
|
|
9
10
|
|
|
10
11
|
import type { IntervalCollection } from "./intervalCollection.js";
|
|
@@ -63,7 +64,11 @@ export interface IMapMessageLocalMetadata {
|
|
|
63
64
|
* Optional flags that configure options for sequence DDSs
|
|
64
65
|
* @internal
|
|
65
66
|
*/
|
|
66
|
-
export interface SequenceOptions
|
|
67
|
+
export interface SequenceOptions
|
|
68
|
+
extends Pick<
|
|
69
|
+
IMergeTreeOptions,
|
|
70
|
+
"mergeTreeReferencesCanSlideToEndpoint" | "mergeTreeEnableObliterate"
|
|
71
|
+
> {
|
|
67
72
|
/**
|
|
68
73
|
* Enable the ability to use interval APIs that rely on positions before and
|
|
69
74
|
* after individual characters, referred to as "sides". See {@link SequencePlace}
|
|
@@ -78,21 +83,11 @@ export interface SequenceOptions {
|
|
|
78
83
|
* The default value is false.
|
|
79
84
|
*/
|
|
80
85
|
intervalStickinessEnabled: boolean;
|
|
81
|
-
/**
|
|
82
|
-
* Enable the ability for interval endpoints to slide to the special endpoint
|
|
83
|
-
* segments that exist before and after the bounds of the string. This is
|
|
84
|
-
* primarily useful for workflows involving interval stickiness, and it is
|
|
85
|
-
* suggested to enable both this flag and `intervalStickinessEnabled` at the
|
|
86
|
-
* same time.
|
|
87
|
-
*
|
|
88
|
-
* The default value is false.
|
|
89
|
-
*/
|
|
90
|
-
mergeTreeReferencesCanSlideToEndpoint: boolean;
|
|
91
|
-
[key: string]: boolean;
|
|
92
86
|
}
|
|
93
87
|
|
|
94
88
|
/**
|
|
95
89
|
* A value factory is used to serialize/deserialize value types to a map
|
|
90
|
+
* @legacy
|
|
96
91
|
* @alpha
|
|
97
92
|
*/
|
|
98
93
|
export interface IIntervalCollectionFactory<T extends ISerializableInterval> {
|
|
@@ -120,6 +115,7 @@ export interface IIntervalCollectionFactory<T extends ISerializableInterval> {
|
|
|
120
115
|
|
|
121
116
|
/**
|
|
122
117
|
* Defines an operation that a value type is able to handle.
|
|
118
|
+
* @legacy
|
|
123
119
|
* @alpha
|
|
124
120
|
*/
|
|
125
121
|
export interface IIntervalCollectionOperation<T extends ISerializableInterval> {
|
|
@@ -228,6 +224,7 @@ export interface ISerializedIntervalCollection {
|
|
|
228
224
|
* value is whatever params the ValueType needs to complete that operation. Similar to ISerializableValue, it is
|
|
229
225
|
* serializable via JSON.stringify/parse but differs in that it has no equivalency with an in-memory value - rather
|
|
230
226
|
* it just describes an operation to be applied to an already-in-memory value.
|
|
227
|
+
* @legacy
|
|
231
228
|
* @alpha
|
|
232
229
|
*/
|
|
233
230
|
export interface IIntervalCollectionTypeOperationValue {
|
|
@@ -13,6 +13,7 @@ import { ISerializableInterval } from "../intervals/index.js";
|
|
|
13
13
|
* - "find all intervals with start endpoint between these two points"
|
|
14
14
|
* - "find all intervals which overlap this range"
|
|
15
15
|
* etc.
|
|
16
|
+
* @legacy
|
|
16
17
|
* @alpha
|
|
17
18
|
*/
|
|
18
19
|
export interface IntervalIndex<TInterval extends ISerializableInterval> {
|
|
@@ -21,6 +21,7 @@ import { ISharedString } from "../sharedString.js";
|
|
|
21
21
|
import { IntervalIndex } from "./intervalIndex.js";
|
|
22
22
|
|
|
23
23
|
/**
|
|
24
|
+
* @legacy
|
|
24
25
|
* @alpha
|
|
25
26
|
*/
|
|
26
27
|
export interface IOverlappingIntervalsIndex<TInterval extends ISerializableInterval>
|
|
@@ -179,6 +180,7 @@ export class OverlappingIntervalsIndex<TInterval extends ISerializableInterval>
|
|
|
179
180
|
}
|
|
180
181
|
|
|
181
182
|
/**
|
|
183
|
+
* @legacy
|
|
182
184
|
* @alpha
|
|
183
185
|
*/
|
|
184
186
|
export function createOverlappingIntervalsIndex(
|
|
@@ -18,6 +18,7 @@ import { SequencePlace, Side } from "../intervalCollection.js";
|
|
|
18
18
|
|
|
19
19
|
/**
|
|
20
20
|
* Basic interval abstraction
|
|
21
|
+
* @legacy
|
|
21
22
|
* @alpha
|
|
22
23
|
*/
|
|
23
24
|
export interface IInterval {
|
|
@@ -84,6 +85,7 @@ export type IntervalDeltaOpType =
|
|
|
84
85
|
|
|
85
86
|
/**
|
|
86
87
|
* Values are used in revertibles.
|
|
88
|
+
* @legacy
|
|
87
89
|
* @alpha
|
|
88
90
|
*/
|
|
89
91
|
export const IntervalOpType = {
|
|
@@ -92,11 +94,13 @@ export const IntervalOpType = {
|
|
|
92
94
|
POSITION_REMOVE: "positionRemove",
|
|
93
95
|
} as const;
|
|
94
96
|
/**
|
|
97
|
+
* @legacy
|
|
95
98
|
* @alpha
|
|
96
99
|
*/
|
|
97
100
|
export type IntervalOpType = (typeof IntervalOpType)[keyof typeof IntervalOpType];
|
|
98
101
|
|
|
99
102
|
/**
|
|
103
|
+
* @legacy
|
|
100
104
|
* @alpha
|
|
101
105
|
*/
|
|
102
106
|
export enum IntervalType {
|
|
@@ -120,6 +124,7 @@ export enum IntervalType {
|
|
|
120
124
|
/**
|
|
121
125
|
* Serialized object representation of an interval.
|
|
122
126
|
* This representation is used for ops that create or change intervals.
|
|
127
|
+
* @legacy
|
|
123
128
|
* @alpha
|
|
124
129
|
*/
|
|
125
130
|
export interface ISerializedInterval {
|
|
@@ -148,6 +153,7 @@ export interface ISerializedInterval {
|
|
|
148
153
|
}
|
|
149
154
|
|
|
150
155
|
/**
|
|
156
|
+
* @legacy
|
|
151
157
|
* @alpha
|
|
152
158
|
*/
|
|
153
159
|
export interface ISerializableInterval extends IInterval {
|
|
@@ -253,6 +259,7 @@ export interface IIntervalHelpers<TInterval extends ISerializableInterval> {
|
|
|
253
259
|
* Note that interval stickiness is currently an experimental feature and must
|
|
254
260
|
* be explicitly enabled with the `intervalStickinessEnabled` flag
|
|
255
261
|
*
|
|
262
|
+
* @legacy
|
|
256
263
|
* @alpha
|
|
257
264
|
*/
|
|
258
265
|
export const IntervalStickiness = {
|
|
@@ -285,6 +292,7 @@ export const IntervalStickiness = {
|
|
|
285
292
|
*
|
|
286
293
|
* Note that interval stickiness is currently an experimental feature and must
|
|
287
294
|
* be explicitly enabled with the `intervalStickinessEnabled` flag
|
|
295
|
+
* @legacy
|
|
288
296
|
* @alpha
|
|
289
297
|
*/
|
|
290
298
|
export type IntervalStickiness = (typeof IntervalStickiness)[keyof typeof IntervalStickiness];
|
|
@@ -100,6 +100,7 @@ function maxSide(sideA: Side, sideB: Side): Side {
|
|
|
100
100
|
* `mergeTreeReferencesCanSlideToEndpoint` feature flag set to true, the endpoints
|
|
101
101
|
* of the interval that are exclusive will have the ability to slide to these
|
|
102
102
|
* special endpoint segments.
|
|
103
|
+
* @legacy
|
|
103
104
|
* @alpha
|
|
104
105
|
*/
|
|
105
106
|
export class SequenceInterval implements ISerializableInterval {
|
package/src/packageVersion.ts
CHANGED
package/src/revertibles.ts
CHANGED
|
@@ -30,6 +30,7 @@ import { ISharedString, SharedStringSegment } from "./sharedString.js";
|
|
|
30
30
|
|
|
31
31
|
/**
|
|
32
32
|
* Data for undoing edits on SharedStrings and Intervals.
|
|
33
|
+
* @legacy
|
|
33
34
|
* @alpha
|
|
34
35
|
*/
|
|
35
36
|
export type SharedStringRevertible = MergeTreeDeltaRevertible | IntervalRevertible;
|
|
@@ -38,6 +39,7 @@ const idMap = new Map<string, string>();
|
|
|
38
39
|
|
|
39
40
|
/**
|
|
40
41
|
* Data for undoing edits affecting Intervals.
|
|
42
|
+
* @legacy
|
|
41
43
|
* @alpha
|
|
42
44
|
*/
|
|
43
45
|
export type IntervalRevertible =
|
|
@@ -94,6 +96,7 @@ function getUpdatedId(intervalId: string): string {
|
|
|
94
96
|
|
|
95
97
|
/**
|
|
96
98
|
* Create revertibles for adding an interval
|
|
99
|
+
* @legacy
|
|
97
100
|
* @alpha
|
|
98
101
|
*/
|
|
99
102
|
export function appendAddIntervalToRevertibles(
|
|
@@ -110,6 +113,7 @@ export function appendAddIntervalToRevertibles(
|
|
|
110
113
|
|
|
111
114
|
/**
|
|
112
115
|
* Create revertibles for deleting an interval
|
|
116
|
+
* @legacy
|
|
113
117
|
* @alpha
|
|
114
118
|
*/
|
|
115
119
|
export function appendDeleteIntervalToRevertibles(
|
|
@@ -162,6 +166,7 @@ export function appendDeleteIntervalToRevertibles(
|
|
|
162
166
|
|
|
163
167
|
/**
|
|
164
168
|
* Create revertibles for moving endpoints of an interval
|
|
169
|
+
* @legacy
|
|
165
170
|
* @alpha
|
|
166
171
|
*/
|
|
167
172
|
export function appendChangeIntervalToRevertibles(
|
|
@@ -212,6 +217,7 @@ export function appendChangeIntervalToRevertibles(
|
|
|
212
217
|
|
|
213
218
|
/**
|
|
214
219
|
* Create revertibles for changing properties of an interval
|
|
220
|
+
* @legacy
|
|
215
221
|
* @alpha
|
|
216
222
|
*/
|
|
217
223
|
export function appendIntervalPropertyChangedToRevertibles(
|
|
@@ -272,6 +278,7 @@ function addIfRevertibleRef(
|
|
|
272
278
|
/**
|
|
273
279
|
* Create revertibles for SharedStringDeltas, handling indirectly modified intervals
|
|
274
280
|
* (e.g. reverting remove of a range that contains an interval will move the interval back)
|
|
281
|
+
* @legacy
|
|
275
282
|
* @alpha
|
|
276
283
|
*/
|
|
277
284
|
export function appendSharedStringDeltaToRevertibles(
|
|
@@ -368,6 +375,7 @@ export function appendSharedStringDeltaToRevertibles(
|
|
|
368
375
|
|
|
369
376
|
/**
|
|
370
377
|
* Clean up resources held by revertibles that are no longer needed.
|
|
378
|
+
* @legacy
|
|
371
379
|
* @alpha
|
|
372
380
|
*/
|
|
373
381
|
export function discardSharedStringRevertibles(
|
|
@@ -662,6 +670,7 @@ function revertLocalSequenceRemove(
|
|
|
662
670
|
|
|
663
671
|
/**
|
|
664
672
|
* Invoke revertibles to reverse prior edits
|
|
673
|
+
* @legacy
|
|
665
674
|
* @alpha
|
|
666
675
|
*/
|
|
667
676
|
export function revertSharedStringRevertibles(
|
package/src/sequence.ts
CHANGED
|
@@ -61,7 +61,12 @@ import {
|
|
|
61
61
|
SharedObject,
|
|
62
62
|
type ISharedObject,
|
|
63
63
|
} from "@fluidframework/shared-object-base/internal";
|
|
64
|
-
import {
|
|
64
|
+
import {
|
|
65
|
+
LoggingError,
|
|
66
|
+
createChildLogger,
|
|
67
|
+
createConfigBasedOptionsProxy,
|
|
68
|
+
loggerToMonitoringContext,
|
|
69
|
+
} from "@fluidframework/telemetry-utils/internal";
|
|
65
70
|
import Deque from "double-ended-queue";
|
|
66
71
|
|
|
67
72
|
import {
|
|
@@ -69,7 +74,11 @@ import {
|
|
|
69
74
|
SequenceIntervalCollectionValueType,
|
|
70
75
|
} from "./intervalCollection.js";
|
|
71
76
|
import { IMapOperation, IntervalCollectionMap } from "./intervalCollectionMap.js";
|
|
72
|
-
import {
|
|
77
|
+
import {
|
|
78
|
+
IMapMessageLocalMetadata,
|
|
79
|
+
IValueChanged,
|
|
80
|
+
type SequenceOptions,
|
|
81
|
+
} from "./intervalCollectionMapInterfaces.js";
|
|
73
82
|
import { SequenceInterval } from "./intervals/index.js";
|
|
74
83
|
import { SequenceDeltaEvent, SequenceMaintenanceEvent } from "./sequenceDeltaEvent.js";
|
|
75
84
|
import { ISharedIntervalCollection } from "./sharedIntervalCollection.js";
|
|
@@ -109,6 +118,7 @@ const contentPath = "content";
|
|
|
109
118
|
* - `event` - Various information on the segments that were modified.
|
|
110
119
|
*
|
|
111
120
|
* - `target` - The sequence itself.
|
|
121
|
+
* @legacy
|
|
112
122
|
* @alpha
|
|
113
123
|
*/
|
|
114
124
|
export interface ISharedSegmentSequenceEvents extends ISharedObjectEvents {
|
|
@@ -127,6 +137,7 @@ export interface ISharedSegmentSequenceEvents extends ISharedObjectEvents {
|
|
|
127
137
|
}
|
|
128
138
|
|
|
129
139
|
/**
|
|
140
|
+
* @legacy
|
|
130
141
|
* @alpha
|
|
131
142
|
*/
|
|
132
143
|
export interface ISharedSegmentSequence<T extends ISegment>
|
|
@@ -332,6 +343,7 @@ export interface ISharedSegmentSequence<T extends ISegment>
|
|
|
332
343
|
}
|
|
333
344
|
|
|
334
345
|
/**
|
|
346
|
+
* @legacy
|
|
335
347
|
* @alpha
|
|
336
348
|
*/
|
|
337
349
|
export abstract class SharedSegmentSequence<T extends ISegment>
|
|
@@ -478,6 +490,17 @@ export abstract class SharedSegmentSequence<T extends ISegment>
|
|
|
478
490
|
}
|
|
479
491
|
});
|
|
480
492
|
|
|
493
|
+
const options = createConfigBasedOptionsProxy<SequenceOptions>(
|
|
494
|
+
loggerToMonitoringContext(this.logger).config,
|
|
495
|
+
"Fluid.Sequence",
|
|
496
|
+
{
|
|
497
|
+
mergeTreeEnableObliterate: (c, n) => c.getBoolean(n),
|
|
498
|
+
intervalStickinessEnabled: (c, n) => c.getBoolean(n),
|
|
499
|
+
mergeTreeReferencesCanSlideToEndpoint: (c, n) => c.getBoolean(n),
|
|
500
|
+
},
|
|
501
|
+
dataStoreRuntime.options,
|
|
502
|
+
);
|
|
503
|
+
|
|
481
504
|
// eslint-disable-next-line import/no-deprecated
|
|
482
505
|
this.client = new Client(
|
|
483
506
|
segmentFromSpec,
|
|
@@ -485,7 +508,7 @@ export abstract class SharedSegmentSequence<T extends ISegment>
|
|
|
485
508
|
logger: this.logger,
|
|
486
509
|
namespace: "SharedSegmentSequence.MergeTreeClient",
|
|
487
510
|
}),
|
|
488
|
-
|
|
511
|
+
options,
|
|
489
512
|
getMinInFlightRefSeq,
|
|
490
513
|
);
|
|
491
514
|
|
|
@@ -513,7 +536,7 @@ export abstract class SharedSegmentSequence<T extends ISegment>
|
|
|
513
536
|
this.submitLocalMessage(op, localOpMetadata);
|
|
514
537
|
},
|
|
515
538
|
new SequenceIntervalCollectionValueType(),
|
|
516
|
-
|
|
539
|
+
options,
|
|
517
540
|
);
|
|
518
541
|
}
|
|
519
542
|
|
|
@@ -24,6 +24,7 @@ import {
|
|
|
24
24
|
* The properties of this object and its sub-objects represent the state of the sequence at the
|
|
25
25
|
* point in time at which the operation was applied.
|
|
26
26
|
* They will not take into any future modifications performed to the underlying sequence and merge tree.
|
|
27
|
+
* @legacy
|
|
27
28
|
* @alpha
|
|
28
29
|
*/
|
|
29
30
|
export abstract class SequenceEvent<
|
|
@@ -117,6 +118,7 @@ export abstract class SequenceEvent<
|
|
|
117
118
|
* For group ops, each op will get its own event, and the group op property will be set on the op args.
|
|
118
119
|
*
|
|
119
120
|
* Ops may get multiple events. For instance, an insert-replace will get a remove then an insert event.
|
|
121
|
+
* @legacy
|
|
120
122
|
* @alpha
|
|
121
123
|
*/
|
|
122
124
|
export class SequenceDeltaEvent extends SequenceEvent<MergeTreeDeltaOperationType> {
|
|
@@ -142,6 +144,7 @@ export class SequenceDeltaEvent extends SequenceEvent<MergeTreeDeltaOperationTyp
|
|
|
142
144
|
* The properties of this object and its sub-objects represent the state of the sequence at the
|
|
143
145
|
* point in time at which the operation was applied.
|
|
144
146
|
* They will not take into consideration any future modifications performed to the underlying sequence and merge tree.
|
|
147
|
+
* @legacy
|
|
145
148
|
* @alpha
|
|
146
149
|
*/
|
|
147
150
|
export class SequenceMaintenanceEvent extends SequenceEvent<MergeTreeMaintenanceType> {
|
|
@@ -162,6 +165,7 @@ export class SequenceMaintenanceEvent extends SequenceEvent<MergeTreeMaintenance
|
|
|
162
165
|
|
|
163
166
|
/**
|
|
164
167
|
* A range that has changed corresponding to a segment modification.
|
|
168
|
+
* @legacy
|
|
165
169
|
* @alpha
|
|
166
170
|
*/
|
|
167
171
|
export interface ISequenceDeltaRange<
|
package/src/sequenceFactory.ts
CHANGED
|
@@ -74,12 +74,14 @@ export class SharedStringFactory implements IChannelFactory<ISharedString> {
|
|
|
74
74
|
|
|
75
75
|
/**
|
|
76
76
|
* Entrypoint for {@link ISharedString} creation.
|
|
77
|
+
* @legacy
|
|
77
78
|
* @alpha
|
|
78
79
|
*/
|
|
79
80
|
export const SharedString = createSharedObjectKind<ISharedString>(SharedStringFactory);
|
|
80
81
|
|
|
81
82
|
/**
|
|
82
83
|
* Alias for {@link ISharedString} for compatibility.
|
|
84
|
+
* @legacy
|
|
83
85
|
* @alpha
|
|
84
86
|
*/
|
|
85
87
|
export type SharedString = ISharedString;
|
package/src/sharedString.ts
CHANGED
|
@@ -25,6 +25,7 @@ import { SharedStringFactory } from "./sequenceFactory.js";
|
|
|
25
25
|
|
|
26
26
|
/**
|
|
27
27
|
* Fluid object interface describing access methods on a SharedString
|
|
28
|
+
* @legacy
|
|
28
29
|
* @alpha
|
|
29
30
|
*/
|
|
30
31
|
export interface ISharedString extends ISharedSegmentSequence<SharedStringSegment> {
|
|
@@ -125,6 +126,7 @@ export interface ISharedString extends ISharedSegmentSequence<SharedStringSegmen
|
|
|
125
126
|
}
|
|
126
127
|
|
|
127
128
|
/**
|
|
129
|
+
* @legacy
|
|
128
130
|
* @alpha
|
|
129
131
|
*/
|
|
130
132
|
export type SharedStringSegment = TextSegment | Marker;
|
|
@@ -137,6 +139,7 @@ export type SharedStringSegment = TextSegment | Marker;
|
|
|
137
139
|
* In addition to text, a Shared String can also contain markers. Markers can be
|
|
138
140
|
* used to store metadata at positions within the text, like the details of an
|
|
139
141
|
* image or Fluid object that should be rendered with the text.
|
|
142
|
+
* @legacy
|
|
140
143
|
* @alpha
|
|
141
144
|
*/
|
|
142
145
|
export class SharedStringClass
|