@fluidframework/merge-tree 2.0.0-internal.1.4.2 → 2.0.0-internal.2.0.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/dist/MergeTreeTextHelper.d.ts +0 -10
- package/dist/MergeTreeTextHelper.d.ts.map +1 -1
- package/dist/MergeTreeTextHelper.js +20 -106
- package/dist/MergeTreeTextHelper.js.map +1 -1
- package/dist/client.d.ts +18 -12
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +83 -77
- package/dist/client.js.map +1 -1
- package/dist/collections/heap.d.ts +0 -8
- package/dist/collections/heap.d.ts.map +1 -1
- package/dist/collections/heap.js +0 -4
- package/dist/collections/heap.js.map +1 -1
- package/dist/collections/index.d.ts +1 -3
- package/dist/collections/index.d.ts.map +1 -1
- package/dist/collections/index.js +4 -3
- package/dist/collections/index.js.map +1 -1
- package/dist/collections/list.d.ts +28 -33
- package/dist/collections/list.d.ts.map +1 -1
- package/dist/collections/list.js +135 -115
- package/dist/collections/list.js.map +1 -1
- package/dist/collections/rbTree.d.ts +6 -0
- package/dist/collections/rbTree.d.ts.map +1 -1
- package/dist/collections/rbTree.js +6 -0
- package/dist/collections/rbTree.js.map +1 -1
- package/dist/collections/stack.d.ts +0 -4
- package/dist/collections/stack.d.ts.map +1 -1
- package/dist/collections/stack.js +0 -4
- package/dist/collections/stack.js.map +1 -1
- package/dist/endOfTreeSegment.d.ts +52 -0
- package/dist/endOfTreeSegment.d.ts.map +1 -0
- package/dist/endOfTreeSegment.js +110 -0
- package/dist/endOfTreeSegment.js.map +1 -0
- package/dist/index.d.ts +3 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -5
- package/dist/index.js.map +1 -1
- package/dist/localReference.d.ts +28 -8
- package/dist/localReference.d.ts.map +1 -1
- package/dist/localReference.js +136 -48
- package/dist/localReference.js.map +1 -1
- package/dist/mergeTree.d.ts +12 -26
- package/dist/mergeTree.d.ts.map +1 -1
- package/dist/mergeTree.js +135 -261
- package/dist/mergeTree.js.map +1 -1
- package/dist/mergeTreeNodeWalk.d.ts +45 -0
- package/dist/mergeTreeNodeWalk.d.ts.map +1 -0
- package/dist/mergeTreeNodeWalk.js +148 -0
- package/dist/mergeTreeNodeWalk.js.map +1 -0
- package/dist/mergeTreeNodes.d.ts +4 -20
- package/dist/mergeTreeNodes.d.ts.map +1 -1
- package/dist/mergeTreeNodes.js +76 -91
- package/dist/mergeTreeNodes.js.map +1 -1
- package/dist/mergeTreeTracking.d.ts +16 -8
- package/dist/mergeTreeTracking.d.ts.map +1 -1
- package/dist/mergeTreeTracking.js +38 -21
- package/dist/mergeTreeTracking.js.map +1 -1
- package/dist/ops.d.ts +20 -0
- package/dist/ops.d.ts.map +1 -1
- package/dist/ops.js +20 -0
- package/dist/ops.js.map +1 -1
- package/dist/ordinal.d.ts +7 -0
- package/dist/ordinal.d.ts.map +1 -0
- package/dist/ordinal.js +31 -0
- package/dist/ordinal.js.map +1 -0
- package/dist/partialLengths.d.ts +7 -0
- package/dist/partialLengths.d.ts.map +1 -1
- package/dist/partialLengths.js +128 -148
- package/dist/partialLengths.js.map +1 -1
- package/dist/referencePositions.d.ts +0 -4
- package/dist/referencePositions.d.ts.map +1 -1
- package/dist/referencePositions.js.map +1 -1
- package/dist/revertibles.d.ts +80 -0
- package/dist/revertibles.d.ts.map +1 -0
- package/dist/revertibles.js +254 -0
- package/dist/revertibles.js.map +1 -0
- package/dist/segmentGroupCollection.d.ts +3 -0
- package/dist/segmentGroupCollection.d.ts.map +1 -1
- package/dist/segmentGroupCollection.js +15 -8
- package/dist/segmentGroupCollection.js.map +1 -1
- package/dist/snapshotV1.d.ts.map +1 -1
- package/dist/snapshotV1.js +2 -1
- package/dist/snapshotV1.js.map +1 -1
- package/dist/snapshotlegacy.d.ts +0 -1
- package/dist/snapshotlegacy.d.ts.map +1 -1
- package/dist/snapshotlegacy.js +1 -2
- package/dist/snapshotlegacy.js.map +1 -1
- package/dist/sortedSegmentSet.d.ts +13 -13
- package/dist/sortedSegmentSet.d.ts.map +1 -1
- package/dist/sortedSegmentSet.js +52 -51
- package/dist/sortedSegmentSet.js.map +1 -1
- package/dist/sortedSet.d.ts +18 -0
- package/dist/sortedSet.d.ts.map +1 -0
- package/dist/sortedSet.js +72 -0
- package/dist/sortedSet.js.map +1 -0
- package/dist/textSegment.d.ts +1 -9
- package/dist/textSegment.d.ts.map +1 -1
- package/dist/textSegment.js.map +1 -1
- package/lib/MergeTreeTextHelper.d.ts +0 -10
- package/lib/MergeTreeTextHelper.d.ts.map +1 -1
- package/lib/MergeTreeTextHelper.js +20 -106
- package/lib/MergeTreeTextHelper.js.map +1 -1
- package/lib/client.d.ts +18 -12
- package/lib/client.d.ts.map +1 -1
- package/lib/client.js +83 -77
- package/lib/client.js.map +1 -1
- package/lib/collections/heap.d.ts +0 -8
- package/lib/collections/heap.d.ts.map +1 -1
- package/lib/collections/heap.js +0 -4
- package/lib/collections/heap.js.map +1 -1
- package/lib/collections/index.d.ts +1 -3
- package/lib/collections/index.d.ts.map +1 -1
- package/lib/collections/index.js +1 -3
- package/lib/collections/index.js.map +1 -1
- package/lib/collections/list.d.ts +28 -33
- package/lib/collections/list.d.ts.map +1 -1
- package/lib/collections/list.js +133 -112
- package/lib/collections/list.js.map +1 -1
- package/lib/collections/rbTree.d.ts +6 -0
- package/lib/collections/rbTree.d.ts.map +1 -1
- package/lib/collections/rbTree.js +6 -0
- package/lib/collections/rbTree.js.map +1 -1
- package/lib/collections/stack.d.ts +0 -4
- package/lib/collections/stack.d.ts.map +1 -1
- package/lib/collections/stack.js +0 -4
- package/lib/collections/stack.js.map +1 -1
- package/lib/endOfTreeSegment.d.ts +52 -0
- package/lib/endOfTreeSegment.d.ts.map +1 -0
- package/lib/endOfTreeSegment.js +106 -0
- package/lib/endOfTreeSegment.js.map +1 -0
- package/lib/index.d.ts +3 -4
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +3 -4
- package/lib/index.js.map +1 -1
- package/lib/localReference.d.ts +28 -8
- package/lib/localReference.d.ts.map +1 -1
- package/lib/localReference.js +138 -48
- package/lib/localReference.js.map +1 -1
- package/lib/mergeTree.d.ts +12 -26
- package/lib/mergeTree.d.ts.map +1 -1
- package/lib/mergeTree.js +137 -263
- package/lib/mergeTree.js.map +1 -1
- package/lib/mergeTreeNodeWalk.d.ts +45 -0
- package/lib/mergeTreeNodeWalk.d.ts.map +1 -0
- package/lib/mergeTreeNodeWalk.js +141 -0
- package/lib/mergeTreeNodeWalk.js.map +1 -0
- package/lib/mergeTreeNodes.d.ts +4 -20
- package/lib/mergeTreeNodes.d.ts.map +1 -1
- package/lib/mergeTreeNodes.js +74 -90
- package/lib/mergeTreeNodes.js.map +1 -1
- package/lib/mergeTreeTracking.d.ts +16 -8
- package/lib/mergeTreeTracking.d.ts.map +1 -1
- package/lib/mergeTreeTracking.js +38 -21
- package/lib/mergeTreeTracking.js.map +1 -1
- package/lib/ops.d.ts +20 -0
- package/lib/ops.d.ts.map +1 -1
- package/lib/ops.js +20 -0
- package/lib/ops.js.map +1 -1
- package/lib/ordinal.d.ts +7 -0
- package/lib/ordinal.d.ts.map +1 -0
- package/lib/ordinal.js +26 -0
- package/lib/ordinal.js.map +1 -0
- package/lib/partialLengths.d.ts +7 -0
- package/lib/partialLengths.d.ts.map +1 -1
- package/lib/partialLengths.js +127 -148
- package/lib/partialLengths.js.map +1 -1
- package/lib/referencePositions.d.ts +0 -4
- package/lib/referencePositions.d.ts.map +1 -1
- package/lib/referencePositions.js.map +1 -1
- package/lib/revertibles.d.ts +80 -0
- package/lib/revertibles.d.ts.map +1 -0
- package/lib/revertibles.js +248 -0
- package/lib/revertibles.js.map +1 -0
- package/lib/segmentGroupCollection.d.ts +3 -0
- package/lib/segmentGroupCollection.d.ts.map +1 -1
- package/lib/segmentGroupCollection.js +16 -9
- package/lib/segmentGroupCollection.js.map +1 -1
- package/lib/snapshotV1.d.ts.map +1 -1
- package/lib/snapshotV1.js +2 -1
- package/lib/snapshotV1.js.map +1 -1
- package/lib/snapshotlegacy.d.ts +0 -1
- package/lib/snapshotlegacy.d.ts.map +1 -1
- package/lib/snapshotlegacy.js +1 -2
- package/lib/snapshotlegacy.js.map +1 -1
- package/lib/sortedSegmentSet.d.ts +13 -13
- package/lib/sortedSegmentSet.d.ts.map +1 -1
- package/lib/sortedSegmentSet.js +52 -51
- package/lib/sortedSegmentSet.js.map +1 -1
- package/lib/sortedSet.d.ts +18 -0
- package/lib/sortedSet.d.ts.map +1 -0
- package/lib/sortedSet.js +68 -0
- package/lib/sortedSet.js.map +1 -0
- package/lib/textSegment.d.ts +1 -9
- package/lib/textSegment.d.ts.map +1 -1
- package/lib/textSegment.js.map +1 -1
- package/package.json +108 -22
- package/src/MergeTreeTextHelper.ts +25 -121
- package/src/client.ts +116 -92
- package/src/collections/heap.ts +0 -8
- package/src/collections/index.ts +15 -3
- package/src/collections/list.ts +157 -117
- package/src/collections/rbTree.ts +6 -0
- package/src/collections/stack.ts +0 -4
- package/src/endOfTreeSegment.ts +127 -0
- package/src/index.ts +25 -4
- package/src/localReference.ts +164 -57
- package/src/mergeTree.ts +174 -289
- package/src/mergeTreeNodeWalk.ts +192 -0
- package/src/mergeTreeNodes.ts +81 -107
- package/src/mergeTreeTracking.ts +45 -23
- package/src/ops.ts +20 -0
- package/src/ordinal.ts +35 -0
- package/src/partialLengths.ts +155 -159
- package/src/referencePositions.ts +0 -4
- package/src/revertibles.ts +394 -0
- package/src/segmentGroupCollection.ts +17 -9
- package/src/snapshotV1.ts +2 -1
- package/src/snapshotlegacy.ts +1 -2
- package/src/sortedSegmentSet.ts +59 -53
- package/src/sortedSet.ts +72 -0
- package/src/textSegment.ts +1 -8
- package/dist/collections/intervalTree.d.ts +0 -60
- package/dist/collections/intervalTree.d.ts.map +0 -1
- package/dist/collections/intervalTree.js +0 -99
- package/dist/collections/intervalTree.js.map +0 -1
- package/dist/collections/tst.d.ts +0 -55
- package/dist/collections/tst.d.ts.map +0 -1
- package/dist/collections/tst.js +0 -171
- package/dist/collections/tst.js.map +0 -1
- package/lib/collections/intervalTree.d.ts +0 -60
- package/lib/collections/intervalTree.d.ts.map +0 -1
- package/lib/collections/intervalTree.js +0 -94
- package/lib/collections/intervalTree.js.map +0 -1
- package/lib/collections/tst.d.ts +0 -55
- package/lib/collections/tst.d.ts.map +0 -1
- package/lib/collections/tst.js +0 -167
- package/lib/collections/tst.js.map +0 -1
- package/src/collections/intervalTree.ts +0 -146
- package/src/collections/tst.ts +0 -212
|
@@ -2,22 +2,12 @@
|
|
|
2
2
|
* Copyright (c) Microsoft Corporation and contributors. All rights reserved.
|
|
3
3
|
* Licensed under the MIT License.
|
|
4
4
|
*/
|
|
5
|
-
import { Marker } from "./mergeTreeNodes";
|
|
6
5
|
import { MergeTree } from "./mergeTree";
|
|
7
6
|
import { IMergeTreeTextHelper } from "./textSegment";
|
|
8
|
-
/**
|
|
9
|
-
* @deprecated for internal use only. public export will be removed.
|
|
10
|
-
* @internal
|
|
11
|
-
*/
|
|
12
7
|
export declare class MergeTreeTextHelper implements IMergeTreeTextHelper {
|
|
13
8
|
private readonly mergeTree;
|
|
14
9
|
constructor(mergeTree: MergeTree);
|
|
15
|
-
getTextAndMarkers(refSeq: number, clientId: number, label: string, start?: number, end?: number): {
|
|
16
|
-
parallelText: string[];
|
|
17
|
-
parallelMarkers: Marker[];
|
|
18
|
-
};
|
|
19
10
|
getText(refSeq: number, clientId: number, placeholder?: string, start?: number, end?: number): string;
|
|
20
11
|
private getValidRange;
|
|
21
|
-
private readonly gatherText;
|
|
22
12
|
}
|
|
23
13
|
//# sourceMappingURL=MergeTreeTextHelper.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MergeTreeTextHelper.d.ts","sourceRoot":"","sources":["../src/MergeTreeTextHelper.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"MergeTreeTextHelper.d.ts","sourceRoot":"","sources":["../src/MergeTreeTextHelper.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,oBAAoB,EAAe,MAAM,eAAe,CAAC;AAQlE,qBAAa,mBAAoB,YAAW,oBAAoB;IAChD,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,EAAE,SAAS;IAE1C,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,SAAK,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM;IAe/F,OAAO,CAAC,aAAa;CAYxB"}
|
|
@@ -5,120 +5,15 @@
|
|
|
5
5
|
*/
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
7
|
exports.MergeTreeTextHelper = void 0;
|
|
8
|
-
const referencePositions_1 = require("./referencePositions");
|
|
9
8
|
const textSegment_1 = require("./textSegment");
|
|
10
|
-
function isTextAndMarkerAccumulator(accum) {
|
|
11
|
-
return accum.parallelArrays === true;
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* @deprecated for internal use only. public export will be removed.
|
|
15
|
-
* @internal
|
|
16
|
-
*/
|
|
17
9
|
class MergeTreeTextHelper {
|
|
18
10
|
constructor(mergeTree) {
|
|
19
11
|
this.mergeTree = mergeTree;
|
|
20
|
-
this.gatherText = (segment, pos, refSeq, clientId, start, end, accumText) => {
|
|
21
|
-
var _a, _b;
|
|
22
|
-
let _start = start;
|
|
23
|
-
if (textSegment_1.TextSegment.is(segment)) {
|
|
24
|
-
let beginTags = "";
|
|
25
|
-
let endTags = "";
|
|
26
|
-
if (isTextAndMarkerAccumulator(accumText)) {
|
|
27
|
-
// TODO: let clients pass in function to get tag
|
|
28
|
-
const tags = [];
|
|
29
|
-
const initTags = [];
|
|
30
|
-
if ((_a = segment.properties) === null || _a === void 0 ? void 0 : _a["font-weight"]) {
|
|
31
|
-
tags.push("b");
|
|
32
|
-
}
|
|
33
|
-
if ((_b = segment.properties) === null || _b === void 0 ? void 0 : _b["text-decoration"]) {
|
|
34
|
-
tags.push("u");
|
|
35
|
-
}
|
|
36
|
-
const remTags = [];
|
|
37
|
-
if (tags.length > 0) {
|
|
38
|
-
for (const tag of tags) {
|
|
39
|
-
if (!accumText.tagsInProgress.includes(tag)) {
|
|
40
|
-
beginTags += `<${tag}>`;
|
|
41
|
-
initTags.push(tag);
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
for (const accumTag of accumText.tagsInProgress) {
|
|
45
|
-
if (!tags.includes(accumTag)) {
|
|
46
|
-
endTags += `</${accumTag}>`;
|
|
47
|
-
remTags.push(accumTag);
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
for (const initTag of initTags.reverse()) {
|
|
51
|
-
accumText.tagsInProgress.push(initTag);
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
else {
|
|
55
|
-
for (const accumTag of accumText.tagsInProgress) {
|
|
56
|
-
endTags += `</${accumTag}>`;
|
|
57
|
-
remTags.push(accumTag);
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
for (const remTag of remTags) {
|
|
61
|
-
const remdex = accumText.tagsInProgress.indexOf(remTag);
|
|
62
|
-
if (remdex >= 0) {
|
|
63
|
-
accumText.tagsInProgress.splice(remdex, 1);
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
accumText.textSegment.text += endTags;
|
|
68
|
-
accumText.textSegment.text += beginTags;
|
|
69
|
-
if ((_start <= 0) && (end >= segment.text.length)) {
|
|
70
|
-
accumText.textSegment.text += segment.text;
|
|
71
|
-
}
|
|
72
|
-
else {
|
|
73
|
-
if (_start < 0) {
|
|
74
|
-
_start = 0;
|
|
75
|
-
}
|
|
76
|
-
accumText.textSegment.text += end >= segment.text.length
|
|
77
|
-
? segment.text.substring(_start)
|
|
78
|
-
: segment.text.substring(_start, end);
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
else {
|
|
82
|
-
if (accumText.placeholder && (accumText.placeholder.length > 0)) {
|
|
83
|
-
if (accumText.placeholder === "*") {
|
|
84
|
-
const marker = segment;
|
|
85
|
-
accumText.textSegment.text += `\n${marker.toString()}`;
|
|
86
|
-
}
|
|
87
|
-
else {
|
|
88
|
-
for (let i = 0; i < segment.cachedLength; i++) {
|
|
89
|
-
accumText.textSegment.text += accumText.placeholder;
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
else if (isTextAndMarkerAccumulator(accumText)) {
|
|
94
|
-
const marker = segment;
|
|
95
|
-
if ((0, referencePositions_1.refHasTileLabel)(marker, accumText.parallelMarkerLabel)) {
|
|
96
|
-
accumText.parallelMarkers.push(marker);
|
|
97
|
-
accumText.parallelText.push(accumText.textSegment.text);
|
|
98
|
-
accumText.textSegment.text = "";
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
return true;
|
|
103
|
-
};
|
|
104
|
-
}
|
|
105
|
-
getTextAndMarkers(refSeq, clientId, label, start, end) {
|
|
106
|
-
const range = this.getValidRange(start, end, refSeq, clientId);
|
|
107
|
-
const accum = {
|
|
108
|
-
parallelArrays: true,
|
|
109
|
-
parallelMarkerLabel: label,
|
|
110
|
-
parallelMarkers: [],
|
|
111
|
-
parallelText: [],
|
|
112
|
-
tagsInProgress: [],
|
|
113
|
-
textSegment: new textSegment_1.TextSegment(""),
|
|
114
|
-
};
|
|
115
|
-
this.mergeTree.mapRange({ leaf: this.gatherText }, refSeq, clientId, accum, range.start, range.end);
|
|
116
|
-
return { parallelText: accum.parallelText, parallelMarkers: accum.parallelMarkers };
|
|
117
12
|
}
|
|
118
13
|
getText(refSeq, clientId, placeholder = "", start, end) {
|
|
119
14
|
const range = this.getValidRange(start, end, refSeq, clientId);
|
|
120
15
|
const accum = { textSegment: new textSegment_1.TextSegment(""), placeholder };
|
|
121
|
-
this.mergeTree.mapRange(
|
|
16
|
+
this.mergeTree.mapRange(gatherText, refSeq, clientId, accum, range.start, range.end);
|
|
122
17
|
return accum.textSegment.text;
|
|
123
18
|
}
|
|
124
19
|
getValidRange(start, end, refSeq, clientId) {
|
|
@@ -130,4 +25,23 @@ class MergeTreeTextHelper {
|
|
|
130
25
|
}
|
|
131
26
|
}
|
|
132
27
|
exports.MergeTreeTextHelper = MergeTreeTextHelper;
|
|
28
|
+
function gatherText(segment, pos, refSeq, clientId, start, end, { textSegment, placeholder }) {
|
|
29
|
+
if (textSegment_1.TextSegment.is(segment)) {
|
|
30
|
+
if ((start <= 0) && (end >= segment.text.length)) {
|
|
31
|
+
textSegment.text += segment.text;
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
const seglen = segment.text.length;
|
|
35
|
+
const _start = start < 0 ? 0 : start;
|
|
36
|
+
const _end = end >= seglen ? undefined : end;
|
|
37
|
+
textSegment.text += segment.text.substring(_start, _end);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
else if (placeholder && placeholder.length > 0) {
|
|
41
|
+
const placeholderText = placeholder === "*" ?
|
|
42
|
+
`\n${segment}` : placeholder.repeat(segment.cachedLength);
|
|
43
|
+
textSegment.text += placeholderText;
|
|
44
|
+
}
|
|
45
|
+
return true;
|
|
46
|
+
}
|
|
133
47
|
//# sourceMappingURL=MergeTreeTextHelper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MergeTreeTextHelper.js","sourceRoot":"","sources":["../src/MergeTreeTextHelper.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 { IIntegerRange } from \"./base\";\nimport { ISegment, Marker } from \"./mergeTreeNodes\";\nimport { refHasTileLabel } from \"./referencePositions\";\nimport { MergeTree } from \"./mergeTree\";\nimport { IMergeTreeTextHelper, TextSegment } from \"./textSegment\";\n\ninterface ITextAccumulator {\n textSegment: TextSegment;\n placeholder?: string;\n parallelArrays?: boolean;\n}\n\ninterface ITextAndMarkerAccumulator extends ITextAccumulator {\n parallelArrays: true;\n parallelText: string[];\n parallelMarkers: Marker[];\n parallelMarkerLabel: string;\n tagsInProgress: string[];\n}\n\nfunction isTextAndMarkerAccumulator(accum: ITextAccumulator): accum is ITextAndMarkerAccumulator {\n return accum.parallelArrays === true;\n}\n\ntype ITextAccumulatorType = ITextAccumulator | ITextAndMarkerAccumulator;\n\n/**\n * @deprecated for internal use only. public export will be removed.\n * @internal\n */\nexport class MergeTreeTextHelper implements IMergeTreeTextHelper {\n constructor(private readonly mergeTree: MergeTree) { }\n\n public getTextAndMarkers(refSeq: number, clientId: number, label: string, start?: number, end?: number) {\n const range = this.getValidRange(start, end, refSeq, clientId);\n const accum: ITextAndMarkerAccumulator = {\n parallelArrays: true,\n parallelMarkerLabel: label,\n parallelMarkers: [],\n parallelText: [],\n tagsInProgress: [],\n textSegment: new TextSegment(\"\"),\n };\n\n this.mergeTree.mapRange<ITextAndMarkerAccumulator>(\n { leaf: this.gatherText },\n refSeq,\n clientId,\n accum,\n range.start,\n range.end);\n\n return { parallelText: accum.parallelText, parallelMarkers: accum.parallelMarkers };\n }\n\n public getText(refSeq: number, clientId: number, placeholder = \"\", start?: number, end?: number) {\n const range = this.getValidRange(start, end, refSeq, clientId);\n\n const accum: ITextAccumulator = { textSegment: new TextSegment(\"\"), placeholder };\n\n this.mergeTree.mapRange<ITextAccumulator>(\n { leaf: this.gatherText },\n refSeq,\n clientId,\n accum,\n range.start,\n range.end);\n return accum.textSegment.text;\n }\n\n private getValidRange(\n start: number | undefined,\n end: number | undefined,\n refSeq: number,\n clientId: number,\n ): IIntegerRange {\n const range: IIntegerRange = {\n end: end ?? this.mergeTree.getLength(refSeq, clientId),\n start: start ?? 0,\n };\n return range;\n }\n\n private readonly gatherText = (segment: ISegment, pos: number, refSeq: number, clientId: number, start: number,\n end: number, accumText: ITextAccumulatorType) => {\n let _start = start;\n if (TextSegment.is(segment)) {\n let beginTags = \"\";\n let endTags = \"\";\n if (isTextAndMarkerAccumulator(accumText)) {\n // TODO: let clients pass in function to get tag\n const tags = [] as string[];\n const initTags = [] as string[];\n\n if (segment.properties?.[\"font-weight\"]) {\n tags.push(\"b\");\n }\n if (segment.properties?.[\"text-decoration\"]) {\n tags.push(\"u\");\n }\n const remTags = [] as string[];\n if (tags.length > 0) {\n for (const tag of tags) {\n if (!accumText.tagsInProgress.includes(tag)) {\n beginTags += `<${tag}>`;\n initTags.push(tag);\n }\n }\n for (const accumTag of accumText.tagsInProgress) {\n if (!tags.includes(accumTag)) {\n endTags += `</${accumTag}>`;\n remTags.push(accumTag);\n }\n }\n for (const initTag of initTags.reverse()) {\n accumText.tagsInProgress.push(initTag);\n }\n } else {\n for (const accumTag of accumText.tagsInProgress) {\n endTags += `</${accumTag}>`;\n remTags.push(accumTag);\n }\n }\n for (const remTag of remTags) {\n const remdex = accumText.tagsInProgress.indexOf(remTag);\n if (remdex >= 0) {\n accumText.tagsInProgress.splice(remdex, 1);\n }\n }\n }\n accumText.textSegment.text += endTags;\n accumText.textSegment.text += beginTags;\n if ((_start <= 0) && (end >= segment.text.length)) {\n accumText.textSegment.text += segment.text;\n } else {\n if (_start < 0) {\n _start = 0;\n }\n accumText.textSegment.text += end >= segment.text.length\n ? segment.text.substring(_start)\n : segment.text.substring(_start, end);\n }\n } else {\n if (accumText.placeholder && (accumText.placeholder.length > 0)) {\n if (accumText.placeholder === \"*\") {\n const marker = segment as Marker;\n accumText.textSegment.text += `\\n${marker.toString()}`;\n } else {\n for (let i = 0; i < segment.cachedLength; i++) {\n accumText.textSegment.text += accumText.placeholder;\n }\n }\n } else if (isTextAndMarkerAccumulator(accumText)) {\n const marker = segment as Marker;\n if (refHasTileLabel(marker, accumText.parallelMarkerLabel)) {\n accumText.parallelMarkers.push(marker);\n accumText.parallelText.push(accumText.textSegment.text);\n accumText.textSegment.text = \"\";\n }\n }\n }\n\n return true;\n };\n}\n"]}
|
|
1
|
+
{"version":3,"file":"MergeTreeTextHelper.js","sourceRoot":"","sources":["../src/MergeTreeTextHelper.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAKH,+CAAkE;AAQlE,MAAa,mBAAmB;IAC5B,YAA6B,SAAoB;QAApB,cAAS,GAAT,SAAS,CAAW;IAAI,CAAC;IAE/C,OAAO,CAAC,MAAc,EAAE,QAAgB,EAAE,WAAW,GAAG,EAAE,EAAE,KAAc,EAAE,GAAY;QAC3F,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QAE/D,MAAM,KAAK,GAAqB,EAAE,WAAW,EAAE,IAAI,yBAAW,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC;QAElF,IAAI,CAAC,SAAS,CAAC,QAAQ,CACnB,UAAU,EACV,MAAM,EACN,QAAQ,EACR,KAAK,EACL,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,GAAG,CAAC,CAAC;QACf,OAAO,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC;IAClC,CAAC;IAEO,aAAa,CACjB,KAAyB,EACzB,GAAuB,EACvB,MAAc,EACd,QAAgB;QAEhB,MAAM,KAAK,GAAkB;YACzB,GAAG,EAAE,GAAG,aAAH,GAAG,cAAH,GAAG,GAAI,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC;YACtD,KAAK,EAAE,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,CAAC;SACpB,CAAC;QACF,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ;AA9BD,kDA8BC;AAED,SAAS,UAAU,CACf,OAAiB,EACjB,GAAW,EACX,MAAc,EACd,QAAgB,EAChB,KAAa,EACb,GAAW,EACX,EAAE,WAAW,EAAE,WAAW,EAAoB;IAE9C,IAAI,yBAAW,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE;QACzB,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YAC9C,WAAW,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;SACpC;aAAM;YACH,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;YACnC,MAAM,MAAM,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YACrC,MAAM,IAAI,GAAG,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC;YAC7C,WAAW,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;SAC5D;KACJ;SAAM,IAAI,WAAW,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;QAC9C,MAAM,eAAe,GAAG,WAAW,KAAK,GAAG,CAAC,CAAC;YACzC,KAAK,OAAO,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAC9D,WAAW,CAAC,IAAI,IAAI,eAAe,CAAC;KACvC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { IIntegerRange } from \"./base\";\nimport { ISegment } from \"./mergeTreeNodes\";\nimport { MergeTree } from \"./mergeTree\";\nimport { IMergeTreeTextHelper, TextSegment } from \"./textSegment\";\n\ninterface ITextAccumulator {\n textSegment: TextSegment;\n placeholder?: string;\n parallelArrays?: boolean;\n}\n\nexport class MergeTreeTextHelper implements IMergeTreeTextHelper {\n constructor(private readonly mergeTree: MergeTree) { }\n\n public getText(refSeq: number, clientId: number, placeholder = \"\", start?: number, end?: number) {\n const range = this.getValidRange(start, end, refSeq, clientId);\n\n const accum: ITextAccumulator = { textSegment: new TextSegment(\"\"), placeholder };\n\n this.mergeTree.mapRange<ITextAccumulator>(\n gatherText,\n refSeq,\n clientId,\n accum,\n range.start,\n range.end);\n return accum.textSegment.text;\n }\n\n private getValidRange(\n start: number | undefined,\n end: number | undefined,\n refSeq: number,\n clientId: number,\n ): IIntegerRange {\n const range: IIntegerRange = {\n end: end ?? this.mergeTree.getLength(refSeq, clientId),\n start: start ?? 0,\n };\n return range;\n }\n}\n\nfunction gatherText(\n segment: ISegment,\n pos: number,\n refSeq: number,\n clientId: number,\n start: number,\n end: number,\n { textSegment, placeholder }: ITextAccumulator,\n): boolean {\n if (TextSegment.is(segment)) {\n if ((start <= 0) && (end >= segment.text.length)) {\n textSegment.text += segment.text;\n } else {\n const seglen = segment.text.length;\n const _start = start < 0 ? 0 : start;\n const _end = end >= seglen ? undefined : end;\n textSegment.text += segment.text.substring(_start, _end);\n }\n } else if (placeholder && placeholder.length > 0) {\n const placeholderText = placeholder === \"*\" ?\n `\\n${segment}` : placeholder.repeat(segment.cachedLength);\n textSegment.text += placeholderText;\n }\n\n return true;\n}\n"]}
|
package/dist/client.d.ts
CHANGED
|
@@ -15,7 +15,6 @@ import { ICombiningOp, IJSONSegment, IMergeTreeAnnotateMsg, IMergeTreeDeltaOp, I
|
|
|
15
15
|
import { PropertySet } from "./properties";
|
|
16
16
|
import { IMergeTreeTextHelper } from "./textSegment";
|
|
17
17
|
import { ReferencePosition, RangeStackMap } from "./referencePositions";
|
|
18
|
-
import { MergeTree } from "./mergeTree";
|
|
19
18
|
import { MergeTreeMaintenanceCallback } from "./index";
|
|
20
19
|
export declare class Client {
|
|
21
20
|
readonly specToSegment: (spec: IJSONSegment) => ISegment;
|
|
@@ -33,11 +32,7 @@ export declare class Client {
|
|
|
33
32
|
set mergeTreeDeltaCallback(callback: MergeTreeDeltaCallback | undefined);
|
|
34
33
|
get mergeTreeMaintenanceCallback(): MergeTreeMaintenanceCallback | undefined;
|
|
35
34
|
set mergeTreeMaintenanceCallback(callback: MergeTreeMaintenanceCallback | undefined);
|
|
36
|
-
|
|
37
|
-
* @deprecated for internal use only. public export will be removed.
|
|
38
|
-
* @internal
|
|
39
|
-
*/
|
|
40
|
-
protected readonly mergeTree: MergeTree;
|
|
35
|
+
private readonly _mergeTree;
|
|
41
36
|
private readonly clientNameToIds;
|
|
42
37
|
private readonly shortClientIdMap;
|
|
43
38
|
private readonly pendingConsensus;
|
|
@@ -81,7 +76,7 @@ export declare class Client {
|
|
|
81
76
|
* @param start - The inclusive start of the range to remove
|
|
82
77
|
* @param end - The exclusive end of the range to remove
|
|
83
78
|
*/
|
|
84
|
-
removeRangeLocal(start: number, end: number): IMergeTreeRemoveMsg
|
|
79
|
+
removeRangeLocal(start: number, end: number): IMergeTreeRemoveMsg;
|
|
85
80
|
/**
|
|
86
81
|
* @param pos - The position to insert the segment at
|
|
87
82
|
* @param segment - The segment to insert
|
|
@@ -94,6 +89,7 @@ export declare class Client {
|
|
|
94
89
|
insertAtReferencePositionLocal(refPos: ReferencePosition, segment: ISegment): IMergeTreeInsertMsg | undefined;
|
|
95
90
|
walkSegments<TClientData>(handler: ISegmentAction<TClientData>, start: number | undefined, end: number | undefined, accum: TClientData, splitRange?: boolean): void;
|
|
96
91
|
walkSegments<undefined>(handler: ISegmentAction<undefined>, start?: number, end?: number, accum?: undefined, splitRange?: boolean): void;
|
|
92
|
+
protected walkAllSegments<TClientData>(action: (segment: ISegment, accum?: TClientData) => boolean, accum?: TClientData): boolean;
|
|
97
93
|
/**
|
|
98
94
|
* Serializes the data required for garbage collection. The IFluidHandles stored in all segments that haven't
|
|
99
95
|
* been removed represent routes to other objects. We serialize the data in these segments using the passed in
|
|
@@ -106,9 +102,23 @@ export declare class Client {
|
|
|
106
102
|
* does not exist in this merge tree
|
|
107
103
|
* @param segment - The segment to get the position of
|
|
108
104
|
*/
|
|
109
|
-
getPosition(segment: ISegment, localSeq?: number): number;
|
|
105
|
+
getPosition(segment: ISegment | undefined, localSeq?: number): number;
|
|
106
|
+
/**
|
|
107
|
+
* Creates a `LocalReferencePosition` on this client. If the refType does not include ReferenceType.Transient,
|
|
108
|
+
* the returned reference will be added to the localRefs on the provided segment.
|
|
109
|
+
* @param segment - Segment to add the local reference on
|
|
110
|
+
* @param offset - Offset on the segment at which to place the local reference
|
|
111
|
+
* @param refType - ReferenceType for the created local reference
|
|
112
|
+
* @param properties - PropertySet to place on the created local reference
|
|
113
|
+
*/
|
|
110
114
|
createLocalReferencePosition(segment: ISegment, offset: number | undefined, refType: ReferenceType, properties: PropertySet | undefined): LocalReferencePosition;
|
|
115
|
+
/**
|
|
116
|
+
* Removes a `LocalReferencePosition` from this client.
|
|
117
|
+
*/
|
|
111
118
|
removeLocalReferencePosition(lref: LocalReferencePosition): LocalReferencePosition | undefined;
|
|
119
|
+
/**
|
|
120
|
+
* Resolves a `ReferencePosition` into a character position using this client's perspective.
|
|
121
|
+
*/
|
|
112
122
|
localReferencePositionToPosition(lref: ReferencePosition): number;
|
|
113
123
|
/**
|
|
114
124
|
* Given a position specified relative to a marker id, lookup the marker
|
|
@@ -222,10 +232,6 @@ export declare class Client {
|
|
|
222
232
|
load(runtime: IFluidDataStoreRuntime, storage: IChannelStorageService, serializer: IFluidSerializer): Promise<{
|
|
223
233
|
catchupOpsP: Promise<ISequencedDocumentMessage[]>;
|
|
224
234
|
}>;
|
|
225
|
-
/**
|
|
226
|
-
* @deprecated for internal use only. public export will be removed.
|
|
227
|
-
* @internal
|
|
228
|
-
*/
|
|
229
235
|
getStackContext(startPos: number, rangeLabels: string[]): RangeStackMap;
|
|
230
236
|
private getLocalSequenceNumber;
|
|
231
237
|
localTransaction(groupOp: IMergeTreeGroupMsg): void;
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,yBAAyB,EAAe,MAAM,sCAAsC,CAAC;AAC9F,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AACvG,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAMtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EACH,mBAAmB,EAInB,QAAQ,EACR,cAAc,EACd,MAAM,EACN,YAAY,EACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAQlE,OAAO,EACH,YAAY,EACZ,YAAY,EACZ,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,YAAY,EACZ,iBAAiB,EAEjB,aAAa,EAChB,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAG3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAErD,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAA6B,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|