@fluidframework/sequence 2.20.0 → 2.22.0
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/CHANGELOG.md +18 -0
- package/README.md +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -4
- package/dist/index.js.map +1 -1
- package/dist/intervalCollection.js +4 -5
- package/dist/intervalCollection.js.map +1 -1
- package/dist/intervalCollectionMap.d.ts +8 -1
- package/dist/intervalCollectionMap.d.ts.map +1 -1
- package/dist/intervalCollectionMap.js +8 -1
- package/dist/intervalCollectionMap.js.map +1 -1
- package/dist/intervalCollectionMapInterfaces.d.ts +0 -1
- package/dist/intervalCollectionMapInterfaces.d.ts.map +1 -1
- package/dist/intervalCollectionMapInterfaces.js.map +1 -1
- package/dist/intervals/sequenceInterval.js +2 -3
- 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.d.ts +0 -6
- package/dist/sequence.d.ts.map +1 -1
- package/dist/sequence.js +0 -8
- package/dist/sequence.js.map +1 -1
- package/dist/sharedIntervalCollection.d.ts.map +1 -1
- package/dist/sharedIntervalCollection.js +7 -6
- package/dist/sharedIntervalCollection.js.map +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +0 -1
- package/lib/index.js.map +1 -1
- package/lib/intervalCollection.js +4 -5
- package/lib/intervalCollection.js.map +1 -1
- package/lib/intervalCollectionMap.d.ts +8 -1
- package/lib/intervalCollectionMap.d.ts.map +1 -1
- package/lib/intervalCollectionMap.js +8 -1
- package/lib/intervalCollectionMap.js.map +1 -1
- package/lib/intervalCollectionMapInterfaces.d.ts +0 -1
- package/lib/intervalCollectionMapInterfaces.d.ts.map +1 -1
- package/lib/intervalCollectionMapInterfaces.js.map +1 -1
- package/lib/intervals/sequenceInterval.js +2 -3
- 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.d.ts +0 -6
- package/lib/sequence.d.ts.map +1 -1
- package/lib/sequence.js +0 -8
- package/lib/sequence.js.map +1 -1
- package/lib/sharedIntervalCollection.d.ts.map +1 -1
- package/lib/sharedIntervalCollection.js +2 -1
- package/lib/sharedIntervalCollection.js.map +1 -1
- package/package.json +35 -72
- package/src/index.ts +1 -5
- package/src/intervalCollectionMap.ts +8 -1
- package/src/intervalCollectionMapInterfaces.ts +0 -1
- package/src/packageVersion.ts +1 -1
- package/src/sequence.ts +0 -9
- package/src/sharedIntervalCollection.ts +9 -5
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
# @fluidframework/sequence
|
|
2
2
|
|
|
3
|
+
## 2.22.0
|
|
4
|
+
|
|
5
|
+
Dependency updates only.
|
|
6
|
+
|
|
7
|
+
## 2.21.0
|
|
8
|
+
|
|
9
|
+
### Minor Changes
|
|
10
|
+
|
|
11
|
+
- SharedMap, SharedIntervalCollection and AttributableMap now throw an error when they encounter unrecognized Ops ([#23659](https://github.com/microsoft/FluidFramework/pull/23659)) [3dd4208dd3](https://github.com/microsoft/FluidFramework/commit/3dd4208dd329a9200c4405f07e302b0ab1ff6159)
|
|
12
|
+
|
|
13
|
+
To avoid future versions of DDSes with new Op types causing silent data corruption and de-sync between clients,
|
|
14
|
+
DDSes should error when unable to apply an Op.
|
|
15
|
+
This prevents data loss and corruption scenarios like a summary client using old code discarding all Ops from newer clients.
|
|
16
|
+
|
|
17
|
+
If updating applications using SharedMap, SharedIntervalCollection and AttributableMap use a newer version which adds Ops types in the future,
|
|
18
|
+
old clients which are old enough to be from before this fix will ignore the new ops instead of erroring.
|
|
19
|
+
Therefore it may be useful to ensure this update is deployed as widely as possible before migrating any to newer versions which add new op formats to these DDSes.
|
|
20
|
+
|
|
3
21
|
## 2.20.0
|
|
4
22
|
|
|
5
23
|
### Minor Changes
|
package/README.md
CHANGED
|
@@ -648,6 +648,7 @@ When making such a request please include if the configuration already works (an
|
|
|
648
648
|
### Supported Runtimes
|
|
649
649
|
|
|
650
650
|
- NodeJs ^20.10.0 except that we will drop support for it [when NodeJs 20 loses its upstream support on 2026-04-30](https://github.com/nodejs/release#release-schedule), and will support a newer LTS version of NodeJS (22) at least 1 year before 20 is end-of-life. This same policy applies to NodeJS 22 when it is end of life (2027-04-30).
|
|
651
|
+
- Running Fluid in a Node.js environment with the `--no-experimental-fetch` flag is not supported.
|
|
651
652
|
- Modern browsers supporting the es2022 standard library: in response to asks we can add explicit support for using babel to polyfill to target specific standards or runtimes (meaning we can avoid/remove use of things that don't polyfill robustly, but otherwise target modern standards).
|
|
652
653
|
|
|
653
654
|
### Supported Tools
|
package/dist/index.d.ts
CHANGED
|
@@ -23,7 +23,7 @@ export { ISharedSegmentSequenceEvents, SharedSegmentSequence, ISharedSegmentSequ
|
|
|
23
23
|
export { ISequenceDeltaRange, SequenceDeltaEvent, SequenceEvent, SequenceMaintenanceEvent, } from "./sequenceDeltaEvent.js";
|
|
24
24
|
export { SharedString } from "./sequenceFactory.js";
|
|
25
25
|
export { getTextAndMarkers, ISharedString, SharedStringSegment, SharedStringClass, } from "./sharedString.js";
|
|
26
|
-
export { ISharedIntervalCollection
|
|
26
|
+
export { ISharedIntervalCollection } from "./sharedIntervalCollection.js";
|
|
27
27
|
export { IJSONRunSegment, SharedSequence, SubSequence } from "./sharedSequence.js";
|
|
28
28
|
export { ISegment, Marker, BaseSegment, ReferencePosition, ReferenceType, PropertySet, MapLike, TextSegment, MergeTreeDeltaType, reservedMarkerIdKey, reservedTileLabelsKey, reservedRangeLabelsKey, TrackingGroup, LocalReferencePosition, Side, InteriorSequencePlace, SequencePlace, } from "@fluidframework/merge-tree/internal";
|
|
29
29
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;GAWG;AACH,OAAO,EACN,wBAAwB,EACxB,eAAe,EACf,eAAe,GACf,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EACN,SAAS,EACT,QAAQ,EACR,cAAc,EACd,YAAY,EACZ,qBAAqB,EACrB,mBAAmB,EACnB,gBAAgB,EAChB,uBAAuB,EACvB,kBAAkB,EAClB,gBAAgB,EAChB,uBAAuB,GACvB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACN,mBAAmB,EACnB,wBAAwB,EACxB,mBAAmB,EACnB,eAAe,EACf,2BAA2B,GAC3B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACN,aAAa,EACb,uBAAuB,EACvB,0BAA0B,EAC1B,+BAA+B,EAC/B,uCAAuC,EACvC,qBAAqB,EACrB,uBAAuB,EACvB,0BAA0B,EAC1B,4BAA4B,EAC5B,gBAAgB,EAChB,qBAAqB,EACrB,cAAc,EACd,mBAAmB,GACnB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACN,8BAA8B,EAC9B,iCAAiC,EACjC,iCAAiC,EACjC,0CAA0C,EAC1C,oCAAoC,EACpC,8BAA8B,EAC9B,kBAAkB,EAClB,6BAA6B,EAC7B,sBAAsB,GACtB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACN,4BAA4B,EAC5B,qBAAqB,EACrB,sBAAsB,GACtB,MAAM,eAAe,CAAC;AACvB,OAAO,EACN,mBAAmB,EACnB,kBAAkB,EAClB,aAAa,EACb,wBAAwB,GACxB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EACN,iBAAiB,EACjB,aAAa,EACb,mBAAmB,EACnB,iBAAiB,GACjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;GAWG;AACH,OAAO,EACN,wBAAwB,EACxB,eAAe,EACf,eAAe,GACf,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EACN,SAAS,EACT,QAAQ,EACR,cAAc,EACd,YAAY,EACZ,qBAAqB,EACrB,mBAAmB,EACnB,gBAAgB,EAChB,uBAAuB,EACvB,kBAAkB,EAClB,gBAAgB,EAChB,uBAAuB,GACvB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACN,mBAAmB,EACnB,wBAAwB,EACxB,mBAAmB,EACnB,eAAe,EACf,2BAA2B,GAC3B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACN,aAAa,EACb,uBAAuB,EACvB,0BAA0B,EAC1B,+BAA+B,EAC/B,uCAAuC,EACvC,qBAAqB,EACrB,uBAAuB,EACvB,0BAA0B,EAC1B,4BAA4B,EAC5B,gBAAgB,EAChB,qBAAqB,EACrB,cAAc,EACd,mBAAmB,GACnB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACN,8BAA8B,EAC9B,iCAAiC,EACjC,iCAAiC,EACjC,0CAA0C,EAC1C,oCAAoC,EACpC,8BAA8B,EAC9B,kBAAkB,EAClB,6BAA6B,EAC7B,sBAAsB,GACtB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACN,4BAA4B,EAC5B,qBAAqB,EACrB,sBAAsB,GACtB,MAAM,eAAe,CAAC;AACvB,OAAO,EACN,mBAAmB,EACnB,kBAAkB,EAClB,aAAa,EACb,wBAAwB,GACxB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EACN,iBAAiB,EACjB,aAAa,EACb,mBAAmB,EACnB,iBAAiB,GACjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEnF,OAAO,EACN,QAAQ,EACR,MAAM,EACN,WAAW,EACX,iBAAiB,EACjB,aAAa,EACb,WAAW,EACX,OAAO,EACP,WAAW,EACX,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,sBAAsB,EACtB,aAAa,EACb,sBAAsB,EACtB,IAAI,EACJ,qBAAqB,EACrB,aAAa,GACb,MAAM,qCAAqC,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Licensed under the MIT License.
|
|
5
5
|
*/
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.Side = exports.TrackingGroup = exports.reservedRangeLabelsKey = exports.reservedTileLabelsKey = exports.reservedMarkerIdKey = exports.MergeTreeDeltaType = exports.TextSegment = exports.ReferenceType = exports.BaseSegment = exports.Marker = exports.SubSequence = exports.SharedSequence = exports.
|
|
7
|
+
exports.Side = exports.TrackingGroup = exports.reservedRangeLabelsKey = exports.reservedTileLabelsKey = exports.reservedMarkerIdKey = exports.MergeTreeDeltaType = exports.TextSegment = exports.ReferenceType = exports.BaseSegment = exports.Marker = exports.SubSequence = exports.SharedSequence = exports.SharedStringClass = exports.getTextAndMarkers = exports.SharedString = exports.SharedSegmentSequence = exports.revertSharedStringRevertibles = exports.discardSharedStringRevertibles = exports.appendSharedStringDeltaToRevertibles = exports.appendIntervalPropertyChangedToRevertibles = exports.appendDeleteIntervalToRevertibles = exports.appendChangeIntervalToRevertibles = exports.appendAddIntervalToRevertibles = exports.createEndpointIndex = exports.createIdIntervalIndex = exports.createStartpointInRangeIndex = exports.createEndpointInRangeIndex = exports.createOverlappingSequenceIntervalsIndex = exports.createOverlappingIntervalsIndex = exports.intervalLocatorFromEndpoint = exports.sequenceIntervalHelpers = exports.IntervalStickiness = exports.IntervalType = exports.IntervalOpType = exports.Interval = void 0;
|
|
8
8
|
var index_js_1 = require("./intervals/index.js");
|
|
9
9
|
Object.defineProperty(exports, "Interval", { enumerable: true, get: function () { return index_js_1.Interval; } });
|
|
10
10
|
Object.defineProperty(exports, "IntervalOpType", { enumerable: true, get: function () { return index_js_1.IntervalOpType; } });
|
|
@@ -35,9 +35,6 @@ Object.defineProperty(exports, "SharedString", { enumerable: true, get: function
|
|
|
35
35
|
var sharedString_js_1 = require("./sharedString.js");
|
|
36
36
|
Object.defineProperty(exports, "getTextAndMarkers", { enumerable: true, get: function () { return sharedString_js_1.getTextAndMarkers; } });
|
|
37
37
|
Object.defineProperty(exports, "SharedStringClass", { enumerable: true, get: function () { return sharedString_js_1.SharedStringClass; } });
|
|
38
|
-
var sharedIntervalCollection_js_1 = require("./sharedIntervalCollection.js");
|
|
39
|
-
Object.defineProperty(exports, "SharedIntervalCollection", { enumerable: true, get: function () { return sharedIntervalCollection_js_1.SharedIntervalCollection; } });
|
|
40
|
-
Object.defineProperty(exports, "SharedIntervalCollectionFactory", { enumerable: true, get: function () { return sharedIntervalCollection_js_1.SharedIntervalCollectionFactory; } });
|
|
41
38
|
var sharedSequence_js_1 = require("./sharedSequence.js");
|
|
42
39
|
Object.defineProperty(exports, "SharedSequence", { enumerable: true, get: function () { return sharedSequence_js_1.SharedSequence; } });
|
|
43
40
|
Object.defineProperty(exports, "SubSequence", { enumerable: true, get: function () { return sharedSequence_js_1.SubSequence; } });
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAmBH,iDAY8B;AAV7B,oGAAA,QAAQ,OAAA;AACR,0GAAA,cAAc,OAAA;AACd,wGAAA,YAAY,OAAA;AAKZ,8GAAA,kBAAkB,OAAA;AAElB,mHAAA,uBAAuB,OAAA;AAExB,iEAMiC;AADhC,oIAAA,2BAA2B,OAAA;AAE5B,qDAckC;AAVjC,2HAAA,+BAA+B,OAAA;AAC/B,mIAAA,uCAAuC,OAAA;AAGvC,sHAAA,0BAA0B,OAAA;AAC1B,wHAAA,4BAA4B,OAAA;AAE5B,iHAAA,qBAAqB,OAAA;AAErB,+GAAA,mBAAmB,OAAA;AAEpB,mDAU0B;AATzB,gIAAA,8BAA8B,OAAA;AAC9B,mIAAA,iCAAiC,OAAA;AACjC,mIAAA,iCAAiC,OAAA;AACjC,4IAAA,0CAA0C,OAAA;AAC1C,sIAAA,oCAAoC,OAAA;AACpC,gIAAA,8BAA8B,OAAA;AAE9B,+HAAA,6BAA6B,OAAA;AAG9B,6CAIuB;AAFtB,oHAAA,qBAAqB,OAAA;AAStB,2DAAoD;AAA3C,kHAAA,YAAY,OAAA;AACrB,qDAK2B;AAJ1B,oHAAA,iBAAiB,OAAA;AAGjB,oHAAA,iBAAiB,OAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAmBH,iDAY8B;AAV7B,oGAAA,QAAQ,OAAA;AACR,0GAAA,cAAc,OAAA;AACd,wGAAA,YAAY,OAAA;AAKZ,8GAAA,kBAAkB,OAAA;AAElB,mHAAA,uBAAuB,OAAA;AAExB,iEAMiC;AADhC,oIAAA,2BAA2B,OAAA;AAE5B,qDAckC;AAVjC,2HAAA,+BAA+B,OAAA;AAC/B,mIAAA,uCAAuC,OAAA;AAGvC,sHAAA,0BAA0B,OAAA;AAC1B,wHAAA,4BAA4B,OAAA;AAE5B,iHAAA,qBAAqB,OAAA;AAErB,+GAAA,mBAAmB,OAAA;AAEpB,mDAU0B;AATzB,gIAAA,8BAA8B,OAAA;AAC9B,mIAAA,iCAAiC,OAAA;AACjC,mIAAA,iCAAiC,OAAA;AACjC,4IAAA,0CAA0C,OAAA;AAC1C,sIAAA,oCAAoC,OAAA;AACpC,gIAAA,8BAA8B,OAAA;AAE9B,+HAAA,6BAA6B,OAAA;AAG9B,6CAIuB;AAFtB,oHAAA,qBAAqB,OAAA;AAStB,2DAAoD;AAA3C,kHAAA,YAAY,OAAA;AACrB,qDAK2B;AAJ1B,oHAAA,iBAAiB,OAAA;AAGjB,oHAAA,iBAAiB,OAAA;AAGlB,yDAAmF;AAAzD,mHAAA,cAAc,OAAA;AAAE,gHAAA,WAAW,OAAA;AAErD,gEAkB6C;AAhB5C,kGAAA,MAAM,OAAA;AACN,uGAAA,WAAW,OAAA;AAEX,yGAAA,aAAa,OAAA;AAGb,uGAAA,WAAW,OAAA;AACX,8GAAA,kBAAkB,OAAA;AAClB,+GAAA,mBAAmB,OAAA;AACnB,iHAAA,qBAAqB,OAAA;AACrB,kHAAA,sBAAsB,OAAA;AACtB,yGAAA,aAAa,OAAA;AAEb,gGAAA,IAAI,OAAA","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\n/**\n * Supports distributed data structures which are list-like.\n *\n * This library's main export is {@link SharedString}, a DDS for storing and simultaneously editing a sequence of\n * text.\n *\n * See the package's README for a high-level introduction to `SharedString`'s feature set.\n * @remarks Note that SharedString is a sequence DDS but it has additional specialized features and behaviors for\n * working with text.\n *\n * @packageDocumentation\n */\nexport {\n\tIMapMessageLocalMetadata,\n\tIValueOpEmitter,\n\tSequenceOptions,\n} from \"./intervalCollectionMapInterfaces.js\";\nexport {\n\tIInterval,\n\tInterval,\n\tIntervalOpType,\n\tIntervalType,\n\tISerializableInterval,\n\tISerializedInterval,\n\tSequenceInterval,\n\tSerializedIntervalDelta,\n\tIntervalStickiness,\n\tIIntervalHelpers,\n\tsequenceIntervalHelpers,\n} from \"./intervals/index.js\";\nexport {\n\tDeserializeCallback,\n\tIIntervalCollectionEvent,\n\tIIntervalCollection,\n\tIntervalLocator,\n\tintervalLocatorFromEndpoint,\n} from \"./intervalCollection.js\";\nexport {\n\tIntervalIndex,\n\tSequenceIntervalIndexes,\n\tIOverlappingIntervalsIndex,\n\tcreateOverlappingIntervalsIndex,\n\tcreateOverlappingSequenceIntervalsIndex,\n\tIEndpointInRangeIndex,\n\tIStartpointInRangeIndex,\n\tcreateEndpointInRangeIndex,\n\tcreateStartpointInRangeIndex,\n\tIIdIntervalIndex,\n\tcreateIdIntervalIndex,\n\tIEndpointIndex,\n\tcreateEndpointIndex,\n} from \"./intervalIndex/index.js\";\nexport {\n\tappendAddIntervalToRevertibles,\n\tappendChangeIntervalToRevertibles,\n\tappendDeleteIntervalToRevertibles,\n\tappendIntervalPropertyChangedToRevertibles,\n\tappendSharedStringDeltaToRevertibles,\n\tdiscardSharedStringRevertibles,\n\tIntervalRevertible,\n\trevertSharedStringRevertibles,\n\tSharedStringRevertible,\n} from \"./revertibles.js\";\nexport {\n\tISharedSegmentSequenceEvents,\n\tSharedSegmentSequence,\n\tISharedSegmentSequence,\n} from \"./sequence.js\";\nexport {\n\tISequenceDeltaRange,\n\tSequenceDeltaEvent,\n\tSequenceEvent,\n\tSequenceMaintenanceEvent,\n} from \"./sequenceDeltaEvent.js\";\nexport { SharedString } from \"./sequenceFactory.js\";\nexport {\n\tgetTextAndMarkers,\n\tISharedString,\n\tSharedStringSegment,\n\tSharedStringClass,\n} from \"./sharedString.js\";\nexport { ISharedIntervalCollection } from \"./sharedIntervalCollection.js\";\nexport { IJSONRunSegment, SharedSequence, SubSequence } from \"./sharedSequence.js\";\n\nexport {\n\tISegment,\n\tMarker,\n\tBaseSegment,\n\tReferencePosition,\n\tReferenceType,\n\tPropertySet,\n\tMapLike,\n\tTextSegment,\n\tMergeTreeDeltaType,\n\treservedMarkerIdKey,\n\treservedTileLabelsKey,\n\treservedRangeLabelsKey,\n\tTrackingGroup,\n\tLocalReferencePosition,\n\tSide,\n\tInteriorSequencePlace,\n\tSequencePlace,\n} from \"@fluidframework/merge-tree/internal\";\n"]}
|
|
@@ -156,7 +156,6 @@ class LocalIntervalCollection {
|
|
|
156
156
|
return this.helpers.create(this.label, start, end, this.client, intervalType, op, undefined, this.options.mergeTreeReferencesCanSlideToEndpoint);
|
|
157
157
|
}
|
|
158
158
|
addInterval(start, end, intervalType, props, op) {
|
|
159
|
-
var _a;
|
|
160
159
|
const interval = this.createInterval(start, end, intervalType, op);
|
|
161
160
|
if (interval) {
|
|
162
161
|
if (!interval.properties) {
|
|
@@ -172,7 +171,7 @@ class LocalIntervalCollection {
|
|
|
172
171
|
}
|
|
173
172
|
interval.properties = (0, internal_2.addProperties)(interval.properties, props);
|
|
174
173
|
}
|
|
175
|
-
|
|
174
|
+
interval.properties[exports.reservedIntervalIdKey] ??= (0, uuid_1.v4)();
|
|
176
175
|
this.add(interval);
|
|
177
176
|
}
|
|
178
177
|
return interval;
|
|
@@ -642,7 +641,7 @@ class IntervalCollection extends client_utils_1.TypedEventEmitter {
|
|
|
642
641
|
let deltaProps;
|
|
643
642
|
let newInterval;
|
|
644
643
|
if (props !== undefined) {
|
|
645
|
-
interval.propertyManager
|
|
644
|
+
interval.propertyManager ??= new internal_2.PropertiesManager();
|
|
646
645
|
deltaProps = interval.propertyManager.handleProperties({ props }, interval, this.isCollaborating ? internal_2.UnassignedSequenceNumber : internal_2.UniversalSequenceNumber, internal_2.UniversalSequenceNumber, true);
|
|
647
646
|
}
|
|
648
647
|
if (start !== undefined && end !== undefined) {
|
|
@@ -761,7 +760,7 @@ class IntervalCollection extends client_utils_1.TypedEventEmitter {
|
|
|
761
760
|
return;
|
|
762
761
|
}
|
|
763
762
|
if (local) {
|
|
764
|
-
interval.propertyManager
|
|
763
|
+
interval.propertyManager ??= new internal_2.PropertiesManager();
|
|
765
764
|
// Let the propertyManager prune its pending change-properties set.
|
|
766
765
|
interval.propertyManager.ack(op.sequenceNumber, op.minimumSequenceNumber, {
|
|
767
766
|
props: newProps,
|
|
@@ -787,7 +786,7 @@ class IntervalCollection extends client_utils_1.TypedEventEmitter {
|
|
|
787
786
|
newInterval =
|
|
788
787
|
this.localCollection.changeInterval(interval, toOptionalSequencePlace(start, serializedInterval.startSide ?? internal_2.Side.Before), toOptionalSequencePlace(end, serializedInterval.endSide ?? internal_2.Side.Before), op) ?? interval;
|
|
789
788
|
}
|
|
790
|
-
newInterval.propertyManager
|
|
789
|
+
newInterval.propertyManager ??= new internal_2.PropertiesManager();
|
|
791
790
|
const deltaProps = newInterval.propertyManager.handleProperties({ props: newProps }, newInterval, op.sequenceNumber, op.minimumSequenceNumber, true);
|
|
792
791
|
if (this.onDeserialize) {
|
|
793
792
|
this.onDeserialize(newInterval);
|