@fluidframework/sequence 2.1.0-276985 → 2.1.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.
Files changed (58) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/README.md +112 -2
  3. package/api-extractor/{api-extractor-lint-beta.cjs.json → api-extractor.current.json} +2 -2
  4. package/api-extractor/api-extractor.legacy.json +1 -1
  5. package/api-extractor.json +1 -1
  6. package/api-report/sequence.beta.api.md +0 -28
  7. package/api-report/sequence.legacy.alpha.api.md +0 -2
  8. package/api-report/sequence.legacy.public.api.md +31 -0
  9. package/api-report/sequence.public.api.md +0 -28
  10. package/dist/intervalCollection.d.ts.map +1 -1
  11. package/dist/intervalCollection.js +2 -0
  12. package/dist/intervalCollection.js.map +1 -1
  13. package/dist/legacy.d.ts +14 -1
  14. package/dist/packageVersion.d.ts +1 -1
  15. package/dist/packageVersion.d.ts.map +1 -1
  16. package/dist/packageVersion.js +1 -1
  17. package/dist/packageVersion.js.map +1 -1
  18. package/dist/public.d.ts +13 -2
  19. package/dist/revertibles.d.ts.map +1 -1
  20. package/dist/revertibles.js +6 -0
  21. package/dist/revertibles.js.map +1 -1
  22. package/dist/sequence.d.ts.map +1 -1
  23. package/dist/sequence.js +4 -0
  24. package/dist/sequence.js.map +1 -1
  25. package/dist/sequenceDeltaEvent.d.ts.map +1 -1
  26. package/dist/sequenceDeltaEvent.js +8 -2
  27. package/dist/sequenceDeltaEvent.js.map +1 -1
  28. package/internal.d.ts +1 -1
  29. package/legacy.d.ts +1 -1
  30. package/lib/intervalCollection.d.ts.map +1 -1
  31. package/lib/intervalCollection.js +2 -0
  32. package/lib/intervalCollection.js.map +1 -1
  33. package/lib/legacy.d.ts +14 -1
  34. package/lib/packageVersion.d.ts +1 -1
  35. package/lib/packageVersion.d.ts.map +1 -1
  36. package/lib/packageVersion.js +1 -1
  37. package/lib/packageVersion.js.map +1 -1
  38. package/lib/public.d.ts +13 -2
  39. package/lib/revertibles.d.ts.map +1 -1
  40. package/lib/revertibles.js +6 -0
  41. package/lib/revertibles.js.map +1 -1
  42. package/lib/sequence.d.ts.map +1 -1
  43. package/lib/sequence.js +4 -0
  44. package/lib/sequence.js.map +1 -1
  45. package/lib/sequenceDeltaEvent.d.ts.map +1 -1
  46. package/lib/sequenceDeltaEvent.js +8 -2
  47. package/lib/sequenceDeltaEvent.js.map +1 -1
  48. package/package.json +44 -51
  49. package/src/intervalCollection.ts +3 -1
  50. package/src/packageVersion.ts +1 -1
  51. package/src/revertibles.ts +9 -3
  52. package/src/sequence.ts +6 -2
  53. package/src/sequenceDeltaEvent.ts +6 -2
  54. package/tsconfig.json +0 -1
  55. package/api-extractor/api-extractor-lint-beta.esm.json +0 -5
  56. package/beta.d.ts +0 -11
  57. package/dist/beta.d.ts +0 -12
  58. package/lib/beta.d.ts +0 -12
@@ -1 +1 @@
1
- {"version":3,"file":"sequenceDeltaEvent.js","sourceRoot":"","sources":["../src/sequenceDeltaEvent.ts"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { assert } from \"@fluidframework/core-utils/internal\";\nimport {\n\t// eslint-disable-next-line import/no-deprecated\n\tClient,\n\tIMergeTreeDeltaCallbackArgs,\n\tIMergeTreeDeltaOpArgs,\n\tIMergeTreeMaintenanceCallbackArgs,\n\tISegment,\n\tMergeTreeDeltaOperationType,\n\tMergeTreeDeltaOperationTypes,\n\tMergeTreeMaintenanceType,\n\tPropertySet, // eslint-disable-next-line import/no-deprecated\n\tSortedSegmentSet,\n} from \"@fluidframework/merge-tree/internal\";\n\n/**\n * Base class for SequenceDeltaEvent and SequenceMaintenanceEvent.\n *\n * The properties of this object and its sub-objects represent the state of the sequence at the\n * point in time at which the operation was applied.\n * They will not take into any future modifications performed to the underlying sequence and merge tree.\n * @legacy\n * @alpha\n */\nexport abstract class SequenceEvent<\n\tTOperation extends MergeTreeDeltaOperationTypes = MergeTreeDeltaOperationTypes,\n> {\n\tpublic readonly deltaOperation: TOperation;\n\t// eslint-disable-next-line import/no-deprecated\n\tprivate readonly sortedRanges: Lazy<SortedSegmentSet<ISequenceDeltaRange<TOperation>>>;\n\tprivate readonly pFirst: Lazy<ISequenceDeltaRange<TOperation>>;\n\tprivate readonly pLast: Lazy<ISequenceDeltaRange<TOperation>>;\n\n\tconstructor(\n\t\t/**\n\t\t * Arguments reflecting the type of change that caused this event.\n\t\t */\n\t\tpublic readonly deltaArgs: IMergeTreeDeltaCallbackArgs<TOperation>,\n\t\t// eslint-disable-next-line import/no-deprecated\n\t\tprivate readonly mergeTreeClient: Client,\n\t) {\n\t\tassert(\n\t\t\tdeltaArgs.deltaSegments.length > 0,\n\t\t\t0x2d8 /* \"Empty change event should not be emitted.\" */,\n\t\t);\n\t\tthis.deltaOperation = deltaArgs.operation;\n\n\t\t// eslint-disable-next-line import/no-deprecated\n\t\tthis.sortedRanges = new Lazy<SortedSegmentSet<ISequenceDeltaRange<TOperation>>>(() => {\n\t\t\t// eslint-disable-next-line import/no-deprecated\n\t\t\tconst set = new SortedSegmentSet<ISequenceDeltaRange<TOperation>>();\n\t\t\tthis.deltaArgs.deltaSegments.forEach((delta) => {\n\t\t\t\tconst newRange: ISequenceDeltaRange<TOperation> = {\n\t\t\t\t\toperation: this.deltaArgs.operation,\n\t\t\t\t\tposition: this.mergeTreeClient.getPosition(delta.segment),\n\t\t\t\t\tpropertyDeltas: delta.propertyDeltas ?? {},\n\t\t\t\t\tsegment: delta.segment,\n\t\t\t\t};\n\t\t\t\tset.addOrUpdate(newRange);\n\t\t\t});\n\t\t\treturn set;\n\t\t});\n\n\t\tthis.pFirst = new Lazy<ISequenceDeltaRange<TOperation>>(\n\t\t\t() => this.sortedRanges.value.items[0],\n\t\t);\n\n\t\tthis.pLast = new Lazy<ISequenceDeltaRange<TOperation>>(\n\t\t\t() => this.sortedRanges.value.items[this.sortedRanges.value.size - 1],\n\t\t);\n\t}\n\n\t/**\n\t * The in-order ranges affected by this delta.\n\t * These are not necessarily contiguous.\n\t *\n\t * @remarks - If processing code doesn't care about the order of the ranges, it may instead consider using the\n\t * {@link @fluidframework/merge-tree#IMergeTreeDeltaCallbackArgs.deltaSegments|deltaSegments} field on {@link SequenceEvent.deltaArgs|deltaArgs}.\n\t */\n\tpublic get ranges(): readonly Readonly<ISequenceDeltaRange<TOperation>>[] {\n\t\treturn this.sortedRanges.value.items;\n\t}\n\n\t/**\n\t * The client id of the client that made the change which caused the delta event\n\t */\n\tpublic get clientId(): string | undefined {\n\t\treturn this.mergeTreeClient.longClientId;\n\t}\n\n\t/**\n\t * The first of the modified ranges.\n\t */\n\tpublic get first(): Readonly<ISequenceDeltaRange<TOperation>> {\n\t\treturn this.pFirst.value;\n\t}\n\n\t/**\n\t * The last of the modified ranges.\n\t */\n\tpublic get last(): Readonly<ISequenceDeltaRange<TOperation>> {\n\t\treturn this.pLast.value;\n\t}\n}\n\n/**\n * The event object returned on sequenceDelta events.\n *\n * The properties of this object and its sub-objects represent the state of the sequence at the\n * point in time at which the operation was applied.\n * They will not take into consideration any future modifications performed to the underlying sequence and merge tree.\n *\n * For group ops, each op will get its own event, and the group op property will be set on the op args.\n *\n * Ops may get multiple events. For instance, an insert-replace will get a remove then an insert event.\n * @legacy\n * @alpha\n */\nexport class SequenceDeltaEvent extends SequenceEvent<MergeTreeDeltaOperationType> {\n\t/**\n\t * Whether the event was caused by a locally-made change.\n\t */\n\tpublic readonly isLocal: boolean;\n\n\tconstructor(\n\t\tpublic readonly opArgs: IMergeTreeDeltaOpArgs,\n\t\tdeltaArgs: IMergeTreeDeltaCallbackArgs,\n\t\t// eslint-disable-next-line import/no-deprecated\n\t\tmergeTreeClient: Client,\n\t) {\n\t\tsuper(deltaArgs, mergeTreeClient);\n\t\tthis.isLocal = opArgs.sequencedMessage === undefined;\n\t}\n}\n\n/**\n * The event object returned on maintenance events.\n *\n * The properties of this object and its sub-objects represent the state of the sequence at the\n * point in time at which the operation was applied.\n * They will not take into consideration any future modifications performed to the underlying sequence and merge tree.\n * @legacy\n * @alpha\n */\nexport class SequenceMaintenanceEvent extends SequenceEvent<MergeTreeMaintenanceType> {\n\tconstructor(\n\t\t/**\n\t\t * Defined iff `deltaArgs.operation` is {@link @fluidframework/merge-tree#MergeTreeMaintenanceType.ACKNOWLEDGED|MergeTreeMaintenanceType.ACKNOWLEDGED}.\n\t\t *\n\t\t * In that case, this argument provides information about the change which was acknowledged.\n\t\t */\n\t\tpublic readonly opArgs: IMergeTreeDeltaOpArgs | undefined,\n\t\tdeltaArgs: IMergeTreeMaintenanceCallbackArgs,\n\t\t// eslint-disable-next-line import/no-deprecated\n\t\tmergeTreeClient: Client,\n\t) {\n\t\tsuper(deltaArgs, mergeTreeClient);\n\t}\n}\n\n/**\n * A range that has changed corresponding to a segment modification.\n * @legacy\n * @alpha\n */\nexport interface ISequenceDeltaRange<\n\tTOperation extends MergeTreeDeltaOperationTypes = MergeTreeDeltaOperationTypes,\n> {\n\t/**\n\t * The type of operation that changed this range.\n\t *\n\t * @remarks Consuming code should typically compare this to the enum values defined in\n\t * `MergeTreeDeltaOperationTypes`.\n\t */\n\toperation: TOperation;\n\n\t/**\n\t * The index of the start of the range.\n\t */\n\tposition: number;\n\n\t/**\n\t * The segment that corresponds to the range.\n\t */\n\tsegment: ISegment;\n\n\t/**\n\t * Deltas object which contains all modified properties with their previous values.\n\t * Since `undefined` doesn't survive a round-trip through JSON serialization, the old value being absent\n\t * is instead encoded with `null`.\n\t *\n\t * @remarks This object is motivated by undo/redo scenarios, and provides a convenient \"inverse op\" to apply to\n\t * undo a property change.\n\t *\n\t * @example\n\t *\n\t * If a segment initially had properties `{ foo: \"1\", bar: 2 }` and it was annotated with\n\t * `{ foo: 3, baz: 5 }`, the corresponding event would have a `propertyDeltas` of `{ foo: \"1\", baz: null }`.\n\t */\n\tpropertyDeltas: PropertySet;\n}\n\nclass Lazy<T> {\n\tprivate pValue: T | undefined;\n\tprivate pEvaluated: boolean;\n\tconstructor(private readonly valueGenerator: () => T) {\n\t\tthis.pEvaluated = false;\n\t}\n\n\tpublic get evaluated(): boolean {\n\t\treturn this.pEvaluated;\n\t}\n\n\tpublic get value(): T {\n\t\tif (!this.pEvaluated) {\n\t\t\tthis.pEvaluated = true;\n\t\t\tthis.pValue = this.valueGenerator();\n\t\t}\n\t\treturn this.pValue as T;\n\t}\n}\n"]}
1
+ {"version":3,"file":"sequenceDeltaEvent.js","sourceRoot":"","sources":["../src/sequenceDeltaEvent.ts"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { assert } from \"@fluidframework/core-utils/internal\";\nimport {\n\t// eslint-disable-next-line import/no-deprecated\n\tClient,\n\tIMergeTreeDeltaCallbackArgs,\n\tIMergeTreeDeltaOpArgs,\n\tIMergeTreeMaintenanceCallbackArgs,\n\tISegment,\n\tMergeTreeDeltaOperationType,\n\tMergeTreeDeltaOperationTypes,\n\tMergeTreeMaintenanceType,\n\tPropertySet, // eslint-disable-next-line import/no-deprecated\n\tSortedSegmentSet,\n} from \"@fluidframework/merge-tree/internal\";\n\n/**\n * Base class for SequenceDeltaEvent and SequenceMaintenanceEvent.\n *\n * The properties of this object and its sub-objects represent the state of the sequence at the\n * point in time at which the operation was applied.\n * They will not take into any future modifications performed to the underlying sequence and merge tree.\n * @legacy\n * @alpha\n */\nexport abstract class SequenceEvent<\n\tTOperation extends MergeTreeDeltaOperationTypes = MergeTreeDeltaOperationTypes,\n> {\n\tpublic readonly deltaOperation: TOperation;\n\t// eslint-disable-next-line import/no-deprecated\n\tprivate readonly sortedRanges: Lazy<SortedSegmentSet<ISequenceDeltaRange<TOperation>>>;\n\tprivate readonly pFirst: Lazy<ISequenceDeltaRange<TOperation>>;\n\tprivate readonly pLast: Lazy<ISequenceDeltaRange<TOperation>>;\n\n\tconstructor(\n\t\t/**\n\t\t * Arguments reflecting the type of change that caused this event.\n\t\t */\n\t\tpublic readonly deltaArgs: IMergeTreeDeltaCallbackArgs<TOperation>,\n\t\t// eslint-disable-next-line import/no-deprecated\n\t\tprivate readonly mergeTreeClient: Client,\n\t) {\n\t\tassert(\n\t\t\tdeltaArgs.deltaSegments.length > 0,\n\t\t\t0x2d8 /* \"Empty change event should not be emitted.\" */,\n\t\t);\n\t\tthis.deltaOperation = deltaArgs.operation;\n\n\t\t// eslint-disable-next-line import/no-deprecated\n\t\tthis.sortedRanges = new Lazy<SortedSegmentSet<ISequenceDeltaRange<TOperation>>>(() => {\n\t\t\t// eslint-disable-next-line import/no-deprecated\n\t\t\tconst set = new SortedSegmentSet<ISequenceDeltaRange<TOperation>>();\n\t\t\tthis.deltaArgs.deltaSegments.forEach((delta) => {\n\t\t\t\tconst newRange: ISequenceDeltaRange<TOperation> = {\n\t\t\t\t\toperation: this.deltaArgs.operation,\n\t\t\t\t\tposition: this.mergeTreeClient.getPosition(delta.segment),\n\t\t\t\t\tpropertyDeltas: delta.propertyDeltas ?? {},\n\t\t\t\t\tsegment: delta.segment,\n\t\t\t\t};\n\t\t\t\tset.addOrUpdate(newRange);\n\t\t\t});\n\t\t\treturn set;\n\t\t});\n\n\t\tthis.pFirst = new Lazy<ISequenceDeltaRange<TOperation>>(\n\t\t\t// TODO Non null asserting, why is this not null?\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n\t\t\t() => this.sortedRanges.value.items[0]!,\n\t\t);\n\n\t\tthis.pLast = new Lazy<ISequenceDeltaRange<TOperation>>(\n\t\t\t// TODO Non null asserting, why is this not null?\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n\t\t\t() => this.sortedRanges.value.items[this.sortedRanges.value.size - 1]!,\n\t\t);\n\t}\n\n\t/**\n\t * The in-order ranges affected by this delta.\n\t * These are not necessarily contiguous.\n\t *\n\t * @remarks - If processing code doesn't care about the order of the ranges, it may instead consider using the\n\t * {@link @fluidframework/merge-tree#IMergeTreeDeltaCallbackArgs.deltaSegments|deltaSegments} field on {@link SequenceEvent.deltaArgs|deltaArgs}.\n\t */\n\tpublic get ranges(): readonly Readonly<ISequenceDeltaRange<TOperation>>[] {\n\t\treturn this.sortedRanges.value.items;\n\t}\n\n\t/**\n\t * The client id of the client that made the change which caused the delta event\n\t */\n\tpublic get clientId(): string | undefined {\n\t\treturn this.mergeTreeClient.longClientId;\n\t}\n\n\t/**\n\t * The first of the modified ranges.\n\t */\n\tpublic get first(): Readonly<ISequenceDeltaRange<TOperation>> {\n\t\treturn this.pFirst.value;\n\t}\n\n\t/**\n\t * The last of the modified ranges.\n\t */\n\tpublic get last(): Readonly<ISequenceDeltaRange<TOperation>> {\n\t\treturn this.pLast.value;\n\t}\n}\n\n/**\n * The event object returned on sequenceDelta events.\n *\n * The properties of this object and its sub-objects represent the state of the sequence at the\n * point in time at which the operation was applied.\n * They will not take into consideration any future modifications performed to the underlying sequence and merge tree.\n *\n * For group ops, each op will get its own event, and the group op property will be set on the op args.\n *\n * Ops may get multiple events. For instance, an insert-replace will get a remove then an insert event.\n * @legacy\n * @alpha\n */\nexport class SequenceDeltaEvent extends SequenceEvent<MergeTreeDeltaOperationType> {\n\t/**\n\t * Whether the event was caused by a locally-made change.\n\t */\n\tpublic readonly isLocal: boolean;\n\n\tconstructor(\n\t\tpublic readonly opArgs: IMergeTreeDeltaOpArgs,\n\t\tdeltaArgs: IMergeTreeDeltaCallbackArgs,\n\t\t// eslint-disable-next-line import/no-deprecated\n\t\tmergeTreeClient: Client,\n\t) {\n\t\tsuper(deltaArgs, mergeTreeClient);\n\t\tthis.isLocal = opArgs.sequencedMessage === undefined;\n\t}\n}\n\n/**\n * The event object returned on maintenance events.\n *\n * The properties of this object and its sub-objects represent the state of the sequence at the\n * point in time at which the operation was applied.\n * They will not take into consideration any future modifications performed to the underlying sequence and merge tree.\n * @legacy\n * @alpha\n */\nexport class SequenceMaintenanceEvent extends SequenceEvent<MergeTreeMaintenanceType> {\n\tconstructor(\n\t\t/**\n\t\t * Defined iff `deltaArgs.operation` is {@link @fluidframework/merge-tree#MergeTreeMaintenanceType.ACKNOWLEDGED|MergeTreeMaintenanceType.ACKNOWLEDGED}.\n\t\t *\n\t\t * In that case, this argument provides information about the change which was acknowledged.\n\t\t */\n\t\tpublic readonly opArgs: IMergeTreeDeltaOpArgs | undefined,\n\t\tdeltaArgs: IMergeTreeMaintenanceCallbackArgs,\n\t\t// eslint-disable-next-line import/no-deprecated\n\t\tmergeTreeClient: Client,\n\t) {\n\t\tsuper(deltaArgs, mergeTreeClient);\n\t}\n}\n\n/**\n * A range that has changed corresponding to a segment modification.\n * @legacy\n * @alpha\n */\nexport interface ISequenceDeltaRange<\n\tTOperation extends MergeTreeDeltaOperationTypes = MergeTreeDeltaOperationTypes,\n> {\n\t/**\n\t * The type of operation that changed this range.\n\t *\n\t * @remarks Consuming code should typically compare this to the enum values defined in\n\t * `MergeTreeDeltaOperationTypes`.\n\t */\n\toperation: TOperation;\n\n\t/**\n\t * The index of the start of the range.\n\t */\n\tposition: number;\n\n\t/**\n\t * The segment that corresponds to the range.\n\t */\n\tsegment: ISegment;\n\n\t/**\n\t * Deltas object which contains all modified properties with their previous values.\n\t * Since `undefined` doesn't survive a round-trip through JSON serialization, the old value being absent\n\t * is instead encoded with `null`.\n\t *\n\t * @remarks This object is motivated by undo/redo scenarios, and provides a convenient \"inverse op\" to apply to\n\t * undo a property change.\n\t *\n\t * @example\n\t *\n\t * If a segment initially had properties `{ foo: \"1\", bar: 2 }` and it was annotated with\n\t * `{ foo: 3, baz: 5 }`, the corresponding event would have a `propertyDeltas` of `{ foo: \"1\", baz: null }`.\n\t */\n\tpropertyDeltas: PropertySet;\n}\n\nclass Lazy<T> {\n\tprivate pValue: T | undefined;\n\tprivate pEvaluated: boolean;\n\tconstructor(private readonly valueGenerator: () => T) {\n\t\tthis.pEvaluated = false;\n\t}\n\n\tpublic get evaluated(): boolean {\n\t\treturn this.pEvaluated;\n\t}\n\n\tpublic get value(): T {\n\t\tif (!this.pEvaluated) {\n\t\t\tthis.pEvaluated = true;\n\t\t\tthis.pValue = this.valueGenerator();\n\t\t}\n\t\treturn this.pValue as T;\n\t}\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluidframework/sequence",
3
- "version": "2.1.0-276985",
3
+ "version": "2.1.0",
4
4
  "description": "Distributed sequence",
5
5
  "homepage": "https://fluidframework.com",
6
6
  "repository": {
@@ -23,26 +23,6 @@
23
23
  "default": "./dist/index.js"
24
24
  }
25
25
  },
26
- "./beta": {
27
- "import": {
28
- "types": "./lib/beta.d.ts",
29
- "default": "./lib/index.js"
30
- },
31
- "require": {
32
- "types": "./dist/beta.d.ts",
33
- "default": "./dist/index.js"
34
- }
35
- },
36
- "./internal/test/intervalCollection": {
37
- "import": {
38
- "types": "./lib/intervalCollection.d.ts",
39
- "default": "./lib/intervalCollection.js"
40
- },
41
- "require": {
42
- "types": "./dist/intervalCollection.d.ts",
43
- "default": "./dist/intervalCollection.js"
44
- }
45
- },
46
26
  "./legacy": {
47
27
  "import": {
48
28
  "types": "./lib/legacy.d.ts",
@@ -62,6 +42,16 @@
62
42
  "types": "./dist/index.d.ts",
63
43
  "default": "./dist/index.js"
64
44
  }
45
+ },
46
+ "./internal/test/intervalCollection": {
47
+ "import": {
48
+ "types": "./lib/intervalCollection.d.ts",
49
+ "default": "./lib/intervalCollection.js"
50
+ },
51
+ "require": {
52
+ "types": "./dist/intervalCollection.d.ts",
53
+ "default": "./dist/intervalCollection.js"
54
+ }
65
55
  }
66
56
  },
67
57
  "main": "lib/index.js",
@@ -87,33 +77,33 @@
87
77
  "temp-directory": "nyc/.nyc_output"
88
78
  },
89
79
  "dependencies": {
90
- "@fluid-internal/client-utils": "2.1.0-276985",
91
- "@fluidframework/core-interfaces": "2.1.0-276985",
92
- "@fluidframework/core-utils": "2.1.0-276985",
93
- "@fluidframework/datastore-definitions": "2.1.0-276985",
94
- "@fluidframework/driver-definitions": "2.1.0-276985",
95
- "@fluidframework/merge-tree": "2.1.0-276985",
96
- "@fluidframework/runtime-definitions": "2.1.0-276985",
97
- "@fluidframework/runtime-utils": "2.1.0-276985",
98
- "@fluidframework/shared-object-base": "2.1.0-276985",
99
- "@fluidframework/telemetry-utils": "2.1.0-276985",
80
+ "@fluid-internal/client-utils": "~2.1.0",
81
+ "@fluidframework/core-interfaces": "~2.1.0",
82
+ "@fluidframework/core-utils": "~2.1.0",
83
+ "@fluidframework/datastore-definitions": "~2.1.0",
84
+ "@fluidframework/driver-definitions": "~2.1.0",
85
+ "@fluidframework/merge-tree": "~2.1.0",
86
+ "@fluidframework/runtime-definitions": "~2.1.0",
87
+ "@fluidframework/runtime-utils": "~2.1.0",
88
+ "@fluidframework/shared-object-base": "~2.1.0",
89
+ "@fluidframework/telemetry-utils": "~2.1.0",
100
90
  "double-ended-queue": "^2.1.0-0",
101
91
  "uuid": "^9.0.0"
102
92
  },
103
93
  "devDependencies": {
104
94
  "@arethetypeswrong/cli": "^0.15.2",
105
- "@biomejs/biome": "^1.7.3",
106
- "@fluid-internal/mocha-test-setup": "2.1.0-276985",
107
- "@fluid-private/stochastic-test-utils": "2.1.0-276985",
108
- "@fluid-private/test-dds-utils": "2.1.0-276985",
95
+ "@biomejs/biome": "~1.8.3",
96
+ "@fluid-internal/mocha-test-setup": "~2.1.0",
97
+ "@fluid-private/stochastic-test-utils": "~2.1.0",
98
+ "@fluid-private/test-dds-utils": "~2.1.0",
109
99
  "@fluid-tools/benchmark": "^0.48.0",
110
- "@fluid-tools/build-cli": "^0.39.0",
100
+ "@fluid-tools/build-cli": "^0.41.0",
111
101
  "@fluidframework/build-common": "^2.0.3",
112
- "@fluidframework/build-tools": "^0.39.0",
113
- "@fluidframework/container-definitions": "2.1.0-276985",
102
+ "@fluidframework/build-tools": "^0.41.0",
103
+ "@fluidframework/container-definitions": "~2.1.0",
114
104
  "@fluidframework/eslint-config-fluid": "^5.3.0",
115
- "@fluidframework/sequence-previous": "npm:@fluidframework/sequence@2.0.0-rc.5.0.0",
116
- "@fluidframework/test-runtime-utils": "2.1.0-276985",
105
+ "@fluidframework/sequence-previous": "npm:@fluidframework/sequence@2.0.0",
106
+ "@fluidframework/test-runtime-utils": "~2.1.0",
117
107
  "@microsoft/api-extractor": "^7.45.1",
118
108
  "@types/diff": "^3.5.1",
119
109
  "@types/double-ended-queue": "^2.1.0",
@@ -146,8 +136,11 @@
146
136
  },
147
137
  "typeValidation": {
148
138
  "broken": {
149
- "InterfaceDeclaration_SequenceOptions": {
139
+ "Interface_SequenceOptions": {
150
140
  "backCompat": false
141
+ },
142
+ "Variable_SharedString": {
143
+ "forwardCompat": false
151
144
  }
152
145
  }
153
146
  },
@@ -156,36 +149,36 @@
156
149
  "api-extractor:commonjs": "flub generate entrypoints --outDir ./dist",
157
150
  "api-extractor:esnext": "flub generate entrypoints --outDir ./lib --node10TypeCompat",
158
151
  "build": "fluid-build . --task build",
152
+ "build:api-reports": "concurrently \"npm:build:api-reports:*\"",
153
+ "build:api-reports:current": "api-extractor run --local --config api-extractor/api-extractor.current.json",
154
+ "build:api-reports:legacy": "api-extractor run --local --config api-extractor/api-extractor.legacy.json",
159
155
  "build:commonjs": "fluid-build . --task commonjs",
160
156
  "build:compile": "fluid-build . --task compile",
161
- "build:docs": "concurrently \"npm:build:docs:*\"",
162
- "build:docs:current": "api-extractor run --local",
163
- "build:docs:legacy": "api-extractor run --local --config api-extractor/api-extractor.legacy.json",
157
+ "build:docs": "api-extractor run --local",
164
158
  "build:esnext": "tsc --project ./tsconfig.json",
165
159
  "build:genver": "gen-version",
166
160
  "build:test": "npm run build:test:esm && npm run build:test:cjs",
167
161
  "build:test:cjs": "fluid-tsc commonjs --project ./src/test/tsconfig.cjs.json",
168
162
  "build:test:esm": "tsc --project ./src/test/tsconfig.json",
169
163
  "check:are-the-types-wrong": "attw --pack . --exclude-entrypoints ./internal/test/intervalCollection",
170
- "check:biome": "biome check . --formatter-enabled=true",
164
+ "check:biome": "biome check .",
171
165
  "check:exports": "concurrently \"npm:check:exports:*\"",
172
166
  "check:exports:bundle-release-tags": "api-extractor run --config api-extractor/api-extractor-lint-bundle.json",
173
- "check:exports:cjs:beta": "api-extractor run --config api-extractor/api-extractor-lint-beta.cjs.json",
174
167
  "check:exports:cjs:legacy": "api-extractor run --config api-extractor/api-extractor-lint-legacy.cjs.json",
175
168
  "check:exports:cjs:public": "api-extractor run --config api-extractor/api-extractor-lint-public.cjs.json",
176
- "check:exports:esm:beta": "api-extractor run --config api-extractor/api-extractor-lint-beta.esm.json",
177
169
  "check:exports:esm:legacy": "api-extractor run --config api-extractor/api-extractor-lint-legacy.esm.json",
178
170
  "check:exports:esm:public": "api-extractor run --config api-extractor/api-extractor-lint-public.esm.json",
179
171
  "check:format": "npm run check:biome",
180
172
  "check:prettier": "prettier --check . --cache --ignore-path ../../../.prettierignore",
181
- "ci:build:docs": "concurrently \"npm:ci:build:docs:*\"",
182
- "ci:build:docs:current": "api-extractor run",
183
- "ci:build:docs:legacy": "api-extractor run --config api-extractor/api-extractor.legacy.json",
173
+ "ci:build:api-reports": "concurrently \"npm:ci:build:api-reports:*\"",
174
+ "ci:build:api-reports:current": "api-extractor run --config api-extractor/api-extractor.current.json",
175
+ "ci:build:api-reports:legacy": "api-extractor run --config api-extractor/api-extractor.legacy.json",
176
+ "ci:build:docs": "api-extractor run",
184
177
  "clean": "rimraf --glob dist lib \"*.d.ts\" \"**/*.tsbuildinfo\" \"**/*.build.log\" _api-extractor-temp nyc",
185
178
  "eslint": "eslint --format stylish src",
186
179
  "eslint:fix": "eslint --format stylish src --fix --fix-type problem,suggestion,layout",
187
180
  "format": "npm run format:biome",
188
- "format:biome": "biome check . --formatter-enabled=true --apply",
181
+ "format:biome": "biome check . --write",
189
182
  "format:prettier": "prettier --write . --cache --ignore-path ../../../.prettierignore",
190
183
  "lint": "fluid-build . --task lint",
191
184
  "lint:fix": "fluid-build . --task eslint:fix --task format",
@@ -668,7 +668,9 @@ class IntervalCollectionIterator<TInterval extends ISerializableInterval>
668
668
  public next(): IteratorResult<TInterval> {
669
669
  if (this.index < this.results.length) {
670
670
  return {
671
- value: this.results[this.index++],
671
+ // TODO Non null asserting, why is this not null?
672
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
673
+ value: this.results[this.index++]!,
672
674
  done: false,
673
675
  };
674
676
  }
@@ -6,4 +6,4 @@
6
6
  */
7
7
 
8
8
  export const pkgName = "@fluidframework/sequence";
9
- export const pkgVersion = "2.1.0-276985";
9
+ export const pkgVersion = "2.1.0";
@@ -323,7 +323,9 @@ export function appendSharedStringDeltaToRevertibles(
323
323
  event: IntervalOpType.POSITION_REMOVE,
324
324
  intervals: [],
325
325
  revertibleRefs,
326
- mergeTreeRevertible: removeRevertibles[0],
326
+ // TODO Non null asserting, why is this not null?
327
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
328
+ mergeTreeRevertible: removeRevertibles[0]!,
327
329
  };
328
330
 
329
331
  // add an interval for each startInterval, accounting for any corresponding endIntervals
@@ -334,7 +336,9 @@ export function appendSharedStringDeltaToRevertibles(
334
336
  });
335
337
  let endOffset: number | undefined;
336
338
  if (endIntervalIndex !== -1) {
337
- endOffset = endIntervals[endIntervalIndex].offset;
339
+ // TODO Non null asserting, why is this not null?
340
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
341
+ endOffset = endIntervals[endIntervalIndex]!.offset;
338
342
  endIntervals.splice(endIntervalIndex, 1);
339
343
  }
340
344
 
@@ -584,7 +588,9 @@ interface RangeInfo {
584
588
  // eslint-disable-next-line import/no-deprecated
585
589
  class SortedRangeSet extends SortedSet<RangeInfo, string> {
586
590
  protected getKey(item: RangeInfo): string {
587
- return item.ranges[0].segment.ordinal;
591
+ // TODO Non null asserting, why is this not null?
592
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
593
+ return item.ranges[0]!.segment.ordinal;
588
594
  }
589
595
  }
590
596
 
package/src/sequence.ts CHANGED
@@ -941,7 +941,9 @@ export abstract class SharedSegmentSequence<T extends ISegment>
941
941
  // Do GC every once in a while...
942
942
  if (
943
943
  this.messagesSinceMSNChange.length > 20 &&
944
- this.messagesSinceMSNChange[20].sequenceNumber < message.minimumSequenceNumber
944
+ // TODO Non null asserting, why is this not null?
945
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
946
+ this.messagesSinceMSNChange[20]!.sequenceNumber < message.minimumSequenceNumber
945
947
  ) {
946
948
  this.processMinSequenceNumberChanged(message.minimumSequenceNumber);
947
949
  }
@@ -951,7 +953,9 @@ export abstract class SharedSegmentSequence<T extends ISegment>
951
953
  private processMinSequenceNumberChanged(minSeq: number) {
952
954
  let index = 0;
953
955
  for (; index < this.messagesSinceMSNChange.length; index++) {
954
- if (this.messagesSinceMSNChange[index].sequenceNumber > minSeq) {
956
+ // TODO Non null asserting, why is this not null?
957
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
958
+ if (this.messagesSinceMSNChange[index]!.sequenceNumber > minSeq) {
955
959
  break;
956
960
  }
957
961
  }
@@ -67,11 +67,15 @@ export abstract class SequenceEvent<
67
67
  });
68
68
 
69
69
  this.pFirst = new Lazy<ISequenceDeltaRange<TOperation>>(
70
- () => this.sortedRanges.value.items[0],
70
+ // TODO Non null asserting, why is this not null?
71
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
72
+ () => this.sortedRanges.value.items[0]!,
71
73
  );
72
74
 
73
75
  this.pLast = new Lazy<ISequenceDeltaRange<TOperation>>(
74
- () => this.sortedRanges.value.items[this.sortedRanges.value.size - 1],
76
+ // TODO Non null asserting, why is this not null?
77
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
78
+ () => this.sortedRanges.value.items[this.sortedRanges.value.size - 1]!,
75
79
  );
76
80
  }
77
81
 
package/tsconfig.json CHANGED
@@ -6,7 +6,6 @@
6
6
  "rootDir": "./src",
7
7
  "outDir": "./lib",
8
8
  "noImplicitAny": true,
9
- "noUncheckedIndexedAccess": false,
10
9
  "exactOptionalPropertyTypes": false,
11
10
  },
12
11
  }
@@ -1,5 +0,0 @@
1
- {
2
- "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
3
- "extends": "<projectFolder>/../../../common/build/build-common/api-extractor-lint.entrypoint.json",
4
- "mainEntryPointFilePath": "<projectFolder>/lib/beta.d.ts"
5
- }
package/beta.d.ts DELETED
@@ -1,11 +0,0 @@
1
- /*!
2
- * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
- * Licensed under the MIT License.
4
- */
5
-
6
- /*
7
- * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
8
- * Generated by "flub generate entrypoints" in @fluidframework/build-tools.
9
- */
10
-
11
- export * from "./lib/beta.js";
package/dist/beta.d.ts DELETED
@@ -1,12 +0,0 @@
1
- /*!
2
- * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
- * Licensed under the MIT License.
4
- */
5
-
6
- /*
7
- * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
8
- * Generated by "flub generate entrypoints" in @fluidframework/build-tools.
9
- */
10
-
11
- export {}
12
-
package/lib/beta.d.ts DELETED
@@ -1,12 +0,0 @@
1
- /*!
2
- * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
- * Licensed under the MIT License.
4
- */
5
-
6
- /*
7
- * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
8
- * Generated by "flub generate entrypoints" in @fluidframework/build-tools.
9
- */
10
-
11
- export {}
12
-