@fluidframework/sequence 2.0.0-internal.7.3.0 → 2.0.0-internal.7.4.1

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 (323) hide show
  1. package/CHANGELOG.md +57 -0
  2. package/api-extractor-lint.json +13 -0
  3. package/api-extractor.json +8 -3
  4. package/api-report/sequence.api.md +87 -84
  5. package/dist/{defaultMap.js → defaultMap.cjs} +9 -4
  6. package/dist/defaultMap.cjs.map +1 -0
  7. package/dist/defaultMap.d.ts +3 -3
  8. package/dist/defaultMap.d.ts.map +1 -1
  9. package/dist/{defaultMapInterfaces.js → defaultMapInterfaces.cjs} +1 -1
  10. package/dist/defaultMapInterfaces.cjs.map +1 -0
  11. package/dist/defaultMapInterfaces.d.ts +11 -10
  12. package/dist/defaultMapInterfaces.d.ts.map +1 -1
  13. package/dist/{index.js → index.cjs} +11 -11
  14. package/dist/index.cjs.map +1 -0
  15. package/dist/{intervalCollection.js → intervalCollection.cjs} +53 -48
  16. package/dist/intervalCollection.cjs.map +1 -0
  17. package/dist/intervalCollection.d.ts +66 -12
  18. package/dist/intervalCollection.d.ts.map +1 -1
  19. package/dist/intervalIndex/{endpointInRangeIndex.js → endpointInRangeIndex.cjs} +4 -4
  20. package/dist/intervalIndex/endpointInRangeIndex.cjs.map +1 -0
  21. package/dist/intervalIndex/endpointInRangeIndex.d.ts +2 -2
  22. package/dist/intervalIndex/{endpointIndex.js → endpointIndex.cjs} +3 -3
  23. package/dist/intervalIndex/endpointIndex.cjs.map +1 -0
  24. package/dist/intervalIndex/endpointIndex.d.ts +2 -2
  25. package/dist/intervalIndex/{idIntervalIndex.js → idIntervalIndex.cjs} +2 -2
  26. package/dist/intervalIndex/idIntervalIndex.cjs.map +1 -0
  27. package/dist/intervalIndex/idIntervalIndex.d.ts +2 -2
  28. package/dist/intervalIndex/{index.js → index.cjs} +7 -7
  29. package/dist/intervalIndex/index.cjs.map +1 -0
  30. package/dist/intervalIndex/{intervalIndex.js → intervalIndex.cjs} +1 -1
  31. package/dist/intervalIndex/intervalIndex.cjs.map +1 -0
  32. package/dist/intervalIndex/intervalIndex.d.ts +1 -1
  33. package/dist/intervalIndex/{intervalIndexUtils.js → intervalIndexUtils.cjs} +1 -1
  34. package/dist/intervalIndex/intervalIndexUtils.cjs.map +1 -0
  35. package/dist/intervalIndex/{overlappingIntervalsIndex.js → overlappingIntervalsIndex.cjs} +5 -5
  36. package/dist/intervalIndex/overlappingIntervalsIndex.cjs.map +1 -0
  37. package/dist/intervalIndex/overlappingIntervalsIndex.d.ts +2 -2
  38. package/dist/intervalIndex/{overlappingSequenceIntervalsIndex.js → overlappingSequenceIntervalsIndex.cjs} +4 -4
  39. package/dist/intervalIndex/overlappingSequenceIntervalsIndex.cjs.map +1 -0
  40. package/dist/intervalIndex/overlappingSequenceIntervalsIndex.d.ts +1 -1
  41. package/dist/intervalIndex/{sequenceIntervalIndexes.js → sequenceIntervalIndexes.cjs} +1 -1
  42. package/dist/intervalIndex/sequenceIntervalIndexes.cjs.map +1 -0
  43. package/dist/intervalIndex/sequenceIntervalIndexes.d.ts +2 -1
  44. package/dist/intervalIndex/sequenceIntervalIndexes.d.ts.map +1 -1
  45. package/dist/intervalIndex/{startpointInRangeIndex.js → startpointInRangeIndex.cjs} +4 -4
  46. package/dist/intervalIndex/startpointInRangeIndex.cjs.map +1 -0
  47. package/dist/intervalIndex/startpointInRangeIndex.d.ts +2 -2
  48. package/dist/{intervalTree.js → intervalTree.cjs} +1 -1
  49. package/dist/intervalTree.cjs.map +1 -0
  50. package/dist/intervals/{index.js → index.cjs} +4 -4
  51. package/dist/intervals/index.cjs.map +1 -0
  52. package/dist/intervals/{interval.js → interval.cjs} +2 -6
  53. package/dist/intervals/interval.cjs.map +1 -0
  54. package/dist/intervals/interval.d.ts +2 -7
  55. package/dist/intervals/interval.d.ts.map +1 -1
  56. package/dist/intervals/{intervalUtils.js → intervalUtils.cjs} +4 -4
  57. package/dist/intervals/intervalUtils.cjs.map +1 -0
  58. package/dist/intervals/intervalUtils.d.ts +15 -14
  59. package/dist/intervals/intervalUtils.d.ts.map +1 -1
  60. package/dist/intervals/{sequenceInterval.js → sequenceInterval.cjs} +6 -14
  61. package/dist/intervals/sequenceInterval.cjs.map +1 -0
  62. package/dist/intervals/sequenceInterval.d.ts +3 -12
  63. package/dist/intervals/sequenceInterval.d.ts.map +1 -1
  64. package/dist/{localValues.js → localValues.cjs} +1 -1
  65. package/dist/localValues.cjs.map +1 -0
  66. package/dist/localValues.d.ts +2 -1
  67. package/dist/localValues.d.ts.map +1 -1
  68. package/dist/{packageVersion.js → packageVersion.cjs} +2 -2
  69. package/dist/packageVersion.cjs.map +1 -0
  70. package/dist/packageVersion.d.ts +1 -1
  71. package/dist/{revertibles.js → revertibles.cjs} +10 -12
  72. package/dist/revertibles.cjs.map +1 -0
  73. package/dist/revertibles.d.ts +9 -15
  74. package/dist/revertibles.d.ts.map +1 -1
  75. package/dist/sequence-alpha.d.ts +226 -507
  76. package/dist/sequence-beta.d.ts +131 -1368
  77. package/dist/sequence-public.d.ts +131 -1368
  78. package/dist/sequence-untrimmed.d.ts +121 -90
  79. package/dist/{sequence.js → sequence.cjs} +5 -5
  80. package/dist/sequence.cjs.map +1 -0
  81. package/dist/sequence.d.ts +2 -3
  82. package/dist/sequence.d.ts.map +1 -1
  83. package/dist/{sequenceDeltaEvent.js → sequenceDeltaEvent.cjs} +4 -4
  84. package/dist/sequenceDeltaEvent.cjs.map +1 -0
  85. package/dist/sequenceDeltaEvent.d.ts +4 -4
  86. package/dist/{sequenceFactory.js → sequenceFactory.cjs} +4 -4
  87. package/dist/sequenceFactory.cjs.map +1 -0
  88. package/dist/sequenceFactory.d.ts +1 -1
  89. package/dist/{sharedIntervalCollection.js → sharedIntervalCollection.cjs} +6 -6
  90. package/dist/sharedIntervalCollection.cjs.map +1 -0
  91. package/dist/sharedIntervalCollection.d.ts +3 -3
  92. package/dist/{sharedSequence.js → sharedSequence.cjs} +4 -4
  93. package/dist/sharedSequence.cjs.map +1 -0
  94. package/dist/sharedSequence.d.ts +3 -3
  95. package/dist/{sharedString.js → sharedString.cjs} +9 -6
  96. package/dist/sharedString.cjs.map +1 -0
  97. package/dist/sharedString.d.ts +8 -5
  98. package/dist/sharedString.d.ts.map +1 -1
  99. package/lib/{defaultMap.d.ts → defaultMap.d.mts} +4 -4
  100. package/lib/defaultMap.d.mts.map +1 -0
  101. package/lib/{defaultMap.js → defaultMap.mjs} +9 -4
  102. package/lib/defaultMap.mjs.map +1 -0
  103. package/lib/{defaultMapInterfaces.d.ts → defaultMapInterfaces.d.mts} +11 -10
  104. package/lib/defaultMapInterfaces.d.mts.map +1 -0
  105. package/lib/{defaultMapInterfaces.js → defaultMapInterfaces.mjs} +1 -1
  106. package/lib/defaultMapInterfaces.mjs.map +1 -0
  107. package/lib/{index.d.ts → index.d.mts} +11 -23
  108. package/lib/index.d.mts.map +1 -0
  109. package/lib/{index.js → index.mjs} +11 -11
  110. package/lib/index.mjs.map +1 -0
  111. package/lib/{intervalCollection.d.ts → intervalCollection.d.mts} +68 -14
  112. package/lib/intervalCollection.d.mts.map +1 -0
  113. package/lib/{intervalCollection.js → intervalCollection.mjs} +53 -50
  114. package/lib/intervalCollection.mjs.map +1 -0
  115. package/lib/intervalIndex/{endpointInRangeIndex.d.ts → endpointInRangeIndex.d.mts} +5 -5
  116. package/lib/intervalIndex/endpointInRangeIndex.d.mts.map +1 -0
  117. package/lib/intervalIndex/{endpointInRangeIndex.js → endpointInRangeIndex.mjs} +4 -4
  118. package/lib/intervalIndex/endpointInRangeIndex.mjs.map +1 -0
  119. package/lib/intervalIndex/{endpointIndex.d.ts → endpointIndex.d.mts} +5 -5
  120. package/lib/intervalIndex/endpointIndex.d.mts.map +1 -0
  121. package/lib/intervalIndex/{endpointIndex.js → endpointIndex.mjs} +3 -3
  122. package/lib/intervalIndex/endpointIndex.mjs.map +1 -0
  123. package/lib/intervalIndex/{idIntervalIndex.d.ts → idIntervalIndex.d.mts} +4 -4
  124. package/lib/intervalIndex/idIntervalIndex.d.mts.map +1 -0
  125. package/lib/intervalIndex/{idIntervalIndex.js → idIntervalIndex.mjs} +2 -2
  126. package/lib/intervalIndex/idIntervalIndex.mjs.map +1 -0
  127. package/lib/intervalIndex/{index.d.ts → index.d.mts} +8 -8
  128. package/lib/intervalIndex/index.d.mts.map +1 -0
  129. package/lib/intervalIndex/{index.js → index.mjs} +7 -7
  130. package/{dist/intervalIndex/index.js.map → lib/intervalIndex/index.mjs.map} +1 -1
  131. package/lib/intervalIndex/{intervalIndex.d.ts → intervalIndex.d.mts} +2 -2
  132. package/lib/intervalIndex/intervalIndex.d.mts.map +1 -0
  133. package/lib/intervalIndex/{intervalIndex.js → intervalIndex.mjs} +1 -1
  134. package/lib/intervalIndex/intervalIndex.mjs.map +1 -0
  135. package/lib/intervalIndex/{intervalIndexUtils.js → intervalIndexUtils.mjs} +1 -1
  136. package/lib/intervalIndex/intervalIndexUtils.mjs.map +1 -0
  137. package/lib/intervalIndex/{overlappingIntervalsIndex.d.ts → overlappingIntervalsIndex.d.mts} +7 -7
  138. package/lib/intervalIndex/overlappingIntervalsIndex.d.mts.map +1 -0
  139. package/lib/intervalIndex/{overlappingIntervalsIndex.js → overlappingIntervalsIndex.mjs} +5 -5
  140. package/lib/intervalIndex/overlappingIntervalsIndex.mjs.map +1 -0
  141. package/lib/intervalIndex/{overlappingSequenceIntervalsIndex.d.ts → overlappingSequenceIntervalsIndex.d.mts} +3 -3
  142. package/lib/intervalIndex/overlappingSequenceIntervalsIndex.d.mts.map +1 -0
  143. package/lib/intervalIndex/{overlappingSequenceIntervalsIndex.js → overlappingSequenceIntervalsIndex.mjs} +4 -4
  144. package/lib/intervalIndex/overlappingSequenceIntervalsIndex.mjs.map +1 -0
  145. package/lib/intervalIndex/{sequenceIntervalIndexes.d.ts → sequenceIntervalIndexes.d.mts} +4 -3
  146. package/lib/intervalIndex/sequenceIntervalIndexes.d.mts.map +1 -0
  147. package/lib/intervalIndex/{sequenceIntervalIndexes.js → sequenceIntervalIndexes.mjs} +1 -1
  148. package/lib/intervalIndex/sequenceIntervalIndexes.mjs.map +1 -0
  149. package/lib/intervalIndex/{startpointInRangeIndex.d.ts → startpointInRangeIndex.d.mts} +5 -5
  150. package/lib/intervalIndex/startpointInRangeIndex.d.mts.map +1 -0
  151. package/lib/intervalIndex/{startpointInRangeIndex.js → startpointInRangeIndex.mjs} +4 -4
  152. package/lib/intervalIndex/startpointInRangeIndex.mjs.map +1 -0
  153. package/lib/{intervalTree.d.ts → intervalTree.d.mts} +1 -1
  154. package/lib/intervalTree.d.mts.map +1 -0
  155. package/lib/{intervalTree.js → intervalTree.mjs} +1 -1
  156. package/lib/intervalTree.mjs.map +1 -0
  157. package/lib/intervals/{index.d.ts → index.d.mts} +3 -3
  158. package/lib/intervals/index.d.mts.map +1 -0
  159. package/lib/intervals/{index.js → index.mjs} +4 -4
  160. package/lib/intervals/{index.js.map → index.mjs.map} +1 -1
  161. package/lib/intervals/{interval.d.ts → interval.d.mts} +4 -9
  162. package/lib/intervals/interval.d.mts.map +1 -0
  163. package/lib/intervals/{interval.js → interval.mjs} +2 -6
  164. package/lib/intervals/interval.mjs.map +1 -0
  165. package/lib/intervals/{intervalUtils.d.ts → intervalUtils.d.mts} +16 -15
  166. package/lib/intervals/intervalUtils.d.mts.map +1 -0
  167. package/lib/intervals/{intervalUtils.js → intervalUtils.mjs} +4 -6
  168. package/lib/intervals/intervalUtils.mjs.map +1 -0
  169. package/lib/intervals/{sequenceInterval.d.ts → sequenceInterval.d.mts} +5 -14
  170. package/lib/intervals/sequenceInterval.d.mts.map +1 -0
  171. package/lib/intervals/{sequenceInterval.js → sequenceInterval.mjs} +6 -16
  172. package/lib/intervals/sequenceInterval.mjs.map +1 -0
  173. package/lib/{localValues.d.ts → localValues.d.mts} +3 -2
  174. package/lib/localValues.d.mts.map +1 -0
  175. package/lib/{localValues.js → localValues.mjs} +1 -1
  176. package/lib/localValues.mjs.map +1 -0
  177. package/lib/{packageVersion.d.ts → packageVersion.d.mts} +1 -1
  178. package/lib/{packageVersion.js → packageVersion.mjs} +2 -2
  179. package/lib/packageVersion.mjs.map +1 -0
  180. package/lib/{revertibles.d.ts → revertibles.d.mts} +12 -18
  181. package/lib/revertibles.d.mts.map +1 -0
  182. package/lib/{revertibles.js → revertibles.mjs} +10 -14
  183. package/lib/revertibles.mjs.map +1 -0
  184. package/lib/{sequence-public.d.ts → sequence-alpha.d.mts} +221 -422
  185. package/lib/sequence-beta.d.mts +270 -0
  186. package/lib/sequence-public.d.mts +270 -0
  187. package/lib/{sequence-untrimmed.d.ts → sequence-untrimmed.d.mts} +121 -90
  188. package/lib/{sequence.d.ts → sequence.d.mts} +6 -7
  189. package/lib/sequence.d.mts.map +1 -0
  190. package/lib/{sequence.js → sequence.mjs} +5 -6
  191. package/lib/sequence.mjs.map +1 -0
  192. package/lib/{sequenceDeltaEvent.d.ts → sequenceDeltaEvent.d.mts} +4 -4
  193. package/lib/sequenceDeltaEvent.d.mts.map +1 -0
  194. package/lib/{sequenceDeltaEvent.js → sequenceDeltaEvent.mjs} +4 -5
  195. package/lib/sequenceDeltaEvent.mjs.map +1 -0
  196. package/lib/{sequenceFactory.d.ts → sequenceFactory.d.mts} +2 -2
  197. package/lib/sequenceFactory.d.mts.map +1 -0
  198. package/lib/{sequenceFactory.js → sequenceFactory.mjs} +4 -4
  199. package/lib/sequenceFactory.mjs.map +1 -0
  200. package/lib/{sharedIntervalCollection.d.ts → sharedIntervalCollection.d.mts} +5 -5
  201. package/lib/sharedIntervalCollection.d.mts.map +1 -0
  202. package/lib/{sharedIntervalCollection.js → sharedIntervalCollection.mjs} +6 -6
  203. package/lib/sharedIntervalCollection.mjs.map +1 -0
  204. package/lib/{sharedSequence.d.ts → sharedSequence.d.mts} +4 -4
  205. package/lib/sharedSequence.d.mts.map +1 -0
  206. package/lib/{sharedSequence.js → sharedSequence.mjs} +4 -4
  207. package/lib/sharedSequence.mjs.map +1 -0
  208. package/lib/{sharedString.d.ts → sharedString.d.mts} +10 -7
  209. package/lib/sharedString.d.mts.map +1 -0
  210. package/lib/{sharedString.js → sharedString.mjs} +9 -6
  211. package/lib/sharedString.mjs.map +1 -0
  212. package/package.json +46 -29
  213. package/sequence.test-files.tar +0 -0
  214. package/src/defaultMap.ts +22 -16
  215. package/src/defaultMapInterfaces.ts +15 -12
  216. package/src/intervalCollection.ts +131 -67
  217. package/src/intervalIndex/endpointInRangeIndex.ts +2 -2
  218. package/src/intervalIndex/endpointIndex.ts +2 -2
  219. package/src/intervalIndex/idIntervalIndex.ts +2 -2
  220. package/src/intervalIndex/intervalIndex.ts +1 -1
  221. package/src/intervalIndex/overlappingIntervalsIndex.ts +2 -2
  222. package/src/intervalIndex/overlappingSequenceIntervalsIndex.ts +1 -1
  223. package/src/intervalIndex/sequenceIntervalIndexes.ts +2 -1
  224. package/src/intervalIndex/startpointInRangeIndex.ts +2 -2
  225. package/src/intervals/interval.ts +2 -7
  226. package/src/intervals/intervalUtils.ts +15 -15
  227. package/src/intervals/sequenceInterval.ts +3 -12
  228. package/src/localValues.ts +2 -1
  229. package/src/packageVersion.ts +1 -1
  230. package/src/revertibles.ts +9 -15
  231. package/src/sequence.ts +2 -3
  232. package/src/sequenceDeltaEvent.ts +4 -4
  233. package/src/sequenceFactory.ts +1 -1
  234. package/src/sharedIntervalCollection.ts +3 -3
  235. package/src/sharedSequence.ts +3 -3
  236. package/src/sharedString.ts +8 -5
  237. package/tsc-multi.test.json +10 -0
  238. package/dist/defaultMap.js.map +0 -1
  239. package/dist/defaultMapInterfaces.js.map +0 -1
  240. package/dist/index.js.map +0 -1
  241. package/dist/intervalCollection.js.map +0 -1
  242. package/dist/intervalIndex/endpointInRangeIndex.js.map +0 -1
  243. package/dist/intervalIndex/endpointIndex.js.map +0 -1
  244. package/dist/intervalIndex/idIntervalIndex.js.map +0 -1
  245. package/dist/intervalIndex/intervalIndex.js.map +0 -1
  246. package/dist/intervalIndex/intervalIndexUtils.js.map +0 -1
  247. package/dist/intervalIndex/overlappingIntervalsIndex.js.map +0 -1
  248. package/dist/intervalIndex/overlappingSequenceIntervalsIndex.js.map +0 -1
  249. package/dist/intervalIndex/sequenceIntervalIndexes.js.map +0 -1
  250. package/dist/intervalIndex/startpointInRangeIndex.js.map +0 -1
  251. package/dist/intervalTree.js.map +0 -1
  252. package/dist/intervals/index.js.map +0 -1
  253. package/dist/intervals/interval.js.map +0 -1
  254. package/dist/intervals/intervalUtils.js.map +0 -1
  255. package/dist/intervals/sequenceInterval.js.map +0 -1
  256. package/dist/localValues.js.map +0 -1
  257. package/dist/packageVersion.js.map +0 -1
  258. package/dist/revertibles.js.map +0 -1
  259. package/dist/sequence.js.map +0 -1
  260. package/dist/sequenceDeltaEvent.js.map +0 -1
  261. package/dist/sequenceFactory.js.map +0 -1
  262. package/dist/sharedIntervalCollection.js.map +0 -1
  263. package/dist/sharedSequence.js.map +0 -1
  264. package/dist/sharedString.js.map +0 -1
  265. package/lib/defaultMap.d.ts.map +0 -1
  266. package/lib/defaultMap.js.map +0 -1
  267. package/lib/defaultMapInterfaces.d.ts.map +0 -1
  268. package/lib/defaultMapInterfaces.js.map +0 -1
  269. package/lib/index.d.ts.map +0 -1
  270. package/lib/index.js.map +0 -1
  271. package/lib/intervalCollection.d.ts.map +0 -1
  272. package/lib/intervalCollection.js.map +0 -1
  273. package/lib/intervalIndex/endpointInRangeIndex.d.ts.map +0 -1
  274. package/lib/intervalIndex/endpointInRangeIndex.js.map +0 -1
  275. package/lib/intervalIndex/endpointIndex.d.ts.map +0 -1
  276. package/lib/intervalIndex/endpointIndex.js.map +0 -1
  277. package/lib/intervalIndex/idIntervalIndex.d.ts.map +0 -1
  278. package/lib/intervalIndex/idIntervalIndex.js.map +0 -1
  279. package/lib/intervalIndex/index.d.ts.map +0 -1
  280. package/lib/intervalIndex/index.js.map +0 -1
  281. package/lib/intervalIndex/intervalIndex.d.ts.map +0 -1
  282. package/lib/intervalIndex/intervalIndex.js.map +0 -1
  283. package/lib/intervalIndex/intervalIndexUtils.js.map +0 -1
  284. package/lib/intervalIndex/overlappingIntervalsIndex.d.ts.map +0 -1
  285. package/lib/intervalIndex/overlappingIntervalsIndex.js.map +0 -1
  286. package/lib/intervalIndex/overlappingSequenceIntervalsIndex.d.ts.map +0 -1
  287. package/lib/intervalIndex/overlappingSequenceIntervalsIndex.js.map +0 -1
  288. package/lib/intervalIndex/sequenceIntervalIndexes.d.ts.map +0 -1
  289. package/lib/intervalIndex/sequenceIntervalIndexes.js.map +0 -1
  290. package/lib/intervalIndex/startpointInRangeIndex.d.ts.map +0 -1
  291. package/lib/intervalIndex/startpointInRangeIndex.js.map +0 -1
  292. package/lib/intervalTree.d.ts.map +0 -1
  293. package/lib/intervalTree.js.map +0 -1
  294. package/lib/intervals/index.d.ts.map +0 -1
  295. package/lib/intervals/interval.d.ts.map +0 -1
  296. package/lib/intervals/interval.js.map +0 -1
  297. package/lib/intervals/intervalUtils.d.ts.map +0 -1
  298. package/lib/intervals/intervalUtils.js.map +0 -1
  299. package/lib/intervals/sequenceInterval.d.ts.map +0 -1
  300. package/lib/intervals/sequenceInterval.js.map +0 -1
  301. package/lib/localValues.d.ts.map +0 -1
  302. package/lib/localValues.js.map +0 -1
  303. package/lib/packageVersion.js.map +0 -1
  304. package/lib/revertibles.d.ts.map +0 -1
  305. package/lib/revertibles.js.map +0 -1
  306. package/lib/sequence-alpha.d.ts +0 -1587
  307. package/lib/sequence-beta.d.ts +0 -1507
  308. package/lib/sequence.d.ts.map +0 -1
  309. package/lib/sequence.js.map +0 -1
  310. package/lib/sequenceDeltaEvent.d.ts.map +0 -1
  311. package/lib/sequenceDeltaEvent.js.map +0 -1
  312. package/lib/sequenceFactory.d.ts.map +0 -1
  313. package/lib/sequenceFactory.js.map +0 -1
  314. package/lib/sharedIntervalCollection.d.ts.map +0 -1
  315. package/lib/sharedIntervalCollection.js.map +0 -1
  316. package/lib/sharedSequence.d.ts.map +0 -1
  317. package/lib/sharedSequence.js.map +0 -1
  318. package/lib/sharedString.d.ts.map +0 -1
  319. package/lib/sharedString.js.map +0 -1
  320. package/tsconfig.esnext.json +0 -6
  321. /package/lib/intervalIndex/{intervalIndexUtils.d.ts → intervalIndexUtils.d.mts} +0 -0
  322. /package/lib/intervalIndex/{intervalIndexUtils.d.ts.map → intervalIndexUtils.d.mts.map} +0 -0
  323. /package/lib/{packageVersion.d.ts.map → packageVersion.d.mts.map} +0 -0
@@ -2,17 +2,17 @@
2
2
  * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
3
  * Licensed under the MIT License.
4
4
  */
5
- import { ISerializableInterval } from "../intervals";
6
- import { IntervalIndex } from "./intervalIndex";
5
+ import { ISerializableInterval } from "../intervals/index.mjs";
6
+ import { IntervalIndex } from "./intervalIndex.mjs";
7
7
  /**
8
- * @public
8
+ * @internal
9
9
  */
10
10
  export interface IIdIntervalIndex<TInterval extends ISerializableInterval> extends IntervalIndex<TInterval>, Iterable<TInterval> {
11
11
  getIntervalById(id: string): TInterval | undefined;
12
12
  [Symbol.iterator](): Iterator<TInterval>;
13
13
  }
14
14
  /**
15
- * @public
15
+ * @internal
16
16
  */
17
17
  export declare function createIdIntervalIndex<TInterval extends ISerializableInterval>(): IIdIntervalIndex<TInterval>;
18
18
  //# sourceMappingURL=idIntervalIndex.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"idIntervalIndex.d.ts","sourceRoot":"","sources":["../../src/intervalIndex/idIntervalIndex.ts"],"names":[],"mappings":"AAAA;;;GAGG;OAGI,EAAE,qBAAqB,EAAE;OACzB,EAAE,aAAa,EAAE;AAIxB;;GAEG;AACH,MAAM,WAAW,gBAAgB,CAAC,SAAS,SAAS,qBAAqB,CACxE,SAAQ,aAAa,CAAC,SAAS,CAAC,EAC/B,QAAQ,CAAC,SAAS,CAAC;IACpB,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;IAEnD,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,SAAS,CAAC,CAAC;CACzC;AAoCD;;GAEG;AACH,wBAAgB,qBAAqB,CACpC,SAAS,SAAS,qBAAqB,KACnC,gBAAgB,CAAC,SAAS,CAAC,CAE/B"}
@@ -32,9 +32,9 @@ class IdIntervalIndex {
32
32
  }
33
33
  }
34
34
  /**
35
- * @public
35
+ * @internal
36
36
  */
37
37
  export function createIdIntervalIndex() {
38
38
  return new IdIntervalIndex();
39
39
  }
40
- //# sourceMappingURL=idIntervalIndex.js.map
40
+ //# sourceMappingURL=idIntervalIndex.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"idIntervalIndex.mjs","sourceRoot":"","sources":["../../src/intervalIndex/idIntervalIndex.ts"],"names":[],"mappings":"AAAA;;;GAGG;OAEI,EAAE,MAAM,EAAE,MAAM,4BAA4B;AAInD,MAAM,qBAAqB,GAAG,YAAY,CAAC;AAY3C,MAAM,eAAe;IAArB;QAGkB,kBAAa,GAAG,IAAI,GAAG,EAAqB,CAAC;IA8B/D,CAAC;IA5BO,GAAG,CAAC,QAAmB;QAC7B,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,EAAE,CAAC;QACpC,MAAM,CACL,EAAE,KAAK,SAAS,EAChB,KAAK,CAAC,+DAA+D,CACrE,CAAC;QACF,yBAAyB;QACzB,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,UAAU,EAAE,qBAAqB,EAAE;YACjE,YAAY,EAAE,KAAK;YACnB,UAAU,EAAE,IAAI;YAChB,QAAQ,EAAE,KAAK;SACf,CAAC,CAAC;QACH,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;IACtC,CAAC;IAEM,MAAM,CAAC,QAAmB;QAChC,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,EAAE,CAAC;QACpC,MAAM,CAAC,EAAE,KAAK,SAAS,EAAE,KAAK,CAAC,sCAAsC,CAAC,CAAC;QACvE,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC/B,CAAC;IAEM,eAAe,CAAC,EAAU;QAChC,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACnC,CAAC;IAEM,CAAC,MAAM,CAAC,QAAQ,CAAC;QACvB,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;IACpC,CAAC;CACD;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB;IAGpC,OAAO,IAAI,eAAe,EAAa,CAAC;AACzC,CAAC","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\";\nimport { ISerializableInterval } from \"../intervals\";\nimport { IntervalIndex } from \"./intervalIndex\";\n\nconst reservedIntervalIdKey = \"intervalId\";\n\n/**\n * @internal\n */\nexport interface IIdIntervalIndex<TInterval extends ISerializableInterval>\n\textends IntervalIndex<TInterval>,\n\t\tIterable<TInterval> {\n\tgetIntervalById(id: string): TInterval | undefined;\n\n\t[Symbol.iterator](): Iterator<TInterval>;\n}\nclass IdIntervalIndex<TInterval extends ISerializableInterval>\n\timplements IIdIntervalIndex<TInterval>, Iterable<TInterval>\n{\n\tprivate readonly intervalIdMap = new Map<string, TInterval>();\n\n\tpublic add(interval: TInterval) {\n\t\tconst id = interval.getIntervalId();\n\t\tassert(\n\t\t\tid !== undefined,\n\t\t\t0x2c0 /* \"ID must be created before adding interval to collection\" */,\n\t\t);\n\t\t// Make the ID immutable.\n\t\tObject.defineProperty(interval.properties, reservedIntervalIdKey, {\n\t\t\tconfigurable: false,\n\t\t\tenumerable: true,\n\t\t\twritable: false,\n\t\t});\n\t\tthis.intervalIdMap.set(id, interval);\n\t}\n\n\tpublic remove(interval: TInterval) {\n\t\tconst id = interval.getIntervalId();\n\t\tassert(id !== undefined, 0x311 /* expected id to exist on interval */);\n\t\tthis.intervalIdMap.delete(id);\n\t}\n\n\tpublic getIntervalById(id: string): TInterval | undefined {\n\t\treturn this.intervalIdMap.get(id);\n\t}\n\n\tpublic [Symbol.iterator](): IterableIterator<TInterval> {\n\t\treturn this.intervalIdMap.values();\n\t}\n}\n\n/**\n * @internal\n */\nexport function createIdIntervalIndex<\n\tTInterval extends ISerializableInterval,\n>(): IIdIntervalIndex<TInterval> {\n\treturn new IdIntervalIndex<TInterval>();\n}\n"]}
@@ -2,12 +2,12 @@
2
2
  * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
3
  * Licensed under the MIT License.
4
4
  */
5
- export { IntervalIndex } from "./intervalIndex";
6
- export { IIdIntervalIndex, createIdIntervalIndex } from "./idIntervalIndex";
7
- export { IEndpointIndex, createEndpointIndex, EndpointIndex } from "./endpointIndex";
8
- export { IEndpointInRangeIndex, createEndpointInRangeIndex, EndpointInRangeIndex, } from "./endpointInRangeIndex";
9
- export { IStartpointInRangeIndex, createStartpointInRangeIndex, StartpointInRangeIndex, } from "./startpointInRangeIndex";
10
- export { SequenceIntervalIndexes } from "./sequenceIntervalIndexes";
11
- export { IOverlappingIntervalsIndex, createOverlappingIntervalsIndex, OverlappingIntervalsIndex, } from "./overlappingIntervalsIndex";
12
- export { createOverlappingSequenceIntervalsIndex } from "./overlappingSequenceIntervalsIndex";
5
+ export { IntervalIndex } from "./intervalIndex.mjs";
6
+ export { IIdIntervalIndex, createIdIntervalIndex } from "./idIntervalIndex.mjs";
7
+ export { IEndpointIndex, createEndpointIndex, EndpointIndex } from "./endpointIndex.mjs";
8
+ export { IEndpointInRangeIndex, createEndpointInRangeIndex, EndpointInRangeIndex, } from "./endpointInRangeIndex.mjs";
9
+ export { IStartpointInRangeIndex, createStartpointInRangeIndex, StartpointInRangeIndex, } from "./startpointInRangeIndex.mjs";
10
+ export { SequenceIntervalIndexes } from "./sequenceIntervalIndexes.mjs";
11
+ export { IOverlappingIntervalsIndex, createOverlappingIntervalsIndex, OverlappingIntervalsIndex, } from "./overlappingIntervalsIndex.mjs";
12
+ export { createOverlappingSequenceIntervalsIndex } from "./overlappingSequenceIntervalsIndex.mjs";
13
13
  //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/intervalIndex/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;OAEI,EAAE,aAAa,EAAE;OACjB,EAAE,gBAAgB,EAAE,qBAAqB,EAAE;OAC3C,EAAE,cAAc,EAAE,mBAAmB,EAAE,aAAa,EAAE;OACtD,EACN,qBAAqB,EACrB,0BAA0B,EAC1B,oBAAoB,GACpB;OACM,EACN,uBAAuB,EACvB,4BAA4B,EAC5B,sBAAsB,GACtB;OACM,EAAE,uBAAuB,EAAE;OAC3B,EACN,0BAA0B,EAC1B,+BAA+B,EAC/B,yBAAyB,GACzB;OACM,EAAE,uCAAuC,EAAE"}
@@ -2,10 +2,10 @@
2
2
  * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
3
  * Licensed under the MIT License.
4
4
  */
5
- export { createIdIntervalIndex } from "./idIntervalIndex";
6
- export { createEndpointIndex, EndpointIndex } from "./endpointIndex";
7
- export { createEndpointInRangeIndex, EndpointInRangeIndex, } from "./endpointInRangeIndex";
8
- export { createStartpointInRangeIndex, StartpointInRangeIndex, } from "./startpointInRangeIndex";
9
- export { createOverlappingIntervalsIndex, OverlappingIntervalsIndex, } from "./overlappingIntervalsIndex";
10
- export { createOverlappingSequenceIntervalsIndex } from "./overlappingSequenceIntervalsIndex";
11
- //# sourceMappingURL=index.js.map
5
+ export { createIdIntervalIndex } from "./idIntervalIndex.mjs";
6
+ export { createEndpointIndex, EndpointIndex } from "./endpointIndex.mjs";
7
+ export { createEndpointInRangeIndex, EndpointInRangeIndex, } from "./endpointInRangeIndex.mjs";
8
+ export { createStartpointInRangeIndex, StartpointInRangeIndex, } from "./startpointInRangeIndex.mjs";
9
+ export { createOverlappingIntervalsIndex, OverlappingIntervalsIndex, } from "./overlappingIntervalsIndex.mjs";
10
+ export { createOverlappingSequenceIntervalsIndex } from "./overlappingSequenceIntervalsIndex.mjs";
11
+ //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/intervalIndex/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAGH,qDAA4E;AAAjD,wHAAA,qBAAqB,OAAA;AAChD,iDAAqF;AAA5D,oHAAA,mBAAmB,OAAA;AAAE,8GAAA,aAAa,OAAA;AAC3D,+DAIgC;AAF/B,kIAAA,0BAA0B,OAAA;AAC1B,4HAAA,oBAAoB,OAAA;AAErB,mEAIkC;AAFjC,sIAAA,4BAA4B,OAAA;AAC5B,gIAAA,sBAAsB,OAAA;AAGvB,yEAIqC;AAFpC,4IAAA,+BAA+B,OAAA;AAC/B,sIAAA,yBAAyB,OAAA;AAE1B,yFAA8F;AAArF,4JAAA,uCAAuC,OAAA","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nexport { IntervalIndex } from \"./intervalIndex\";\nexport { IIdIntervalIndex, createIdIntervalIndex } from \"./idIntervalIndex\";\nexport { IEndpointIndex, createEndpointIndex, EndpointIndex } from \"./endpointIndex\";\nexport {\n\tIEndpointInRangeIndex,\n\tcreateEndpointInRangeIndex,\n\tEndpointInRangeIndex,\n} from \"./endpointInRangeIndex\";\nexport {\n\tIStartpointInRangeIndex,\n\tcreateStartpointInRangeIndex,\n\tStartpointInRangeIndex,\n} from \"./startpointInRangeIndex\";\nexport { SequenceIntervalIndexes } from \"./sequenceIntervalIndexes\";\nexport {\n\tIOverlappingIntervalsIndex,\n\tcreateOverlappingIntervalsIndex,\n\tOverlappingIntervalsIndex,\n} from \"./overlappingIntervalsIndex\";\nexport { createOverlappingSequenceIntervalsIndex } from \"./overlappingSequenceIntervalsIndex\";\n"]}
1
+ {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../src/intervalIndex/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;OAGI,EAAoB,qBAAqB,EAAE;OAC3C,EAAkB,mBAAmB,EAAE,aAAa,EAAE;OACtD,EAEN,0BAA0B,EAC1B,oBAAoB,GACpB;OACM,EAEN,4BAA4B,EAC5B,sBAAsB,GACtB;OAEM,EAEN,+BAA+B,EAC/B,yBAAyB,GACzB;OACM,EAAE,uCAAuC,EAAE","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nexport { IntervalIndex } from \"./intervalIndex\";\nexport { IIdIntervalIndex, createIdIntervalIndex } from \"./idIntervalIndex\";\nexport { IEndpointIndex, createEndpointIndex, EndpointIndex } from \"./endpointIndex\";\nexport {\n\tIEndpointInRangeIndex,\n\tcreateEndpointInRangeIndex,\n\tEndpointInRangeIndex,\n} from \"./endpointInRangeIndex\";\nexport {\n\tIStartpointInRangeIndex,\n\tcreateStartpointInRangeIndex,\n\tStartpointInRangeIndex,\n} from \"./startpointInRangeIndex\";\nexport { SequenceIntervalIndexes } from \"./sequenceIntervalIndexes\";\nexport {\n\tIOverlappingIntervalsIndex,\n\tcreateOverlappingIntervalsIndex,\n\tOverlappingIntervalsIndex,\n} from \"./overlappingIntervalsIndex\";\nexport { createOverlappingSequenceIntervalsIndex } from \"./overlappingSequenceIntervalsIndex\";\n"]}
@@ -2,7 +2,7 @@
2
2
  * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
3
  * Licensed under the MIT License.
4
4
  */
5
- import { ISerializableInterval } from "../intervals";
5
+ import { ISerializableInterval } from "../intervals/index.mjs";
6
6
  /**
7
7
  * Collection of intervals.
8
8
  *
@@ -11,7 +11,7 @@ import { ISerializableInterval } from "../intervals";
11
11
  * - "find all intervals with start endpoint between these two points"
12
12
  * - "find all intervals which overlap this range"
13
13
  * etc.
14
- * @public
14
+ * @alpha
15
15
  */
16
16
  export interface IntervalIndex<TInterval extends ISerializableInterval> {
17
17
  /**
@@ -0,0 +1 @@
1
+ {"version":3,"file":"intervalIndex.d.ts","sourceRoot":"","sources":["../../src/intervalIndex/intervalIndex.ts"],"names":[],"mappings":"AAAA;;;GAGG;OAEI,EAAE,qBAAqB,EAAE;AAEhC;;;;;;;;;GASG;AACH,MAAM,WAAW,aAAa,CAAC,SAAS,SAAS,qBAAqB;IACrE;;;;OAIG;IACH,GAAG,CAAC,QAAQ,EAAE,SAAS,GAAG,IAAI,CAAC;IAE/B;;;;OAIG;IACH,MAAM,CAAC,QAAQ,EAAE,SAAS,GAAG,IAAI,CAAC;CAClC"}
@@ -3,4 +3,4 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
  export {};
6
- //# sourceMappingURL=intervalIndex.js.map
6
+ //# sourceMappingURL=intervalIndex.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"intervalIndex.mjs","sourceRoot":"","sources":["../../src/intervalIndex/intervalIndex.ts"],"names":[],"mappings":"AAAA;;;GAGG","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { ISerializableInterval } from \"../intervals\";\n\n/**\n * Collection of intervals.\n *\n * Implementers of this interface will typically implement additional APIs to support efficiently querying a collection\n * of intervals in some manner, for example:\n * - \"find all intervals with start endpoint between these two points\"\n * - \"find all intervals which overlap this range\"\n * etc.\n * @alpha\n */\nexport interface IntervalIndex<TInterval extends ISerializableInterval> {\n\t/**\n\t * Adds an interval to the index.\n\t * @remarks Application code should never need to invoke this method on their index for production scenarios:\n\t * Fluid handles adding and removing intervals from an index in response to sequence or interval changes.\n\t */\n\tadd(interval: TInterval): void;\n\n\t/**\n\t * Removes an interval from the index.\n\t * @remarks Application code should never need to invoke this method on their index for production scenarios:\n\t * Fluid handles adding and removing intervals from an index in response to sequence or interval changes.\n\t */\n\tremove(interval: TInterval): void;\n}\n"]}
@@ -15,4 +15,4 @@ export function compareOverrideables(a, b) {
15
15
  const forceCompareB = b[forceCompare] ?? 0;
16
16
  return forceCompareA - forceCompareB;
17
17
  }
18
- //# sourceMappingURL=intervalIndexUtils.js.map
18
+ //# sourceMappingURL=intervalIndexUtils.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"intervalIndexUtils.mjs","sourceRoot":"","sources":["../../src/intervalIndex/intervalIndexUtils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC;AAMrC;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CACnC,CAAiC,EACjC,CAAiC;IAEjC,MAAM,aAAa,GAAG,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAC3C,MAAM,aAAa,GAAG,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAE3C,OAAO,aAAa,GAAG,aAAa,CAAC;AACtC,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\n/**\n * Interface for intervals that have comparison override properties.\n */\nexport const forceCompare = Symbol();\n\nexport interface HasComparisonOverride {\n\t[forceCompare]: number;\n}\n\n/**\n * Compares two objects based on their comparison override properties.\n * @returns A number indicating the order of the intervals (negative for a is lower than b, 0 for tie, positive for a is greater than b).\n */\nexport function compareOverrideables(\n\ta: Partial<HasComparisonOverride>,\n\tb: Partial<HasComparisonOverride>,\n): number {\n\tconst forceCompareA = a[forceCompare] ?? 0;\n\tconst forceCompareB = b[forceCompare] ?? 0;\n\n\treturn forceCompareA - forceCompareB;\n}\n"]}
@@ -3,13 +3,13 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
  import { Client } from "@fluidframework/merge-tree";
6
- import { IIntervalHelpers, ISerializableInterval, SequenceInterval } from "../intervals";
7
- import { IntervalTree } from "../intervalTree";
8
- import { SharedString } from "../sharedString";
9
- import { SequencePlace } from "../intervalCollection";
10
- import { IntervalIndex } from "./intervalIndex";
6
+ import { IIntervalHelpers, ISerializableInterval, SequenceInterval } from "../intervals/index.mjs";
7
+ import { IntervalTree } from "../intervalTree.mjs";
8
+ import { SharedString } from "../sharedString.mjs";
9
+ import { SequencePlace } from "../intervalCollection.mjs";
10
+ import { IntervalIndex } from "./intervalIndex.mjs";
11
11
  /**
12
- * @public
12
+ * @internal
13
13
  */
14
14
  export interface IOverlappingIntervalsIndex<TInterval extends ISerializableInterval> extends IntervalIndex<TInterval> {
15
15
  /**
@@ -38,7 +38,7 @@ export declare class OverlappingIntervalsIndex<TInterval extends ISerializableIn
38
38
  add(interval: TInterval): void;
39
39
  }
40
40
  /**
41
- * @public
41
+ * @internal
42
42
  */
43
43
  export declare function createOverlappingIntervalsIndex(sharedString: SharedString): IOverlappingIntervalsIndex<SequenceInterval>;
44
44
  //# sourceMappingURL=overlappingIntervalsIndex.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"overlappingIntervalsIndex.d.ts","sourceRoot":"","sources":["../../src/intervalIndex/overlappingIntervalsIndex.ts"],"names":[],"mappings":"AAAA;;;GAGG;OAGI,EAAE,MAAM,EAAE,MAAM,4BAA4B;OAC5C,EAEN,gBAAgB,EAChB,qBAAqB,EAErB,gBAAgB,EAChB;OACM,EAAgB,YAAY,EAAE;OAC9B,EAAE,YAAY,EAAE;OAChB,EAAE,aAAa,EAAsB;OACrC,EAAE,aAAa,EAAE;AAExB;;GAEG;AACH,MAAM,WAAW,0BAA0B,CAAC,SAAS,SAAS,qBAAqB,CAClF,SAAQ,aAAa,CAAC,SAAS,CAAC;IAChC;;;OAGG;IACH,wBAAwB,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,EAAE,aAAa,GAAG,SAAS,EAAE,CAAC;IAEhF;;OAEG;IACH,sBAAsB,CACrB,OAAO,EAAE,SAAS,EAAE,EACpB,eAAe,EAAE,OAAO,EACxB,KAAK,CAAC,EAAE,aAAa,EACrB,GAAG,CAAC,EAAE,aAAa,GACjB,IAAI,CAAC;CACR;AAED;;GAEG;AACH,qBAAa,yBAAyB,CAAC,SAAS,SAAS,qBAAqB,CAC7E,YAAW,0BAA0B,CAAC,SAAS,CAAC;IAEhD,SAAS,CAAC,QAAQ,CAAC,YAAY,0BAAiC;IAChE,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAClC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC,SAAS,CAAC,CAAC;gBAE5C,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,CAAC,SAAS,CAAC;IAKzD,GAAG,CAAC,EAAE,EAAE,CAAC,QAAQ,EAAE,SAAS,KAAK,IAAI;IAIrC,QAAQ,CAAC,EAAE,EAAE,CAAC,QAAQ,EAAE,SAAS,KAAK,OAAO;IAI7C,sBAAsB,CAC5B,OAAO,EAAE,SAAS,EAAE,EACpB,eAAe,EAAE,OAAO,EACxB,KAAK,CAAC,EAAE,aAAa,EACrB,GAAG,CAAC,EAAE,aAAa,GACjB,IAAI;IA6EA,wBAAwB,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,EAAE,aAAa,GAAG,SAAS,EAAE;IAuB/E,MAAM,CAAC,QAAQ,EAAE,SAAS;IAI1B,GAAG,CAAC,QAAQ,EAAE,SAAS;CAG9B;AAED;;GAEG;AACH,wBAAgB,+BAA+B,CAC9C,YAAY,EAAE,YAAY,GACxB,0BAA0B,CAAC,gBAAgB,CAAC,CAG9C"}
@@ -3,9 +3,9 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
  /* eslint-disable import/no-deprecated */
6
- import { IntervalType, sequenceIntervalHelpers, } from "../intervals";
7
- import { IntervalTree } from "../intervalTree";
8
- import { endpointPosAndSide } from "../intervalCollection";
6
+ import { IntervalType, sequenceIntervalHelpers, } from "../intervals/index.mjs";
7
+ import { IntervalTree } from "../intervalTree.mjs";
8
+ import { endpointPosAndSide } from "../intervalCollection.mjs";
9
9
  /**
10
10
  * @public
11
11
  */
@@ -102,10 +102,10 @@ export class OverlappingIntervalsIndex {
102
102
  }
103
103
  }
104
104
  /**
105
- * @public
105
+ * @internal
106
106
  */
107
107
  export function createOverlappingIntervalsIndex(sharedString) {
108
108
  const client = sharedString.client;
109
109
  return new OverlappingIntervalsIndex(client, sequenceIntervalHelpers);
110
110
  }
111
- //# sourceMappingURL=overlappingIntervalsIndex.js.map
111
+ //# sourceMappingURL=overlappingIntervalsIndex.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"overlappingIntervalsIndex.mjs","sourceRoot":"","sources":["../../src/intervalIndex/overlappingIntervalsIndex.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/* eslint-disable import/no-deprecated */\n\nimport { Client } from \"@fluidframework/merge-tree\";\nimport {\n\tIntervalType,\n\tIIntervalHelpers,\n\tISerializableInterval,\n\tsequenceIntervalHelpers,\n\tSequenceInterval,\n} from \"../intervals\";\nimport { IntervalNode, IntervalTree } from \"../intervalTree\";\nimport { SharedString } from \"../sharedString\";\nimport { SequencePlace, endpointPosAndSide } from \"../intervalCollection\";\nimport { IntervalIndex } from \"./intervalIndex\";\n\n/**\n * @internal\n */\nexport interface IOverlappingIntervalsIndex<TInterval extends ISerializableInterval>\n\textends IntervalIndex<TInterval> {\n\t/**\n\t * @returns an array of all intervals contained in this collection that overlap the range\n\t * `[start end]`.\n\t */\n\tfindOverlappingIntervals(start: SequencePlace, end: SequencePlace): TInterval[];\n\n\t/**\n\t * Gathers the interval results based on specified parameters.\n\t */\n\tgatherIterationResults(\n\t\tresults: TInterval[],\n\t\titeratesForward: boolean,\n\t\tstart?: SequencePlace,\n\t\tend?: SequencePlace,\n\t): void;\n}\n\n/**\n * @public\n */\nexport class OverlappingIntervalsIndex<TInterval extends ISerializableInterval>\n\timplements IOverlappingIntervalsIndex<TInterval>\n{\n\tprotected readonly intervalTree = new IntervalTree<TInterval>();\n\tprotected readonly client: Client;\n\tprotected readonly helpers: IIntervalHelpers<TInterval>;\n\n\tconstructor(client: Client, helpers: IIntervalHelpers<TInterval>) {\n\t\tthis.client = client;\n\t\tthis.helpers = helpers;\n\t}\n\n\tpublic map(fn: (interval: TInterval) => void) {\n\t\tthis.intervalTree.map(fn);\n\t}\n\n\tpublic mapUntil(fn: (interval: TInterval) => boolean) {\n\t\tthis.intervalTree.mapUntil(fn);\n\t}\n\n\tpublic gatherIterationResults(\n\t\tresults: TInterval[],\n\t\titeratesForward: boolean,\n\t\tstart?: SequencePlace,\n\t\tend?: SequencePlace,\n\t): void {\n\t\tif (this.intervalTree.intervals.isEmpty()) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (start === undefined && end === undefined) {\n\t\t\t// No start/end provided. Gather the whole tree in the specified order.\n\t\t\tif (iteratesForward) {\n\t\t\t\tthis.intervalTree.map((interval: TInterval) => {\n\t\t\t\t\tresults.push(interval);\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tthis.intervalTree.mapBackward((interval: TInterval) => {\n\t\t\t\t\tresults.push(interval);\n\t\t\t\t});\n\t\t\t}\n\t\t} else {\n\t\t\tconst transientInterval: TInterval = this.helpers.create(\n\t\t\t\t\"transient\",\n\t\t\t\tstart ?? \"start\",\n\t\t\t\tend ?? \"end\",\n\t\t\t\tthis.client,\n\t\t\t\tIntervalType.Transient,\n\t\t\t);\n\n\t\t\tif (start === undefined) {\n\t\t\t\t// Only end position provided. Since the tree is not sorted by end position,\n\t\t\t\t// walk the whole tree in the specified order, gathering intervals that match the end.\n\t\t\t\tif (iteratesForward) {\n\t\t\t\t\tthis.intervalTree.map((interval: TInterval) => {\n\t\t\t\t\t\tif (transientInterval.compareEnd(interval) === 0) {\n\t\t\t\t\t\t\tresults.push(interval);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tthis.intervalTree.mapBackward((interval: TInterval) => {\n\t\t\t\t\t\tif (transientInterval.compareEnd(interval) === 0) {\n\t\t\t\t\t\t\tresults.push(interval);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Start and (possibly) end provided. Walk the subtrees that may contain\n\t\t\t\t// this start position.\n\t\t\t\tconst compareFn =\n\t\t\t\t\tend === undefined\n\t\t\t\t\t\t? (node: IntervalNode<TInterval>) => {\n\t\t\t\t\t\t\t\treturn transientInterval.compareStart(node.key);\n\t\t\t\t\t\t }\n\t\t\t\t\t\t: (node: IntervalNode<TInterval>) => {\n\t\t\t\t\t\t\t\treturn transientInterval.compare(node.key);\n\t\t\t\t\t\t };\n\t\t\t\tconst continueLeftFn = (cmpResult: number) => cmpResult <= 0;\n\t\t\t\tconst continueRightFn = (cmpResult: number) => cmpResult >= 0;\n\t\t\t\tconst actionFn = (node: IntervalNode<TInterval>) => {\n\t\t\t\t\tresults.push(node.key);\n\t\t\t\t};\n\n\t\t\t\tif (iteratesForward) {\n\t\t\t\t\tthis.intervalTree.intervals.walkExactMatchesForward(\n\t\t\t\t\t\tcompareFn,\n\t\t\t\t\t\tactionFn,\n\t\t\t\t\t\tcontinueLeftFn,\n\t\t\t\t\t\tcontinueRightFn,\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\tthis.intervalTree.intervals.walkExactMatchesBackward(\n\t\t\t\t\t\tcompareFn,\n\t\t\t\t\t\tactionFn,\n\t\t\t\t\t\tcontinueLeftFn,\n\t\t\t\t\t\tcontinueRightFn,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic findOverlappingIntervals(start: SequencePlace, end: SequencePlace): TInterval[] {\n\t\tconst { startPos, endPos } = endpointPosAndSide(start, end);\n\n\t\tif (\n\t\t\tstartPos === undefined ||\n\t\t\tendPos === undefined ||\n\t\t\tendPos < startPos ||\n\t\t\tthis.intervalTree.intervals.isEmpty()\n\t\t) {\n\t\t\treturn [];\n\t\t}\n\t\tconst transientInterval = this.helpers.create(\n\t\t\t\"transient\",\n\t\t\tstart,\n\t\t\tend,\n\t\t\tthis.client,\n\t\t\tIntervalType.Transient,\n\t\t);\n\n\t\tconst overlappingIntervalNodes = this.intervalTree.match(transientInterval);\n\t\treturn overlappingIntervalNodes.map((node) => node.key);\n\t}\n\n\tpublic remove(interval: TInterval) {\n\t\tthis.intervalTree.removeExisting(interval);\n\t}\n\n\tpublic add(interval: TInterval) {\n\t\tthis.intervalTree.put(interval);\n\t}\n}\n\n/**\n * @internal\n */\nexport function createOverlappingIntervalsIndex(\n\tsharedString: SharedString,\n): IOverlappingIntervalsIndex<SequenceInterval> {\n\tconst client = (sharedString as unknown as { client: Client }).client;\n\treturn new OverlappingIntervalsIndex<SequenceInterval>(client, sequenceIntervalHelpers);\n}\n"]}
@@ -2,10 +2,10 @@
2
2
  * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
3
  * Licensed under the MIT License.
4
4
  */
5
- import { SharedString } from "../sharedString";
6
- import { SequenceIntervalIndexes } from "./sequenceIntervalIndexes";
5
+ import { SharedString } from "../sharedString.mjs";
6
+ import { SequenceIntervalIndexes } from "./sequenceIntervalIndexes.mjs";
7
7
  /**
8
- * @public
8
+ * @internal
9
9
  */
10
10
  export declare function createOverlappingSequenceIntervalsIndex(sharedString: SharedString): SequenceIntervalIndexes.Overlapping;
11
11
  //# sourceMappingURL=overlappingSequenceIntervalsIndex.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"overlappingSequenceIntervalsIndex.d.ts","sourceRoot":"","sources":["../../src/intervalIndex/overlappingSequenceIntervalsIndex.ts"],"names":[],"mappings":"AAAA;;;GAGG;OAgBI,EAAE,YAAY,EAAE;OAChB,EAAE,uBAAuB,EAAE;AAmDlC;;GAEG;AACH,wBAAgB,uCAAuC,CACtD,YAAY,EAAE,YAAY,GACxB,uBAAuB,CAAC,WAAW,CAGrC"}
@@ -4,8 +4,8 @@
4
4
  */
5
5
  /* eslint-disable import/no-deprecated */
6
6
  import { ReferenceType, compareReferencePositions, reservedRangeLabelsKey, } from "@fluidframework/merge-tree";
7
- import { sequenceIntervalHelpers, IntervalType, SequenceInterval, createPositionReferenceFromSegoff, } from "../intervals";
8
- import { OverlappingIntervalsIndex } from "./overlappingIntervalsIndex";
7
+ import { sequenceIntervalHelpers, IntervalType, SequenceInterval, createPositionReferenceFromSegoff, } from "../intervals/index.mjs";
8
+ import { OverlappingIntervalsIndex } from "./overlappingIntervalsIndex.mjs";
9
9
  /**
10
10
  * @public
11
11
  */
@@ -28,10 +28,10 @@ class OverlappingSequenceIntervalsIndex extends OverlappingIntervalsIndex {
28
28
  }
29
29
  }
30
30
  /**
31
- * @public
31
+ * @internal
32
32
  */
33
33
  export function createOverlappingSequenceIntervalsIndex(sharedString) {
34
34
  const client = sharedString.client;
35
35
  return new OverlappingSequenceIntervalsIndex(client);
36
36
  }
37
- //# sourceMappingURL=overlappingSequenceIntervalsIndex.js.map
37
+ //# sourceMappingURL=overlappingSequenceIntervalsIndex.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"overlappingSequenceIntervalsIndex.mjs","sourceRoot":"","sources":["../../src/intervalIndex/overlappingSequenceIntervalsIndex.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,yCAAyC;OAElC,EAGN,aAAa,EACb,yBAAyB,EACzB,sBAAsB,GACtB,MAAM,4BAA4B;OAC5B,EACN,uBAAuB,EACvB,YAAY,EACZ,gBAAgB,EAChB,iCAAiC,GACjC;OAGM,EAAE,yBAAyB,EAAE;AAEpC;;GAEG;AACH,MAAM,iCACL,SAAQ,yBAA2C;IAGnD,YAAY,MAAc;QACzB,KAAK,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;IACxC,CAAC;IAEM,gCAAgC,CACtC,WAA0E,EAC1E,SAAwE;QAExE,IAAI,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE;YAC1C,OAAO,EAAE,CAAC;SACV;QAED,MAAM,SAAS,GAAG,iCAAiC,CAClD,IAAI,CAAC,MAAM,EACX,WAAW,EACX,aAAa,CAAC,SAAS,CACvB,CAAC;QAEF,MAAM,OAAO,GAAG,iCAAiC,CAChD,IAAI,CAAC,MAAM,EACX,SAAS,EACT,aAAa,CAAC,SAAS,CACvB,CAAC;QAEF,IAAI,yBAAyB,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE;YACtD,OAAO,EAAE,CAAC;SACV;QAED,MAAM,iBAAiB,GAAG,IAAI,gBAAgB,CAC7C,IAAI,CAAC,MAAM,EACX,SAAS,EACT,OAAO,EACP,YAAY,CAAC,SAAS,EACtB,EAAE,CAAC,sBAAsB,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,CAC3C,CAAC;QAEF,MAAM,wBAAwB,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QAC5E,OAAO,wBAAwB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzD,CAAC;CACD;AAED;;GAEG;AACH,MAAM,UAAU,uCAAuC,CACtD,YAA0B;IAE1B,MAAM,MAAM,GAAI,YAA8C,CAAC,MAAM,CAAC;IACtE,OAAO,IAAI,iCAAiC,CAAC,MAAM,CAAC,CAAC;AACtD,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n/* eslint-disable import/no-deprecated */\n\nimport {\n\tClient,\n\tISegment,\n\tReferenceType,\n\tcompareReferencePositions,\n\treservedRangeLabelsKey,\n} from \"@fluidframework/merge-tree\";\nimport {\n\tsequenceIntervalHelpers,\n\tIntervalType,\n\tSequenceInterval,\n\tcreatePositionReferenceFromSegoff,\n} from \"../intervals\";\nimport { SharedString } from \"../sharedString\";\nimport { SequenceIntervalIndexes } from \"./sequenceIntervalIndexes\";\nimport { OverlappingIntervalsIndex } from \"./overlappingIntervalsIndex\";\n\n/**\n * @public\n */\nclass OverlappingSequenceIntervalsIndex\n\textends OverlappingIntervalsIndex<SequenceInterval>\n\timplements SequenceIntervalIndexes.Overlapping\n{\n\tconstructor(client: Client) {\n\t\tsuper(client, sequenceIntervalHelpers);\n\t}\n\n\tpublic findOverlappingIntervalsBySegoff(\n\t\tstartSegoff: { segment: ISegment | undefined; offset: number | undefined },\n\t\tendSegoff: { segment: ISegment | undefined; offset: number | undefined },\n\t): Iterable<SequenceInterval> {\n\t\tif (this.intervalTree.intervals.isEmpty()) {\n\t\t\treturn [];\n\t\t}\n\n\t\tconst startLref = createPositionReferenceFromSegoff(\n\t\t\tthis.client,\n\t\t\tstartSegoff,\n\t\t\tReferenceType.Transient,\n\t\t);\n\n\t\tconst endLref = createPositionReferenceFromSegoff(\n\t\t\tthis.client,\n\t\t\tendSegoff,\n\t\t\tReferenceType.Transient,\n\t\t);\n\n\t\tif (compareReferencePositions(startLref, endLref) > 0) {\n\t\t\treturn [];\n\t\t}\n\n\t\tconst transientInterval = new SequenceInterval(\n\t\t\tthis.client,\n\t\t\tstartLref,\n\t\t\tendLref,\n\t\t\tIntervalType.Transient,\n\t\t\t{ [reservedRangeLabelsKey]: [\"transient\"] },\n\t\t);\n\n\t\tconst overlappingIntervalNodes = this.intervalTree.match(transientInterval);\n\t\treturn overlappingIntervalNodes.map((node) => node.key);\n\t}\n}\n\n/**\n * @internal\n */\nexport function createOverlappingSequenceIntervalsIndex(\n\tsharedString: SharedString,\n): SequenceIntervalIndexes.Overlapping {\n\tconst client = (sharedString as unknown as { client: Client }).client;\n\treturn new OverlappingSequenceIntervalsIndex(client);\n}\n"]}
@@ -3,18 +3,19 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
  import { ISegment } from "@fluidframework/merge-tree";
6
- import { SequenceInterval } from "../intervals";
7
- import { IOverlappingIntervalsIndex } from "./overlappingIntervalsIndex";
6
+ import { SequenceInterval } from "../intervals/index.mjs";
7
+ import { IOverlappingIntervalsIndex } from "./overlappingIntervalsIndex.mjs";
8
8
  /**
9
9
  * This namespace contains specialiazations of indexes which support spatial queries
10
10
  * specifically for `SequenceInterval`s.
11
- * @public
11
+ * @internal
12
12
  */
13
13
  export declare namespace SequenceIntervalIndexes {
14
14
  /**
15
15
  * Collection of intervals.
16
16
  *
17
17
  * Provides additional APIs to support efficiently querying a collection of intervals based on segments and offset.
18
+ * @internal
18
19
  */
19
20
  interface Overlapping extends IOverlappingIntervalsIndex<SequenceInterval> {
20
21
  /**
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sequenceIntervalIndexes.d.ts","sourceRoot":"","sources":["../../src/intervalIndex/sequenceIntervalIndexes.ts"],"names":[],"mappings":"AAAA;;;GAGG;OAEI,EAAE,QAAQ,EAAE,MAAM,4BAA4B;OAC9C,EAAE,gBAAgB,EAAE;OACpB,EAAE,0BAA0B,EAAE;AAErC;;;;GAIG;AAEH,yBAAiB,uBAAuB,CAAC;IACxC;;;;;OAKG;IACH,UAAiB,WAAY,SAAQ,0BAA0B,CAAC,gBAAgB,CAAC;QAChF;;;;WAIG;QACH,gCAAgC,CAC/B,WAAW,EAAE;YAAE,OAAO,EAAE,QAAQ,GAAG,SAAS,CAAC;YAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;SAAE,EAC1E,SAAS,EAAE;YAAE,OAAO,EAAE,QAAQ,GAAG,SAAS,CAAC;YAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;SAAE,GACtE,QAAQ,CAAC,gBAAgB,CAAC,CAAC;KAC9B;CACD"}
@@ -3,4 +3,4 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
  export {};
6
- //# sourceMappingURL=sequenceIntervalIndexes.js.map
6
+ //# sourceMappingURL=sequenceIntervalIndexes.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sequenceIntervalIndexes.mjs","sourceRoot":"","sources":["../../src/intervalIndex/sequenceIntervalIndexes.ts"],"names":[],"mappings":"AAAA;;;GAGG","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { ISegment } from \"@fluidframework/merge-tree\";\nimport { SequenceInterval } from \"../intervals\";\nimport { IOverlappingIntervalsIndex } from \"./overlappingIntervalsIndex\";\n\n/**\n * This namespace contains specialiazations of indexes which support spatial queries\n * specifically for `SequenceInterval`s.\n * @internal\n */\n// eslint-disable-next-line @typescript-eslint/no-namespace\nexport namespace SequenceIntervalIndexes {\n\t/**\n\t * Collection of intervals.\n\t *\n\t * Provides additional APIs to support efficiently querying a collection of intervals based on segments and offset.\n\t * @internal\n\t */\n\texport interface Overlapping extends IOverlappingIntervalsIndex<SequenceInterval> {\n\t\t/**\n\t\t * Finds overlapping intervals within the specified range.\n\t\t *\n\t\t * @returns an array of all intervals that overlap with the specified SegOff range (includes both ends)\n\t\t */\n\t\tfindOverlappingIntervalsBySegoff(\n\t\t\tstartSegoff: { segment: ISegment | undefined; offset: number | undefined },\n\t\t\tendSegoff: { segment: ISegment | undefined; offset: number | undefined },\n\t\t): Iterable<SequenceInterval>;\n\t}\n}\n"]}
@@ -3,14 +3,14 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
  import { Client } from "@fluidframework/merge-tree";
6
- import { IIntervalHelpers, ISerializableInterval, SequenceInterval } from "../intervals";
7
- import { SharedString } from "../sharedString";
8
- import { IntervalIndex } from "./intervalIndex";
6
+ import { IIntervalHelpers, ISerializableInterval, SequenceInterval } from "../intervals/index.mjs";
7
+ import { SharedString } from "../sharedString.mjs";
8
+ import { IntervalIndex } from "./intervalIndex.mjs";
9
9
  /**
10
10
  * Collection of intervals.
11
11
  *
12
12
  * Provide additional APIs to support efficiently querying a collection of intervals whose startpoints fall within a specified range.
13
- * @public
13
+ * @internal
14
14
  */
15
15
  export interface IStartpointInRangeIndex<TInterval extends ISerializableInterval> extends IntervalIndex<TInterval> {
16
16
  /**
@@ -28,7 +28,7 @@ export declare class StartpointInRangeIndex<TInterval extends ISerializableInter
28
28
  findIntervalsWithStartpointInRange(start: number, end: number): TInterval[];
29
29
  }
30
30
  /**
31
- * @public
31
+ * @internal
32
32
  */
33
33
  export declare function createStartpointInRangeIndex(sharedString: SharedString): IStartpointInRangeIndex<SequenceInterval>;
34
34
  //# sourceMappingURL=startpointInRangeIndex.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"startpointInRangeIndex.d.ts","sourceRoot":"","sources":["../../src/intervalIndex/startpointInRangeIndex.ts"],"names":[],"mappings":"AAAA;;;GAGG;OAGI,EAAE,MAAM,EAAgC,MAAM,4BAA4B;OAC1E,EACN,gBAAgB,EAChB,qBAAqB,EAErB,gBAAgB,EAEhB;OACM,EAAE,YAAY,EAAE;OAChB,EAAE,aAAa,EAAE;AAGxB;;;;;GAKG;AACH,MAAM,WAAW,uBAAuB,CAAC,SAAS,SAAS,qBAAqB,CAC/E,SAAQ,aAAa,CAAC,SAAS,CAAC;IAChC;;OAEG;IACH,kCAAkC,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,EAAE,CAAC;CAC5E;AAED,qBAAa,sBAAsB,CAAC,SAAS,SAAS,qBAAqB,CAC1E,YAAW,uBAAuB,CAAC,SAAS,CAAC;IAK5C,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAJzB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;gBAGZ,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,gBAAgB,CAAC,SAAS,CAAC;IAwB/C,GAAG,CAAC,QAAQ,EAAE,SAAS,GAAG,IAAI;IAI9B,MAAM,CAAC,QAAQ,EAAE,SAAS,GAAG,IAAI;IAIjC,kCAAkC,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,EAAE;CAiClF;AACD;;GAEG;AACH,wBAAgB,4BAA4B,CAC3C,YAAY,EAAE,YAAY,GACxB,uBAAuB,CAAC,gBAAgB,CAAC,CAG3C"}
@@ -4,8 +4,8 @@
4
4
  */
5
5
  /* eslint-disable import/no-deprecated */
6
6
  import { RedBlackTree } from "@fluidframework/merge-tree";
7
- import { IntervalType, sequenceIntervalHelpers, } from "../intervals";
8
- import { compareOverrideables, forceCompare } from "./intervalIndexUtils";
7
+ import { IntervalType, sequenceIntervalHelpers, } from "../intervals/index.mjs";
8
+ import { compareOverrideables, forceCompare } from "./intervalIndexUtils.mjs";
9
9
  export class StartpointInRangeIndex {
10
10
  constructor(client, helpers) {
11
11
  this.client = client;
@@ -52,10 +52,10 @@ export class StartpointInRangeIndex {
52
52
  }
53
53
  }
54
54
  /**
55
- * @public
55
+ * @internal
56
56
  */
57
57
  export function createStartpointInRangeIndex(sharedString) {
58
58
  const client = sharedString.client;
59
59
  return new StartpointInRangeIndex(client, sequenceIntervalHelpers);
60
60
  }
61
- //# sourceMappingURL=startpointInRangeIndex.js.map
61
+ //# sourceMappingURL=startpointInRangeIndex.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"startpointInRangeIndex.mjs","sourceRoot":"","sources":["../../src/intervalIndex/startpointInRangeIndex.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,yCAAyC;OAElC,EAA0B,YAAY,EAAE,MAAM,4BAA4B;OAC1E,EAGN,YAAY,EAEZ,uBAAuB,GACvB;OAGM,EAAyB,oBAAoB,EAAE,YAAY,EAAE;AAgBpE,MAAM,OAAO,sBAAsB;IAKlC,YACkB,MAAc,EACd,OAAoC;QADpC,WAAM,GAAN,MAAM,CAAQ;QACd,YAAO,GAAP,OAAO,CAA6B;QAErD,IAAI,CAAC,YAAY,GAAG,IAAI,YAAY,CAAuB,CAAC,CAAY,EAAE,CAAY,EAAE,EAAE;YACzF,MAAM,mBAAmB,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAC9C,IAAI,mBAAmB,KAAK,CAAC,EAAE;gBAC9B,OAAO,mBAAmB,CAAC;aAC3B;YAED,MAAM,uBAAuB,GAAG,oBAAoB,CACnD,CAAmC,EACnC,CAAmC,CACnC,CAAC;YACF,IAAI,uBAAuB,KAAK,CAAC,EAAE;gBAClC,OAAO,uBAAuB,CAAC;aAC/B;YACD,MAAM,GAAG,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC;YAC9B,MAAM,GAAG,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC;YAC9B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,SAAS,EAAE;gBAC3C,OAAO,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;aAC9B;YACD,OAAO,CAAC,CAAC;QACV,CAAC,CAAC,CAAC;IACJ,CAAC;IAEM,GAAG,CAAC,QAAmB;QAC7B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC3C,CAAC;IAEM,MAAM,CAAC,QAAmB;QAChC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC;IAEM,kCAAkC,CAAC,KAAa,EAAE,GAAW;QACnE,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,GAAG,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE;YAC7D,OAAO,EAAE,CAAC;SACV;QACD,MAAM,OAAO,GAAgB,EAAE,CAAC;QAChC,MAAM,MAAM,GAAyC,CAAC,IAAI,EAAE,EAAE;YAC7D,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,IAAI,CAAC;QACb,CAAC,CAAC;QAEF,MAAM,sBAAsB,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CACjD,WAAW,EACX,KAAK,EACL,KAAK,EACL,IAAI,CAAC,MAAM,EACX,YAAY,CAAC,SAAS,CACtB,CAAC;QAEF,MAAM,oBAAoB,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAC/C,WAAW,EACX,GAAG,EACH,GAAG,EACH,IAAI,CAAC,MAAM,EACX,YAAY,CAAC,SAAS,CACtB,CAAC;QAEF,sDAAsD;QACrD,sBAAyD,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7E,oBAAuD,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QAE3E,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,CAAC,CAAC;QAC1F,OAAO,OAAO,CAAC;IAChB,CAAC;CACD;AACD;;GAEG;AACH,MAAM,UAAU,4BAA4B,CAC3C,YAA0B;IAE1B,MAAM,MAAM,GAAI,YAA8C,CAAC,MAAM,CAAC;IACtE,OAAO,IAAI,sBAAsB,CAAmB,MAAM,EAAE,uBAAuB,CAAC,CAAC;AACtF,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n/* eslint-disable import/no-deprecated */\n\nimport { Client, PropertyAction, RedBlackTree } from \"@fluidframework/merge-tree\";\nimport {\n\tIIntervalHelpers,\n\tISerializableInterval,\n\tIntervalType,\n\tSequenceInterval,\n\tsequenceIntervalHelpers,\n} from \"../intervals\";\nimport { SharedString } from \"../sharedString\";\nimport { IntervalIndex } from \"./intervalIndex\";\nimport { HasComparisonOverride, compareOverrideables, forceCompare } from \"./intervalIndexUtils\";\n\n/**\n * Collection of intervals.\n *\n * Provide additional APIs to support efficiently querying a collection of intervals whose startpoints fall within a specified range.\n * @internal\n */\nexport interface IStartpointInRangeIndex<TInterval extends ISerializableInterval>\n\textends IntervalIndex<TInterval> {\n\t/**\n\t * @returns an array of all intervals contained in this collection whose startpoints locate in the range [start, end] (includes both ends)\n\t */\n\tfindIntervalsWithStartpointInRange(start: number, end: number): TInterval[];\n}\n\nexport class StartpointInRangeIndex<TInterval extends ISerializableInterval>\n\timplements IStartpointInRangeIndex<TInterval>\n{\n\tprivate readonly intervalTree;\n\n\tconstructor(\n\t\tprivate readonly client: Client,\n\t\tprivate readonly helpers: IIntervalHelpers<TInterval>,\n\t) {\n\t\tthis.intervalTree = new RedBlackTree<TInterval, TInterval>((a: TInterval, b: TInterval) => {\n\t\t\tconst compareStartsResult = a.compareStart(b);\n\t\t\tif (compareStartsResult !== 0) {\n\t\t\t\treturn compareStartsResult;\n\t\t\t}\n\n\t\t\tconst overrideablesComparison = compareOverrideables(\n\t\t\t\ta as Partial<HasComparisonOverride>,\n\t\t\t\tb as Partial<HasComparisonOverride>,\n\t\t\t);\n\t\t\tif (overrideablesComparison !== 0) {\n\t\t\t\treturn overrideablesComparison;\n\t\t\t}\n\t\t\tconst aId = a.getIntervalId();\n\t\t\tconst bId = b.getIntervalId();\n\t\t\tif (aId !== undefined && bId !== undefined) {\n\t\t\t\treturn aId.localeCompare(bId);\n\t\t\t}\n\t\t\treturn 0;\n\t\t});\n\t}\n\n\tpublic add(interval: TInterval): void {\n\t\tthis.intervalTree.put(interval, interval);\n\t}\n\n\tpublic remove(interval: TInterval): void {\n\t\tthis.intervalTree.remove(interval);\n\t}\n\n\tpublic findIntervalsWithStartpointInRange(start: number, end: number): TInterval[] {\n\t\tif (start <= 0 || start > end || this.intervalTree.isEmpty()) {\n\t\t\treturn [];\n\t\t}\n\t\tconst results: TInterval[] = [];\n\t\tconst action: PropertyAction<TInterval, TInterval> = (node) => {\n\t\t\tresults.push(node.data);\n\t\t\treturn true;\n\t\t};\n\n\t\tconst transientStartInterval = this.helpers.create(\n\t\t\t\"transient\",\n\t\t\tstart,\n\t\t\tstart,\n\t\t\tthis.client,\n\t\t\tIntervalType.Transient,\n\t\t);\n\n\t\tconst transientEndInterval = this.helpers.create(\n\t\t\t\"transient\",\n\t\t\tend,\n\t\t\tend,\n\t\t\tthis.client,\n\t\t\tIntervalType.Transient,\n\t\t);\n\n\t\t// Add comparison overrides to the transient intervals\n\t\t(transientStartInterval as Partial<HasComparisonOverride>)[forceCompare] = -1;\n\t\t(transientEndInterval as Partial<HasComparisonOverride>)[forceCompare] = 1;\n\n\t\tthis.intervalTree.mapRange(action, results, transientStartInterval, transientEndInterval);\n\t\treturn results;\n\t}\n}\n/**\n * @internal\n */\nexport function createStartpointInRangeIndex(\n\tsharedString: SharedString,\n): IStartpointInRangeIndex<SequenceInterval> {\n\tconst client = (sharedString as unknown as { client: Client }).client;\n\treturn new StartpointInRangeIndex<SequenceInterval>(client, sequenceIntervalHelpers);\n}\n"]}
@@ -3,7 +3,7 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
  import { IIntegerRange, RBNode, IRBAugmentation, IRBMatcher, RedBlackTree } from "@fluidframework/merge-tree";
6
- import { IInterval } from "./intervals";
6
+ import { IInterval } from "./intervals/index.mjs";
7
7
  export interface AugmentedIntervalNode {
8
8
  minmax: IInterval;
9
9
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"intervalTree.d.ts","sourceRoot":"","sources":["../src/intervalTree.ts"],"names":[],"mappings":"AAAA;;;GAGG;OAEI,EACN,aAAa,EACb,MAAM,EACN,eAAe,EACf,UAAU,EACV,YAAY,EAEZ,MAAM,4BAA4B;OAC5B,EAAE,SAAS,EAAE;AAEpB,MAAM,WAAW,qBAAqB;IACrC,MAAM,EAAE,SAAS,CAAC;CAClB;AAED,eAAO,MAAM,oBAAoB,UAAW,aAAa,WAAoC,CAAC;AAI9F,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,SAAS,IAAI,MAAM,CAAC,CAAC,EAAE,qBAAqB,CAAC,CAAC;AAEjF,qBAAa,YAAY,CAAC,CAAC,SAAS,SAAS,CAC5C,YAAW,eAAe,CAAC,CAAC,EAAE,qBAAqB,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,qBAAqB,CAAC;IAEnF,SAAS,yCAAsE;IAE/E,MAAM,CAAC,CAAC,EAAE,CAAC;IAIX,cAAc,CAAC,CAAC,EAAE,CAAC;IAInB,GAAG,CAAC,CAAC,EAAE,CAAC;IAIR,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI;IAWtB,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,OAAO;IAU9B,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI;IAY9B,KAAK,CAAC,CAAC,EAAE,CAAC;IAIV,SAAS,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,SAAS,EAAE,GAAG,EAAE,CAAC;IAInD,eAAe,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,SAAS,EAAE,GAAG,EAAE,CAAC;IAIzD,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;CAanC"}
@@ -74,4 +74,4 @@ export class IntervalTree {
74
74
  }
75
75
  }
76
76
  }
77
- //# sourceMappingURL=intervalTree.js.map
77
+ //# sourceMappingURL=intervalTree.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"intervalTree.mjs","sourceRoot":"","sources":["../src/intervalTree.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 {\n\tIIntegerRange,\n\tRBNode,\n\tIRBAugmentation,\n\tIRBMatcher,\n\tRedBlackTree,\n\tRBNodeActions,\n} from \"@fluidframework/merge-tree\";\nimport { IInterval } from \"./intervals\";\n\nexport interface AugmentedIntervalNode {\n\tminmax: IInterval;\n}\n\nexport const integerRangeToString = (range: IIntegerRange) => `[${range.start},${range.end})`;\n\nconst intervalComparer = (a: IInterval, b: IInterval) => a.compare(b);\n\nexport type IntervalNode<T extends IInterval> = RBNode<T, AugmentedIntervalNode>;\n\nexport class IntervalTree<T extends IInterval>\n\timplements IRBAugmentation<T, AugmentedIntervalNode>, IRBMatcher<T, AugmentedIntervalNode>\n{\n\tpublic intervals = new RedBlackTree<T, AugmentedIntervalNode>(intervalComparer, this);\n\n\tpublic remove(x: T) {\n\t\tthis.intervals.remove(x);\n\t}\n\n\tpublic removeExisting(x: T) {\n\t\tthis.intervals.removeExisting(x);\n\t}\n\n\tpublic put(x: T) {\n\t\tthis.intervals.put(x, { minmax: x.clone() });\n\t}\n\n\tpublic map(fn: (x: T) => void) {\n\t\tconst actions: RBNodeActions<T, AugmentedIntervalNode> = {\n\t\t\tinfix: (node) => {\n\t\t\t\tfn(node.key);\n\t\t\t\treturn true;\n\t\t\t},\n\t\t\tshowStructure: true,\n\t\t};\n\t\tthis.intervals.walk(actions);\n\t}\n\n\tpublic mapUntil(fn: (X: T) => boolean) {\n\t\tconst actions: RBNodeActions<T, AugmentedIntervalNode> = {\n\t\t\tinfix: (node) => {\n\t\t\t\treturn fn(node.key);\n\t\t\t},\n\t\t\tshowStructure: true,\n\t\t};\n\t\tthis.intervals.walk(actions);\n\t}\n\n\tpublic mapBackward(fn: (x: T) => void) {\n\t\tconst actions: RBNodeActions<T, AugmentedIntervalNode> = {\n\t\t\tinfix: (node) => {\n\t\t\t\tfn(node.key);\n\t\t\t\treturn true;\n\t\t\t},\n\t\t\tshowStructure: true,\n\t\t};\n\t\tthis.intervals.walkBackward(actions);\n\t}\n\n\t// TODO: toString()\n\tpublic match(x: T) {\n\t\treturn this.intervals.gather(x, this);\n\t}\n\n\tpublic matchNode(node: IntervalNode<T> | undefined, key: T) {\n\t\treturn !!node && node.key.overlaps(key);\n\t}\n\n\tpublic continueSubtree(node: IntervalNode<T> | undefined, key: T) {\n\t\treturn !!node && node.data.minmax.overlaps(key);\n\t}\n\n\tpublic update(node: IntervalNode<T>) {\n\t\tif (node.left && node.right) {\n\t\t\tnode.data.minmax = node.key.union(node.left.data.minmax.union(node.right.data.minmax));\n\t\t} else {\n\t\t\tif (node.left) {\n\t\t\t\tnode.data.minmax = node.key.union(node.left.data.minmax);\n\t\t\t} else if (node.right) {\n\t\t\t\tnode.data.minmax = node.key.union(node.right.data.minmax);\n\t\t\t} else {\n\t\t\t\tnode.data.minmax = node.key.clone();\n\t\t\t}\n\t\t}\n\t}\n}\n"]}
@@ -2,7 +2,7 @@
2
2
  * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
3
  * Licensed under the MIT License.
4
4
  */
5
- export { IInterval, ISerializedInterval, ISerializableInterval, IntervalOpType, IntervalType, IIntervalHelpers, IntervalStickiness, SerializedIntervalDelta, CompressedSerializedInterval, endReferenceSlidingPreference, startReferenceSlidingPreference, } from "./intervalUtils";
6
- export { Interval, createInterval, intervalHelpers } from "./interval";
7
- export { SequenceInterval, createSequenceInterval, createPositionReferenceFromSegoff, sequenceIntervalHelpers, } from "./sequenceInterval";
5
+ export { IInterval, ISerializedInterval, ISerializableInterval, IntervalOpType, IntervalType, IIntervalHelpers, IntervalStickiness, SerializedIntervalDelta, CompressedSerializedInterval, endReferenceSlidingPreference, startReferenceSlidingPreference, } from "./intervalUtils.mjs";
6
+ export { Interval, createInterval, intervalHelpers } from "./interval.mjs";
7
+ export { SequenceInterval, createSequenceInterval, createPositionReferenceFromSegoff, sequenceIntervalHelpers, } from "./sequenceInterval.mjs";
8
8
  //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/intervals/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;OAEI,EACN,SAAS,EACT,mBAAmB,EACnB,qBAAqB,EACrB,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,uBAAuB,EACvB,4BAA4B,EAC5B,6BAA6B,EAC7B,+BAA+B,GAC/B;OACM,EAAE,QAAQ,EAAE,cAAc,EAAE,eAAe,EAAE;OAC7C,EACN,gBAAgB,EAChB,sBAAsB,EACtB,iCAAiC,EACjC,uBAAuB,GACvB"}
@@ -2,7 +2,7 @@
2
2
  * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
3
  * Licensed under the MIT License.
4
4
  */
5
- export { IntervalOpType, IntervalType, IntervalStickiness, endReferenceSlidingPreference, startReferenceSlidingPreference, } from "./intervalUtils";
6
- export { Interval, createInterval, intervalHelpers } from "./interval";
7
- export { SequenceInterval, createSequenceInterval, createPositionReferenceFromSegoff, sequenceIntervalHelpers, } from "./sequenceInterval";
8
- //# sourceMappingURL=index.js.map
5
+ export { IntervalOpType, IntervalType, IntervalStickiness, endReferenceSlidingPreference, startReferenceSlidingPreference, } from "./intervalUtils.mjs";
6
+ export { Interval, createInterval, intervalHelpers } from "./interval.mjs";
7
+ export { SequenceInterval, createSequenceInterval, createPositionReferenceFromSegoff, sequenceIntervalHelpers, } from "./sequenceInterval.mjs";
8
+ //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/intervals/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAIN,cAAc,EACd,YAAY,EAEZ,kBAAkB,EAGlB,6BAA6B,EAC7B,+BAA+B,GAC/B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AACvE,OAAO,EACN,gBAAgB,EAChB,sBAAsB,EACtB,iCAAiC,EACjC,uBAAuB,GACvB,MAAM,oBAAoB,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nexport {\n\tIInterval,\n\tISerializedInterval,\n\tISerializableInterval,\n\tIntervalOpType,\n\tIntervalType,\n\tIIntervalHelpers,\n\tIntervalStickiness,\n\tSerializedIntervalDelta,\n\tCompressedSerializedInterval,\n\tendReferenceSlidingPreference,\n\tstartReferenceSlidingPreference,\n} from \"./intervalUtils\";\nexport { Interval, createInterval, intervalHelpers } from \"./interval\";\nexport {\n\tSequenceInterval,\n\tcreateSequenceInterval,\n\tcreatePositionReferenceFromSegoff,\n\tsequenceIntervalHelpers,\n} from \"./sequenceInterval\";\n"]}
1
+ {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../src/intervals/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;OAEI,EAIN,cAAc,EACd,YAAY,EAEZ,kBAAkB,EAGlB,6BAA6B,EAC7B,+BAA+B,GAC/B;OACM,EAAE,QAAQ,EAAE,cAAc,EAAE,eAAe,EAAE;OAC7C,EACN,gBAAgB,EAChB,sBAAsB,EACtB,iCAAiC,EACjC,uBAAuB,GACvB","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nexport {\n\tIInterval,\n\tISerializedInterval,\n\tISerializableInterval,\n\tIntervalOpType,\n\tIntervalType,\n\tIIntervalHelpers,\n\tIntervalStickiness,\n\tSerializedIntervalDelta,\n\tCompressedSerializedInterval,\n\tendReferenceSlidingPreference,\n\tstartReferenceSlidingPreference,\n} from \"./intervalUtils\";\nexport { Interval, createInterval, intervalHelpers } from \"./interval\";\nexport {\n\tSequenceInterval,\n\tcreateSequenceInterval,\n\tcreatePositionReferenceFromSegoff,\n\tsequenceIntervalHelpers,\n} from \"./sequenceInterval\";\n"]}
@@ -4,11 +4,11 @@
4
4
  */
5
5
  import { ICombiningOp, PropertiesManager, PropertySet } from "@fluidframework/merge-tree";
6
6
  import { ISequencedDocumentMessage } from "@fluidframework/protocol-definitions";
7
- import { SequencePlace } from "../intervalCollection";
8
- import { IIntervalHelpers, ISerializableInterval, ISerializedInterval } from "./intervalUtils";
7
+ import { SequencePlace } from "../intervalCollection.mjs";
8
+ import { IIntervalHelpers, ISerializableInterval, ISerializedInterval } from "./intervalUtils.mjs";
9
9
  /**
10
10
  * Serializable interval whose endpoints are plain-old numbers.
11
- * @public
11
+ * @internal
12
12
  */
13
13
  export declare class Interval implements ISerializableInterval {
14
14
  start: number;
@@ -17,11 +17,10 @@ export declare class Interval implements ISerializableInterval {
17
17
  * {@inheritDoc ISerializableInterval.properties}
18
18
  */
19
19
  properties: PropertySet;
20
- /** @internal */
20
+ /***/
21
21
  auxProps: PropertySet[] | undefined;
22
22
  /**
23
23
  * {@inheritDoc ISerializableInterval.propertyManager}
24
- * @internal
25
24
  */
26
25
  propertyManager: PropertiesManager;
27
26
  constructor(start: number, end: number, props?: PropertySet);
@@ -44,7 +43,6 @@ export declare class Interval implements ISerializableInterval {
44
43
  addPropertySet(props: PropertySet): void;
45
44
  /**
46
45
  * {@inheritDoc ISerializableInterval.serialize}
47
- * @internal
48
46
  */
49
47
  serialize(): ISerializedInterval;
50
48
  /**
@@ -69,18 +67,15 @@ export declare class Interval implements ISerializableInterval {
69
67
  overlaps(b: Interval): boolean;
70
68
  /**
71
69
  * {@inheritDoc IInterval.union}
72
- * @internal
73
70
  */
74
71
  union(b: Interval): Interval;
75
72
  getProperties(): PropertySet;
76
73
  /**
77
74
  * {@inheritDoc ISerializableInterval.addProperties}
78
- * @internal
79
75
  */
80
76
  addProperties(newProps: PropertySet, collaborating?: boolean, seq?: number, op?: ICombiningOp): PropertySet | undefined;
81
77
  /**
82
78
  * {@inheritDoc IInterval.modify}
83
- * @internal
84
79
  */
85
80
  modify(label: string, start?: SequencePlace, end?: SequencePlace, op?: ISequencedDocumentMessage): Interval | undefined;
86
81
  private initializeProperties;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interval.d.ts","sourceRoot":"","sources":["../../src/intervals/interval.ts"],"names":[],"mappings":"AAAA;;;GAGG;OAGI,EACN,YAAY,EACZ,iBAAiB,EACjB,WAAW,EAGX,MAAM,4BAA4B;OAC5B,EAAE,yBAAyB,EAAE,MAAM,sCAAsC;OAGzE,EAAE,aAAa,EAAE;OACjB,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE;AAIvE;;;GAGG;AACH,qBAAa,QAAS,YAAW,qBAAqB;IAY7C,KAAK,EAAE,MAAM;IACb,GAAG,EAAE,MAAM;IAZnB;;OAEG;IACI,UAAU,EAAE,WAAW,CAAC;IAC/B,KAAK;IACE,QAAQ,EAAE,WAAW,EAAE,GAAG,SAAS,CAAC;IAC3C;;OAEG;IACI,eAAe,EAAE,iBAAiB,CAAC;gBAElC,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EAClB,KAAK,CAAC,EAAE,WAAW;IAUpB;;OAEG;IACI,aAAa,IAAI,MAAM;IAM9B;;OAEG;IACI,yBAAyB,IAAI,WAAW,EAAE;IAIjD;;;;;;;OAOG;IACI,cAAc,CAAC,KAAK,EAAE,WAAW;IAOxC;;OAEG;IACI,SAAS,IAAI,mBAAmB;IAavC;;OAEG;IACI,KAAK;IAIZ;;OAEG;IACI,OAAO,CAAC,CAAC,EAAE,QAAQ;IAsB1B;;OAEG;IACI,YAAY,CAAC,CAAC,EAAE,QAAQ;IAI/B;;OAEG;IACI,UAAU,CAAC,CAAC,EAAE,QAAQ;IAI7B;;OAEG;IACI,QAAQ,CAAC,CAAC,EAAE,QAAQ;IAK3B;;OAEG;IACI,KAAK,CAAC,CAAC,EAAE,QAAQ;IAQjB,aAAa;IAIpB;;OAEG;IACI,aAAa,CACnB,QAAQ,EAAE,WAAW,EACrB,aAAa,GAAE,OAAe,EAC9B,GAAG,CAAC,EAAE,MAAM,EACZ,EAAE,CAAC,EAAE,YAAY,GACf,WAAW,GAAG,SAAS;IAa1B;;OAEG;IACI,MAAM,CACZ,KAAK,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,aAAa,EACrB,GAAG,CAAC,EAAE,aAAa,EACnB,EAAE,CAAC,EAAE,yBAAyB;IA2B/B,OAAO,CAAC,oBAAoB;CAQ5B;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,EAAE,aAAa,GAAG,QAAQ,CAiBhG;AAED,eAAO,MAAM,eAAe,EAAE,gBAAgB,CAAC,QAAQ,CAEtD,CAAC"}
@@ -9,7 +9,7 @@ import { UsageError } from "@fluidframework/telemetry-utils";
9
9
  const reservedIntervalIdKey = "intervalId";
10
10
  /**
11
11
  * Serializable interval whose endpoints are plain-old numbers.
12
- * @public
12
+ * @internal
13
13
  */
14
14
  export class Interval {
15
15
  constructor(start, end, props) {
@@ -51,7 +51,6 @@ export class Interval {
51
51
  }
52
52
  /**
53
53
  * {@inheritDoc ISerializableInterval.serialize}
54
- * @internal
55
54
  */
56
55
  serialize() {
57
56
  const serializedInterval = {
@@ -118,7 +117,6 @@ export class Interval {
118
117
  }
119
118
  /**
120
119
  * {@inheritDoc IInterval.union}
121
- * @internal
122
120
  */
123
121
  union(b) {
124
122
  return new Interval(Math.min(this.start, b.start), Math.max(this.end, b.end), this.properties);
@@ -128,7 +126,6 @@ export class Interval {
128
126
  }
129
127
  /**
130
128
  * {@inheritDoc ISerializableInterval.addProperties}
131
- * @internal
132
129
  */
133
130
  addProperties(newProps, collaborating = false, seq, op) {
134
131
  if (newProps) {
@@ -138,7 +135,6 @@ export class Interval {
138
135
  }
139
136
  /**
140
137
  * {@inheritDoc IInterval.modify}
141
- * @internal
142
138
  */
143
139
  modify(label, start, end, op) {
144
140
  if (typeof start === "string" || typeof end === "string") {
@@ -181,4 +177,4 @@ export function createInterval(label, start, end) {
181
177
  export const intervalHelpers = {
182
178
  create: createInterval,
183
179
  };
184
- //# sourceMappingURL=interval.js.map
180
+ //# sourceMappingURL=interval.mjs.map