@fluidframework/sequence 2.0.0-dev-rc.5.0.0.271045 → 2.0.0-dev-rc.5.0.0.271717
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/dist/IntervalCollectionValues.js +0 -2
- package/dist/IntervalCollectionValues.js.map +1 -1
- package/dist/intervalCollection.js +13 -31
- package/dist/intervalCollection.js.map +1 -1
- package/dist/intervalCollectionMap.js +31 -37
- package/dist/intervalCollectionMap.js.map +1 -1
- package/dist/intervalIndex/endpointInRangeIndex.js +0 -3
- package/dist/intervalIndex/endpointInRangeIndex.js.map +1 -1
- package/dist/intervalIndex/endpointIndex.js +0 -3
- package/dist/intervalIndex/endpointIndex.js.map +1 -1
- package/dist/intervalIndex/idIntervalIndex.js +3 -1
- package/dist/intervalIndex/idIntervalIndex.js.map +1 -1
- package/dist/intervalIndex/overlappingIntervalsIndex.js +1 -3
- package/dist/intervalIndex/overlappingIntervalsIndex.js.map +1 -1
- package/dist/intervalIndex/startpointInRangeIndex.js +0 -3
- package/dist/intervalIndex/startpointInRangeIndex.js.map +1 -1
- package/dist/intervalTree.js +3 -1
- package/dist/intervalTree.js.map +1 -1
- package/dist/intervals/interval.js +8 -12
- package/dist/intervals/interval.js.map +1 -1
- package/dist/intervals/sequenceInterval.js +11 -17
- package/dist/intervals/sequenceInterval.js.map +1 -1
- package/dist/packageVersion.d.ts +1 -1
- package/dist/packageVersion.js +1 -1
- package/dist/packageVersion.js.map +1 -1
- package/dist/sequence.js +16 -35
- package/dist/sequence.js.map +1 -1
- package/dist/sequenceDeltaEvent.js +0 -16
- package/dist/sequenceDeltaEvent.js.map +1 -1
- package/dist/sequenceFactory.js +8 -8
- package/dist/sequenceFactory.js.map +1 -1
- package/dist/sharedIntervalCollection.js +9 -8
- package/dist/sharedIntervalCollection.js.map +1 -1
- package/dist/sharedSequence.js +2 -4
- package/dist/sharedSequence.js.map +1 -1
- package/dist/sharedString.js +0 -3
- package/dist/sharedString.js.map +1 -1
- package/lib/IntervalCollectionValues.js +0 -2
- package/lib/IntervalCollectionValues.js.map +1 -1
- package/lib/intervalCollection.js +13 -31
- package/lib/intervalCollection.js.map +1 -1
- package/lib/intervalCollectionMap.js +31 -37
- package/lib/intervalCollectionMap.js.map +1 -1
- package/lib/intervalIndex/endpointInRangeIndex.js +0 -3
- package/lib/intervalIndex/endpointInRangeIndex.js.map +1 -1
- package/lib/intervalIndex/endpointIndex.js +0 -3
- package/lib/intervalIndex/endpointIndex.js.map +1 -1
- package/lib/intervalIndex/idIntervalIndex.js +3 -1
- package/lib/intervalIndex/idIntervalIndex.js.map +1 -1
- package/lib/intervalIndex/overlappingIntervalsIndex.js +1 -3
- package/lib/intervalIndex/overlappingIntervalsIndex.js.map +1 -1
- package/lib/intervalIndex/startpointInRangeIndex.js +0 -3
- package/lib/intervalIndex/startpointInRangeIndex.js.map +1 -1
- package/lib/intervalTree.js +3 -1
- package/lib/intervalTree.js.map +1 -1
- package/lib/intervals/interval.js +8 -12
- package/lib/intervals/interval.js.map +1 -1
- package/lib/intervals/sequenceInterval.js +11 -17
- package/lib/intervals/sequenceInterval.js.map +1 -1
- package/lib/packageVersion.d.ts +1 -1
- package/lib/packageVersion.js +1 -1
- package/lib/packageVersion.js.map +1 -1
- package/lib/sequence.js +16 -35
- package/lib/sequence.js.map +1 -1
- package/lib/sequenceDeltaEvent.js +0 -16
- package/lib/sequenceDeltaEvent.js.map +1 -1
- package/lib/sequenceFactory.js +8 -8
- package/lib/sequenceFactory.js.map +1 -1
- package/lib/sharedIntervalCollection.js +9 -8
- package/lib/sharedIntervalCollection.js.map +1 -1
- package/lib/sharedSequence.js +2 -4
- package/lib/sharedSequence.js.map +1 -1
- package/lib/sharedString.js +0 -3
- package/lib/sharedString.js.map +1 -1
- package/package.json +16 -16
- package/src/packageVersion.ts +1 -1
|
@@ -18,8 +18,6 @@ exports.makeSerializable = makeSerializable;
|
|
|
18
18
|
* Manages a contained value type.
|
|
19
19
|
*/
|
|
20
20
|
class IntervalCollectionTypeLocalValue {
|
|
21
|
-
value;
|
|
22
|
-
valueType;
|
|
23
21
|
/**
|
|
24
22
|
* Create a new ValueTypeLocalValue.
|
|
25
23
|
* @param value - The instance of the value type stored within
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IntervalCollectionValues.js","sourceRoot":"","sources":["../src/IntervalCollectionValues.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAGH,0EAAiG;AAkCjG,SAAgB,gBAAgB,CAC/B,UAAuC,EACvC,UAA4B,EAC5B,IAAkB;IAElB,MAAM,KAAK,GAAG,UAAU,CAAC,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAC1D,OAAO;QACN,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC;KAC7C,CAAC;AACH,CAAC;AAVD,4CAUC;AAED;;GAEG;AACH,MAAa,gCAAgC;
|
|
1
|
+
{"version":3,"file":"IntervalCollectionValues.js","sourceRoot":"","sources":["../src/IntervalCollectionValues.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAGH,0EAAiG;AAkCjG,SAAgB,gBAAgB,CAC/B,UAAuC,EACvC,UAA4B,EAC5B,IAAkB;IAElB,MAAM,KAAK,GAAG,UAAU,CAAC,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAC1D,OAAO;QACN,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC;KAC7C,CAAC;AACH,CAAC;AAVD,4CAUC;AAED;;GAEG;AACH,MAAa,gCAAgC;IAG5C;;;;OAIG;IACH,YACiB,KAA4B,EAC3B,SAAqC;QADtC,UAAK,GAAL,KAAK,CAAuB;QAC3B,cAAS,GAAT,SAAS,CAA4B;IACpD,CAAC;IAEJ;;OAEG;IACH,IAAW,IAAI;QACd,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;IAC5B,CAAC;IAED;;OAEG;IACI,cAAc,CACpB,UAA4B,EAC5B,IAAkB;QAElB,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjE,MAAM,KAAK,GAAG,IAAA,2BAAgB,EAAC,eAAe,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;QAElE,OAAO;YACN,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK;SACL,CAAC;IACH,CAAC;IAED;;;;OAIG;IACI,YAAY,CAAC,MAAsB;QACzC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,CAAC,OAAO,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QACzC,CAAC;QAED,OAAO,OAAO,CAAC;IAChB,CAAC;CACD;AAjDD,4EAiDC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { IFluidHandle } from \"@fluidframework/core-interfaces\";\nimport { serializeHandles, IFluidSerializer } from \"@fluidframework/shared-object-base/internal\";\n\nimport type { IntervalCollection } from \"./intervalCollection.js\";\nimport {\n\tIIntervalCollectionOperation,\n\tIIntervalCollectionType,\n\tISerializableIntervalCollection,\n\tISerializedIntervalCollection,\n} from \"./intervalCollectionMapInterfaces.js\";\nimport { type ISerializableInterval, IntervalOpType } from \"./intervals/index.js\";\n\n/**\n * A local value to be stored in a container type DDS.\n */\nexport interface ILocalIntervalCollection<T extends ISerializableInterval> {\n\t/**\n\t * Type indicator of the value stored within.\n\t */\n\treadonly type: string;\n\n\t/**\n\t * The in-memory value stored within.\n\t */\n\treadonly value: IntervalCollection<T>;\n\n\t/**\n\t * Retrieve the serialized form of the value stored within.\n\t * @param serializer - Data store runtime's serializer\n\t * @param bind - Container type's handle\n\t * @returns The serialized form of the contained value\n\t */\n\tmakeSerialized(serializer: IFluidSerializer, bind: IFluidHandle): ISerializedIntervalCollection;\n}\n\nexport function makeSerializable<T extends ISerializableInterval>(\n\tlocalValue: ILocalIntervalCollection<T>,\n\tserializer: IFluidSerializer,\n\tbind: IFluidHandle,\n): ISerializableIntervalCollection {\n\tconst value = localValue.makeSerialized(serializer, bind);\n\treturn {\n\t\ttype: value.type,\n\t\tvalue: value.value && JSON.parse(value.value),\n\t};\n}\n\n/**\n * Manages a contained value type.\n */\nexport class IntervalCollectionTypeLocalValue<T extends ISerializableInterval>\n\timplements ILocalIntervalCollection<T>\n{\n\t/**\n\t * Create a new ValueTypeLocalValue.\n\t * @param value - The instance of the value type stored within\n\t * @param valueType - The type object of the value type stored within\n\t */\n\tconstructor(\n\t\tpublic readonly value: IntervalCollection<T>,\n\t\tprivate readonly valueType: IIntervalCollectionType<T>,\n\t) {}\n\n\t/**\n\t * {@inheritDoc ILocalValue.\"type\"}\n\t */\n\tpublic get type(): string {\n\t\treturn this.valueType.name;\n\t}\n\n\t/**\n\t * {@inheritDoc ILocalValue.makeSerialized}\n\t */\n\tpublic makeSerialized(\n\t\tserializer: IFluidSerializer,\n\t\tbind: IFluidHandle,\n\t): ISerializedIntervalCollection {\n\t\tconst storedValueType = this.valueType.factory.store(this.value);\n\t\tconst value = serializeHandles(storedValueType, serializer, bind);\n\n\t\treturn {\n\t\t\ttype: this.type,\n\t\t\tvalue,\n\t\t};\n\t}\n\n\t/**\n\t * Get the handler for a given op of this value type.\n\t * @param opName - The name of the operation that needs processing\n\t * @returns The object which can process the given op\n\t */\n\tpublic getOpHandler(opName: IntervalOpType): IIntervalCollectionOperation<T> {\n\t\tconst handler = this.valueType.ops.get(opName);\n\t\tif (!handler) {\n\t\t\tthrow new Error(\"Unknown type message\");\n\t\t}\n\n\t\treturn handler;\n\t}\n}\n"]}
|
|
@@ -114,16 +114,6 @@ function createIntervalIndex() {
|
|
|
114
114
|
}
|
|
115
115
|
exports.createIntervalIndex = createIntervalIndex;
|
|
116
116
|
class LocalIntervalCollection {
|
|
117
|
-
client;
|
|
118
|
-
label;
|
|
119
|
-
helpers;
|
|
120
|
-
options;
|
|
121
|
-
onPositionChange;
|
|
122
|
-
static legacyIdPrefix = "legacy";
|
|
123
|
-
overlappingIntervalsIndex;
|
|
124
|
-
idIntervalIndex;
|
|
125
|
-
endIntervalIndex;
|
|
126
|
-
indexes;
|
|
127
117
|
constructor(client, label, helpers, options,
|
|
128
118
|
/** Callback invoked each time one of the endpoints of an interval slides. */
|
|
129
119
|
onPositionChange) {
|
|
@@ -192,6 +182,7 @@ class LocalIntervalCollection {
|
|
|
192
182
|
return this.helpers.create(this.label, start, end, this.client, intervalType, op, undefined, this.options.mergeTreeReferencesCanSlideToEndpoint);
|
|
193
183
|
}
|
|
194
184
|
addInterval(start, end, intervalType, props, op) {
|
|
185
|
+
var _a;
|
|
195
186
|
const interval = this.createInterval(start, end, intervalType, op);
|
|
196
187
|
if (interval) {
|
|
197
188
|
if (!interval.properties) {
|
|
@@ -207,7 +198,7 @@ class LocalIntervalCollection {
|
|
|
207
198
|
}
|
|
208
199
|
interval.addProperties(props);
|
|
209
200
|
}
|
|
210
|
-
interval.properties[exports.reservedIntervalIdKey]
|
|
201
|
+
(_a = interval.properties)[exports.reservedIntervalIdKey] ?? (_a[exports.reservedIntervalIdKey] = (0, uuid_1.v4)());
|
|
211
202
|
this.add(interval);
|
|
212
203
|
}
|
|
213
204
|
return interval;
|
|
@@ -284,6 +275,7 @@ class LocalIntervalCollection {
|
|
|
284
275
|
}
|
|
285
276
|
}
|
|
286
277
|
exports.LocalIntervalCollection = LocalIntervalCollection;
|
|
278
|
+
LocalIntervalCollection.legacyIdPrefix = "legacy";
|
|
287
279
|
class SequenceIntervalCollectionFactory {
|
|
288
280
|
load(emitter, raw = [], options) {
|
|
289
281
|
return new IntervalCollection(index_js_2.sequenceIntervalHelpers, true, emitter, raw, options);
|
|
@@ -293,7 +285,6 @@ class SequenceIntervalCollectionFactory {
|
|
|
293
285
|
}
|
|
294
286
|
}
|
|
295
287
|
class SequenceIntervalCollectionValueType {
|
|
296
|
-
static Name = "sharedStringIntervalCollection";
|
|
297
288
|
get name() {
|
|
298
289
|
return SequenceIntervalCollectionValueType.Name;
|
|
299
290
|
}
|
|
@@ -303,10 +294,11 @@ class SequenceIntervalCollectionValueType {
|
|
|
303
294
|
get ops() {
|
|
304
295
|
return SequenceIntervalCollectionValueType._ops;
|
|
305
296
|
}
|
|
306
|
-
static _factory = new SequenceIntervalCollectionFactory();
|
|
307
|
-
static _ops = makeOpsMap();
|
|
308
297
|
}
|
|
309
298
|
exports.SequenceIntervalCollectionValueType = SequenceIntervalCollectionValueType;
|
|
299
|
+
SequenceIntervalCollectionValueType.Name = "sharedStringIntervalCollection";
|
|
300
|
+
SequenceIntervalCollectionValueType._factory = new SequenceIntervalCollectionFactory();
|
|
301
|
+
SequenceIntervalCollectionValueType._ops = makeOpsMap();
|
|
310
302
|
class IntervalCollectionFactory {
|
|
311
303
|
load(emitter, raw = [], options) {
|
|
312
304
|
const helpers = {
|
|
@@ -321,7 +313,6 @@ class IntervalCollectionFactory {
|
|
|
321
313
|
}
|
|
322
314
|
}
|
|
323
315
|
class IntervalCollectionValueType {
|
|
324
|
-
static Name = "sharedIntervalCollection";
|
|
325
316
|
get name() {
|
|
326
317
|
return IntervalCollectionValueType.Name;
|
|
327
318
|
}
|
|
@@ -331,10 +322,11 @@ class IntervalCollectionValueType {
|
|
|
331
322
|
get ops() {
|
|
332
323
|
return IntervalCollectionValueType._ops;
|
|
333
324
|
}
|
|
334
|
-
static _factory = new IntervalCollectionFactory();
|
|
335
|
-
static _ops = makeOpsMap();
|
|
336
325
|
}
|
|
337
326
|
exports.IntervalCollectionValueType = IntervalCollectionValueType;
|
|
327
|
+
IntervalCollectionValueType.Name = "sharedIntervalCollection";
|
|
328
|
+
IntervalCollectionValueType._factory = new IntervalCollectionFactory();
|
|
329
|
+
IntervalCollectionValueType._ops = makeOpsMap();
|
|
338
330
|
function makeOpsMap() {
|
|
339
331
|
const rebase = (collection, op, localOpMetadata) => {
|
|
340
332
|
const { localSeq } = localOpMetadata;
|
|
@@ -393,8 +385,6 @@ function makeOpsMap() {
|
|
|
393
385
|
}
|
|
394
386
|
exports.makeOpsMap = makeOpsMap;
|
|
395
387
|
class IntervalCollectionIterator {
|
|
396
|
-
results;
|
|
397
|
-
index;
|
|
398
388
|
constructor(collection, iteratesForward = true, start, end) {
|
|
399
389
|
this.results = [];
|
|
400
390
|
this.index = 0;
|
|
@@ -417,18 +407,6 @@ class IntervalCollectionIterator {
|
|
|
417
407
|
* {@inheritdoc IIntervalCollection}
|
|
418
408
|
*/
|
|
419
409
|
class IntervalCollection extends client_utils_1.TypedEventEmitter {
|
|
420
|
-
helpers;
|
|
421
|
-
requiresClient;
|
|
422
|
-
emitter;
|
|
423
|
-
options;
|
|
424
|
-
savedSerializedIntervals;
|
|
425
|
-
localCollection;
|
|
426
|
-
onDeserialize;
|
|
427
|
-
client;
|
|
428
|
-
localSeqToSerializedInterval = new Map();
|
|
429
|
-
localSeqToRebasedInterval = new Map();
|
|
430
|
-
pendingChangesStart = new Map();
|
|
431
|
-
pendingChangesEnd = new Map();
|
|
432
410
|
get attached() {
|
|
433
411
|
return !!this.localCollection;
|
|
434
412
|
}
|
|
@@ -438,6 +416,10 @@ class IntervalCollection extends client_utils_1.TypedEventEmitter {
|
|
|
438
416
|
this.requiresClient = requiresClient;
|
|
439
417
|
this.emitter = emitter;
|
|
440
418
|
this.options = options;
|
|
419
|
+
this.localSeqToSerializedInterval = new Map();
|
|
420
|
+
this.localSeqToRebasedInterval = new Map();
|
|
421
|
+
this.pendingChangesStart = new Map();
|
|
422
|
+
this.pendingChangesEnd = new Map();
|
|
441
423
|
this.savedSerializedIntervals = Array.isArray(serializedIntervals)
|
|
442
424
|
? serializedIntervals
|
|
443
425
|
: serializedIntervals.intervals.map((i) => decompressInterval(i, serializedIntervals.label));
|