@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.
Files changed (238) hide show
  1. package/dist/MergeTreeTextHelper.d.ts +0 -10
  2. package/dist/MergeTreeTextHelper.d.ts.map +1 -1
  3. package/dist/MergeTreeTextHelper.js +20 -106
  4. package/dist/MergeTreeTextHelper.js.map +1 -1
  5. package/dist/client.d.ts +18 -12
  6. package/dist/client.d.ts.map +1 -1
  7. package/dist/client.js +83 -77
  8. package/dist/client.js.map +1 -1
  9. package/dist/collections/heap.d.ts +0 -8
  10. package/dist/collections/heap.d.ts.map +1 -1
  11. package/dist/collections/heap.js +0 -4
  12. package/dist/collections/heap.js.map +1 -1
  13. package/dist/collections/index.d.ts +1 -3
  14. package/dist/collections/index.d.ts.map +1 -1
  15. package/dist/collections/index.js +4 -3
  16. package/dist/collections/index.js.map +1 -1
  17. package/dist/collections/list.d.ts +28 -33
  18. package/dist/collections/list.d.ts.map +1 -1
  19. package/dist/collections/list.js +135 -115
  20. package/dist/collections/list.js.map +1 -1
  21. package/dist/collections/rbTree.d.ts +6 -0
  22. package/dist/collections/rbTree.d.ts.map +1 -1
  23. package/dist/collections/rbTree.js +6 -0
  24. package/dist/collections/rbTree.js.map +1 -1
  25. package/dist/collections/stack.d.ts +0 -4
  26. package/dist/collections/stack.d.ts.map +1 -1
  27. package/dist/collections/stack.js +0 -4
  28. package/dist/collections/stack.js.map +1 -1
  29. package/dist/endOfTreeSegment.d.ts +52 -0
  30. package/dist/endOfTreeSegment.d.ts.map +1 -0
  31. package/dist/endOfTreeSegment.js +110 -0
  32. package/dist/endOfTreeSegment.js.map +1 -0
  33. package/dist/index.d.ts +3 -4
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/index.js +10 -5
  36. package/dist/index.js.map +1 -1
  37. package/dist/localReference.d.ts +28 -8
  38. package/dist/localReference.d.ts.map +1 -1
  39. package/dist/localReference.js +136 -48
  40. package/dist/localReference.js.map +1 -1
  41. package/dist/mergeTree.d.ts +12 -26
  42. package/dist/mergeTree.d.ts.map +1 -1
  43. package/dist/mergeTree.js +135 -261
  44. package/dist/mergeTree.js.map +1 -1
  45. package/dist/mergeTreeNodeWalk.d.ts +45 -0
  46. package/dist/mergeTreeNodeWalk.d.ts.map +1 -0
  47. package/dist/mergeTreeNodeWalk.js +148 -0
  48. package/dist/mergeTreeNodeWalk.js.map +1 -0
  49. package/dist/mergeTreeNodes.d.ts +4 -20
  50. package/dist/mergeTreeNodes.d.ts.map +1 -1
  51. package/dist/mergeTreeNodes.js +76 -91
  52. package/dist/mergeTreeNodes.js.map +1 -1
  53. package/dist/mergeTreeTracking.d.ts +16 -8
  54. package/dist/mergeTreeTracking.d.ts.map +1 -1
  55. package/dist/mergeTreeTracking.js +38 -21
  56. package/dist/mergeTreeTracking.js.map +1 -1
  57. package/dist/ops.d.ts +20 -0
  58. package/dist/ops.d.ts.map +1 -1
  59. package/dist/ops.js +20 -0
  60. package/dist/ops.js.map +1 -1
  61. package/dist/ordinal.d.ts +7 -0
  62. package/dist/ordinal.d.ts.map +1 -0
  63. package/dist/ordinal.js +31 -0
  64. package/dist/ordinal.js.map +1 -0
  65. package/dist/partialLengths.d.ts +7 -0
  66. package/dist/partialLengths.d.ts.map +1 -1
  67. package/dist/partialLengths.js +128 -148
  68. package/dist/partialLengths.js.map +1 -1
  69. package/dist/referencePositions.d.ts +0 -4
  70. package/dist/referencePositions.d.ts.map +1 -1
  71. package/dist/referencePositions.js.map +1 -1
  72. package/dist/revertibles.d.ts +80 -0
  73. package/dist/revertibles.d.ts.map +1 -0
  74. package/dist/revertibles.js +254 -0
  75. package/dist/revertibles.js.map +1 -0
  76. package/dist/segmentGroupCollection.d.ts +3 -0
  77. package/dist/segmentGroupCollection.d.ts.map +1 -1
  78. package/dist/segmentGroupCollection.js +15 -8
  79. package/dist/segmentGroupCollection.js.map +1 -1
  80. package/dist/snapshotV1.d.ts.map +1 -1
  81. package/dist/snapshotV1.js +2 -1
  82. package/dist/snapshotV1.js.map +1 -1
  83. package/dist/snapshotlegacy.d.ts +0 -1
  84. package/dist/snapshotlegacy.d.ts.map +1 -1
  85. package/dist/snapshotlegacy.js +1 -2
  86. package/dist/snapshotlegacy.js.map +1 -1
  87. package/dist/sortedSegmentSet.d.ts +13 -13
  88. package/dist/sortedSegmentSet.d.ts.map +1 -1
  89. package/dist/sortedSegmentSet.js +52 -51
  90. package/dist/sortedSegmentSet.js.map +1 -1
  91. package/dist/sortedSet.d.ts +18 -0
  92. package/dist/sortedSet.d.ts.map +1 -0
  93. package/dist/sortedSet.js +72 -0
  94. package/dist/sortedSet.js.map +1 -0
  95. package/dist/textSegment.d.ts +1 -9
  96. package/dist/textSegment.d.ts.map +1 -1
  97. package/dist/textSegment.js.map +1 -1
  98. package/lib/MergeTreeTextHelper.d.ts +0 -10
  99. package/lib/MergeTreeTextHelper.d.ts.map +1 -1
  100. package/lib/MergeTreeTextHelper.js +20 -106
  101. package/lib/MergeTreeTextHelper.js.map +1 -1
  102. package/lib/client.d.ts +18 -12
  103. package/lib/client.d.ts.map +1 -1
  104. package/lib/client.js +83 -77
  105. package/lib/client.js.map +1 -1
  106. package/lib/collections/heap.d.ts +0 -8
  107. package/lib/collections/heap.d.ts.map +1 -1
  108. package/lib/collections/heap.js +0 -4
  109. package/lib/collections/heap.js.map +1 -1
  110. package/lib/collections/index.d.ts +1 -3
  111. package/lib/collections/index.d.ts.map +1 -1
  112. package/lib/collections/index.js +1 -3
  113. package/lib/collections/index.js.map +1 -1
  114. package/lib/collections/list.d.ts +28 -33
  115. package/lib/collections/list.d.ts.map +1 -1
  116. package/lib/collections/list.js +133 -112
  117. package/lib/collections/list.js.map +1 -1
  118. package/lib/collections/rbTree.d.ts +6 -0
  119. package/lib/collections/rbTree.d.ts.map +1 -1
  120. package/lib/collections/rbTree.js +6 -0
  121. package/lib/collections/rbTree.js.map +1 -1
  122. package/lib/collections/stack.d.ts +0 -4
  123. package/lib/collections/stack.d.ts.map +1 -1
  124. package/lib/collections/stack.js +0 -4
  125. package/lib/collections/stack.js.map +1 -1
  126. package/lib/endOfTreeSegment.d.ts +52 -0
  127. package/lib/endOfTreeSegment.d.ts.map +1 -0
  128. package/lib/endOfTreeSegment.js +106 -0
  129. package/lib/endOfTreeSegment.js.map +1 -0
  130. package/lib/index.d.ts +3 -4
  131. package/lib/index.d.ts.map +1 -1
  132. package/lib/index.js +3 -4
  133. package/lib/index.js.map +1 -1
  134. package/lib/localReference.d.ts +28 -8
  135. package/lib/localReference.d.ts.map +1 -1
  136. package/lib/localReference.js +138 -48
  137. package/lib/localReference.js.map +1 -1
  138. package/lib/mergeTree.d.ts +12 -26
  139. package/lib/mergeTree.d.ts.map +1 -1
  140. package/lib/mergeTree.js +137 -263
  141. package/lib/mergeTree.js.map +1 -1
  142. package/lib/mergeTreeNodeWalk.d.ts +45 -0
  143. package/lib/mergeTreeNodeWalk.d.ts.map +1 -0
  144. package/lib/mergeTreeNodeWalk.js +141 -0
  145. package/lib/mergeTreeNodeWalk.js.map +1 -0
  146. package/lib/mergeTreeNodes.d.ts +4 -20
  147. package/lib/mergeTreeNodes.d.ts.map +1 -1
  148. package/lib/mergeTreeNodes.js +74 -90
  149. package/lib/mergeTreeNodes.js.map +1 -1
  150. package/lib/mergeTreeTracking.d.ts +16 -8
  151. package/lib/mergeTreeTracking.d.ts.map +1 -1
  152. package/lib/mergeTreeTracking.js +38 -21
  153. package/lib/mergeTreeTracking.js.map +1 -1
  154. package/lib/ops.d.ts +20 -0
  155. package/lib/ops.d.ts.map +1 -1
  156. package/lib/ops.js +20 -0
  157. package/lib/ops.js.map +1 -1
  158. package/lib/ordinal.d.ts +7 -0
  159. package/lib/ordinal.d.ts.map +1 -0
  160. package/lib/ordinal.js +26 -0
  161. package/lib/ordinal.js.map +1 -0
  162. package/lib/partialLengths.d.ts +7 -0
  163. package/lib/partialLengths.d.ts.map +1 -1
  164. package/lib/partialLengths.js +127 -148
  165. package/lib/partialLengths.js.map +1 -1
  166. package/lib/referencePositions.d.ts +0 -4
  167. package/lib/referencePositions.d.ts.map +1 -1
  168. package/lib/referencePositions.js.map +1 -1
  169. package/lib/revertibles.d.ts +80 -0
  170. package/lib/revertibles.d.ts.map +1 -0
  171. package/lib/revertibles.js +248 -0
  172. package/lib/revertibles.js.map +1 -0
  173. package/lib/segmentGroupCollection.d.ts +3 -0
  174. package/lib/segmentGroupCollection.d.ts.map +1 -1
  175. package/lib/segmentGroupCollection.js +16 -9
  176. package/lib/segmentGroupCollection.js.map +1 -1
  177. package/lib/snapshotV1.d.ts.map +1 -1
  178. package/lib/snapshotV1.js +2 -1
  179. package/lib/snapshotV1.js.map +1 -1
  180. package/lib/snapshotlegacy.d.ts +0 -1
  181. package/lib/snapshotlegacy.d.ts.map +1 -1
  182. package/lib/snapshotlegacy.js +1 -2
  183. package/lib/snapshotlegacy.js.map +1 -1
  184. package/lib/sortedSegmentSet.d.ts +13 -13
  185. package/lib/sortedSegmentSet.d.ts.map +1 -1
  186. package/lib/sortedSegmentSet.js +52 -51
  187. package/lib/sortedSegmentSet.js.map +1 -1
  188. package/lib/sortedSet.d.ts +18 -0
  189. package/lib/sortedSet.d.ts.map +1 -0
  190. package/lib/sortedSet.js +68 -0
  191. package/lib/sortedSet.js.map +1 -0
  192. package/lib/textSegment.d.ts +1 -9
  193. package/lib/textSegment.d.ts.map +1 -1
  194. package/lib/textSegment.js.map +1 -1
  195. package/package.json +108 -22
  196. package/src/MergeTreeTextHelper.ts +25 -121
  197. package/src/client.ts +116 -92
  198. package/src/collections/heap.ts +0 -8
  199. package/src/collections/index.ts +15 -3
  200. package/src/collections/list.ts +157 -117
  201. package/src/collections/rbTree.ts +6 -0
  202. package/src/collections/stack.ts +0 -4
  203. package/src/endOfTreeSegment.ts +127 -0
  204. package/src/index.ts +25 -4
  205. package/src/localReference.ts +164 -57
  206. package/src/mergeTree.ts +174 -289
  207. package/src/mergeTreeNodeWalk.ts +192 -0
  208. package/src/mergeTreeNodes.ts +81 -107
  209. package/src/mergeTreeTracking.ts +45 -23
  210. package/src/ops.ts +20 -0
  211. package/src/ordinal.ts +35 -0
  212. package/src/partialLengths.ts +155 -159
  213. package/src/referencePositions.ts +0 -4
  214. package/src/revertibles.ts +394 -0
  215. package/src/segmentGroupCollection.ts +17 -9
  216. package/src/snapshotV1.ts +2 -1
  217. package/src/snapshotlegacy.ts +1 -2
  218. package/src/sortedSegmentSet.ts +59 -53
  219. package/src/sortedSet.ts +72 -0
  220. package/src/textSegment.ts +1 -8
  221. package/dist/collections/intervalTree.d.ts +0 -60
  222. package/dist/collections/intervalTree.d.ts.map +0 -1
  223. package/dist/collections/intervalTree.js +0 -99
  224. package/dist/collections/intervalTree.js.map +0 -1
  225. package/dist/collections/tst.d.ts +0 -55
  226. package/dist/collections/tst.d.ts.map +0 -1
  227. package/dist/collections/tst.js +0 -171
  228. package/dist/collections/tst.js.map +0 -1
  229. package/lib/collections/intervalTree.d.ts +0 -60
  230. package/lib/collections/intervalTree.d.ts.map +0 -1
  231. package/lib/collections/intervalTree.js +0 -94
  232. package/lib/collections/intervalTree.js.map +0 -1
  233. package/lib/collections/tst.d.ts +0 -55
  234. package/lib/collections/tst.d.ts.map +0 -1
  235. package/lib/collections/tst.js +0 -167
  236. package/lib/collections/tst.js.map +0 -1
  237. package/src/collections/intervalTree.ts +0 -146
  238. 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;AAGH,OAAO,EAAY,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,oBAAoB,EAAe,MAAM,eAAe,CAAC;AAsBlE;;;GAGG;AACH,qBAAa,mBAAoB,YAAW,oBAAoB;IAChD,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,EAAE,SAAS;IAE1C,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM;;;;IAsB/F,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;IAarB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAgFzB;CACL"}
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({ leaf: this.gatherText }, refSeq, clientId, accum, range.start, range.end);
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 | undefined;
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;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}