@fluidframework/sequence 2.0.0-internal.7.3.0 → 2.0.0-internal.7.4.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 (203) 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.d.ts +3 -3
  6. package/dist/defaultMap.d.ts.map +1 -1
  7. package/dist/defaultMap.js +7 -2
  8. package/dist/defaultMap.js.map +1 -1
  9. package/dist/defaultMapInterfaces.d.ts +11 -10
  10. package/dist/defaultMapInterfaces.d.ts.map +1 -1
  11. package/dist/defaultMapInterfaces.js.map +1 -1
  12. package/dist/intervalCollection.d.ts +66 -12
  13. package/dist/intervalCollection.d.ts.map +1 -1
  14. package/dist/intervalCollection.js +50 -45
  15. package/dist/intervalCollection.js.map +1 -1
  16. package/dist/intervalIndex/endpointInRangeIndex.d.ts +2 -2
  17. package/dist/intervalIndex/endpointInRangeIndex.js +1 -1
  18. package/dist/intervalIndex/endpointInRangeIndex.js.map +1 -1
  19. package/dist/intervalIndex/endpointIndex.d.ts +2 -2
  20. package/dist/intervalIndex/endpointIndex.js +1 -1
  21. package/dist/intervalIndex/endpointIndex.js.map +1 -1
  22. package/dist/intervalIndex/idIntervalIndex.d.ts +2 -2
  23. package/dist/intervalIndex/idIntervalIndex.js +1 -1
  24. package/dist/intervalIndex/idIntervalIndex.js.map +1 -1
  25. package/dist/intervalIndex/intervalIndex.d.ts +1 -1
  26. package/dist/intervalIndex/intervalIndex.js.map +1 -1
  27. package/dist/intervalIndex/overlappingIntervalsIndex.d.ts +2 -2
  28. package/dist/intervalIndex/overlappingIntervalsIndex.js +1 -1
  29. package/dist/intervalIndex/overlappingIntervalsIndex.js.map +1 -1
  30. package/dist/intervalIndex/overlappingSequenceIntervalsIndex.d.ts +1 -1
  31. package/dist/intervalIndex/overlappingSequenceIntervalsIndex.js +1 -1
  32. package/dist/intervalIndex/overlappingSequenceIntervalsIndex.js.map +1 -1
  33. package/dist/intervalIndex/sequenceIntervalIndexes.d.ts +2 -1
  34. package/dist/intervalIndex/sequenceIntervalIndexes.d.ts.map +1 -1
  35. package/dist/intervalIndex/sequenceIntervalIndexes.js.map +1 -1
  36. package/dist/intervalIndex/startpointInRangeIndex.d.ts +2 -2
  37. package/dist/intervalIndex/startpointInRangeIndex.js +1 -1
  38. package/dist/intervalIndex/startpointInRangeIndex.js.map +1 -1
  39. package/dist/intervals/interval.d.ts +2 -7
  40. package/dist/intervals/interval.d.ts.map +1 -1
  41. package/dist/intervals/interval.js +1 -5
  42. package/dist/intervals/interval.js.map +1 -1
  43. package/dist/intervals/intervalUtils.d.ts +15 -14
  44. package/dist/intervals/intervalUtils.d.ts.map +1 -1
  45. package/dist/intervals/intervalUtils.js +3 -3
  46. package/dist/intervals/intervalUtils.js.map +1 -1
  47. package/dist/intervals/sequenceInterval.d.ts +3 -12
  48. package/dist/intervals/sequenceInterval.d.ts.map +1 -1
  49. package/dist/intervals/sequenceInterval.js +3 -11
  50. package/dist/intervals/sequenceInterval.js.map +1 -1
  51. package/dist/localValues.d.ts +2 -1
  52. package/dist/localValues.d.ts.map +1 -1
  53. package/dist/localValues.js.map +1 -1
  54. package/dist/packageVersion.d.ts +1 -1
  55. package/dist/packageVersion.js +1 -1
  56. package/dist/packageVersion.js.map +1 -1
  57. package/dist/revertibles.d.ts +9 -15
  58. package/dist/revertibles.d.ts.map +1 -1
  59. package/dist/revertibles.js +7 -9
  60. package/dist/revertibles.js.map +1 -1
  61. package/dist/sequence-alpha.d.ts +226 -507
  62. package/dist/sequence-beta.d.ts +131 -1368
  63. package/dist/sequence-public.d.ts +131 -1368
  64. package/dist/sequence-untrimmed.d.ts +121 -90
  65. package/dist/sequence.d.ts +2 -3
  66. package/dist/sequence.d.ts.map +1 -1
  67. package/dist/sequence.js +1 -1
  68. package/dist/sequence.js.map +1 -1
  69. package/dist/sequenceDeltaEvent.d.ts +4 -4
  70. package/dist/sequenceDeltaEvent.js +3 -3
  71. package/dist/sequenceDeltaEvent.js.map +1 -1
  72. package/dist/sequenceFactory.d.ts +1 -1
  73. package/dist/sequenceFactory.js +1 -1
  74. package/dist/sequenceFactory.js.map +1 -1
  75. package/dist/sharedIntervalCollection.d.ts +3 -3
  76. package/dist/sharedIntervalCollection.js +2 -2
  77. package/dist/sharedIntervalCollection.js.map +1 -1
  78. package/dist/sharedSequence.d.ts +3 -3
  79. package/dist/sharedSequence.js +2 -2
  80. package/dist/sharedSequence.js.map +1 -1
  81. package/dist/sharedString.d.ts +8 -5
  82. package/dist/sharedString.d.ts.map +1 -1
  83. package/dist/sharedString.js +6 -3
  84. package/dist/sharedString.js.map +1 -1
  85. package/lib/defaultMap.d.ts +3 -3
  86. package/lib/defaultMap.d.ts.map +1 -1
  87. package/lib/defaultMap.js +29 -20
  88. package/lib/defaultMap.js.map +1 -1
  89. package/lib/defaultMapInterfaces.d.ts +11 -10
  90. package/lib/defaultMapInterfaces.d.ts.map +1 -1
  91. package/lib/defaultMapInterfaces.js +2 -1
  92. package/lib/defaultMapInterfaces.js.map +1 -1
  93. package/lib/index.js +45 -10
  94. package/lib/index.js.map +1 -1
  95. package/lib/intervalCollection.d.ts +66 -12
  96. package/lib/intervalCollection.d.ts.map +1 -1
  97. package/lib/intervalCollection.js +174 -156
  98. package/lib/intervalCollection.js.map +1 -1
  99. package/lib/intervalIndex/endpointInRangeIndex.d.ts +2 -2
  100. package/lib/intervalIndex/endpointInRangeIndex.js +18 -13
  101. package/lib/intervalIndex/endpointInRangeIndex.js.map +1 -1
  102. package/lib/intervalIndex/endpointIndex.d.ts +2 -2
  103. package/lib/intervalIndex/endpointIndex.js +14 -9
  104. package/lib/intervalIndex/endpointIndex.js.map +1 -1
  105. package/lib/intervalIndex/idIntervalIndex.d.ts +2 -2
  106. package/lib/intervalIndex/idIntervalIndex.js +9 -5
  107. package/lib/intervalIndex/idIntervalIndex.js.map +1 -1
  108. package/lib/intervalIndex/index.js +19 -6
  109. package/lib/intervalIndex/index.js.map +1 -1
  110. package/lib/intervalIndex/intervalIndex.d.ts +1 -1
  111. package/lib/intervalIndex/intervalIndex.js +2 -1
  112. package/lib/intervalIndex/intervalIndex.js.map +1 -1
  113. package/lib/intervalIndex/intervalIndexUtils.js +8 -4
  114. package/lib/intervalIndex/intervalIndexUtils.js.map +1 -1
  115. package/lib/intervalIndex/overlappingIntervalsIndex.d.ts +2 -2
  116. package/lib/intervalIndex/overlappingIntervalsIndex.js +16 -11
  117. package/lib/intervalIndex/overlappingIntervalsIndex.js.map +1 -1
  118. package/lib/intervalIndex/overlappingSequenceIntervalsIndex.d.ts +1 -1
  119. package/lib/intervalIndex/overlappingSequenceIntervalsIndex.js +15 -11
  120. package/lib/intervalIndex/overlappingSequenceIntervalsIndex.js.map +1 -1
  121. package/lib/intervalIndex/sequenceIntervalIndexes.d.ts +2 -1
  122. package/lib/intervalIndex/sequenceIntervalIndexes.d.ts.map +1 -1
  123. package/lib/intervalIndex/sequenceIntervalIndexes.js +2 -1
  124. package/lib/intervalIndex/sequenceIntervalIndexes.js.map +1 -1
  125. package/lib/intervalIndex/startpointInRangeIndex.d.ts +2 -2
  126. package/lib/intervalIndex/startpointInRangeIndex.js +18 -13
  127. package/lib/intervalIndex/startpointInRangeIndex.js.map +1 -1
  128. package/lib/intervalTree.js +9 -4
  129. package/lib/intervalTree.js.map +1 -1
  130. package/lib/intervals/index.js +18 -3
  131. package/lib/intervals/index.js.map +1 -1
  132. package/lib/intervals/interval.d.ts +2 -7
  133. package/lib/intervals/interval.d.ts.map +1 -1
  134. package/lib/intervals/interval.js +19 -18
  135. package/lib/intervals/interval.js.map +1 -1
  136. package/lib/intervals/intervalUtils.d.ts +15 -14
  137. package/lib/intervals/intervalUtils.d.ts.map +1 -1
  138. package/lib/intervals/intervalUtils.js +21 -16
  139. package/lib/intervals/intervalUtils.js.map +1 -1
  140. package/lib/intervals/sequenceInterval.d.ts +3 -12
  141. package/lib/intervals/sequenceInterval.d.ts.map +1 -1
  142. package/lib/intervals/sequenceInterval.js +68 -70
  143. package/lib/intervals/sequenceInterval.js.map +1 -1
  144. package/lib/localValues.d.ts +2 -1
  145. package/lib/localValues.d.ts.map +1 -1
  146. package/lib/localValues.js +9 -4
  147. package/lib/localValues.js.map +1 -1
  148. package/lib/packageVersion.d.ts +1 -1
  149. package/lib/packageVersion.js +5 -2
  150. package/lib/packageVersion.js.map +1 -1
  151. package/lib/revertibles.d.ts +9 -15
  152. package/lib/revertibles.d.ts.map +1 -1
  153. package/lib/revertibles.js +76 -68
  154. package/lib/revertibles.js.map +1 -1
  155. package/lib/sequence-alpha.d.ts +226 -507
  156. package/lib/sequence-beta.d.ts +131 -1368
  157. package/lib/sequence-public.d.ts +131 -1368
  158. package/lib/sequence-untrimmed.d.ts +121 -90
  159. package/lib/sequence.d.ts +2 -3
  160. package/lib/sequence.d.ts.map +1 -1
  161. package/lib/sequence.js +45 -40
  162. package/lib/sequence.js.map +1 -1
  163. package/lib/sequenceDeltaEvent.d.ts +4 -4
  164. package/lib/sequenceDeltaEvent.js +16 -10
  165. package/lib/sequenceDeltaEvent.js.map +1 -1
  166. package/lib/sequenceFactory.d.ts +1 -1
  167. package/lib/sequenceFactory.js +14 -10
  168. package/lib/sequenceFactory.js.map +1 -1
  169. package/lib/sharedIntervalCollection.d.ts +3 -3
  170. package/lib/sharedIntervalCollection.js +20 -15
  171. package/lib/sharedIntervalCollection.js.map +1 -1
  172. package/lib/sharedSequence.d.ts +3 -3
  173. package/lib/sharedSequence.js +13 -8
  174. package/lib/sharedSequence.js.map +1 -1
  175. package/lib/sharedString.d.ts +8 -5
  176. package/lib/sharedString.d.ts.map +1 -1
  177. package/lib/sharedString.js +27 -19
  178. package/lib/sharedString.js.map +1 -1
  179. package/package.json +22 -20
  180. package/sequence.test-files.tar +0 -0
  181. package/src/defaultMap.ts +22 -16
  182. package/src/defaultMapInterfaces.ts +15 -12
  183. package/src/intervalCollection.ts +131 -67
  184. package/src/intervalIndex/endpointInRangeIndex.ts +2 -2
  185. package/src/intervalIndex/endpointIndex.ts +2 -2
  186. package/src/intervalIndex/idIntervalIndex.ts +2 -2
  187. package/src/intervalIndex/intervalIndex.ts +1 -1
  188. package/src/intervalIndex/overlappingIntervalsIndex.ts +2 -2
  189. package/src/intervalIndex/overlappingSequenceIntervalsIndex.ts +1 -1
  190. package/src/intervalIndex/sequenceIntervalIndexes.ts +2 -1
  191. package/src/intervalIndex/startpointInRangeIndex.ts +2 -2
  192. package/src/intervals/interval.ts +2 -7
  193. package/src/intervals/intervalUtils.ts +15 -15
  194. package/src/intervals/sequenceInterval.ts +3 -12
  195. package/src/localValues.ts +2 -1
  196. package/src/packageVersion.ts +1 -1
  197. package/src/revertibles.ts +9 -15
  198. package/src/sequence.ts +2 -3
  199. package/src/sequenceDeltaEvent.ts +4 -4
  200. package/src/sequenceFactory.ts +1 -1
  201. package/src/sharedIntervalCollection.ts +3 -3
  202. package/src/sharedSequence.ts +3 -3
  203. package/src/sharedString.ts +8 -5
@@ -5,6 +5,7 @@
5
5
  import { IFluidHandle } from "@fluidframework/core-interfaces";
6
6
  import { IFluidSerializer } from "@fluidframework/shared-object-base";
7
7
  import { ISerializableValue, ISerializedValue, IValueOperation, IValueType } from "./defaultMapInterfaces";
8
+ import { IntervalOpType } from "./intervals";
8
9
  /**
9
10
  * A local value to be stored in a container type DDS.
10
11
  */
@@ -53,6 +54,6 @@ export declare class ValueTypeLocalValue<T> implements ILocalValue<T> {
53
54
  * @param opName - The name of the operation that needs processing
54
55
  * @returns The object which can process the given op
55
56
  */
56
- getOpHandler(opName: string): IValueOperation<T>;
57
+ getOpHandler(opName: IntervalOpType): IValueOperation<T>;
57
58
  }
58
59
  //# sourceMappingURL=localValues.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"localValues.d.ts","sourceRoot":"","sources":["../src/localValues.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAoB,MAAM,oCAAoC,CAAC;AACxF,OAAO,EACN,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,UAAU,EACV,MAAM,wBAAwB,CAAC;AAEhC;;GAEG;AACH,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,GAAG;IACnC;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IAElB;;;;;OAKG;IACH,cAAc,CAAC,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAE,YAAY,GAAG,gBAAgB,CAAC;CACnF;AAED,wBAAgB,gBAAgB,CAC/B,UAAU,EAAE,WAAW,EACvB,UAAU,EAAE,gBAAgB,EAC5B,IAAI,EAAE,YAAY,GAChB,kBAAkB,CAMpB;AAED;;;;GAIG;AACH,qBAAa,mBAAmB,CAAC,CAAC,CAAE,YAAW,WAAW,CAAC,CAAC,CAAC;aAO3C,KAAK,EAAE,CAAC;IACxB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAP3B;;;;OAIG;gBAEc,KAAK,EAAE,CAAC,EACP,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;IAG1C;;OAEG;IACH,IAAW,IAAI,IAAI,MAAM,CAExB;IAED;;OAEG;IACI,cAAc,CAAC,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAE,YAAY,GAAG,gBAAgB;IAUzF;;;;OAIG;IACI,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe,CAAC,CAAC,CAAC;CAQvD"}
1
+ {"version":3,"file":"localValues.d.ts","sourceRoot":"","sources":["../src/localValues.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAoB,MAAM,oCAAoC,CAAC;AACxF,OAAO,EACN,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,UAAU,EACV,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C;;GAEG;AACH,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,GAAG;IACnC;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IAElB;;;;;OAKG;IACH,cAAc,CAAC,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAE,YAAY,GAAG,gBAAgB,CAAC;CACnF;AAED,wBAAgB,gBAAgB,CAC/B,UAAU,EAAE,WAAW,EACvB,UAAU,EAAE,gBAAgB,EAC5B,IAAI,EAAE,YAAY,GAChB,kBAAkB,CAMpB;AAED;;;;GAIG;AACH,qBAAa,mBAAmB,CAAC,CAAC,CAAE,YAAW,WAAW,CAAC,CAAC,CAAC;aAO3C,KAAK,EAAE,CAAC;IACxB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAP3B;;;;OAIG;gBAEc,KAAK,EAAE,CAAC,EACP,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;IAG1C;;OAEG;IACH,IAAW,IAAI,IAAI,MAAM,CAExB;IAED;;OAEG;IACI,cAAc,CAAC,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAE,YAAY,GAAG,gBAAgB;IAUzF;;;;OAIG;IACI,YAAY,CAAC,MAAM,EAAE,cAAc,GAAG,eAAe,CAAC,CAAC,CAAC;CAQ/D"}
@@ -1,21 +1,25 @@
1
+ "use strict";
1
2
  /*!
2
3
  * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
4
  * Licensed under the MIT License.
4
5
  */
5
- import { serializeHandles } from "@fluidframework/shared-object-base";
6
- export function makeSerializable(localValue, serializer, bind) {
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.ValueTypeLocalValue = exports.makeSerializable = void 0;
8
+ const shared_object_base_1 = require("@fluidframework/shared-object-base");
9
+ function makeSerializable(localValue, serializer, bind) {
7
10
  const value = localValue.makeSerialized(serializer, bind);
8
11
  return {
9
12
  type: value.type,
10
13
  value: value.value && JSON.parse(value.value),
11
14
  };
12
15
  }
16
+ exports.makeSerializable = makeSerializable;
13
17
  /**
14
18
  * Manages a contained value type.
15
19
  *
16
20
  * @alpha
17
21
  */
18
- export class ValueTypeLocalValue {
22
+ class ValueTypeLocalValue {
19
23
  /**
20
24
  * Create a new ValueTypeLocalValue.
21
25
  * @param value - The instance of the value type stored within
@@ -36,7 +40,7 @@ export class ValueTypeLocalValue {
36
40
  */
37
41
  makeSerialized(serializer, bind) {
38
42
  const storedValueType = this.valueType.factory.store(this.value);
39
- const value = serializeHandles(storedValueType, serializer, bind);
43
+ const value = (0, shared_object_base_1.serializeHandles)(storedValueType, serializer, bind);
40
44
  return {
41
45
  type: this.type,
42
46
  value,
@@ -55,4 +59,5 @@ export class ValueTypeLocalValue {
55
59
  return handler;
56
60
  }
57
61
  }
62
+ exports.ValueTypeLocalValue = ValueTypeLocalValue;
58
63
  //# sourceMappingURL=localValues.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"localValues.js","sourceRoot":"","sources":["../src/localValues.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAoB,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AA+BxF,MAAM,UAAU,gBAAgB,CAC/B,UAAuB,EACvB,UAA4B,EAC5B,IAAkB;IAElB,MAAM,KAAK,GAAG,UAAU,CAAC,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAC1D,OAAO;QACN,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC;KAC7C,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,OAAO,mBAAmB;IAC/B;;;;OAIG;IACH,YACiB,KAAQ,EACP,SAAwB;QADzB,UAAK,GAAL,KAAK,CAAG;QACP,cAAS,GAAT,SAAS,CAAe;IACvC,CAAC;IAEJ;;OAEG;IACH,IAAW,IAAI;QACd,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;IAC5B,CAAC;IAED;;OAEG;IACI,cAAc,CAAC,UAA4B,EAAE,IAAkB;QACrE,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjE,MAAM,KAAK,GAAG,gBAAgB,CAAC,eAAe,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;QAElE,OAAO;YACN,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK;SACL,CAAC;IACH,CAAC;IAED;;;;OAIG;IACI,YAAY,CAAC,MAAc;QACjC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,CAAC,OAAO,EAAE;YACb,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;SACxC;QAED,OAAO,OAAO,CAAC;IAChB,CAAC;CACD","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { IFluidHandle } from \"@fluidframework/core-interfaces\";\nimport { IFluidSerializer, serializeHandles } from \"@fluidframework/shared-object-base\";\nimport {\n\tISerializableValue,\n\tISerializedValue,\n\tIValueOperation,\n\tIValueType,\n} from \"./defaultMapInterfaces\";\n\n/**\n * A local value to be stored in a container type DDS.\n */\nexport interface ILocalValue<T = any> {\n\t/**\n\t * Type indicator of the value stored within.\n\t */\n\treadonly type: string;\n\n\t/**\n\t * The in-memory value stored within.\n\t */\n\treadonly value: T;\n\n\t/**\n\t * Retrieve the serialized form of the value stored within.\n\t * @param serializer - Data store runtime's serializer\n\t * @param bind - Container type's handle\n\t * @returns The serialized form of the contained value\n\t */\n\tmakeSerialized(serializer: IFluidSerializer, bind: IFluidHandle): ISerializedValue;\n}\n\nexport function makeSerializable(\n\tlocalValue: ILocalValue,\n\tserializer: IFluidSerializer,\n\tbind: IFluidHandle,\n): ISerializableValue {\n\tconst value = localValue.makeSerialized(serializer, bind);\n\treturn {\n\t\ttype: value.type,\n\t\tvalue: value.value && JSON.parse(value.value),\n\t};\n}\n\n/**\n * Manages a contained value type.\n *\n * @alpha\n */\nexport class ValueTypeLocalValue<T> implements ILocalValue<T> {\n\t/**\n\t * Create a new ValueTypeLocalValue.\n\t * @param value - The instance of the value type stored within\n\t * @param valueType - The type object of the value type stored within\n\t */\n\tconstructor(\n\t\tpublic readonly value: T,\n\t\tprivate readonly valueType: IValueType<T>,\n\t) {}\n\n\t/**\n\t * {@inheritDoc ILocalValue.\"type\"}\n\t */\n\tpublic get type(): string {\n\t\treturn this.valueType.name;\n\t}\n\n\t/**\n\t * {@inheritDoc ILocalValue.makeSerialized}\n\t */\n\tpublic makeSerialized(serializer: IFluidSerializer, bind: IFluidHandle): ISerializedValue {\n\t\tconst storedValueType = this.valueType.factory.store(this.value);\n\t\tconst value = serializeHandles(storedValueType, serializer, bind);\n\n\t\treturn {\n\t\t\ttype: this.type,\n\t\t\tvalue,\n\t\t};\n\t}\n\n\t/**\n\t * Get the handler for a given op of this value type.\n\t * @param opName - The name of the operation that needs processing\n\t * @returns The object which can process the given op\n\t */\n\tpublic getOpHandler(opName: string): IValueOperation<T> {\n\t\tconst handler = this.valueType.ops.get(opName);\n\t\tif (!handler) {\n\t\t\tthrow new Error(\"Unknown type message\");\n\t\t}\n\n\t\treturn handler;\n\t}\n}\n"]}
1
+ {"version":3,"file":"localValues.js","sourceRoot":"","sources":["../src/localValues.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAGH,2EAAwF;AAgCxF,SAAgB,gBAAgB,CAC/B,UAAuB,EACvB,UAA4B,EAC5B,IAAkB;IAElB,MAAM,KAAK,GAAG,UAAU,CAAC,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAC1D,OAAO;QACN,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC;KAC7C,CAAC;AACH,CAAC;AAVD,4CAUC;AAED;;;;GAIG;AACH,MAAa,mBAAmB;IAC/B;;;;OAIG;IACH,YACiB,KAAQ,EACP,SAAwB;QADzB,UAAK,GAAL,KAAK,CAAG;QACP,cAAS,GAAT,SAAS,CAAe;IACvC,CAAC;IAEJ;;OAEG;IACH,IAAW,IAAI;QACd,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;IAC5B,CAAC;IAED;;OAEG;IACI,cAAc,CAAC,UAA4B,EAAE,IAAkB;QACrE,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjE,MAAM,KAAK,GAAG,IAAA,qCAAgB,EAAC,eAAe,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;QAElE,OAAO;YACN,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK;SACL,CAAC;IACH,CAAC;IAED;;;;OAIG;IACI,YAAY,CAAC,MAAsB;QACzC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,CAAC,OAAO,EAAE;YACb,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;SACxC;QAED,OAAO,OAAO,CAAC;IAChB,CAAC;CACD;AA5CD,kDA4CC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { IFluidHandle } from \"@fluidframework/core-interfaces\";\nimport { IFluidSerializer, serializeHandles } from \"@fluidframework/shared-object-base\";\nimport {\n\tISerializableValue,\n\tISerializedValue,\n\tIValueOperation,\n\tIValueType,\n} from \"./defaultMapInterfaces\";\nimport { IntervalOpType } from \"./intervals\";\n\n/**\n * A local value to be stored in a container type DDS.\n */\nexport interface ILocalValue<T = any> {\n\t/**\n\t * Type indicator of the value stored within.\n\t */\n\treadonly type: string;\n\n\t/**\n\t * The in-memory value stored within.\n\t */\n\treadonly value: T;\n\n\t/**\n\t * Retrieve the serialized form of the value stored within.\n\t * @param serializer - Data store runtime's serializer\n\t * @param bind - Container type's handle\n\t * @returns The serialized form of the contained value\n\t */\n\tmakeSerialized(serializer: IFluidSerializer, bind: IFluidHandle): ISerializedValue;\n}\n\nexport function makeSerializable(\n\tlocalValue: ILocalValue,\n\tserializer: IFluidSerializer,\n\tbind: IFluidHandle,\n): ISerializableValue {\n\tconst value = localValue.makeSerialized(serializer, bind);\n\treturn {\n\t\ttype: value.type,\n\t\tvalue: value.value && JSON.parse(value.value),\n\t};\n}\n\n/**\n * Manages a contained value type.\n *\n * @alpha\n */\nexport class ValueTypeLocalValue<T> implements ILocalValue<T> {\n\t/**\n\t * Create a new ValueTypeLocalValue.\n\t * @param value - The instance of the value type stored within\n\t * @param valueType - The type object of the value type stored within\n\t */\n\tconstructor(\n\t\tpublic readonly value: T,\n\t\tprivate readonly valueType: IValueType<T>,\n\t) {}\n\n\t/**\n\t * {@inheritDoc ILocalValue.\"type\"}\n\t */\n\tpublic get type(): string {\n\t\treturn this.valueType.name;\n\t}\n\n\t/**\n\t * {@inheritDoc ILocalValue.makeSerialized}\n\t */\n\tpublic makeSerialized(serializer: IFluidSerializer, bind: IFluidHandle): ISerializedValue {\n\t\tconst storedValueType = this.valueType.factory.store(this.value);\n\t\tconst value = serializeHandles(storedValueType, serializer, bind);\n\n\t\treturn {\n\t\t\ttype: this.type,\n\t\t\tvalue,\n\t\t};\n\t}\n\n\t/**\n\t * Get the handler for a given op of this value type.\n\t * @param opName - The name of the operation that needs processing\n\t * @returns The object which can process the given op\n\t */\n\tpublic getOpHandler(opName: IntervalOpType): IValueOperation<T> {\n\t\tconst handler = this.valueType.ops.get(opName);\n\t\tif (!handler) {\n\t\t\tthrow new Error(\"Unknown type message\");\n\t\t}\n\n\t\treturn handler;\n\t}\n}\n"]}
@@ -5,5 +5,5 @@
5
5
  * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY
6
6
  */
7
7
  export declare const pkgName = "@fluidframework/sequence";
8
- export declare const pkgVersion = "2.0.0-internal.7.3.0";
8
+ export declare const pkgVersion = "2.0.0-internal.7.4.0";
9
9
  //# sourceMappingURL=packageVersion.d.ts.map
@@ -1,9 +1,12 @@
1
+ "use strict";
1
2
  /*!
2
3
  * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
4
  * Licensed under the MIT License.
4
5
  *
5
6
  * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY
6
7
  */
7
- export const pkgName = "@fluidframework/sequence";
8
- export const pkgVersion = "2.0.0-internal.7.3.0";
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.pkgVersion = exports.pkgName = void 0;
10
+ exports.pkgName = "@fluidframework/sequence";
11
+ exports.pkgVersion = "2.0.0-internal.7.4.0";
9
12
  //# sourceMappingURL=packageVersion.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"packageVersion.js","sourceRoot":"","sources":["../src/packageVersion.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,CAAC,MAAM,OAAO,GAAG,0BAA0B,CAAC;AAClD,MAAM,CAAC,MAAM,UAAU,GAAG,sBAAsB,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n *\n * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY\n */\n\nexport const pkgName = \"@fluidframework/sequence\";\nexport const pkgVersion = \"2.0.0-internal.7.3.0\";\n"]}
1
+ {"version":3,"file":"packageVersion.js","sourceRoot":"","sources":["../src/packageVersion.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEU,QAAA,OAAO,GAAG,0BAA0B,CAAC;AACrC,QAAA,UAAU,GAAG,sBAAsB,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n *\n * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY\n */\n\nexport const pkgName = \"@fluidframework/sequence\";\nexport const pkgVersion = \"2.0.0-internal.7.4.0\";\n"]}
@@ -8,15 +8,12 @@ import { SharedString } from "./sharedString";
8
8
  import { SequenceDeltaEvent } from "./sequenceDeltaEvent";
9
9
  /**
10
10
  * Data for undoing edits on SharedStrings and Intervals.
11
- *
12
- * @alpha
11
+ * @internal
13
12
  */
14
13
  export type SharedStringRevertible = MergeTreeDeltaRevertible | IntervalRevertible;
15
- type IntervalOpType = (typeof IntervalOpType)[keyof typeof IntervalOpType];
16
14
  /**
17
15
  * Data for undoing edits affecting Intervals.
18
- *
19
- * @alpha
16
+ * @internal
20
17
  */
21
18
  export type IntervalRevertible = {
22
19
  event: typeof IntervalOpType.CHANGE;
@@ -52,41 +49,38 @@ export type IntervalRevertible = {
52
49
  };
53
50
  /**
54
51
  * Create revertibles for adding an interval
55
- * @alpha
52
+ * @internal
56
53
  */
57
54
  export declare function appendAddIntervalToRevertibles(interval: SequenceInterval, revertibles: SharedStringRevertible[]): SharedStringRevertible[];
58
55
  /**
59
56
  * Create revertibles for deleting an interval
60
- * @alpha
57
+ * @internal
61
58
  */
62
59
  export declare function appendDeleteIntervalToRevertibles(string: SharedString, interval: SequenceInterval, revertibles: SharedStringRevertible[]): SharedStringRevertible[];
63
60
  /**
64
61
  * Create revertibles for moving endpoints of an interval
65
- * @alpha
62
+ * @internal
66
63
  */
67
64
  export declare function appendChangeIntervalToRevertibles(string: SharedString, newInterval: SequenceInterval, previousInterval: SequenceInterval, revertibles: SharedStringRevertible[]): SharedStringRevertible[];
68
65
  /**
69
66
  * Create revertibles for changing properties of an interval
70
- * @alpha
67
+ * @internal
71
68
  */
72
69
  export declare function appendIntervalPropertyChangedToRevertibles(interval: SequenceInterval, deltas: PropertySet, revertibles: SharedStringRevertible[]): SharedStringRevertible[];
73
70
  /**
74
71
  * Create revertibles for SharedStringDeltas, handling indirectly modified intervals
75
72
  * (e.g. reverting remove of a range that contains an interval will move the interval back)
76
- *
77
- * @alpha
73
+ * @internal
78
74
  */
79
75
  export declare function appendSharedStringDeltaToRevertibles(string: SharedString, delta: SequenceDeltaEvent, revertibles: SharedStringRevertible[]): void;
80
76
  /**
81
77
  * Clean up resources held by revertibles that are no longer needed.
82
- * @alpha
78
+ * @internal
83
79
  */
84
80
  export declare function discardSharedStringRevertibles(sharedString: SharedString, revertibles: SharedStringRevertible[]): void;
85
81
  /**
86
82
  * Invoke revertibles to reverse prior edits
87
- *
88
- * @alpha
83
+ * @internal
89
84
  */
90
85
  export declare function revertSharedStringRevertibles(sharedString: SharedString, revertibles: SharedStringRevertible[]): void;
91
- export {};
92
86
  //# sourceMappingURL=revertibles.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"revertibles.d.ts","sourceRoot":"","sources":["../src/revertibles.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,EAIN,sBAAsB,EAEtB,wBAAwB,EAExB,WAAW,EAOX,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAuB,MAAM,gBAAgB,CAAC;AACnE,OAAO,EAAuB,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE/E;;;;GAIG;AACH,MAAM,MAAM,sBAAsB,GAAG,wBAAwB,GAAG,kBAAkB,CAAC;AAInF,KAAK,cAAc,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,OAAO,cAAc,CAAC,CAAC;AAE3E;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GAC3B;IACA,KAAK,EAAE,OAAO,cAAc,CAAC,MAAM,CAAC;IACpC,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,KAAK,EAAE,sBAAsB,CAAC;IAC9B,GAAG,EAAE,sBAAsB,CAAC;CAC3B,GACD;IACA,KAAK,EAAE,OAAO,cAAc,CAAC,GAAG,CAAC;IACjC,QAAQ,EAAE,gBAAgB,CAAC;CAC1B,GACD;IACA,KAAK,EAAE,OAAO,cAAc,CAAC,MAAM,CAAC;IACpC,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,KAAK,EAAE,sBAAsB,CAAC;IAC9B,GAAG,EAAE,sBAAsB,CAAC;CAC3B,GACD;IACA,KAAK,EAAE,OAAO,cAAc,CAAC,gBAAgB,CAAC;IAC9C,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,cAAc,EAAE,WAAW,CAAC;CAC3B,GACD;IACA,KAAK,EAAE,OAAO,cAAc,CAAC,eAAe,CAAC;IAC7C,SAAS,EAAE;QACV,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC;KACnB,EAAE,CAAC;IAEJ,cAAc,EAAE;QACf,UAAU,EAAE,kBAAkB,CAAC;QAC/B,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,OAAO,CAAC;KACjB,EAAE,CAAC;IACJ,mBAAmB,EAAE,wBAAwB,CAAC;CAC7C,CAAC;AAaL;;;GAGG;AACH,wBAAgB,8BAA8B,CAC7C,QAAQ,EAAE,gBAAgB,EAC1B,WAAW,EAAE,sBAAsB,EAAE,4BAQrC;AAED;;;GAGG;AACH,wBAAgB,iCAAiC,CAChD,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE,gBAAgB,EAC1B,WAAW,EAAE,sBAAsB,EAAE,4BAqCrC;AAED;;;GAGG;AACH,wBAAgB,iCAAiC,CAChD,MAAM,EAAE,YAAY,EACpB,WAAW,EAAE,gBAAgB,EAC7B,gBAAgB,EAAE,gBAAgB,EAClC,WAAW,EAAE,sBAAsB,EAAE,4BAwCrC;AAED;;;GAGG;AACH,wBAAgB,0CAA0C,CACzD,QAAQ,EAAE,gBAAgB,EAC1B,MAAM,EAAE,WAAW,EACnB,WAAW,EAAE,sBAAsB,EAAE,4BASrC;AA2CD;;;;;GAKG;AACH,wBAAgB,oCAAoC,CACnD,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,kBAAkB,EACzB,WAAW,EAAE,sBAAsB,EAAE,QAoFrC;AAED;;;GAGG;AACH,wBAAgB,8BAA8B,CAC7C,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,sBAAsB,EAAE,QAUrC;AAoRD;;;;GAIG;AACH,wBAAgB,6BAA6B,CAC5C,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,sBAAsB,EAAE,QA8BrC"}
1
+ {"version":3,"file":"revertibles.d.ts","sourceRoot":"","sources":["../src/revertibles.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,EAIN,sBAAsB,EAEtB,wBAAwB,EAExB,WAAW,EAOX,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAuB,MAAM,gBAAgB,CAAC;AACnE,OAAO,EAAuB,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE/E;;;GAGG;AACH,MAAM,MAAM,sBAAsB,GAAG,wBAAwB,GAAG,kBAAkB,CAAC;AAInF;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAC3B;IACA,KAAK,EAAE,OAAO,cAAc,CAAC,MAAM,CAAC;IACpC,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,KAAK,EAAE,sBAAsB,CAAC;IAC9B,GAAG,EAAE,sBAAsB,CAAC;CAC3B,GACD;IACA,KAAK,EAAE,OAAO,cAAc,CAAC,GAAG,CAAC;IACjC,QAAQ,EAAE,gBAAgB,CAAC;CAC1B,GACD;IACA,KAAK,EAAE,OAAO,cAAc,CAAC,MAAM,CAAC;IACpC,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,KAAK,EAAE,sBAAsB,CAAC;IAC9B,GAAG,EAAE,sBAAsB,CAAC;CAC3B,GACD;IACA,KAAK,EAAE,OAAO,cAAc,CAAC,gBAAgB,CAAC;IAC9C,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,cAAc,EAAE,WAAW,CAAC;CAC3B,GACD;IACA,KAAK,EAAE,OAAO,cAAc,CAAC,eAAe,CAAC;IAC7C,SAAS,EAAE;QACV,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC;KACnB,EAAE,CAAC;IAEJ,cAAc,EAAE;QACf,UAAU,EAAE,kBAAkB,CAAC;QAC/B,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,OAAO,CAAC;KACjB,EAAE,CAAC;IACJ,mBAAmB,EAAE,wBAAwB,CAAC;CAC7C,CAAC;AAaL;;;GAGG;AACH,wBAAgB,8BAA8B,CAC7C,QAAQ,EAAE,gBAAgB,EAC1B,WAAW,EAAE,sBAAsB,EAAE,4BAQrC;AAED;;;GAGG;AACH,wBAAgB,iCAAiC,CAChD,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE,gBAAgB,EAC1B,WAAW,EAAE,sBAAsB,EAAE,4BAqCrC;AAED;;;GAGG;AACH,wBAAgB,iCAAiC,CAChD,MAAM,EAAE,YAAY,EACpB,WAAW,EAAE,gBAAgB,EAC7B,gBAAgB,EAAE,gBAAgB,EAClC,WAAW,EAAE,sBAAsB,EAAE,4BAwCrC;AAED;;;GAGG;AACH,wBAAgB,0CAA0C,CACzD,QAAQ,EAAE,gBAAgB,EAC1B,MAAM,EAAE,WAAW,EACnB,WAAW,EAAE,sBAAsB,EAAE,4BASrC;AA2CD;;;;GAIG;AACH,wBAAgB,oCAAoC,CACnD,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,kBAAkB,EACzB,WAAW,EAAE,sBAAsB,EAAE,QAoFrC;AAED;;;GAGG;AACH,wBAAgB,8BAA8B,CAC7C,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,sBAAsB,EAAE,QAUrC;AAoRD;;;GAGG;AACH,wBAAgB,6BAA6B,CAC5C,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,sBAAsB,EAAE,QA8BrC"}
@@ -1,13 +1,16 @@
1
+ "use strict";
1
2
  /*!
2
3
  * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
4
  * Licensed under the MIT License.
4
5
  */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.revertSharedStringRevertibles = exports.discardSharedStringRevertibles = exports.appendSharedStringDeltaToRevertibles = exports.appendIntervalPropertyChangedToRevertibles = exports.appendChangeIntervalToRevertibles = exports.appendDeleteIntervalToRevertibles = exports.appendAddIntervalToRevertibles = void 0;
5
8
  /* eslint-disable import/no-deprecated */
6
9
  /* eslint-disable no-bitwise */
7
- import { assert, unreachableCase } from "@fluidframework/core-utils";
8
- import { appendToMergeTreeDeltaRevertibles, discardMergeTreeDeltaRevertible, isMergeTreeDeltaRevertible, MergeTreeDeltaType, ReferenceType, refTypeIncludesFlag, revertMergeTreeDeltaRevertibles, SortedSet, getSlideToSegoff, SlidingPreference, } from "@fluidframework/merge-tree";
9
- import { Side } from "./intervalCollection";
10
- import { IntervalOpType, SequenceInterval } from "./intervals";
10
+ const core_utils_1 = require("@fluidframework/core-utils");
11
+ const merge_tree_1 = require("@fluidframework/merge-tree");
12
+ const intervalCollection_1 = require("./intervalCollection");
13
+ const intervals_1 = require("./intervals");
11
14
  const idMap = new Map();
12
15
  function getUpdatedIdFromInterval(interval) {
13
16
  const maybeId = interval.getIntervalId();
@@ -18,32 +21,33 @@ function getUpdatedId(intervalId) {
18
21
  }
19
22
  /**
20
23
  * Create revertibles for adding an interval
21
- * @alpha
24
+ * @internal
22
25
  */
23
- export function appendAddIntervalToRevertibles(interval, revertibles) {
26
+ function appendAddIntervalToRevertibles(interval, revertibles) {
24
27
  revertibles.push({
25
- event: IntervalOpType.ADD,
28
+ event: intervals_1.IntervalOpType.ADD,
26
29
  interval,
27
30
  });
28
31
  return revertibles;
29
32
  }
33
+ exports.appendAddIntervalToRevertibles = appendAddIntervalToRevertibles;
30
34
  /**
31
35
  * Create revertibles for deleting an interval
32
- * @alpha
36
+ * @internal
33
37
  */
34
- export function appendDeleteIntervalToRevertibles(string, interval, revertibles) {
38
+ function appendDeleteIntervalToRevertibles(string, interval, revertibles) {
35
39
  const startSeg = interval.start.getSegment();
36
40
  const startType = startSeg.removedSeq !== undefined
37
- ? ReferenceType.SlideOnRemove | ReferenceType.RangeBegin
38
- : ReferenceType.StayOnRemove | ReferenceType.RangeBegin;
41
+ ? merge_tree_1.ReferenceType.SlideOnRemove | merge_tree_1.ReferenceType.RangeBegin
42
+ : merge_tree_1.ReferenceType.StayOnRemove | merge_tree_1.ReferenceType.RangeBegin;
39
43
  const endSeg = interval.end.getSegment();
40
44
  const endType = endSeg.removedSeq !== undefined
41
- ? ReferenceType.SlideOnRemove | ReferenceType.RangeEnd
42
- : ReferenceType.StayOnRemove | ReferenceType.RangeEnd;
45
+ ? merge_tree_1.ReferenceType.SlideOnRemove | merge_tree_1.ReferenceType.RangeEnd
46
+ : merge_tree_1.ReferenceType.StayOnRemove | merge_tree_1.ReferenceType.RangeEnd;
43
47
  const startRef = string.createLocalReferencePosition(startSeg, interval.start.getOffset(), startType, undefined, interval.start.slidingPreference);
44
48
  const endRef = string.createLocalReferencePosition(endSeg, interval.end.getOffset(), endType, undefined, interval.end.slidingPreference);
45
49
  const revertible = {
46
- event: IntervalOpType.DELETE,
50
+ event: intervals_1.IntervalOpType.DELETE,
47
51
  interval,
48
52
  start: startRef,
49
53
  end: endRef,
@@ -53,26 +57,27 @@ export function appendDeleteIntervalToRevertibles(string, interval, revertibles)
53
57
  revertibles.push(revertible);
54
58
  return revertibles;
55
59
  }
60
+ exports.appendDeleteIntervalToRevertibles = appendDeleteIntervalToRevertibles;
56
61
  /**
57
62
  * Create revertibles for moving endpoints of an interval
58
- * @alpha
63
+ * @internal
59
64
  */
60
- export function appendChangeIntervalToRevertibles(string, newInterval, previousInterval, revertibles) {
65
+ function appendChangeIntervalToRevertibles(string, newInterval, previousInterval, revertibles) {
61
66
  const startSeg = previousInterval.start.getSegment();
62
67
  // This logic is needed because the ReferenceType StayOnRemove cannot be used
63
68
  // on removed segments. This works for revertibles because the old position of the
64
69
  // interval within the removed segment is handled by the remove range revertible.
65
70
  const startType = startSeg.removedSeq !== undefined
66
- ? ReferenceType.SlideOnRemove | ReferenceType.RangeBegin
67
- : ReferenceType.StayOnRemove | ReferenceType.RangeBegin;
71
+ ? merge_tree_1.ReferenceType.SlideOnRemove | merge_tree_1.ReferenceType.RangeBegin
72
+ : merge_tree_1.ReferenceType.StayOnRemove | merge_tree_1.ReferenceType.RangeBegin;
68
73
  const endSeg = previousInterval.end.getSegment();
69
74
  const endType = endSeg.removedSeq !== undefined
70
- ? ReferenceType.SlideOnRemove | ReferenceType.RangeEnd
71
- : ReferenceType.StayOnRemove | ReferenceType.RangeEnd;
75
+ ? merge_tree_1.ReferenceType.SlideOnRemove | merge_tree_1.ReferenceType.RangeEnd
76
+ : merge_tree_1.ReferenceType.StayOnRemove | merge_tree_1.ReferenceType.RangeEnd;
72
77
  const prevStartRef = string.createLocalReferencePosition(startSeg, previousInterval.start.getOffset(), startType, undefined, previousInterval.start.slidingPreference);
73
78
  const prevEndRef = string.createLocalReferencePosition(endSeg, previousInterval.end.getOffset(), endType, undefined, previousInterval.end.slidingPreference);
74
79
  const revertible = {
75
- event: IntervalOpType.CHANGE,
80
+ event: intervals_1.IntervalOpType.CHANGE,
76
81
  interval: newInterval,
77
82
  start: prevStartRef,
78
83
  end: prevEndRef,
@@ -82,29 +87,31 @@ export function appendChangeIntervalToRevertibles(string, newInterval, previousI
82
87
  revertibles.push(revertible);
83
88
  return revertibles;
84
89
  }
90
+ exports.appendChangeIntervalToRevertibles = appendChangeIntervalToRevertibles;
85
91
  /**
86
92
  * Create revertibles for changing properties of an interval
87
- * @alpha
93
+ * @internal
88
94
  */
89
- export function appendIntervalPropertyChangedToRevertibles(interval, deltas, revertibles) {
95
+ function appendIntervalPropertyChangedToRevertibles(interval, deltas, revertibles) {
90
96
  revertibles.push({
91
- event: IntervalOpType.PROPERTY_CHANGED,
97
+ event: intervals_1.IntervalOpType.PROPERTY_CHANGED,
92
98
  interval,
93
99
  propertyDeltas: deltas,
94
100
  });
95
101
  return revertibles;
96
102
  }
103
+ exports.appendIntervalPropertyChangedToRevertibles = appendIntervalPropertyChangedToRevertibles;
97
104
  function addIfIntervalEndpoint(ref, segmentLengths, startIntervals, endIntervals) {
98
- if (refTypeIncludesFlag(ref.refType, ReferenceType.RangeBegin)) {
105
+ if ((0, merge_tree_1.refTypeIncludesFlag)(ref.refType, merge_tree_1.ReferenceType.RangeBegin)) {
99
106
  const interval = ref.properties?.interval;
100
- if (interval && interval instanceof SequenceInterval) {
107
+ if (interval && interval instanceof intervals_1.SequenceInterval) {
101
108
  startIntervals.push({ offset: segmentLengths + interval.start.getOffset(), interval });
102
109
  return true;
103
110
  }
104
111
  }
105
- else if (refTypeIncludesFlag(ref.refType, ReferenceType.RangeEnd)) {
112
+ else if ((0, merge_tree_1.refTypeIncludesFlag)(ref.refType, merge_tree_1.ReferenceType.RangeEnd)) {
106
113
  const interval = ref.properties?.interval;
107
- if (interval && interval instanceof SequenceInterval) {
114
+ if (interval && interval instanceof intervals_1.SequenceInterval) {
108
115
  endIntervals.push({ offset: segmentLengths + interval.end.getOffset(), interval });
109
116
  return true;
110
117
  }
@@ -117,21 +124,20 @@ function addIfRevertibleRef(ref, segmentLengths, revertibleRefs) {
117
124
  revertibleRefs.push({
118
125
  revertible,
119
126
  offset: segmentLengths + ref.getOffset(),
120
- isStart: refTypeIncludesFlag(ref.refType, ReferenceType.RangeBegin),
127
+ isStart: (0, merge_tree_1.refTypeIncludesFlag)(ref.refType, merge_tree_1.ReferenceType.RangeBegin),
121
128
  });
122
129
  }
123
130
  }
124
131
  /**
125
132
  * Create revertibles for SharedStringDeltas, handling indirectly modified intervals
126
133
  * (e.g. reverting remove of a range that contains an interval will move the interval back)
127
- *
128
- * @alpha
134
+ * @internal
129
135
  */
130
- export function appendSharedStringDeltaToRevertibles(string, delta, revertibles) {
136
+ function appendSharedStringDeltaToRevertibles(string, delta, revertibles) {
131
137
  if (delta.ranges.length === 0) {
132
138
  return;
133
139
  }
134
- if (delta.deltaOperation === MergeTreeDeltaType.REMOVE) {
140
+ if (delta.deltaOperation === merge_tree_1.MergeTreeDeltaType.REMOVE) {
135
141
  const startIntervals = [];
136
142
  const endIntervals = [];
137
143
  const revertibleRefs = [];
@@ -149,10 +155,10 @@ export function appendSharedStringDeltaToRevertibles(string, delta, revertibles)
149
155
  }
150
156
  if (startIntervals.length > 0 || endIntervals.length > 0 || revertibleRefs.length > 0) {
151
157
  const removeRevertibles = [];
152
- appendToMergeTreeDeltaRevertibles(delta.deltaArgs, removeRevertibles);
153
- assert(removeRevertibles.length === 1, 0x6c4 /* Remove revertible should be a single delta */);
158
+ (0, merge_tree_1.appendToMergeTreeDeltaRevertibles)(delta.deltaArgs, removeRevertibles);
159
+ (0, core_utils_1.assert)(removeRevertibles.length === 1, 0x6c4 /* Remove revertible should be a single delta */);
154
160
  const revertible = {
155
- event: IntervalOpType.POSITION_REMOVE,
161
+ event: intervals_1.IntervalOpType.POSITION_REMOVE,
156
162
  intervals: [],
157
163
  revertibleRefs,
158
164
  mergeTreeRevertible: removeRevertibles[0],
@@ -190,29 +196,31 @@ export function appendSharedStringDeltaToRevertibles(string, delta, revertibles)
190
196
  // Handle any merge tree delta that is not REMOVE or is REMOVE with no interval endpoints
191
197
  const mergeTreeRevertibles = [];
192
198
  // Allow merging MergeTreeDeltaRevertible with previous
193
- if (revertibles.length > 0 && isMergeTreeDeltaRevertible(revertibles[revertibles.length - 1])) {
199
+ if (revertibles.length > 0 && (0, merge_tree_1.isMergeTreeDeltaRevertible)(revertibles[revertibles.length - 1])) {
194
200
  mergeTreeRevertibles.push(revertibles.pop());
195
201
  }
196
- appendToMergeTreeDeltaRevertibles(delta.deltaArgs, mergeTreeRevertibles);
202
+ (0, merge_tree_1.appendToMergeTreeDeltaRevertibles)(delta.deltaArgs, mergeTreeRevertibles);
197
203
  revertibles.push(...mergeTreeRevertibles);
198
204
  }
205
+ exports.appendSharedStringDeltaToRevertibles = appendSharedStringDeltaToRevertibles;
199
206
  /**
200
207
  * Clean up resources held by revertibles that are no longer needed.
201
- * @alpha
208
+ * @internal
202
209
  */
203
- export function discardSharedStringRevertibles(sharedString, revertibles) {
210
+ function discardSharedStringRevertibles(sharedString, revertibles) {
204
211
  revertibles.forEach((r) => {
205
- if (isMergeTreeDeltaRevertible(r)) {
206
- discardMergeTreeDeltaRevertible([r]);
212
+ if ((0, merge_tree_1.isMergeTreeDeltaRevertible)(r)) {
213
+ (0, merge_tree_1.discardMergeTreeDeltaRevertible)([r]);
207
214
  }
208
- else if (r.event === IntervalOpType.CHANGE || r.event === IntervalOpType.DELETE) {
215
+ else if (r.event === intervals_1.IntervalOpType.CHANGE || r.event === intervals_1.IntervalOpType.DELETE) {
209
216
  sharedString.removeLocalReferencePosition(r.start);
210
217
  sharedString.removeLocalReferencePosition(r.end);
211
218
  }
212
219
  });
213
220
  }
221
+ exports.discardSharedStringRevertibles = discardSharedStringRevertibles;
214
222
  function getSlidePosition(string, lref, pos) {
215
- const slide = getSlideToSegoff({ segment: lref.getSegment(), offset: undefined }, lref.slidingPreference);
223
+ const slide = (0, merge_tree_1.getSlideToSegoff)({ segment: lref.getSegment(), offset: undefined }, lref.slidingPreference);
216
224
  return slide?.segment !== undefined &&
217
225
  slide.offset !== undefined &&
218
226
  string.getPosition(slide.segment) !== -1 &&
@@ -227,8 +235,8 @@ function isValidRange(start, startSlide, end, endSlide, string) {
227
235
  end < string.getLength() &&
228
236
  (start < end ||
229
237
  (start === end &&
230
- (startSlide === SlidingPreference.FORWARD ||
231
- endSlide !== SlidingPreference.FORWARD))));
238
+ (startSlide === merge_tree_1.SlidingPreference.FORWARD ||
239
+ endSlide !== merge_tree_1.SlidingPreference.FORWARD))));
232
240
  }
233
241
  function revertLocalAdd(string, revertible) {
234
242
  const id = getUpdatedIdFromInterval(revertible.interval);
@@ -236,17 +244,17 @@ function revertLocalAdd(string, revertible) {
236
244
  string.getIntervalCollection(label).removeIntervalById(id);
237
245
  }
238
246
  function createSequencePlace(pos, newSlidingPreference, oldSlidingPreference = undefined) {
239
- return newSlidingPreference === SlidingPreference.BACKWARD ||
240
- (newSlidingPreference === undefined && oldSlidingPreference === SlidingPreference.BACKWARD)
247
+ return newSlidingPreference === merge_tree_1.SlidingPreference.BACKWARD ||
248
+ (newSlidingPreference === undefined && oldSlidingPreference === merge_tree_1.SlidingPreference.BACKWARD)
241
249
  ? {
242
250
  pos,
243
- side: Side.After,
251
+ side: intervalCollection_1.Side.After,
244
252
  }
245
- : newSlidingPreference === SlidingPreference.FORWARD &&
246
- oldSlidingPreference === SlidingPreference.BACKWARD
253
+ : newSlidingPreference === merge_tree_1.SlidingPreference.FORWARD &&
254
+ oldSlidingPreference === merge_tree_1.SlidingPreference.BACKWARD
247
255
  ? {
248
256
  pos,
249
- side: Side.Before,
257
+ side: intervalCollection_1.Side.Before,
250
258
  }
251
259
  : pos; // Avoid setting side if possible since stickiness may not be enabled
252
260
  }
@@ -320,7 +328,7 @@ function newEndpointPosition(offset, restoredRanges, sharedString) {
320
328
  const pos = newPosition(offset, restoredRanges);
321
329
  return pos === undefined ? undefined : sharedString.getPosition(pos.segment) + pos.offset;
322
330
  }
323
- class SortedRangeSet extends SortedSet {
331
+ class SortedRangeSet extends merge_tree_1.SortedSet {
324
332
  getKey(item) {
325
333
  return item.ranges[0].segment.ordinal;
326
334
  }
@@ -337,7 +345,7 @@ function revertLocalSequenceRemove(sharedString, revertible) {
337
345
  }
338
346
  };
339
347
  sharedString.on("sequenceDelta", saveSegments);
340
- revertMergeTreeDeltaRevertibles(sharedString, [revertible.mergeTreeRevertible]);
348
+ (0, merge_tree_1.revertMergeTreeDeltaRevertibles)(sharedString, [revertible.mergeTreeRevertible]);
341
349
  sharedString.off("sequenceDelta", saveSegments);
342
350
  revertible.intervals.forEach((intervalInfo) => {
343
351
  const intervalCollection = sharedString.getIntervalCollection(intervalInfo.label);
@@ -355,18 +363,18 @@ function revertLocalSequenceRemove(sharedString, revertible) {
355
363
  });
356
364
  // fix up the local references used by delete and change revertibles
357
365
  revertible.revertibleRefs.forEach((revertibleRef) => {
358
- assert(revertibleRef.revertible.event === IntervalOpType.CHANGE ||
359
- revertibleRef.revertible.event === IntervalOpType.DELETE, 0x6c5 /* revertible is not delete or change */);
366
+ (0, core_utils_1.assert)(revertibleRef.revertible.event === intervals_1.IntervalOpType.CHANGE ||
367
+ revertibleRef.revertible.event === intervals_1.IntervalOpType.DELETE, 0x6c5 /* revertible is not delete or change */);
360
368
  const pos = newPosition(revertibleRef.offset, restoredRanges);
361
369
  if (pos !== undefined) {
362
370
  if (revertibleRef.isStart) {
363
371
  sharedString.removeLocalReferencePosition(revertibleRef.revertible.start);
364
- const newRef = sharedString.createLocalReferencePosition(pos.segment, pos.offset, ReferenceType.StayOnRemove | ReferenceType.RangeBegin, { revertible: revertibleRef.revertible }, revertibleRef.revertible.start.slidingPreference);
372
+ const newRef = sharedString.createLocalReferencePosition(pos.segment, pos.offset, merge_tree_1.ReferenceType.StayOnRemove | merge_tree_1.ReferenceType.RangeBegin, { revertible: revertibleRef.revertible }, revertibleRef.revertible.start.slidingPreference);
365
373
  revertibleRef.revertible.start = newRef;
366
374
  }
367
375
  else {
368
376
  sharedString.removeLocalReferencePosition(revertibleRef.revertible.end);
369
- const newRef = sharedString.createLocalReferencePosition(pos.segment, pos.offset, ReferenceType.StayOnRemove | ReferenceType.RangeEnd, { revertible: revertibleRef.revertible }, revertibleRef.revertible.end.slidingPreference);
377
+ const newRef = sharedString.createLocalReferencePosition(pos.segment, pos.offset, merge_tree_1.ReferenceType.StayOnRemove | merge_tree_1.ReferenceType.RangeEnd, { revertible: revertibleRef.revertible }, revertibleRef.revertible.end.slidingPreference);
370
378
  revertibleRef.revertible.end = newRef;
371
379
  }
372
380
  }
@@ -374,38 +382,38 @@ function revertLocalSequenceRemove(sharedString, revertible) {
374
382
  }
375
383
  /**
376
384
  * Invoke revertibles to reverse prior edits
377
- *
378
- * @alpha
385
+ * @internal
379
386
  */
380
- export function revertSharedStringRevertibles(sharedString, revertibles) {
387
+ function revertSharedStringRevertibles(sharedString, revertibles) {
381
388
  while (revertibles.length > 0) {
382
389
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
383
390
  const r = revertibles.pop();
384
391
  if ("event" in r) {
385
392
  const event = r.event;
386
393
  switch (event) {
387
- case IntervalOpType.ADD:
394
+ case intervals_1.IntervalOpType.ADD:
388
395
  revertLocalAdd(sharedString, r);
389
396
  break;
390
- case IntervalOpType.DELETE:
397
+ case intervals_1.IntervalOpType.DELETE:
391
398
  revertLocalDelete(sharedString, r);
392
399
  break;
393
- case IntervalOpType.CHANGE:
400
+ case intervals_1.IntervalOpType.CHANGE:
394
401
  revertLocalChange(sharedString, r);
395
402
  break;
396
- case IntervalOpType.PROPERTY_CHANGED:
403
+ case intervals_1.IntervalOpType.PROPERTY_CHANGED:
397
404
  revertLocalPropertyChanged(sharedString, r);
398
405
  break;
399
- case IntervalOpType.POSITION_REMOVE:
406
+ case intervals_1.IntervalOpType.POSITION_REMOVE:
400
407
  revertLocalSequenceRemove(sharedString, r);
401
408
  break;
402
409
  default:
403
- unreachableCase(event);
410
+ (0, core_utils_1.unreachableCase)(event);
404
411
  }
405
412
  }
406
413
  else {
407
- revertMergeTreeDeltaRevertibles(sharedString, [r]);
414
+ (0, merge_tree_1.revertMergeTreeDeltaRevertibles)(sharedString, [r]);
408
415
  }
409
416
  }
410
417
  }
418
+ exports.revertSharedStringRevertibles = revertSharedStringRevertibles;
411
419
  //# sourceMappingURL=revertibles.js.map