@fluidframework/merge-tree 2.4.0-297385 → 2.4.0-299707
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/client.d.ts.map +1 -1
- package/dist/client.js +3 -3
- package/dist/client.js.map +1 -1
- package/dist/collections/list.d.ts +1 -0
- package/dist/collections/list.d.ts.map +1 -1
- package/dist/collections/list.js +4 -1
- package/dist/collections/list.js.map +1 -1
- package/dist/mergeTree.d.ts +2 -2
- package/dist/mergeTree.d.ts.map +1 -1
- package/dist/mergeTree.js +8 -8
- package/dist/mergeTree.js.map +1 -1
- package/dist/test/beastTest.spec.d.ts.map +1 -1
- package/dist/test/beastTest.spec.js +3 -3
- package/dist/test/beastTest.spec.js.map +1 -1
- package/dist/test/client.applyMsg.spec.js +76 -0
- package/dist/test/client.applyMsg.spec.js.map +1 -1
- package/dist/test/client.conflictFarm.spec.js +17 -4
- package/dist/test/client.conflictFarm.spec.js.map +1 -1
- package/dist/test/mergeTree.insertingWalk.spec.js +2 -2
- package/dist/test/mergeTree.insertingWalk.spec.js.map +1 -1
- package/dist/test/mergeTreeOperationRunner.d.ts +1 -0
- package/dist/test/mergeTreeOperationRunner.d.ts.map +1 -1
- package/dist/test/mergeTreeOperationRunner.js +22 -1
- package/dist/test/mergeTreeOperationRunner.js.map +1 -1
- package/dist/test/obliterate.partialLength.spec.js +0 -4
- package/dist/test/obliterate.partialLength.spec.js.map +1 -1
- package/dist/test/obliterate.spec.js +0 -6
- package/dist/test/obliterate.spec.js.map +1 -1
- package/dist/test/testUtils.d.ts +2 -3
- package/dist/test/testUtils.d.ts.map +1 -1
- package/dist/test/testUtils.js +4 -4
- package/dist/test/testUtils.js.map +1 -1
- package/lib/client.d.ts.map +1 -1
- package/lib/client.js +3 -3
- package/lib/client.js.map +1 -1
- package/lib/collections/list.d.ts +1 -0
- package/lib/collections/list.d.ts.map +1 -1
- package/lib/collections/list.js +4 -1
- package/lib/collections/list.js.map +1 -1
- package/lib/mergeTree.d.ts +2 -2
- package/lib/mergeTree.d.ts.map +1 -1
- package/lib/mergeTree.js +8 -8
- package/lib/mergeTree.js.map +1 -1
- package/lib/test/beastTest.spec.d.ts.map +1 -1
- package/lib/test/beastTest.spec.js +3 -3
- package/lib/test/beastTest.spec.js.map +1 -1
- package/lib/test/client.applyMsg.spec.js +76 -0
- package/lib/test/client.applyMsg.spec.js.map +1 -1
- package/lib/test/client.conflictFarm.spec.js +18 -5
- package/lib/test/client.conflictFarm.spec.js.map +1 -1
- package/lib/test/mergeTree.insertingWalk.spec.js +2 -2
- package/lib/test/mergeTree.insertingWalk.spec.js.map +1 -1
- package/lib/test/mergeTreeOperationRunner.d.ts +1 -0
- package/lib/test/mergeTreeOperationRunner.d.ts.map +1 -1
- package/lib/test/mergeTreeOperationRunner.js +20 -0
- package/lib/test/mergeTreeOperationRunner.js.map +1 -1
- package/lib/test/obliterate.partialLength.spec.js +0 -4
- package/lib/test/obliterate.partialLength.spec.js.map +1 -1
- package/lib/test/obliterate.spec.js +0 -6
- package/lib/test/obliterate.spec.js.map +1 -1
- package/lib/test/testUtils.d.ts +2 -3
- package/lib/test/testUtils.d.ts.map +1 -1
- package/lib/test/testUtils.js +4 -4
- package/lib/test/testUtils.js.map +1 -1
- package/package.json +23 -22
- package/src/client.ts +0 -3
- package/src/collections/list.ts +6 -0
- package/src/mergeTree.ts +3 -9
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fluidframework/merge-tree",
|
|
3
|
-
"version": "2.4.0-
|
|
3
|
+
"version": "2.4.0-299707",
|
|
4
4
|
"description": "Merge tree",
|
|
5
5
|
"homepage": "https://fluidframework.com",
|
|
6
6
|
"repository": {
|
|
@@ -63,12 +63,14 @@
|
|
|
63
63
|
"cache-dir": "nyc/.cache",
|
|
64
64
|
"exclude": [
|
|
65
65
|
"src/test/**/*.*ts",
|
|
66
|
-
"dist/test/**/*.*js"
|
|
66
|
+
"dist/test/**/*.*js",
|
|
67
|
+
"lib/test/**/*.*js"
|
|
67
68
|
],
|
|
68
69
|
"exclude-after-remap": false,
|
|
69
70
|
"include": [
|
|
70
71
|
"src/**/*.*ts",
|
|
71
|
-
"dist/**/*.*js"
|
|
72
|
+
"dist/**/*.*js",
|
|
73
|
+
"lib/**/*.*js"
|
|
72
74
|
],
|
|
73
75
|
"report-dir": "nyc/report",
|
|
74
76
|
"reporter": [
|
|
@@ -79,30 +81,30 @@
|
|
|
79
81
|
"temp-directory": "nyc/.nyc_output"
|
|
80
82
|
},
|
|
81
83
|
"dependencies": {
|
|
82
|
-
"@fluid-internal/client-utils": "2.4.0-
|
|
83
|
-
"@fluidframework/container-definitions": "2.4.0-
|
|
84
|
-
"@fluidframework/core-interfaces": "2.4.0-
|
|
85
|
-
"@fluidframework/core-utils": "2.4.0-
|
|
86
|
-
"@fluidframework/datastore-definitions": "2.4.0-
|
|
87
|
-
"@fluidframework/driver-definitions": "2.4.0-
|
|
88
|
-
"@fluidframework/runtime-definitions": "2.4.0-
|
|
89
|
-
"@fluidframework/runtime-utils": "2.4.0-
|
|
90
|
-
"@fluidframework/shared-object-base": "2.4.0-
|
|
91
|
-
"@fluidframework/telemetry-utils": "2.4.0-
|
|
84
|
+
"@fluid-internal/client-utils": "2.4.0-299707",
|
|
85
|
+
"@fluidframework/container-definitions": "2.4.0-299707",
|
|
86
|
+
"@fluidframework/core-interfaces": "2.4.0-299707",
|
|
87
|
+
"@fluidframework/core-utils": "2.4.0-299707",
|
|
88
|
+
"@fluidframework/datastore-definitions": "2.4.0-299707",
|
|
89
|
+
"@fluidframework/driver-definitions": "2.4.0-299707",
|
|
90
|
+
"@fluidframework/runtime-definitions": "2.4.0-299707",
|
|
91
|
+
"@fluidframework/runtime-utils": "2.4.0-299707",
|
|
92
|
+
"@fluidframework/shared-object-base": "2.4.0-299707",
|
|
93
|
+
"@fluidframework/telemetry-utils": "2.4.0-299707"
|
|
92
94
|
},
|
|
93
95
|
"devDependencies": {
|
|
94
|
-
"@arethetypeswrong/cli": "^0.
|
|
96
|
+
"@arethetypeswrong/cli": "^0.16.4",
|
|
95
97
|
"@biomejs/biome": "~1.8.3",
|
|
96
|
-
"@fluid-internal/mocha-test-setup": "2.4.0-
|
|
97
|
-
"@fluid-private/stochastic-test-utils": "2.4.0-
|
|
98
|
-
"@fluid-private/test-pairwise-generator": "2.4.0-
|
|
98
|
+
"@fluid-internal/mocha-test-setup": "2.4.0-299707",
|
|
99
|
+
"@fluid-private/stochastic-test-utils": "2.4.0-299707",
|
|
100
|
+
"@fluid-private/test-pairwise-generator": "2.4.0-299707",
|
|
99
101
|
"@fluid-tools/benchmark": "^0.50.0",
|
|
100
|
-
"@fluid-tools/build-cli": "^0.
|
|
102
|
+
"@fluid-tools/build-cli": "^0.48.0",
|
|
101
103
|
"@fluidframework/build-common": "^2.0.3",
|
|
102
|
-
"@fluidframework/build-tools": "^0.
|
|
104
|
+
"@fluidframework/build-tools": "^0.48.0",
|
|
103
105
|
"@fluidframework/eslint-config-fluid": "^5.4.0",
|
|
104
106
|
"@fluidframework/merge-tree-previous": "npm:@fluidframework/merge-tree@~2.3.0",
|
|
105
|
-
"@fluidframework/test-runtime-utils": "2.4.0-
|
|
107
|
+
"@fluidframework/test-runtime-utils": "2.4.0-299707",
|
|
106
108
|
"@microsoft/api-extractor": "7.47.8",
|
|
107
109
|
"@types/diff": "^3.5.1",
|
|
108
110
|
"@types/mocha": "^9.1.1",
|
|
@@ -114,7 +116,6 @@
|
|
|
114
116
|
"diff": "^3.5.0",
|
|
115
117
|
"eslint": "~8.55.0",
|
|
116
118
|
"mocha": "^10.2.0",
|
|
117
|
-
"mocha-json-output-reporter": "^2.0.1",
|
|
118
119
|
"mocha-multi-reporters": "^1.5.1",
|
|
119
120
|
"moment": "^2.21.0",
|
|
120
121
|
"prettier": "~3.0.3",
|
|
@@ -186,7 +187,7 @@
|
|
|
186
187
|
"test:mocha:cjs": "mocha --recursive \"dist/test/**/*.spec.*js\" --exit",
|
|
187
188
|
"test:mocha:esm": "mocha --recursive \"lib/test/**/*.spec.*js\" --exit",
|
|
188
189
|
"test:mocha:verbose": "cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha",
|
|
189
|
-
"test:stress": "cross-env FUZZ_STRESS_RUN=1 FUZZ_TEST_COUNT=
|
|
190
|
+
"test:stress": "cross-env FUZZ_STRESS_RUN=1 FUZZ_TEST_COUNT=normal npm run test:mocha",
|
|
190
191
|
"tsc": "fluid-tsc commonjs --project ./tsconfig.cjs.json && copyfiles -f ../../../common/build/build-common/src/cjs/package.json ./dist",
|
|
191
192
|
"typetests:gen": "flub generate typetests --dir . -v",
|
|
192
193
|
"typetests:prepare": "flub typetests --dir . --reset --previous --normalize"
|
package/src/client.ts
CHANGED
|
@@ -501,7 +501,6 @@ export class Client extends TypedEventEmitter<IClientEvents> {
|
|
|
501
501
|
clientArgs.referenceSequenceNumber,
|
|
502
502
|
clientArgs.clientId,
|
|
503
503
|
clientArgs.sequenceNumber,
|
|
504
|
-
false,
|
|
505
504
|
opArgs,
|
|
506
505
|
);
|
|
507
506
|
} else {
|
|
@@ -516,7 +515,6 @@ export class Client extends TypedEventEmitter<IClientEvents> {
|
|
|
516
515
|
clientArgs.referenceSequenceNumber,
|
|
517
516
|
clientArgs.clientId,
|
|
518
517
|
clientArgs.sequenceNumber,
|
|
519
|
-
false,
|
|
520
518
|
opArgs,
|
|
521
519
|
);
|
|
522
520
|
}
|
|
@@ -541,7 +539,6 @@ export class Client extends TypedEventEmitter<IClientEvents> {
|
|
|
541
539
|
clientArgs.referenceSequenceNumber,
|
|
542
540
|
clientArgs.clientId,
|
|
543
541
|
clientArgs.sequenceNumber,
|
|
544
|
-
false,
|
|
545
542
|
opArgs,
|
|
546
543
|
);
|
|
547
544
|
}
|
package/src/collections/list.ts
CHANGED
|
@@ -87,6 +87,12 @@ export class DoublyLinkedList<T>
|
|
|
87
87
|
// try to match array signature and semantics where possible
|
|
88
88
|
Pick<ListNode<T>[], "pop" | "shift" | "length" | "includes">
|
|
89
89
|
{
|
|
90
|
+
constructor(values?: Iterable<T>) {
|
|
91
|
+
if (values !== undefined) {
|
|
92
|
+
this.push(...values);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
|
|
90
96
|
find(
|
|
91
97
|
predicate: (value: ListNode<T>, obj: DoublyLinkedList<T>) => unknown,
|
|
92
98
|
): ListNode<T> | undefined {
|
package/src/mergeTree.ts
CHANGED
|
@@ -1487,7 +1487,6 @@ export class MergeTree {
|
|
|
1487
1487
|
_pos: number,
|
|
1488
1488
|
context: InsertContext,
|
|
1489
1489
|
// Keeping this function within the scope of blockInsert for readability.
|
|
1490
|
-
// eslint-disable-next-line unicorn/consistent-function-scoping
|
|
1491
1490
|
): ISegmentChanges => {
|
|
1492
1491
|
const segmentChanges: ISegmentChanges = {};
|
|
1493
1492
|
if (segment) {
|
|
@@ -1932,7 +1931,6 @@ export class MergeTree {
|
|
|
1932
1931
|
refSeq: number,
|
|
1933
1932
|
clientId: number,
|
|
1934
1933
|
seq: number,
|
|
1935
|
-
overwrite: boolean = false,
|
|
1936
1934
|
opArgs: IMergeTreeDeltaOpArgs,
|
|
1937
1935
|
): void {
|
|
1938
1936
|
const startPos = start.side === Side.Before ? start.pos : start.pos + 1;
|
|
@@ -1941,7 +1939,7 @@ export class MergeTree {
|
|
|
1941
1939
|
this.ensureIntervalBoundary(startPos, refSeq, clientId);
|
|
1942
1940
|
this.ensureIntervalBoundary(endPos, refSeq, clientId);
|
|
1943
1941
|
|
|
1944
|
-
let _overwrite =
|
|
1942
|
+
let _overwrite = false;
|
|
1945
1943
|
const localOverlapWithRefs: ISegmentLeaf[] = [];
|
|
1946
1944
|
const movedSegments: IMergeTreeSegmentDelta[] = [];
|
|
1947
1945
|
const localSeq =
|
|
@@ -2138,7 +2136,6 @@ export class MergeTree {
|
|
|
2138
2136
|
refSeq: number,
|
|
2139
2137
|
clientId: number,
|
|
2140
2138
|
seq: number,
|
|
2141
|
-
overwrite: boolean = false,
|
|
2142
2139
|
opArgs: IMergeTreeDeltaOpArgs,
|
|
2143
2140
|
): void {
|
|
2144
2141
|
errorIfOptionNotTrue(this.options, "mergeTreeEnableObliterate");
|
|
@@ -2147,7 +2144,7 @@ export class MergeTree {
|
|
|
2147
2144
|
typeof start === "object" && typeof end === "object",
|
|
2148
2145
|
"Start and end must be of type InteriorSequencePlace if mergeTreeEnableSidedObliterate is enabled.",
|
|
2149
2146
|
);
|
|
2150
|
-
this.obliterateRangeSided(start, end, refSeq, clientId, seq,
|
|
2147
|
+
this.obliterateRangeSided(start, end, refSeq, clientId, seq, opArgs);
|
|
2151
2148
|
} else {
|
|
2152
2149
|
assert(
|
|
2153
2150
|
typeof start === "number" && typeof end === "number",
|
|
@@ -2159,7 +2156,6 @@ export class MergeTree {
|
|
|
2159
2156
|
refSeq,
|
|
2160
2157
|
clientId,
|
|
2161
2158
|
seq,
|
|
2162
|
-
overwrite,
|
|
2163
2159
|
opArgs,
|
|
2164
2160
|
);
|
|
2165
2161
|
}
|
|
@@ -2171,10 +2167,9 @@ export class MergeTree {
|
|
|
2171
2167
|
refSeq: number,
|
|
2172
2168
|
clientId: number,
|
|
2173
2169
|
seq: number,
|
|
2174
|
-
overwrite = false,
|
|
2175
2170
|
opArgs: IMergeTreeDeltaOpArgs,
|
|
2176
2171
|
): void {
|
|
2177
|
-
let _overwrite =
|
|
2172
|
+
let _overwrite = false;
|
|
2178
2173
|
this.ensureIntervalBoundary(start, refSeq, clientId);
|
|
2179
2174
|
this.ensureIntervalBoundary(end, refSeq, clientId);
|
|
2180
2175
|
// eslint-disable-next-line import/no-deprecated
|
|
@@ -2354,7 +2349,6 @@ export class MergeTree {
|
|
|
2354
2349
|
UniversalSequenceNumber,
|
|
2355
2350
|
this.collabWindow.clientId,
|
|
2356
2351
|
UniversalSequenceNumber,
|
|
2357
|
-
false,
|
|
2358
2352
|
{ op: removeOp },
|
|
2359
2353
|
);
|
|
2360
2354
|
} /* op.type === MergeTreeDeltaType.ANNOTATE */ else {
|