@fluidframework/sequence 2.0.0-dev.7.4.0.215747 → 2.0.0-dev.7.4.0.216897

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.
Files changed (168) hide show
  1. package/api-extractor-lint.json +13 -0
  2. package/api-report/sequence.api.md +68 -78
  3. package/dist/defaultMapInterfaces.d.ts +1 -2
  4. package/dist/defaultMapInterfaces.d.ts.map +1 -1
  5. package/dist/defaultMapInterfaces.js.map +1 -1
  6. package/dist/intervalCollection.d.ts +8 -8
  7. package/dist/intervalCollection.js +2 -2
  8. package/dist/intervalCollection.js.map +1 -1
  9. package/dist/intervalIndex/endpointInRangeIndex.d.ts +2 -2
  10. package/dist/intervalIndex/endpointInRangeIndex.js +1 -1
  11. package/dist/intervalIndex/endpointInRangeIndex.js.map +1 -1
  12. package/dist/intervalIndex/endpointIndex.d.ts +2 -2
  13. package/dist/intervalIndex/endpointIndex.js +1 -1
  14. package/dist/intervalIndex/endpointIndex.js.map +1 -1
  15. package/dist/intervalIndex/idIntervalIndex.d.ts +2 -2
  16. package/dist/intervalIndex/idIntervalIndex.js +1 -1
  17. package/dist/intervalIndex/idIntervalIndex.js.map +1 -1
  18. package/dist/intervalIndex/intervalIndex.d.ts +1 -1
  19. package/dist/intervalIndex/intervalIndex.js.map +1 -1
  20. package/dist/intervalIndex/overlappingIntervalsIndex.d.ts +2 -2
  21. package/dist/intervalIndex/overlappingIntervalsIndex.js +1 -1
  22. package/dist/intervalIndex/overlappingIntervalsIndex.js.map +1 -1
  23. package/dist/intervalIndex/overlappingSequenceIntervalsIndex.d.ts +1 -1
  24. package/dist/intervalIndex/overlappingSequenceIntervalsIndex.js +1 -1
  25. package/dist/intervalIndex/overlappingSequenceIntervalsIndex.js.map +1 -1
  26. package/dist/intervalIndex/sequenceIntervalIndexes.d.ts +2 -1
  27. package/dist/intervalIndex/sequenceIntervalIndexes.d.ts.map +1 -1
  28. package/dist/intervalIndex/sequenceIntervalIndexes.js.map +1 -1
  29. package/dist/intervalIndex/startpointInRangeIndex.d.ts +2 -2
  30. package/dist/intervalIndex/startpointInRangeIndex.js +1 -1
  31. package/dist/intervalIndex/startpointInRangeIndex.js.map +1 -1
  32. package/dist/intervals/interval.d.ts +2 -7
  33. package/dist/intervals/interval.d.ts.map +1 -1
  34. package/dist/intervals/interval.js +1 -5
  35. package/dist/intervals/interval.js.map +1 -1
  36. package/dist/intervals/intervalUtils.d.ts +9 -11
  37. package/dist/intervals/intervalUtils.d.ts.map +1 -1
  38. package/dist/intervals/intervalUtils.js +2 -2
  39. package/dist/intervals/intervalUtils.js.map +1 -1
  40. package/dist/intervals/sequenceInterval.d.ts +3 -12
  41. package/dist/intervals/sequenceInterval.d.ts.map +1 -1
  42. package/dist/intervals/sequenceInterval.js +3 -11
  43. package/dist/intervals/sequenceInterval.js.map +1 -1
  44. package/dist/packageVersion.d.ts +1 -1
  45. package/dist/packageVersion.js +1 -1
  46. package/dist/packageVersion.js.map +1 -1
  47. package/dist/revertibles.d.ts +9 -13
  48. package/dist/revertibles.d.ts.map +1 -1
  49. package/dist/revertibles.js +7 -9
  50. package/dist/revertibles.js.map +1 -1
  51. package/dist/sequence-alpha.d.ts +141 -1540
  52. package/dist/sequence-beta.d.ts +128 -1442
  53. package/dist/sequence-public.d.ts +128 -1442
  54. package/dist/sequence-untrimmed.d.ts +63 -85
  55. package/dist/sequence.d.ts +2 -3
  56. package/dist/sequence.d.ts.map +1 -1
  57. package/dist/sequence.js +1 -1
  58. package/dist/sequence.js.map +1 -1
  59. package/dist/sequenceDeltaEvent.d.ts +4 -4
  60. package/dist/sequenceDeltaEvent.js +3 -3
  61. package/dist/sequenceDeltaEvent.js.map +1 -1
  62. package/dist/sequenceFactory.d.ts +1 -1
  63. package/dist/sequenceFactory.js +1 -1
  64. package/dist/sequenceFactory.js.map +1 -1
  65. package/dist/sharedIntervalCollection.d.ts +3 -3
  66. package/dist/sharedIntervalCollection.js +2 -2
  67. package/dist/sharedIntervalCollection.js.map +1 -1
  68. package/dist/sharedSequence.d.ts +3 -3
  69. package/dist/sharedSequence.js +2 -2
  70. package/dist/sharedSequence.js.map +1 -1
  71. package/dist/sharedString.d.ts +4 -5
  72. package/dist/sharedString.d.ts.map +1 -1
  73. package/dist/sharedString.js +2 -3
  74. package/dist/sharedString.js.map +1 -1
  75. package/lib/defaultMapInterfaces.d.ts +1 -2
  76. package/lib/defaultMapInterfaces.d.ts.map +1 -1
  77. package/lib/defaultMapInterfaces.js.map +1 -1
  78. package/lib/intervalCollection.d.ts +8 -8
  79. package/lib/intervalCollection.js +2 -2
  80. package/lib/intervalCollection.js.map +1 -1
  81. package/lib/intervalIndex/endpointInRangeIndex.d.ts +2 -2
  82. package/lib/intervalIndex/endpointInRangeIndex.js +1 -1
  83. package/lib/intervalIndex/endpointInRangeIndex.js.map +1 -1
  84. package/lib/intervalIndex/endpointIndex.d.ts +2 -2
  85. package/lib/intervalIndex/endpointIndex.js +1 -1
  86. package/lib/intervalIndex/endpointIndex.js.map +1 -1
  87. package/lib/intervalIndex/idIntervalIndex.d.ts +2 -2
  88. package/lib/intervalIndex/idIntervalIndex.js +1 -1
  89. package/lib/intervalIndex/idIntervalIndex.js.map +1 -1
  90. package/lib/intervalIndex/intervalIndex.d.ts +1 -1
  91. package/lib/intervalIndex/intervalIndex.js.map +1 -1
  92. package/lib/intervalIndex/overlappingIntervalsIndex.d.ts +2 -2
  93. package/lib/intervalIndex/overlappingIntervalsIndex.js +1 -1
  94. package/lib/intervalIndex/overlappingIntervalsIndex.js.map +1 -1
  95. package/lib/intervalIndex/overlappingSequenceIntervalsIndex.d.ts +1 -1
  96. package/lib/intervalIndex/overlappingSequenceIntervalsIndex.js +1 -1
  97. package/lib/intervalIndex/overlappingSequenceIntervalsIndex.js.map +1 -1
  98. package/lib/intervalIndex/sequenceIntervalIndexes.d.ts +2 -1
  99. package/lib/intervalIndex/sequenceIntervalIndexes.d.ts.map +1 -1
  100. package/lib/intervalIndex/sequenceIntervalIndexes.js.map +1 -1
  101. package/lib/intervalIndex/startpointInRangeIndex.d.ts +2 -2
  102. package/lib/intervalIndex/startpointInRangeIndex.js +1 -1
  103. package/lib/intervalIndex/startpointInRangeIndex.js.map +1 -1
  104. package/lib/intervals/interval.d.ts +2 -7
  105. package/lib/intervals/interval.d.ts.map +1 -1
  106. package/lib/intervals/interval.js +1 -5
  107. package/lib/intervals/interval.js.map +1 -1
  108. package/lib/intervals/intervalUtils.d.ts +9 -11
  109. package/lib/intervals/intervalUtils.d.ts.map +1 -1
  110. package/lib/intervals/intervalUtils.js +2 -2
  111. package/lib/intervals/intervalUtils.js.map +1 -1
  112. package/lib/intervals/sequenceInterval.d.ts +3 -12
  113. package/lib/intervals/sequenceInterval.d.ts.map +1 -1
  114. package/lib/intervals/sequenceInterval.js +3 -11
  115. package/lib/intervals/sequenceInterval.js.map +1 -1
  116. package/lib/packageVersion.d.ts +1 -1
  117. package/lib/packageVersion.js +1 -1
  118. package/lib/packageVersion.js.map +1 -1
  119. package/lib/revertibles.d.ts +9 -13
  120. package/lib/revertibles.d.ts.map +1 -1
  121. package/lib/revertibles.js +7 -9
  122. package/lib/revertibles.js.map +1 -1
  123. package/lib/sequence-alpha.d.ts +141 -1540
  124. package/lib/sequence-beta.d.ts +128 -1442
  125. package/lib/sequence-public.d.ts +128 -1442
  126. package/lib/sequence-untrimmed.d.ts +63 -85
  127. package/lib/sequence.d.ts +2 -3
  128. package/lib/sequence.d.ts.map +1 -1
  129. package/lib/sequence.js +1 -1
  130. package/lib/sequence.js.map +1 -1
  131. package/lib/sequenceDeltaEvent.d.ts +4 -4
  132. package/lib/sequenceDeltaEvent.js +3 -3
  133. package/lib/sequenceDeltaEvent.js.map +1 -1
  134. package/lib/sequenceFactory.d.ts +1 -1
  135. package/lib/sequenceFactory.js +1 -1
  136. package/lib/sequenceFactory.js.map +1 -1
  137. package/lib/sharedIntervalCollection.d.ts +3 -3
  138. package/lib/sharedIntervalCollection.js +2 -2
  139. package/lib/sharedIntervalCollection.js.map +1 -1
  140. package/lib/sharedSequence.d.ts +3 -3
  141. package/lib/sharedSequence.js +2 -2
  142. package/lib/sharedSequence.js.map +1 -1
  143. package/lib/sharedString.d.ts +4 -5
  144. package/lib/sharedString.d.ts.map +1 -1
  145. package/lib/sharedString.js +2 -3
  146. package/lib/sharedString.js.map +1 -1
  147. package/package.json +16 -15
  148. package/src/defaultMapInterfaces.ts +1 -2
  149. package/src/intervalCollection.ts +8 -8
  150. package/src/intervalIndex/endpointInRangeIndex.ts +2 -2
  151. package/src/intervalIndex/endpointIndex.ts +2 -2
  152. package/src/intervalIndex/idIntervalIndex.ts +2 -2
  153. package/src/intervalIndex/intervalIndex.ts +1 -1
  154. package/src/intervalIndex/overlappingIntervalsIndex.ts +2 -2
  155. package/src/intervalIndex/overlappingSequenceIntervalsIndex.ts +1 -1
  156. package/src/intervalIndex/sequenceIntervalIndexes.ts +2 -1
  157. package/src/intervalIndex/startpointInRangeIndex.ts +2 -2
  158. package/src/intervals/interval.ts +2 -7
  159. package/src/intervals/intervalUtils.ts +9 -11
  160. package/src/intervals/sequenceInterval.ts +3 -12
  161. package/src/packageVersion.ts +1 -1
  162. package/src/revertibles.ts +9 -13
  163. package/src/sequence.ts +2 -3
  164. package/src/sequenceDeltaEvent.ts +4 -4
  165. package/src/sequenceFactory.ts +1 -1
  166. package/src/sharedIntervalCollection.ts +3 -3
  167. package/src/sharedSequence.ts +3 -3
  168. package/src/sharedString.ts +4 -5
@@ -0,0 +1,13 @@
1
+ {
2
+ "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
3
+ "extends": "../../../common/build/build-common/api-extractor-lint.json",
4
+ "messages": {
5
+ "extractorMessageReporting": {
6
+ // TODO: remove once base config has this enabled as an error
7
+ "ae-incompatible-release-tags": {
8
+ "logLevel": "error",
9
+ "addToApiReportFile": false
10
+ }
11
+ }
12
+ }
13
+ }
@@ -50,52 +50,52 @@ import { SummarySerializer } from '@fluidframework/shared-object-base';
50
50
  import { TextSegment } from '@fluidframework/merge-tree';
51
51
  import { TypedEventEmitter } from '@fluid-internal/client-utils';
52
52
 
53
- // @alpha
53
+ // @internal
54
54
  export function appendAddIntervalToRevertibles(interval: SequenceInterval, revertibles: SharedStringRevertible[]): SharedStringRevertible[];
55
55
 
56
- // @alpha
56
+ // @internal
57
57
  export function appendChangeIntervalToRevertibles(string: SharedString, newInterval: SequenceInterval, previousInterval: SequenceInterval, revertibles: SharedStringRevertible[]): SharedStringRevertible[];
58
58
 
59
- // @alpha
59
+ // @internal
60
60
  export function appendDeleteIntervalToRevertibles(string: SharedString, interval: SequenceInterval, revertibles: SharedStringRevertible[]): SharedStringRevertible[];
61
61
 
62
- // @alpha
62
+ // @internal
63
63
  export function appendIntervalPropertyChangedToRevertibles(interval: SequenceInterval, deltas: PropertySet, revertibles: SharedStringRevertible[]): SharedStringRevertible[];
64
64
 
65
- // @alpha
65
+ // @internal
66
66
  export function appendSharedStringDeltaToRevertibles(string: SharedString, delta: SequenceDeltaEvent, revertibles: SharedStringRevertible[]): void;
67
67
 
68
- // @public (undocumented)
68
+ // @internal (undocumented)
69
69
  export function createEndpointIndex(sharedString: SharedString): IEndpointIndex<SequenceInterval>;
70
70
 
71
- // @public (undocumented)
71
+ // @internal (undocumented)
72
72
  export function createEndpointInRangeIndex(sharedString: SharedString): IEndpointInRangeIndex<SequenceInterval>;
73
73
 
74
- // @public (undocumented)
74
+ // @internal (undocumented)
75
75
  export function createIdIntervalIndex<TInterval extends ISerializableInterval>(): IIdIntervalIndex<TInterval>;
76
76
 
77
- // @public (undocumented)
77
+ // @internal (undocumented)
78
78
  export function createOverlappingIntervalsIndex(sharedString: SharedString): IOverlappingIntervalsIndex<SequenceInterval>;
79
79
 
80
- // @public (undocumented)
80
+ // @internal (undocumented)
81
81
  export function createOverlappingSequenceIntervalsIndex(sharedString: SharedString): SequenceIntervalIndexes.Overlapping;
82
82
 
83
- // @public (undocumented)
83
+ // @internal (undocumented)
84
84
  export function createStartpointInRangeIndex(sharedString: SharedString): IStartpointInRangeIndex<SequenceInterval>;
85
85
 
86
- // @public (undocumented)
86
+ // @internal (undocumented)
87
87
  export type DeserializeCallback = (properties: PropertySet) => void;
88
88
 
89
- // @alpha
89
+ // @internal
90
90
  export function discardSharedStringRevertibles(sharedString: SharedString, revertibles: SharedStringRevertible[]): void;
91
91
 
92
- // @public
92
+ // @internal
93
93
  export function getTextAndMarkers(sharedString: SharedString, label: string, start?: number, end?: number): {
94
94
  parallelText: string[];
95
95
  parallelMarkers: Marker[];
96
96
  };
97
97
 
98
- // @public (undocumented)
98
+ // @internal (undocumented)
99
99
  export interface IEndpointIndex<TInterval extends ISerializableInterval> extends IntervalIndex<TInterval> {
100
100
  // (undocumented)
101
101
  nextInterval(pos: number): TInterval | undefined;
@@ -103,13 +103,13 @@ export interface IEndpointIndex<TInterval extends ISerializableInterval> extends
103
103
  previousInterval(pos: number): TInterval | undefined;
104
104
  }
105
105
 
106
- // @public
106
+ // @internal
107
107
  export interface IEndpointInRangeIndex<TInterval extends ISerializableInterval> extends IntervalIndex<TInterval> {
108
108
  // (undocumented)
109
109
  findIntervalsWithEndpointInRange(start: number, end: number): TInterval[];
110
110
  }
111
111
 
112
- // @public (undocumented)
112
+ // @internal (undocumented)
113
113
  export interface IIdIntervalIndex<TInterval extends ISerializableInterval> extends IntervalIndex<TInterval>, Iterable<TInterval> {
114
114
  // (undocumented)
115
115
  [Symbol.iterator](): Iterator<TInterval>;
@@ -117,22 +117,20 @@ export interface IIdIntervalIndex<TInterval extends ISerializableInterval> exten
117
117
  getIntervalById(id: string): TInterval | undefined;
118
118
  }
119
119
 
120
- // @public
120
+ // @internal
121
121
  export interface IInterval {
122
122
  // (undocumented)
123
123
  clone(): IInterval;
124
124
  compare(b: IInterval): number;
125
125
  compareEnd(b: IInterval): number;
126
126
  compareStart(b: IInterval): number;
127
- // @internal
128
127
  modify(label: string, start: SequencePlace | undefined, end: SequencePlace | undefined, op?: ISequencedDocumentMessage, localSeq?: number, useNewSlidingBehavior?: boolean): IInterval | undefined;
129
128
  // (undocumented)
130
129
  overlaps(b: IInterval): boolean;
131
- // @internal
132
130
  union(b: IInterval): IInterval;
133
131
  }
134
132
 
135
- // @public
133
+ // @internal
136
134
  export interface IIntervalCollection<TInterval extends ISerializableInterval> extends TypedEventEmitter<IIntervalCollectionEvent<TInterval>> {
137
135
  // (undocumented)
138
136
  [Symbol.iterator](): Iterator<TInterval>;
@@ -172,20 +170,20 @@ export interface IIntervalCollection<TInterval extends ISerializableInterval> ex
172
170
  removeIntervalById(id: string): TInterval | undefined;
173
171
  }
174
172
 
175
- // @public
173
+ // @internal
176
174
  export interface IIntervalCollectionEvent<TInterval extends ISerializableInterval> extends IEvent {
177
175
  (event: "changeInterval", listener: (interval: TInterval, previousInterval: TInterval, local: boolean, op: ISequencedDocumentMessage | undefined, slide: boolean) => void): any;
178
176
  (event: "addInterval" | "deleteInterval", listener: (interval: TInterval, local: boolean, op: ISequencedDocumentMessage | undefined) => void): any;
179
177
  (event: "propertyChanged", listener: (interval: TInterval, propertyDeltas: PropertySet, local: boolean, op: ISequencedDocumentMessage | undefined) => void): any;
180
178
  }
181
179
 
182
- // @public @sealed @deprecated (undocumented)
180
+ // @internal @sealed @deprecated (undocumented)
183
181
  export interface IIntervalHelpers<TInterval extends ISerializableInterval> {
184
182
  // (undocumented)
185
183
  create(label: string, start: SequencePlace | undefined, end: SequencePlace | undefined, client: Client | undefined, intervalType: IntervalType, op?: ISequencedDocumentMessage, fromSnapshot?: boolean, useNewSlidingBehavior?: boolean): TInterval;
186
184
  }
187
185
 
188
- // @public @deprecated (undocumented)
186
+ // @internal @deprecated (undocumented)
189
187
  export interface IJSONRunSegment<T> extends IJSONSegment {
190
188
  // (undocumented)
191
189
  items: Serializable<T>[];
@@ -197,7 +195,7 @@ export interface IMapMessageLocalMetadata {
197
195
  localSeq: number;
198
196
  }
199
197
 
200
- // @public
198
+ // @internal
201
199
  export interface InteriorSequencePlace {
202
200
  // (undocumented)
203
201
  pos: number;
@@ -205,13 +203,13 @@ export interface InteriorSequencePlace {
205
203
  side: Side;
206
204
  }
207
205
 
208
- // @public
206
+ // @internal
209
207
  export class Interval implements ISerializableInterval {
210
208
  constructor(start: number, end: number, props?: PropertySet);
211
- // @internal (undocumented)
209
+ // (undocumented)
212
210
  addProperties(newProps: PropertySet, collaborating?: boolean, seq?: number, op?: ICombiningOp): PropertySet | undefined;
213
211
  addPropertySet(props: PropertySet): void;
214
- // @internal (undocumented)
212
+ // (undocumented)
215
213
  auxProps: PropertySet[] | undefined;
216
214
  // (undocumented)
217
215
  clone(): Interval;
@@ -225,37 +223,35 @@ export class Interval implements ISerializableInterval {
225
223
  getIntervalId(): string;
226
224
  // (undocumented)
227
225
  getProperties(): PropertySet;
228
- // @internal
229
226
  modify(label: string, start?: SequencePlace, end?: SequencePlace, op?: ISequencedDocumentMessage): Interval | undefined;
230
227
  // (undocumented)
231
228
  overlaps(b: Interval): boolean;
232
229
  properties: PropertySet;
233
- // @internal (undocumented)
230
+ // (undocumented)
234
231
  propertyManager: PropertiesManager;
235
- // @internal (undocumented)
232
+ // (undocumented)
236
233
  serialize(): ISerializedInterval;
237
234
  // (undocumented)
238
235
  start: number;
239
- // @internal
240
236
  union(b: Interval): Interval;
241
237
  }
242
238
 
243
- // @public
239
+ // @internal
244
240
  export interface IntervalIndex<TInterval extends ISerializableInterval> {
245
241
  add(interval: TInterval): void;
246
242
  remove(interval: TInterval): void;
247
243
  }
248
244
 
249
- // @public
245
+ // @internal
250
246
  export interface IntervalLocator {
251
247
  interval: SequenceInterval;
252
248
  label: string;
253
249
  }
254
250
 
255
- // @public
251
+ // @internal
256
252
  export function intervalLocatorFromEndpoint(potentialEndpoint: LocalReferencePosition): IntervalLocator | undefined;
257
253
 
258
- // @alpha
254
+ // @internal
259
255
  export const IntervalOpType: {
260
256
  readonly ADD: "add";
261
257
  readonly DELETE: "delete";
@@ -264,10 +260,10 @@ export const IntervalOpType: {
264
260
  readonly POSITION_REMOVE: "positionRemove";
265
261
  };
266
262
 
267
- // @alpha (undocumented)
263
+ // @internal (undocumented)
268
264
  export type IntervalOpType = (typeof IntervalOpType)[keyof typeof IntervalOpType];
269
265
 
270
- // @alpha
266
+ // @internal
271
267
  export type IntervalRevertible = {
272
268
  event: typeof IntervalOpType.CHANGE;
273
269
  interval: SequenceInterval;
@@ -312,25 +308,24 @@ export const IntervalStickiness: {
312
308
  // @internal
313
309
  export type IntervalStickiness = (typeof IntervalStickiness)[keyof typeof IntervalStickiness];
314
310
 
315
- // @public (undocumented)
311
+ // @internal (undocumented)
316
312
  export enum IntervalType {
317
313
  // @deprecated (undocumented)
318
314
  Nest = 1,
319
315
  // (undocumented)
320
316
  Simple = 0,
321
317
  SlideOnRemove = 2,
322
- // @internal
323
318
  Transient = 4
324
319
  }
325
320
 
326
- // @public (undocumented)
321
+ // @internal (undocumented)
327
322
  export interface IOverlappingIntervalsIndex<TInterval extends ISerializableInterval> extends IntervalIndex<TInterval> {
328
323
  // (undocumented)
329
324
  findOverlappingIntervals(start: SequencePlace, end: SequencePlace): TInterval[];
330
325
  gatherIterationResults(results: TInterval[], iteratesForward: boolean, start?: SequencePlace, end?: SequencePlace): void;
331
326
  }
332
327
 
333
- // @public
328
+ // @internal
334
329
  export interface ISequenceDeltaRange<TOperation extends MergeTreeDeltaOperationTypes = MergeTreeDeltaOperationTypes> {
335
330
  operation: TOperation;
336
331
  position: number;
@@ -338,15 +333,15 @@ export interface ISequenceDeltaRange<TOperation extends MergeTreeDeltaOperationT
338
333
  segment: ISegment;
339
334
  }
340
335
 
341
- // @public (undocumented)
336
+ // @internal (undocumented)
342
337
  export interface ISerializableInterval extends IInterval {
343
- // @internal (undocumented)
338
+ // (undocumented)
344
339
  addProperties(props: PropertySet, collaborating?: boolean, seq?: number): PropertySet | undefined;
345
340
  getIntervalId(): string | undefined;
346
341
  properties: PropertySet;
347
- // @internal (undocumented)
342
+ // (undocumented)
348
343
  propertyManager: PropertiesManager;
349
- // @internal (undocumented)
344
+ // (undocumented)
350
345
  serialize(): ISerializedInterval;
351
346
  }
352
347
 
@@ -364,13 +359,13 @@ export interface ISerializedInterval {
364
359
  stickiness?: IntervalStickiness;
365
360
  }
366
361
 
367
- // @public (undocumented)
362
+ // @internal (undocumented)
368
363
  export interface ISharedIntervalCollection<TInterval extends ISerializableInterval> {
369
364
  // (undocumented)
370
365
  getIntervalCollection(label: string): IIntervalCollection<TInterval>;
371
366
  }
372
367
 
373
- // @public
368
+ // @internal
374
369
  export interface ISharedSegmentSequenceEvents extends ISharedObjectEvents {
375
370
  // (undocumented)
376
371
  (event: "createIntervalCollection", listener: (label: string, local: boolean, target: IEventThisPlaceHolder) => void): any;
@@ -380,14 +375,14 @@ export interface ISharedSegmentSequenceEvents extends ISharedObjectEvents {
380
375
  (event: "maintenance", listener: (event: SequenceMaintenanceEvent, target: IEventThisPlaceHolder) => void): any;
381
376
  }
382
377
 
383
- // @public
378
+ // @internal
384
379
  export interface ISharedString extends SharedSegmentSequence<SharedStringSegment> {
385
380
  insertMarker(pos: number, refType: ReferenceType, props?: PropertySet): IMergeTreeInsertMsg | undefined;
386
381
  insertText(pos: number, text: string, props?: PropertySet): void;
387
382
  posFromRelativePos(relativePos: IRelativePosition): number;
388
383
  }
389
384
 
390
- // @public
385
+ // @internal
391
386
  export interface IStartpointInRangeIndex<TInterval extends ISerializableInterval> extends IntervalIndex<TInterval> {
392
387
  // (undocumented)
393
388
  findIntervalsWithStartpointInRange(start: number, end: number): TInterval[];
@@ -399,10 +394,10 @@ export interface IValueOpEmitter {
399
394
  emit(opName: IntervalOpType, previousValue: undefined, params: SerializedIntervalDelta, localOpMetadata: IMapMessageLocalMetadata): void;
400
395
  }
401
396
 
402
- // @alpha
397
+ // @internal
403
398
  export function revertSharedStringRevertibles(sharedString: SharedString, revertibles: SharedStringRevertible[]): void;
404
399
 
405
- // @public
400
+ // @internal
406
401
  export class SequenceDeltaEvent extends SequenceEvent<MergeTreeDeltaOperationType> {
407
402
  constructor(opArgs: IMergeTreeDeltaOpArgs, deltaArgs: IMergeTreeDeltaCallbackArgs, mergeTreeClient: Client);
408
403
  readonly isLocal: boolean;
@@ -410,7 +405,7 @@ export class SequenceDeltaEvent extends SequenceEvent<MergeTreeDeltaOperationTyp
410
405
  readonly opArgs: IMergeTreeDeltaOpArgs;
411
406
  }
412
407
 
413
- // @public
408
+ // @internal
414
409
  export abstract class SequenceEvent<TOperation extends MergeTreeDeltaOperationTypes = MergeTreeDeltaOperationTypes> {
415
410
  constructor(deltaArgs: IMergeTreeDeltaCallbackArgs<TOperation>, mergeTreeClient: Client);
416
411
  get clientId(): string | undefined;
@@ -423,14 +418,13 @@ export abstract class SequenceEvent<TOperation extends MergeTreeDeltaOperationTy
423
418
  get ranges(): readonly Readonly<ISequenceDeltaRange<TOperation>>[];
424
419
  }
425
420
 
426
- // @public
421
+ // @internal
427
422
  export class SequenceInterval implements ISerializableInterval {
428
423
  constructor(client: Client,
429
424
  start: LocalReferencePosition,
430
425
  end: LocalReferencePosition, intervalType: IntervalType, props?: PropertySet, startSide?: Side, endSide?: Side);
431
- // @internal
432
426
  addPositionChangeListeners(beforePositionChange: () => void, afterPositionChange: () => void): void;
433
- // @internal (undocumented)
427
+ // (undocumented)
434
428
  addProperties(newProps: PropertySet, collab?: boolean, seq?: number, op?: ICombiningOp): PropertySet | undefined;
435
429
  // (undocumented)
436
430
  clone(): SequenceInterval;
@@ -443,32 +437,29 @@ export class SequenceInterval implements ISerializableInterval {
443
437
  getIntervalId(): string;
444
438
  // (undocumented)
445
439
  intervalType: IntervalType;
446
- // @internal
447
440
  modify(label: string, start: SequencePlace | undefined, end: SequencePlace | undefined, op?: ISequencedDocumentMessage, localSeq?: number, useNewSlidingBehavior?: boolean): SequenceInterval;
448
441
  // (undocumented)
449
442
  overlaps(b: SequenceInterval): boolean;
450
443
  // (undocumented)
451
444
  overlapsPos(bstart: number, bend: number): boolean;
452
445
  properties: PropertySet;
453
- // @internal (undocumented)
446
+ // (undocumented)
454
447
  propertyManager: PropertiesManager;
455
- // @internal
456
448
  removePositionChangeListeners(): void;
457
- // @internal (undocumented)
449
+ // (undocumented)
458
450
  serialize(): ISerializedInterval;
459
451
  start: LocalReferencePosition;
460
452
  // (undocumented)
461
453
  readonly startSide: Side;
462
- // @internal (undocumented)
454
+ // (undocumented)
463
455
  get stickiness(): IntervalStickiness;
464
- // @internal
465
456
  union(b: SequenceInterval): SequenceInterval;
466
457
  }
467
458
 
468
- // @public @deprecated (undocumented)
459
+ // @internal @deprecated (undocumented)
469
460
  export const sequenceIntervalHelpers: IIntervalHelpers<SequenceInterval>;
470
461
 
471
- // @public
462
+ // @internal
472
463
  export namespace SequenceIntervalIndexes {
473
464
  export interface Overlapping extends IOverlappingIntervalsIndex<SequenceInterval> {
474
465
  findOverlappingIntervalsBySegoff(startSegoff: {
@@ -481,14 +472,14 @@ export namespace SequenceIntervalIndexes {
481
472
  }
482
473
  }
483
474
 
484
- // @public
475
+ // @internal
485
476
  export class SequenceMaintenanceEvent extends SequenceEvent<MergeTreeMaintenanceType> {
486
477
  constructor(opArgs: IMergeTreeDeltaOpArgs | undefined, deltaArgs: IMergeTreeMaintenanceCallbackArgs, mergeTreeClient: Client);
487
478
  // (undocumented)
488
479
  readonly opArgs: IMergeTreeDeltaOpArgs | undefined;
489
480
  }
490
481
 
491
- // @public
482
+ // @internal
492
483
  export interface SequenceOptions {
493
484
  // (undocumented)
494
485
  [key: string]: boolean;
@@ -496,13 +487,13 @@ export interface SequenceOptions {
496
487
  mergeTreeReferencesCanSlideToEndpoint: boolean;
497
488
  }
498
489
 
499
- // @public
490
+ // @internal
500
491
  export type SequencePlace = number | "start" | "end" | InteriorSequencePlace;
501
492
 
502
493
  // @internal
503
494
  export type SerializedIntervalDelta = Omit<ISerializedInterval, "start" | "end" | "properties"> & Partial<Pick<ISerializedInterval, "start" | "end" | "properties">>;
504
495
 
505
- // @public @deprecated (undocumented)
496
+ // @internal @deprecated (undocumented)
506
497
  export class SharedIntervalCollection extends SharedObject implements ISharedIntervalCollection<Interval> {
507
498
  // (undocumented)
508
499
  readonly [Symbol.toStringTag]: string;
@@ -526,7 +517,7 @@ export class SharedIntervalCollection extends SharedObject implements ISharedInt
526
517
  protected summarizeCore(serializer: IFluidSerializer): ISummaryTreeWithStats;
527
518
  }
528
519
 
529
- // @public @deprecated
520
+ // @internal @deprecated
530
521
  export class SharedIntervalCollectionFactory implements IChannelFactory {
531
522
  // (undocumented)
532
523
  static readonly Attributes: IChannelAttributes;
@@ -542,7 +533,7 @@ export class SharedIntervalCollectionFactory implements IChannelFactory {
542
533
  get type(): string;
543
534
  }
544
535
 
545
- // @public (undocumented)
536
+ // @internal (undocumented)
546
537
  export abstract class SharedSegmentSequence<T extends ISegment> extends SharedObject<ISharedSegmentSequenceEvents> implements ISharedIntervalCollection<SequenceInterval>, MergeTreeRevertibleDriver {
547
538
  constructor(dataStoreRuntime: IFluidDataStoreRuntime, id: string, attributes: IChannelAttributes, segmentFromSpec: (spec: IJSONSegment) => ISegment);
548
539
  annotateRange(start: number, end: number, props: PropertySet, combiningOp?: ICombiningOp): void;
@@ -575,7 +566,6 @@ export abstract class SharedSegmentSequence<T extends ISegment> extends SharedOb
575
566
  getStackContext(startPos: number, rangeLabels: string[]): RangeStackMap;
576
567
  // @deprecated (undocumented)
577
568
  groupOperation(groupOp: IMergeTreeGroupMsg): void;
578
- // @internal
579
569
  protected guardReentrancy: <TRet>(callback: () => TRet) => TRet;
580
570
  // (undocumented)
581
571
  id: string;
@@ -613,7 +603,7 @@ export abstract class SharedSegmentSequence<T extends ISegment> extends SharedOb
613
603
  walkSegments<TClientData>(handler: ISegmentAction<TClientData>, start?: number, end?: number, accum?: TClientData, splitRange?: boolean): void;
614
604
  }
615
605
 
616
- // @public @deprecated (undocumented)
606
+ // @internal @deprecated (undocumented)
617
607
  export class SharedSequence<T> extends SharedSegmentSequence<SubSequence<T>> {
618
608
  constructor(document: IFluidDataStoreRuntime, id: string, attributes: IChannelAttributes, specToSegment: (spec: IJSONSegment) => ISegment);
619
609
  getItemCount(): number;
@@ -626,7 +616,7 @@ export class SharedSequence<T> extends SharedSegmentSequence<SubSequence<T>> {
626
616
  remove(start: number, end: number): void;
627
617
  }
628
618
 
629
- // @public
619
+ // @internal
630
620
  export class SharedString extends SharedSegmentSequence<SharedStringSegment> implements ISharedString {
631
621
  constructor(document: IFluidDataStoreRuntime, id: string, attributes: IChannelAttributes);
632
622
  annotateMarker(marker: Marker, props: PropertySet, combiningOp?: ICombiningOp): void;
@@ -658,7 +648,7 @@ export class SharedString extends SharedSegmentSequence<SharedStringSegment> imp
658
648
  searchForMarker(startPos: number, markerLabel: string, forwards?: boolean): Marker | undefined;
659
649
  }
660
650
 
661
- // @public (undocumented)
651
+ // @internal (undocumented)
662
652
  export class SharedStringFactory implements IChannelFactory {
663
653
  // (undocumented)
664
654
  static readonly Attributes: IChannelAttributes;
@@ -676,13 +666,13 @@ export class SharedStringFactory implements IChannelFactory {
676
666
  get type(): string;
677
667
  }
678
668
 
679
- // @alpha
669
+ // @internal
680
670
  export type SharedStringRevertible = MergeTreeDeltaRevertible | IntervalRevertible;
681
671
 
682
- // @public (undocumented)
672
+ // @internal (undocumented)
683
673
  export type SharedStringSegment = TextSegment | Marker;
684
674
 
685
- // @public
675
+ // @internal
686
676
  export enum Side {
687
677
  // (undocumented)
688
678
  After = 1,
@@ -690,7 +680,7 @@ export enum Side {
690
680
  Before = 0
691
681
  }
692
682
 
693
- // @public @deprecated (undocumented)
683
+ // @internal @deprecated (undocumented)
694
684
  export class SubSequence<T> extends BaseSegment {
695
685
  constructor(items: Serializable<T>[]);
696
686
  // (undocumented)
@@ -31,7 +31,6 @@ export interface IValueOpEmitter {
31
31
  * @param previousValue - JSONable previous value as defined by the value type @deprecated unused
32
32
  * @param params - JSONable params for the operation as defined by the value type
33
33
  * @param localOpMetadata - JSONable local metadata which should be submitted with the op
34
- * @internal
35
34
  */
36
35
  emit(opName: IntervalOpType, previousValue: undefined, params: SerializedIntervalDelta, localOpMetadata: IMapMessageLocalMetadata): void;
37
36
  }
@@ -43,7 +42,7 @@ export interface IMapMessageLocalMetadata {
43
42
  }
44
43
  /**
45
44
  * Optional flags that configure options for sequence DDSs
46
- * @public
45
+ * @internal
47
46
  */
48
47
  export interface SequenceOptions {
49
48
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"defaultMapInterfaces.d.ts","sourceRoot":"","sources":["../src/defaultMapInterfaces.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAE3F;;GAEG;AACH,MAAM,WAAW,aAAa;IAC7B;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;OAEG;IACH,aAAa,EAAE,GAAG,CAAC;CACnB;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC/B;;;;;;;OAOG;IACH,IAAI,CACH,MAAM,EAAE,cAAc,EACtB,aAAa,EAAE,SAAS,EACxB,MAAM,EAAE,uBAAuB,EAC/B,eAAe,EAAE,wBAAwB,GACvC,IAAI,CAAC;CACR;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACxC,QAAQ,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC/B;;;;;;;;;;;;OAYG;IACH,yBAAyB,EAAE,OAAO,CAAC;IACnC;;;;;;;;OAQG;IACH,qCAAqC,EAAE,OAAO,CAAC;IAC/C,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACvB;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa,CAAC,CAAC;IAC/B;;;;;;;OAOG;IACH,IAAI,CAAC,OAAO,EAAE,eAAe,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;IAEhF;;;;;;OAMG;IACH,KAAK,CAAC,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC;CACrB;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe,CAAC,CAAC;IACjC;;;;;;;;OAQG;IACH,OAAO,CACN,KAAK,EAAE,CAAC,EACR,MAAM,EAAE,mBAAmB,EAC3B,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,yBAAyB,GAAG,SAAS,EAC9C,eAAe,EAAE,wBAAwB,GAAG,SAAS,OACpD;IAEF;;;;;;;OAOG;IACH,MAAM,CACL,KAAK,EAAE,CAAC,EACR,EAAE,EAAE,wBAAwB,EAC5B,eAAe,EAAE,wBAAwB,GAEvC;QAAE,SAAS,EAAE,wBAAwB,CAAC;QAAC,sBAAsB,EAAE,wBAAwB,CAAA;KAAE,GACzF,SAAS,CAAC;CACb;AAED;;GAEG;AACH,MAAM,WAAW,UAAU,CAAC,CAAC;IAC5B;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;IAE1B;;;OAGG;IACH,GAAG,EAAE,GAAG,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;CAC7C;AAED,MAAM,WAAW,uBAAwB,SAAQ,mBAAmB;IACnE,CACC,KAAK,EAAE,cAAc,GAAG,QAAQ,EAChC,QAAQ,EAAE,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,qBAAqB,KAAK,IAAI,OACxF;CACF;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,kBAAkB;IAClC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,KAAK,EAAE,GAAG,CAAC;CACX;AAED,MAAM,WAAW,gBAAgB;IAChC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;CAC1B;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,wBAAwB;IACxC;;OAEG;IACH,MAAM,EAAE,cAAc,CAAC;IAEvB;;OAEG;IACH,KAAK,EAAE,uBAAuB,CAAC;CAC/B"}
1
+ {"version":3,"file":"defaultMapInterfaces.d.ts","sourceRoot":"","sources":["../src/defaultMapInterfaces.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"defaultMapInterfaces.js","sourceRoot":"","sources":["../src/defaultMapInterfaces.ts"],"names":[],"mappings":";AAAA;;;GAGG","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { ISequencedDocumentMessage } from \"@fluidframework/protocol-definitions\";\nimport { ISharedObjectEvents } from \"@fluidframework/shared-object-base\";\nimport { IEventThisPlaceHolder } from \"@fluidframework/core-interfaces\";\nimport { ISerializedInterval, IntervalOpType, SerializedIntervalDelta } from \"./intervals\";\n\n/**\n * Type of \"valueChanged\" event parameter.\n */\nexport interface IValueChanged {\n\t/**\n\t * The key storing the value that changed.\n\t */\n\tkey: string;\n\n\t/**\n\t * The value that was stored at the key prior to the change.\n\t */\n\tpreviousValue: any;\n}\n\n/**\n * Value types are given an IValueOpEmitter to emit their ops through the container type that holds them.\n * @internal\n * @deprecated - will be remove from public api as there is no public used of this type\n */\nexport interface IValueOpEmitter {\n\t/**\n\t * Called by the value type to emit a value type operation through the container type holding it.\n\t * @param opName - Name of the emitted operation\n\t * @param previousValue - JSONable previous value as defined by the value type @deprecated unused\n\t * @param params - JSONable params for the operation as defined by the value type\n\t * @param localOpMetadata - JSONable local metadata which should be submitted with the op\n\t * @internal\n\t */\n\temit(\n\t\topName: IntervalOpType,\n\t\tpreviousValue: undefined,\n\t\tparams: SerializedIntervalDelta,\n\t\tlocalOpMetadata: IMapMessageLocalMetadata,\n\t): void;\n}\n\n/**\n * @internal\n */\nexport interface IMapMessageLocalMetadata {\n\tlocalSeq: number;\n}\n\n/**\n * Optional flags that configure options for sequence DDSs\n * @public\n */\nexport interface SequenceOptions {\n\t/**\n\t * Enable the ability to use interval APIs that rely on positions before and\n\t * after individual characters, referred to as \"sides\". See {@link SequencePlace}\n\t * for additional context.\n\t *\n\t * This flag must be enabled to pass instances of {@link SequencePlace} to\n\t * any IIntervalCollection API.\n\t *\n\t * Also see the feature flag `mergeTreeReferencesCanSlideToEndpoint` to allow\n\t * endpoints to slide to the special endpoint segments.\n\t *\n\t * The default value is false.\n\t */\n\tintervalStickinessEnabled: boolean;\n\t/**\n\t * Enable the ability for interval endpoints to slide to the special endpoint\n\t * segments that exist before and after the bounds of the string. This is\n\t * primarily useful for workflows involving interval stickiness, and it is\n\t * suggested to enable both this flag and `intervalStickinessEnabled` at the\n\t * same time.\n\t *\n\t * The default value is false.\n\t */\n\tmergeTreeReferencesCanSlideToEndpoint: boolean;\n\t[key: string]: boolean;\n}\n\n/**\n * A value factory is used to serialize/deserialize value types to a map\n * @alpha\n */\nexport interface IValueFactory<T> {\n\t/**\n\t * Create a new value type. Used both in creation of new value types, as well as in loading existing ones\n\t * from remote.\n\t * @param emitter - Emitter object that the created value type will use to emit operations\n\t * @param raw - Initialization parameters as defined by the value type\n\t * @returns The new value type\n\t * @alpha\n\t */\n\tload(emitter: IValueOpEmitter, raw: any, options?: Partial<SequenceOptions>): T;\n\n\t/**\n\t * Given a value type, provides a JSONable form of its data to be used for snapshotting. This data must be\n\t * loadable using the load method of its factory.\n\t * @param value - The value type to serialize\n\t * @returns The JSONable form of the value type\n\t * @alpha\n\t */\n\tstore(value: T): any;\n}\n\n/**\n * Defines an operation that a value type is able to handle.\n * @alpha\n */\nexport interface IValueOperation<T> {\n\t/**\n\t * Performs the actual processing on the incoming operation.\n\t * @param value - The current value stored at the given key, which should be the value type\n\t * @param params - The params on the incoming operation\n\t * @param local - Whether the operation originated from this client\n\t * @param message - The operation itself\n\t * @param localOpMetadata - any local metadata submitted by `IValueOpEmitter.emit`.\n\t * @alpha\n\t */\n\tprocess(\n\t\tvalue: T,\n\t\tparams: ISerializedInterval,\n\t\tlocal: boolean,\n\t\tmessage: ISequencedDocumentMessage | undefined,\n\t\tlocalOpMetadata: IMapMessageLocalMetadata | undefined,\n\t);\n\n\t/**\n\t * Rebases an `op` on `value` from its original perspective (ref/local seq) to the current\n\t * perspective. Should be invoked on reconnection.\n\t * @param value - The current value stored at the given key, which should be the value type.\n\t * @param op - The op to be rebased.\n\t * @param localOpMetadata - Any local metadata that was originally submitted with the op.\n\t * @returns A rebased version of the op and any local metadata that should be submitted with it.\n\t */\n\trebase(\n\t\tvalue: T,\n\t\top: IValueTypeOperationValue,\n\t\tlocalOpMetadata: IMapMessageLocalMetadata,\n\t):\n\t\t| { rebasedOp: IValueTypeOperationValue; rebasedLocalOpMetadata: IMapMessageLocalMetadata }\n\t\t| undefined;\n}\n\n/**\n * Defines a value type that can be registered on a container type.\n */\nexport interface IValueType<T> {\n\t/**\n\t * Name of the value type.\n\t * @alpha\n\t */\n\tname: string;\n\n\t/**\n\t * Factory method used to convert to/from a JSON form of the type.\n\t * @alpha\n\t */\n\tfactory: IValueFactory<T>;\n\n\t/**\n\t * Operations that can be applied to the value type.\n\t * @alpha\n\t */\n\tops: Map<IntervalOpType, IValueOperation<T>>;\n}\n\nexport interface ISharedDefaultMapEvents extends ISharedObjectEvents {\n\t(\n\t\tevent: \"valueChanged\" | \"create\",\n\t\tlistener: (changed: IValueChanged, local: boolean, target: IEventThisPlaceHolder) => void,\n\t);\n}\n\n/**\n * The _ready-for-serialization_ format of values contained in DDS contents. This allows us to use\n * ISerializableValue.type to understand whether they're storing a Plain JS object, a SharedObject, or a value type.\n * Note that the in-memory equivalent of ISerializableValue is ILocalValue (similarly holding a type, but with\n * the _in-memory representation_ of the value instead). An ISerializableValue is what gets passed to\n * JSON.stringify and comes out of JSON.parse. This format is used both for snapshots (loadCore/populate)\n * and ops (set).\n *\n * The DefaultMap implementation for sequence has been specialized to only support a single ValueType, which serializes\n * and deserializes via .store() and .load().\n */\nexport interface ISerializableValue {\n\t/**\n\t * A type annotation to help indicate how the value serializes.\n\t */\n\ttype: string;\n\n\t/**\n\t * The JSONable representation of the value.\n\t */\n\tvalue: any;\n}\n\nexport interface ISerializedValue {\n\t/**\n\t * A type annotation to help indicate how the value serializes.\n\t */\n\ttype: string;\n\n\t/**\n\t * String representation of the value.\n\t */\n\tvalue: string | undefined;\n}\n\n/**\n * ValueTypes handle ops slightly differently from SharedObjects or plain JS objects. Since the Map/Directory doesn't\n * know how to handle the ValueType's ops, those ops are instead passed along to the ValueType for processing.\n * IValueTypeOperationValue is that passed-along op. The opName on it is the ValueType-specific operation and the\n * value is whatever params the ValueType needs to complete that operation. Similar to ISerializableValue, it is\n * serializable via JSON.stringify/parse but differs in that it has no equivalency with an in-memory value - rather\n * it just describes an operation to be applied to an already-in-memory value.\n * @alpha\n */\nexport interface IValueTypeOperationValue {\n\t/**\n\t * The name of the operation.\n\t */\n\topName: IntervalOpType;\n\n\t/**\n\t * The payload that is submitted along with the operation.\n\t */\n\tvalue: SerializedIntervalDelta;\n}\n"]}
1
+ {"version":3,"file":"defaultMapInterfaces.js","sourceRoot":"","sources":["../src/defaultMapInterfaces.ts"],"names":[],"mappings":";AAAA;;;GAGG","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { ISequencedDocumentMessage } from \"@fluidframework/protocol-definitions\";\nimport { ISharedObjectEvents } from \"@fluidframework/shared-object-base\";\nimport { IEventThisPlaceHolder } from \"@fluidframework/core-interfaces\";\nimport { ISerializedInterval, IntervalOpType, SerializedIntervalDelta } from \"./intervals\";\n\n/**\n * Type of \"valueChanged\" event parameter.\n */\nexport interface IValueChanged {\n\t/**\n\t * The key storing the value that changed.\n\t */\n\tkey: string;\n\n\t/**\n\t * The value that was stored at the key prior to the change.\n\t */\n\tpreviousValue: any;\n}\n\n/**\n * Value types are given an IValueOpEmitter to emit their ops through the container type that holds them.\n * @internal\n * @deprecated - will be remove from public api as there is no public used of this type\n */\nexport interface IValueOpEmitter {\n\t/**\n\t * Called by the value type to emit a value type operation through the container type holding it.\n\t * @param opName - Name of the emitted operation\n\t * @param previousValue - JSONable previous value as defined by the value type @deprecated unused\n\t * @param params - JSONable params for the operation as defined by the value type\n\t * @param localOpMetadata - JSONable local metadata which should be submitted with the op\n\t */\n\temit(\n\t\topName: IntervalOpType,\n\t\tpreviousValue: undefined,\n\t\tparams: SerializedIntervalDelta,\n\t\tlocalOpMetadata: IMapMessageLocalMetadata,\n\t): void;\n}\n\n/**\n * @internal\n */\nexport interface IMapMessageLocalMetadata {\n\tlocalSeq: number;\n}\n\n/**\n * Optional flags that configure options for sequence DDSs\n * @internal\n */\nexport interface SequenceOptions {\n\t/**\n\t * Enable the ability to use interval APIs that rely on positions before and\n\t * after individual characters, referred to as \"sides\". See {@link SequencePlace}\n\t * for additional context.\n\t *\n\t * This flag must be enabled to pass instances of {@link SequencePlace} to\n\t * any IIntervalCollection API.\n\t *\n\t * Also see the feature flag `mergeTreeReferencesCanSlideToEndpoint` to allow\n\t * endpoints to slide to the special endpoint segments.\n\t *\n\t * The default value is false.\n\t */\n\tintervalStickinessEnabled: boolean;\n\t/**\n\t * Enable the ability for interval endpoints to slide to the special endpoint\n\t * segments that exist before and after the bounds of the string. This is\n\t * primarily useful for workflows involving interval stickiness, and it is\n\t * suggested to enable both this flag and `intervalStickinessEnabled` at the\n\t * same time.\n\t *\n\t * The default value is false.\n\t */\n\tmergeTreeReferencesCanSlideToEndpoint: boolean;\n\t[key: string]: boolean;\n}\n\n/**\n * A value factory is used to serialize/deserialize value types to a map\n * @alpha\n */\nexport interface IValueFactory<T> {\n\t/**\n\t * Create a new value type. Used both in creation of new value types, as well as in loading existing ones\n\t * from remote.\n\t * @param emitter - Emitter object that the created value type will use to emit operations\n\t * @param raw - Initialization parameters as defined by the value type\n\t * @returns The new value type\n\t * @alpha\n\t */\n\tload(emitter: IValueOpEmitter, raw: any, options?: Partial<SequenceOptions>): T;\n\n\t/**\n\t * Given a value type, provides a JSONable form of its data to be used for snapshotting. This data must be\n\t * loadable using the load method of its factory.\n\t * @param value - The value type to serialize\n\t * @returns The JSONable form of the value type\n\t * @alpha\n\t */\n\tstore(value: T): any;\n}\n\n/**\n * Defines an operation that a value type is able to handle.\n * @alpha\n */\nexport interface IValueOperation<T> {\n\t/**\n\t * Performs the actual processing on the incoming operation.\n\t * @param value - The current value stored at the given key, which should be the value type\n\t * @param params - The params on the incoming operation\n\t * @param local - Whether the operation originated from this client\n\t * @param message - The operation itself\n\t * @param localOpMetadata - any local metadata submitted by `IValueOpEmitter.emit`.\n\t * @alpha\n\t */\n\tprocess(\n\t\tvalue: T,\n\t\tparams: ISerializedInterval,\n\t\tlocal: boolean,\n\t\tmessage: ISequencedDocumentMessage | undefined,\n\t\tlocalOpMetadata: IMapMessageLocalMetadata | undefined,\n\t);\n\n\t/**\n\t * Rebases an `op` on `value` from its original perspective (ref/local seq) to the current\n\t * perspective. Should be invoked on reconnection.\n\t * @param value - The current value stored at the given key, which should be the value type.\n\t * @param op - The op to be rebased.\n\t * @param localOpMetadata - Any local metadata that was originally submitted with the op.\n\t * @returns A rebased version of the op and any local metadata that should be submitted with it.\n\t */\n\trebase(\n\t\tvalue: T,\n\t\top: IValueTypeOperationValue,\n\t\tlocalOpMetadata: IMapMessageLocalMetadata,\n\t):\n\t\t| { rebasedOp: IValueTypeOperationValue; rebasedLocalOpMetadata: IMapMessageLocalMetadata }\n\t\t| undefined;\n}\n\n/**\n * Defines a value type that can be registered on a container type.\n */\nexport interface IValueType<T> {\n\t/**\n\t * Name of the value type.\n\t * @alpha\n\t */\n\tname: string;\n\n\t/**\n\t * Factory method used to convert to/from a JSON form of the type.\n\t * @alpha\n\t */\n\tfactory: IValueFactory<T>;\n\n\t/**\n\t * Operations that can be applied to the value type.\n\t * @alpha\n\t */\n\tops: Map<IntervalOpType, IValueOperation<T>>;\n}\n\nexport interface ISharedDefaultMapEvents extends ISharedObjectEvents {\n\t(\n\t\tevent: \"valueChanged\" | \"create\",\n\t\tlistener: (changed: IValueChanged, local: boolean, target: IEventThisPlaceHolder) => void,\n\t);\n}\n\n/**\n * The _ready-for-serialization_ format of values contained in DDS contents. This allows us to use\n * ISerializableValue.type to understand whether they're storing a Plain JS object, a SharedObject, or a value type.\n * Note that the in-memory equivalent of ISerializableValue is ILocalValue (similarly holding a type, but with\n * the _in-memory representation_ of the value instead). An ISerializableValue is what gets passed to\n * JSON.stringify and comes out of JSON.parse. This format is used both for snapshots (loadCore/populate)\n * and ops (set).\n *\n * The DefaultMap implementation for sequence has been specialized to only support a single ValueType, which serializes\n * and deserializes via .store() and .load().\n */\nexport interface ISerializableValue {\n\t/**\n\t * A type annotation to help indicate how the value serializes.\n\t */\n\ttype: string;\n\n\t/**\n\t * The JSONable representation of the value.\n\t */\n\tvalue: any;\n}\n\nexport interface ISerializedValue {\n\t/**\n\t * A type annotation to help indicate how the value serializes.\n\t */\n\ttype: string;\n\n\t/**\n\t * String representation of the value.\n\t */\n\tvalue: string | undefined;\n}\n\n/**\n * ValueTypes handle ops slightly differently from SharedObjects or plain JS objects. Since the Map/Directory doesn't\n * know how to handle the ValueType's ops, those ops are instead passed along to the ValueType for processing.\n * IValueTypeOperationValue is that passed-along op. The opName on it is the ValueType-specific operation and the\n * value is whatever params the ValueType needs to complete that operation. Similar to ISerializableValue, it is\n * serializable via JSON.stringify/parse but differs in that it has no equivalency with an in-memory value - rather\n * it just describes an operation to be applied to an already-in-memory value.\n * @alpha\n */\nexport interface IValueTypeOperationValue {\n\t/**\n\t * The name of the operation.\n\t */\n\topName: IntervalOpType;\n\n\t/**\n\t * The payload that is submitted along with the operation.\n\t */\n\tvalue: SerializedIntervalDelta;\n}\n"]}
@@ -32,14 +32,14 @@ import { IEndpointIndex, IIdIntervalIndex, IOverlappingIntervalsIndex, IntervalI
32
32
  * If a SequencePlace is the endpoint of a range (e.g. start/end of an interval or search range),
33
33
  * the Side value means it is exclusive if it is nearer to the other position and inclusive if it is farther.
34
34
  * E.g. the start of a range with Side.After is exclusive of the character at the position.
35
- * @public
35
+ * @internal
36
36
  */
37
37
  export type SequencePlace = number | "start" | "end" | InteriorSequencePlace;
38
38
  /**
39
39
  * A sequence place that does not refer to the special endpoint segments.
40
40
  *
41
41
  * See {@link SequencePlace} for additional context.
42
- * @public
42
+ * @internal
43
43
  */
44
44
  export interface InteriorSequencePlace {
45
45
  pos: number;
@@ -49,7 +49,7 @@ export interface InteriorSequencePlace {
49
49
  * Defines a side relative to a character in a sequence.
50
50
  *
51
51
  * @remarks See {@link SequencePlace} for additional context on usage.
52
- * @public
52
+ * @internal
53
53
  */
54
54
  export declare enum Side {
55
55
  Before = 0,
@@ -128,7 +128,7 @@ export declare class IntervalCollectionValueType implements IValueType<IntervalC
128
128
  }
129
129
  export declare function makeOpsMap<T extends ISerializableInterval>(): Map<IntervalOpType, IValueOperation<IntervalCollection<T>>>;
130
130
  /**
131
- * @public
131
+ * @internal
132
132
  */
133
133
  export type DeserializeCallback = (properties: PropertySet) => void;
134
134
  declare class IntervalCollectionIterator<TInterval extends ISerializableInterval> implements Iterator<TInterval> {
@@ -139,7 +139,7 @@ declare class IntervalCollectionIterator<TInterval extends ISerializableInterval
139
139
  }
140
140
  /**
141
141
  * Change events emitted by `IntervalCollection`s
142
- * @public
142
+ * @internal
143
143
  */
144
144
  export interface IIntervalCollectionEvent<TInterval extends ISerializableInterval> extends IEvent {
145
145
  /**
@@ -176,7 +176,7 @@ export interface IIntervalCollectionEvent<TInterval extends ISerializableInterva
176
176
  /**
177
177
  * Collection of intervals that supports addition, modification, removal, and efficient spatial querying.
178
178
  * Changes to this collection will be incur updates on collaborating clients (i.e. they are not local-only).
179
- * @public
179
+ * @internal
180
180
  */
181
181
  export interface IIntervalCollection<TInterval extends ISerializableInterval> extends TypedEventEmitter<IIntervalCollectionEvent<TInterval>> {
182
182
  readonly attached: boolean;
@@ -520,7 +520,7 @@ export declare class IntervalCollection<TInterval extends ISerializableInterval>
520
520
  }
521
521
  /**
522
522
  * Information that identifies an interval within a `Sequence`.
523
- * @public
523
+ * @internal
524
524
  */
525
525
  export interface IntervalLocator {
526
526
  /**
@@ -537,7 +537,7 @@ export interface IntervalLocator {
537
537
  * @returns undefined if the reference position is not the endpoint of any interval (e.g. it was created
538
538
  * on the merge tree directly by app code), otherwise an {@link IntervalLocator} for the interval this
539
539
  * endpoint is a part of.
540
- * @public
540
+ * @internal
541
541
  */
542
542
  export declare function intervalLocatorFromEndpoint(potentialEndpoint: LocalReferencePosition): IntervalLocator | undefined;
543
543
  export {};
@@ -18,7 +18,7 @@ const intervalIndex_1 = require("./intervalIndex");
18
18
  * Defines a side relative to a character in a sequence.
19
19
  *
20
20
  * @remarks See {@link SequencePlace} for additional context on usage.
21
- * @public
21
+ * @internal
22
22
  */
23
23
  var Side;
24
24
  (function (Side) {
@@ -1145,7 +1145,7 @@ function setSlideOnRemove(lref) {
1145
1145
  * @returns undefined if the reference position is not the endpoint of any interval (e.g. it was created
1146
1146
  * on the merge tree directly by app code), otherwise an {@link IntervalLocator} for the interval this
1147
1147
  * endpoint is a part of.
1148
- * @public
1148
+ * @internal
1149
1149
  */
1150
1150
  function intervalLocatorFromEndpoint(potentialEndpoint) {
1151
1151
  const { interval, [merge_tree_1.reservedRangeLabelsKey]: collectionNameArray } = potentialEndpoint.properties ?? {};