@itwin/core-bentley 4.0.0-dev.7 → 4.0.0-dev.70

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 (211) hide show
  1. package/CHANGELOG.md +29 -12
  2. package/lib/cjs/AccessToken.d.ts +10 -10
  3. package/lib/cjs/AccessToken.d.ts.map +1 -1
  4. package/lib/cjs/AccessToken.js +9 -9
  5. package/lib/cjs/Assert.d.ts +25 -25
  6. package/lib/cjs/Assert.js +45 -45
  7. package/lib/cjs/Assert.js.map +1 -1
  8. package/lib/cjs/BeEvent.d.ts +81 -81
  9. package/lib/cjs/BeEvent.d.ts.map +1 -1
  10. package/lib/cjs/BeEvent.js +156 -156
  11. package/lib/cjs/BeSQLite.d.ts +172 -170
  12. package/lib/cjs/BeSQLite.d.ts.map +1 -1
  13. package/lib/cjs/BeSQLite.js +185 -183
  14. package/lib/cjs/BeSQLite.js.map +1 -1
  15. package/lib/cjs/BentleyError.d.ts +378 -378
  16. package/lib/cjs/BentleyError.d.ts.map +1 -1
  17. package/lib/cjs/BentleyError.js +703 -702
  18. package/lib/cjs/BentleyError.js.map +1 -1
  19. package/lib/cjs/BentleyLoggerCategory.d.ts +11 -11
  20. package/lib/cjs/BentleyLoggerCategory.js +19 -19
  21. package/lib/cjs/ByteStream.d.ts +110 -110
  22. package/lib/cjs/ByteStream.js +159 -159
  23. package/lib/cjs/ClassUtils.d.ts +14 -14
  24. package/lib/cjs/ClassUtils.js +27 -27
  25. package/lib/cjs/Compare.d.ts +47 -47
  26. package/lib/cjs/Compare.d.ts.map +1 -1
  27. package/lib/cjs/Compare.js +75 -75
  28. package/lib/cjs/CompressedId64Set.d.ts +134 -134
  29. package/lib/cjs/CompressedId64Set.d.ts.map +1 -1
  30. package/lib/cjs/CompressedId64Set.js +428 -428
  31. package/lib/cjs/CompressedId64Set.js.map +1 -1
  32. package/lib/cjs/Dictionary.d.ts +125 -125
  33. package/lib/cjs/Dictionary.js +203 -203
  34. package/lib/cjs/Disposable.d.ts +80 -80
  35. package/lib/cjs/Disposable.d.ts.map +1 -1
  36. package/lib/cjs/Disposable.js +120 -120
  37. package/lib/cjs/Id.d.ts +285 -285
  38. package/lib/cjs/Id.d.ts.map +1 -1
  39. package/lib/cjs/Id.js +643 -643
  40. package/lib/cjs/IndexMap.d.ts +65 -65
  41. package/lib/cjs/IndexMap.js +91 -91
  42. package/lib/cjs/JsonSchema.d.ts +77 -77
  43. package/lib/cjs/JsonSchema.d.ts.map +1 -1
  44. package/lib/cjs/JsonSchema.js +9 -9
  45. package/lib/cjs/JsonUtils.d.ts +78 -78
  46. package/lib/cjs/JsonUtils.js +151 -151
  47. package/lib/cjs/LRUMap.d.ts +129 -129
  48. package/lib/cjs/LRUMap.js +333 -333
  49. package/lib/cjs/LRUMap.js.map +1 -1
  50. package/lib/cjs/Logger.d.ts +143 -143
  51. package/lib/cjs/Logger.d.ts.map +1 -1
  52. package/lib/cjs/Logger.js +256 -258
  53. package/lib/cjs/Logger.js.map +1 -1
  54. package/lib/cjs/ObservableSet.d.ts +23 -23
  55. package/lib/cjs/ObservableSet.js +51 -51
  56. package/lib/cjs/OneAtATimeAction.d.ts +31 -31
  57. package/lib/cjs/OneAtATimeAction.js +94 -94
  58. package/lib/cjs/OneAtATimeAction.js.map +1 -1
  59. package/lib/cjs/OrderedId64Iterable.d.ts +74 -74
  60. package/lib/cjs/OrderedId64Iterable.d.ts.map +1 -1
  61. package/lib/cjs/OrderedId64Iterable.js +235 -235
  62. package/lib/cjs/OrderedSet.d.ts +40 -40
  63. package/lib/cjs/OrderedSet.js +64 -64
  64. package/lib/cjs/PriorityQueue.d.ts +70 -70
  65. package/lib/cjs/PriorityQueue.d.ts.map +1 -1
  66. package/lib/cjs/PriorityQueue.js +140 -140
  67. package/lib/cjs/ProcessDetector.d.ts +59 -59
  68. package/lib/cjs/ProcessDetector.js +71 -71
  69. package/lib/cjs/SortedArray.d.ts +236 -232
  70. package/lib/cjs/SortedArray.d.ts.map +1 -1
  71. package/lib/cjs/SortedArray.js +315 -303
  72. package/lib/cjs/SortedArray.js.map +1 -1
  73. package/lib/cjs/StatusCategory.d.ts +30 -30
  74. package/lib/cjs/StatusCategory.d.ts.map +1 -1
  75. package/lib/cjs/StatusCategory.js +460 -460
  76. package/lib/cjs/StatusCategory.js.map +1 -1
  77. package/lib/cjs/StringUtils.d.ts +22 -22
  78. package/lib/cjs/StringUtils.js +148 -148
  79. package/lib/cjs/Time.d.ts +122 -122
  80. package/lib/cjs/Time.js +152 -152
  81. package/lib/cjs/Time.js.map +1 -1
  82. package/lib/cjs/Tracing.d.ts +43 -40
  83. package/lib/cjs/Tracing.d.ts.map +1 -1
  84. package/lib/cjs/Tracing.js +134 -130
  85. package/lib/cjs/Tracing.js.map +1 -1
  86. package/lib/cjs/TupleKeyedMap.d.ts +36 -36
  87. package/lib/cjs/TupleKeyedMap.js +102 -102
  88. package/lib/cjs/TypedArrayBuilder.d.ts +155 -155
  89. package/lib/cjs/TypedArrayBuilder.d.ts.map +1 -1
  90. package/lib/cjs/TypedArrayBuilder.js +206 -208
  91. package/lib/cjs/TypedArrayBuilder.js.map +1 -1
  92. package/lib/cjs/UnexpectedErrors.d.ts +43 -43
  93. package/lib/cjs/UnexpectedErrors.d.ts.map +1 -1
  94. package/lib/cjs/UnexpectedErrors.js +68 -68
  95. package/lib/cjs/UnexpectedErrors.js.map +1 -1
  96. package/lib/cjs/UtilityTypes.d.ts +112 -96
  97. package/lib/cjs/UtilityTypes.d.ts.map +1 -1
  98. package/lib/cjs/UtilityTypes.js +40 -40
  99. package/lib/cjs/UtilityTypes.js.map +1 -1
  100. package/lib/cjs/YieldManager.d.ts +18 -18
  101. package/lib/cjs/YieldManager.js +34 -34
  102. package/lib/cjs/core-bentley.d.ts +74 -74
  103. package/lib/cjs/core-bentley.js +94 -90
  104. package/lib/cjs/core-bentley.js.map +1 -1
  105. package/lib/cjs/partitionArray.d.ts +21 -21
  106. package/lib/cjs/partitionArray.js +43 -43
  107. package/lib/esm/AccessToken.d.ts +10 -10
  108. package/lib/esm/AccessToken.d.ts.map +1 -1
  109. package/lib/esm/AccessToken.js +8 -8
  110. package/lib/esm/Assert.d.ts +25 -25
  111. package/lib/esm/Assert.js +41 -41
  112. package/lib/esm/Assert.js.map +1 -1
  113. package/lib/esm/BeEvent.d.ts +81 -81
  114. package/lib/esm/BeEvent.d.ts.map +1 -1
  115. package/lib/esm/BeEvent.js +150 -150
  116. package/lib/esm/BeSQLite.d.ts +172 -170
  117. package/lib/esm/BeSQLite.d.ts.map +1 -1
  118. package/lib/esm/BeSQLite.js +182 -180
  119. package/lib/esm/BeSQLite.js.map +1 -1
  120. package/lib/esm/BentleyError.d.ts +378 -378
  121. package/lib/esm/BentleyError.d.ts.map +1 -1
  122. package/lib/esm/BentleyError.js +699 -698
  123. package/lib/esm/BentleyError.js.map +1 -1
  124. package/lib/esm/BentleyLoggerCategory.d.ts +11 -11
  125. package/lib/esm/BentleyLoggerCategory.js +16 -16
  126. package/lib/esm/ByteStream.d.ts +110 -110
  127. package/lib/esm/ByteStream.js +155 -155
  128. package/lib/esm/ClassUtils.d.ts +14 -14
  129. package/lib/esm/ClassUtils.js +22 -22
  130. package/lib/esm/Compare.d.ts +47 -47
  131. package/lib/esm/Compare.d.ts.map +1 -1
  132. package/lib/esm/Compare.js +63 -63
  133. package/lib/esm/CompressedId64Set.d.ts +134 -134
  134. package/lib/esm/CompressedId64Set.d.ts.map +1 -1
  135. package/lib/esm/CompressedId64Set.js +423 -423
  136. package/lib/esm/CompressedId64Set.js.map +1 -1
  137. package/lib/esm/Dictionary.d.ts +125 -125
  138. package/lib/esm/Dictionary.js +199 -199
  139. package/lib/esm/Disposable.d.ts +80 -80
  140. package/lib/esm/Disposable.d.ts.map +1 -1
  141. package/lib/esm/Disposable.js +112 -112
  142. package/lib/esm/Id.d.ts +285 -285
  143. package/lib/esm/Id.d.ts.map +1 -1
  144. package/lib/esm/Id.js +639 -639
  145. package/lib/esm/IndexMap.d.ts +65 -65
  146. package/lib/esm/IndexMap.js +86 -86
  147. package/lib/esm/JsonSchema.d.ts +77 -77
  148. package/lib/esm/JsonSchema.d.ts.map +1 -1
  149. package/lib/esm/JsonSchema.js +8 -8
  150. package/lib/esm/JsonUtils.d.ts +78 -78
  151. package/lib/esm/JsonUtils.js +148 -148
  152. package/lib/esm/LRUMap.d.ts +129 -129
  153. package/lib/esm/LRUMap.js +326 -326
  154. package/lib/esm/LRUMap.js.map +1 -1
  155. package/lib/esm/Logger.d.ts +143 -143
  156. package/lib/esm/Logger.d.ts.map +1 -1
  157. package/lib/esm/Logger.js +253 -253
  158. package/lib/esm/Logger.js.map +1 -1
  159. package/lib/esm/ObservableSet.d.ts +23 -23
  160. package/lib/esm/ObservableSet.js +47 -47
  161. package/lib/esm/OneAtATimeAction.d.ts +31 -31
  162. package/lib/esm/OneAtATimeAction.js +89 -89
  163. package/lib/esm/OneAtATimeAction.js.map +1 -1
  164. package/lib/esm/OrderedId64Iterable.d.ts +74 -74
  165. package/lib/esm/OrderedId64Iterable.d.ts.map +1 -1
  166. package/lib/esm/OrderedId64Iterable.js +232 -232
  167. package/lib/esm/OrderedSet.d.ts +40 -40
  168. package/lib/esm/OrderedSet.js +59 -59
  169. package/lib/esm/PriorityQueue.d.ts +70 -70
  170. package/lib/esm/PriorityQueue.d.ts.map +1 -1
  171. package/lib/esm/PriorityQueue.js +136 -136
  172. package/lib/esm/ProcessDetector.d.ts +59 -59
  173. package/lib/esm/ProcessDetector.js +67 -67
  174. package/lib/esm/SortedArray.d.ts +236 -232
  175. package/lib/esm/SortedArray.d.ts.map +1 -1
  176. package/lib/esm/SortedArray.js +308 -296
  177. package/lib/esm/SortedArray.js.map +1 -1
  178. package/lib/esm/StatusCategory.d.ts +30 -30
  179. package/lib/esm/StatusCategory.d.ts.map +1 -1
  180. package/lib/esm/StatusCategory.js +455 -454
  181. package/lib/esm/StatusCategory.js.map +1 -1
  182. package/lib/esm/StringUtils.d.ts +22 -22
  183. package/lib/esm/StringUtils.js +142 -142
  184. package/lib/esm/Time.d.ts +122 -122
  185. package/lib/esm/Time.js +146 -146
  186. package/lib/esm/Time.js.map +1 -1
  187. package/lib/esm/Tracing.d.ts +43 -40
  188. package/lib/esm/Tracing.d.ts.map +1 -1
  189. package/lib/esm/Tracing.js +130 -126
  190. package/lib/esm/Tracing.js.map +1 -1
  191. package/lib/esm/TupleKeyedMap.d.ts +36 -36
  192. package/lib/esm/TupleKeyedMap.js +98 -98
  193. package/lib/esm/TypedArrayBuilder.d.ts +155 -155
  194. package/lib/esm/TypedArrayBuilder.d.ts.map +1 -1
  195. package/lib/esm/TypedArrayBuilder.js +198 -200
  196. package/lib/esm/TypedArrayBuilder.js.map +1 -1
  197. package/lib/esm/UnexpectedErrors.d.ts +43 -43
  198. package/lib/esm/UnexpectedErrors.d.ts.map +1 -1
  199. package/lib/esm/UnexpectedErrors.js +65 -64
  200. package/lib/esm/UnexpectedErrors.js.map +1 -1
  201. package/lib/esm/UtilityTypes.d.ts +112 -96
  202. package/lib/esm/UtilityTypes.d.ts.map +1 -1
  203. package/lib/esm/UtilityTypes.js +34 -34
  204. package/lib/esm/UtilityTypes.js.map +1 -1
  205. package/lib/esm/YieldManager.d.ts +18 -18
  206. package/lib/esm/YieldManager.js +30 -30
  207. package/lib/esm/core-bentley.d.ts +74 -74
  208. package/lib/esm/core-bentley.js +78 -78
  209. package/lib/esm/partitionArray.d.ts +21 -21
  210. package/lib/esm/partitionArray.js +39 -39
  211. package/package.json +8 -8
@@ -1,76 +1,76 @@
1
- "use strict";
2
- /*---------------------------------------------------------------------------------------------
3
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
- * See LICENSE.md in the project root for license terms and full copyright notice.
5
- *--------------------------------------------------------------------------------------------*/
6
- /** @packageDocumentation
7
- * @module Utils
8
- */
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.areEqualPossiblyUndefined = exports.compareBooleansOrUndefined = exports.compareNumbersOrUndefined = exports.compareStringsOrUndefined = exports.comparePossiblyUndefined = exports.compareStrings = exports.compareBooleans = exports.compareNumbers = exports.compareWithTolerance = void 0;
11
- /**
12
- * An [[OrderedComparator]] for numbers that treats two numbers as equal if the absolute value of their difference is less than a specified tolerance.
13
- * @public
14
- */
15
- function compareWithTolerance(a, b, tolerance = 0.1) {
16
- if (a < b - tolerance)
17
- return -1;
18
- else if (a > b + tolerance)
19
- return 1;
20
- else
21
- return 0;
22
- }
23
- exports.compareWithTolerance = compareWithTolerance;
24
- /** @public */
25
- function compareNumbers(a, b) {
26
- return a - b;
27
- }
28
- exports.compareNumbers = compareNumbers;
29
- /** @public */
30
- function compareBooleans(a, b) {
31
- return a !== b ? (a < b ? -1 : 1) : 0;
32
- }
33
- exports.compareBooleans = compareBooleans;
34
- /** @public */
35
- function compareStrings(a, b) {
36
- return a === b ? 0 : (a < b ? -1 : 1);
37
- }
38
- exports.compareStrings = compareStrings;
39
- /** @public */
40
- function comparePossiblyUndefined(compareDefined, lhs, rhs) {
41
- if (undefined === lhs)
42
- return undefined === rhs ? 0 : -1;
43
- else if (undefined === rhs)
44
- return 1;
45
- else
46
- return compareDefined(lhs, rhs);
47
- }
48
- exports.comparePossiblyUndefined = comparePossiblyUndefined;
49
- /** @public */
50
- function compareStringsOrUndefined(lhs, rhs) {
51
- return comparePossiblyUndefined(compareStrings, lhs, rhs);
52
- }
53
- exports.compareStringsOrUndefined = compareStringsOrUndefined;
54
- /** @public */
55
- function compareNumbersOrUndefined(lhs, rhs) {
56
- return comparePossiblyUndefined(compareNumbers, lhs, rhs);
57
- }
58
- exports.compareNumbersOrUndefined = compareNumbersOrUndefined;
59
- /** @public */
60
- function compareBooleansOrUndefined(lhs, rhs) {
61
- return comparePossiblyUndefined(compareBooleans, lhs, rhs);
62
- }
63
- exports.compareBooleansOrUndefined = compareBooleansOrUndefined;
64
- /** Compare two possibly-undefined values for equality. If both are undefined, the comparison is performed by the supplied `areEqual` function.
65
- * @public
66
- */
67
- function areEqualPossiblyUndefined(t, u, areEqual) {
68
- if (undefined === t)
69
- return undefined === u;
70
- else if (undefined === u)
71
- return false;
72
- else
73
- return areEqual(t, u);
74
- }
75
- exports.areEqualPossiblyUndefined = areEqualPossiblyUndefined;
1
+ "use strict";
2
+ /*---------------------------------------------------------------------------------------------
3
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
+ * See LICENSE.md in the project root for license terms and full copyright notice.
5
+ *--------------------------------------------------------------------------------------------*/
6
+ /** @packageDocumentation
7
+ * @module Utils
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.areEqualPossiblyUndefined = exports.compareBooleansOrUndefined = exports.compareNumbersOrUndefined = exports.compareStringsOrUndefined = exports.comparePossiblyUndefined = exports.compareStrings = exports.compareBooleans = exports.compareNumbers = exports.compareWithTolerance = void 0;
11
+ /**
12
+ * An [[OrderedComparator]] for numbers that treats two numbers as equal if the absolute value of their difference is less than a specified tolerance.
13
+ * @public
14
+ */
15
+ function compareWithTolerance(a, b, tolerance = 0.1) {
16
+ if (a < b - tolerance)
17
+ return -1;
18
+ else if (a > b + tolerance)
19
+ return 1;
20
+ else
21
+ return 0;
22
+ }
23
+ exports.compareWithTolerance = compareWithTolerance;
24
+ /** @public */
25
+ function compareNumbers(a, b) {
26
+ return a - b;
27
+ }
28
+ exports.compareNumbers = compareNumbers;
29
+ /** @public */
30
+ function compareBooleans(a, b) {
31
+ return a !== b ? (a < b ? -1 : 1) : 0;
32
+ }
33
+ exports.compareBooleans = compareBooleans;
34
+ /** @public */
35
+ function compareStrings(a, b) {
36
+ return a === b ? 0 : (a < b ? -1 : 1);
37
+ }
38
+ exports.compareStrings = compareStrings;
39
+ /** @public */
40
+ function comparePossiblyUndefined(compareDefined, lhs, rhs) {
41
+ if (undefined === lhs)
42
+ return undefined === rhs ? 0 : -1;
43
+ else if (undefined === rhs)
44
+ return 1;
45
+ else
46
+ return compareDefined(lhs, rhs);
47
+ }
48
+ exports.comparePossiblyUndefined = comparePossiblyUndefined;
49
+ /** @public */
50
+ function compareStringsOrUndefined(lhs, rhs) {
51
+ return comparePossiblyUndefined(compareStrings, lhs, rhs);
52
+ }
53
+ exports.compareStringsOrUndefined = compareStringsOrUndefined;
54
+ /** @public */
55
+ function compareNumbersOrUndefined(lhs, rhs) {
56
+ return comparePossiblyUndefined(compareNumbers, lhs, rhs);
57
+ }
58
+ exports.compareNumbersOrUndefined = compareNumbersOrUndefined;
59
+ /** @public */
60
+ function compareBooleansOrUndefined(lhs, rhs) {
61
+ return comparePossiblyUndefined(compareBooleans, lhs, rhs);
62
+ }
63
+ exports.compareBooleansOrUndefined = compareBooleansOrUndefined;
64
+ /** Compare two possibly-undefined values for equality. If both are undefined, the comparison is performed by the supplied `areEqual` function.
65
+ * @public
66
+ */
67
+ function areEqualPossiblyUndefined(t, u, areEqual) {
68
+ if (undefined === t)
69
+ return undefined === u;
70
+ else if (undefined === u)
71
+ return false;
72
+ else
73
+ return areEqual(t, u);
74
+ }
75
+ exports.areEqualPossiblyUndefined = areEqualPossiblyUndefined;
76
76
  //# sourceMappingURL=Compare.js.map
@@ -1,135 +1,135 @@
1
- /** @packageDocumentation
2
- * @module Ids
3
- */
4
- import { Id64Array, Id64Set, Id64String } from "./Id";
5
- import { OrderedId64Iterable } from "./OrderedId64Iterable";
6
- import { SortedArray } from "./SortedArray";
7
- /** @public */
8
- export declare type CompressedId64Set = string;
9
- /** A compact string representation of an [[Id64Set]]. Such a representation is useful when serializing potentially very large
10
- * sets of Ids.
11
- * @see [[CompressedId64Set.iterable]] to efficiently iterate the Ids represented by a compact string.
12
- * @see [[CompressedId64Set.compressSet]] and [[CompressedId64Set.compressArray]] to produce a compact string from a collection of Ids.
13
- * @see [[CompressedId64Set.decompressSet]] and [[CompressedId64Set.decompressArray]] to produce a collection of Ids from a compact string.
14
- * @see [[OrderedId64Iterable]] for a generic representation of an ordered set of Ids (compressed or otherwise).
15
- * @see [[MutableCompressedId64Set]] for a mutable version.
16
- * @public
17
- */
18
- export declare namespace CompressedId64Set {
19
- /** Given a set of [[Id64String]]s, produce a compact string representation. Useful when serializing potentially large sets of Ids.
20
- * @note Invalid Ids are ignored.
21
- * @see [[CompressedId64Set.sortAndCompress]] to compress any unordered collection of Ids.
22
- * @see [[CompressedId64Set.compressArray]] to perform the same operation on an [[Id64Array]].
23
- * @see [[CompressedId64Set.decompressSet]] to perform the inverse operation.
24
- */
25
- function compressSet(ids: Id64Set): CompressedId64Set;
26
- /** Create a sorted array from `ids`, then return a compact string representation of those Ids.
27
- * @see [[compressIds]] if `ids` is known to already be sorted.
28
- */
29
- function sortAndCompress(ids: Iterable<Id64String>): CompressedId64Set;
30
- /** Give a **numerically-ordered** array of [[Id64String]]s, produce a compact string representation. Useful when serializing potentially large sets of Ids.
31
- * Duplicate Ids are included only once in the string representation.
32
- * @throws Error if two consecutive Ids `x` and `y` exist such that the numerical value of `x` is greater than that of `y` - i.e., the array is not properly sorted.
33
- * @note The array must be sorted according to the 64-bit numerical value of each Id.
34
- * @note Invalid Ids are ignored.
35
- * @see [[CompressedId64Set.decompressArray]] to perform the inverse operation.
36
- * @see [[OrderedId64Iterable.sortArray]] to ensure the Ids are properly sorted.
37
- * @see [[CompressedId64Set.sortAndCompress]] to compress any unordered collection of Ids.
38
- */
39
- function compressArray(ids: Id64Array): CompressedId64Set;
40
- /** Give a **numerically-ordered** collection of [[Id64String]]s, produce a compact string representation. Useful when serializing potentially large sets of Ids.
41
- * Duplicate Ids are included only once in the string representation.
42
- * @throws Error if two consecutive Ids `x` and `y` exist such that the numerical value of `x` is greater than that of `y` - i.e., the collection is not properly sorted.
43
- * @note The collection must be sorted according to the 64-bit numerical value of each Id.
44
- * @note Invalid Ids are ignored.
45
- * @see [[CompressedId64Set.iterable]] to perform the inverse operation.
46
- * @see [[OrderedId64Iterable.sortArray]] or [[OrderedId64Iterable.compare]] to ensure the Ids are properly sorted.
47
- * @see [[CompressedId64Set.sortAndCompress]] to compress any unordered collection of Ids.
48
- */
49
- function compressIds(ids: OrderedId64Iterable): CompressedId64Set;
50
- /** Supplies an iterator over the [[Id64String]]s in a [[CompressedId64Set]].
51
- * The Ids are iterated in ascending order based on their unsigned 64-bit integer values.
52
- */
53
- function iterator(ids: CompressedId64Set): Iterator<Id64String>;
54
- /** Supplies an iterable over the [[Id64String]]s in a [[CompressedId64Set]].
55
- * The Ids are iterated in ascending order based on their unsigned 64-bit integer values.
56
- */
57
- function iterable(ids: CompressedId64Set): OrderedId64Iterable;
58
- /** Decompress the compact string representation of an [[Id64Set]] into an [[Id64Set]].
59
- * @param compressedIds The compact string representation.
60
- * @param out If supplied, the Ids will be inserted into this set rather than allocating and returning a new set.
61
- * @returns The set containing the decompressed Ids.
62
- * @throws Error if `compressedIds` is not a well-formed [[CompressedId64Set]].
63
- * @see [[CompressedId64Set.compressSet]] to perform the inverse operation.
64
- * @see [[CompressedId64Set.decompressArray]] to decompress as an [[Id64Array]] instead.
65
- * @see [[CompressedId64Set.iterable]] to efficiently iterate the Ids.
66
- */
67
- function decompressSet(compressedIds: CompressedId64Set, out?: Id64Set): Id64Set;
68
- /** Decompress the compact string representation of an [[Id64Set]] into an [[Id64Array]].
69
- * @param compressedIds The compact string representation.
70
- * @param out If supplied, the Ids will be appended to this array rather than allocating and returning a new array.
71
- * @returns The array containing the decompressed Ids.
72
- * @throws Error if `compressedIds` is not a well-formed [[CompressedId64Set]].
73
- * @note The Ids are decompressed and appended to the array in ascending order based on their 64-bit numerical values.
74
- * @see [[CompressedId64Set.compressArray]] to perform the inverse operation.
75
- * @see [[CompressedId64Set.decompressSet]] to decompress as an [[Id64Set]] instead.
76
- * @see [[CompressedId64Set.iterable]] to efficiently iterate the Ids.
77
- */
78
- function decompressArray(compressedIds: CompressedId64Set, out?: Id64Array): Id64Array;
79
- }
80
- /** A [[SortedArray]] of unique [[Id64String]]s sorted in ascending order by the 64-bit unsigned integer values of the Ids.
81
- * @see [[CompressedId64Set]] for an immutable compact string representation.
82
- * @public
83
- */
84
- export declare class OrderedId64Array extends SortedArray<Id64String> {
85
- /** Construct a new, empty array. */
86
- constructor();
87
- /** An iterable that iterates over the Ids in sorted order. */
88
- get ids(): OrderedId64Iterable;
89
- /** The underlying array of Ids. */
90
- get array(): ReadonlyArray<Id64String>;
91
- }
92
- /** A mutable set of valid [[Id64String]]s sorted in ascending order by the 64-bit unsigned integer value of the Ids.
93
- * Internally the set of Ids is maintained as a [[CompressedId64Set]] string representation.
94
- * Insertions and removals are buffered until the string representation needs to be recomputed. The string representation is recomputed by every public method except [[add]] and [[delete]] -
95
- * therefore, if multiple removals and/or insertions are required, it is most efficient to perform them all before invoking other methods.
96
- * @public
97
- */
98
- export declare class MutableCompressedId64Set implements OrderedId64Iterable {
99
- private _ids;
100
- private readonly _inserted;
101
- private readonly _deleted;
102
- /** Construct a new set, optionally initialized to contain the Ids represented by `ids`. */
103
- constructor(ids?: CompressedId64Set);
104
- /** Obtain the compact string representation of the contents of this set. If any insertions or removals are pending, they will be applied and the string recomputed. */
105
- get ids(): CompressedId64Set;
106
- /** Add the specified Id to the set.
107
- * @throws Error if `id` is not a valid [[Id64String]].
108
- */
109
- add(id: Id64String): void;
110
- /** Remove the specified Id from the set.
111
- * @throws Error if `id` is not a valid [[Id64String]].
112
- */
113
- delete(id: Id64String): void;
114
- /** Remove all Ids from the set. */
115
- clear(): void;
116
- /** Remove all Ids from the set, then add the specified Ids. */
117
- reset(ids?: CompressedId64Set): void;
118
- /** Obtain an iterator over the Ids in this set. The Ids are returned in ascending order based on their unsigned 64-bit integer values. */
119
- [Symbol.iterator](): Iterator<string, any, undefined>;
120
- /** Compute a compact string representation of the union of this and another set of Ids - i.e., those Ids present in either this and/or the other set. */
121
- computeUnion(ids: OrderedId64Iterable | CompressedId64Set | MutableCompressedId64Set): CompressedId64Set;
122
- /** Compute a compact string representation of the intersection of this and another set of Ids - i.e., those Ids present in both this and the other set. */
123
- computeIntersection(ids: OrderedId64Iterable | CompressedId64Set | MutableCompressedId64Set): CompressedId64Set;
124
- /** Compute a compact string representation of the difference between this and another set - i.e., those Ids present in this but not in the other set. */
125
- computeDifference(ids: OrderedId64Iterable | CompressedId64Set | MutableCompressedId64Set): CompressedId64Set;
126
- /** Return true if this set contains no Ids. */
127
- get isEmpty(): boolean;
128
- /** Return true if the set of Ids represented by `other` is identical to those in this set.
129
- * @note This considers only the **distinct** Ids in `other` - duplicates are ignored.
130
- */
131
- equals(other: CompressedId64Set | MutableCompressedId64Set | OrderedId64Iterable): boolean;
132
- private get _isDirty();
133
- private updateIds;
134
- }
1
+ /** @packageDocumentation
2
+ * @module Ids
3
+ */
4
+ import { Id64Array, Id64Set, Id64String } from "./Id";
5
+ import { OrderedId64Iterable } from "./OrderedId64Iterable";
6
+ import { SortedArray } from "./SortedArray";
7
+ /** @public */
8
+ export type CompressedId64Set = string;
9
+ /** A compact string representation of an [[Id64Set]]. Such a representation is useful when serializing potentially very large
10
+ * sets of Ids.
11
+ * @see [[CompressedId64Set.iterable]] to efficiently iterate the Ids represented by a compact string.
12
+ * @see [[CompressedId64Set.compressSet]] and [[CompressedId64Set.compressArray]] to produce a compact string from a collection of Ids.
13
+ * @see [[CompressedId64Set.decompressSet]] and [[CompressedId64Set.decompressArray]] to produce a collection of Ids from a compact string.
14
+ * @see [[OrderedId64Iterable]] for a generic representation of an ordered set of Ids (compressed or otherwise).
15
+ * @see [[MutableCompressedId64Set]] for a mutable version.
16
+ * @public
17
+ */
18
+ export declare namespace CompressedId64Set {
19
+ /** Given a set of [[Id64String]]s, produce a compact string representation. Useful when serializing potentially large sets of Ids.
20
+ * @note Invalid Ids are ignored.
21
+ * @see [[CompressedId64Set.sortAndCompress]] to compress any unordered collection of Ids.
22
+ * @see [[CompressedId64Set.compressArray]] to perform the same operation on an [[Id64Array]].
23
+ * @see [[CompressedId64Set.decompressSet]] to perform the inverse operation.
24
+ */
25
+ function compressSet(ids: Id64Set): CompressedId64Set;
26
+ /** Create a sorted array from `ids`, then return a compact string representation of those Ids.
27
+ * @see [[compressIds]] if `ids` is known to already be sorted.
28
+ */
29
+ function sortAndCompress(ids: Iterable<Id64String>): CompressedId64Set;
30
+ /** Give a **numerically-ordered** array of [[Id64String]]s, produce a compact string representation. Useful when serializing potentially large sets of Ids.
31
+ * Duplicate Ids are included only once in the string representation.
32
+ * @throws Error if two consecutive Ids `x` and `y` exist such that the numerical value of `x` is greater than that of `y` - i.e., the array is not properly sorted.
33
+ * @note The array must be sorted according to the 64-bit numerical value of each Id.
34
+ * @note Invalid Ids are ignored.
35
+ * @see [[CompressedId64Set.decompressArray]] to perform the inverse operation.
36
+ * @see [[OrderedId64Iterable.sortArray]] to ensure the Ids are properly sorted.
37
+ * @see [[CompressedId64Set.sortAndCompress]] to compress any unordered collection of Ids.
38
+ */
39
+ function compressArray(ids: Id64Array): CompressedId64Set;
40
+ /** Give a **numerically-ordered** collection of [[Id64String]]s, produce a compact string representation. Useful when serializing potentially large sets of Ids.
41
+ * Duplicate Ids are included only once in the string representation.
42
+ * @throws Error if two consecutive Ids `x` and `y` exist such that the numerical value of `x` is greater than that of `y` - i.e., the collection is not properly sorted.
43
+ * @note The collection must be sorted according to the 64-bit numerical value of each Id.
44
+ * @note Invalid Ids are ignored.
45
+ * @see [[CompressedId64Set.iterable]] to perform the inverse operation.
46
+ * @see [[OrderedId64Iterable.sortArray]] or [[OrderedId64Iterable.compare]] to ensure the Ids are properly sorted.
47
+ * @see [[CompressedId64Set.sortAndCompress]] to compress any unordered collection of Ids.
48
+ */
49
+ function compressIds(ids: OrderedId64Iterable): CompressedId64Set;
50
+ /** Supplies an iterator over the [[Id64String]]s in a [[CompressedId64Set]].
51
+ * The Ids are iterated in ascending order based on their unsigned 64-bit integer values.
52
+ */
53
+ function iterator(ids: CompressedId64Set): Iterator<Id64String>;
54
+ /** Supplies an iterable over the [[Id64String]]s in a [[CompressedId64Set]].
55
+ * The Ids are iterated in ascending order based on their unsigned 64-bit integer values.
56
+ */
57
+ function iterable(ids: CompressedId64Set): OrderedId64Iterable;
58
+ /** Decompress the compact string representation of an [[Id64Set]] into an [[Id64Set]].
59
+ * @param compressedIds The compact string representation.
60
+ * @param out If supplied, the Ids will be inserted into this set rather than allocating and returning a new set.
61
+ * @returns The set containing the decompressed Ids.
62
+ * @throws Error if `compressedIds` is not a well-formed [[CompressedId64Set]].
63
+ * @see [[CompressedId64Set.compressSet]] to perform the inverse operation.
64
+ * @see [[CompressedId64Set.decompressArray]] to decompress as an [[Id64Array]] instead.
65
+ * @see [[CompressedId64Set.iterable]] to efficiently iterate the Ids.
66
+ */
67
+ function decompressSet(compressedIds: CompressedId64Set, out?: Id64Set): Id64Set;
68
+ /** Decompress the compact string representation of an [[Id64Set]] into an [[Id64Array]].
69
+ * @param compressedIds The compact string representation.
70
+ * @param out If supplied, the Ids will be appended to this array rather than allocating and returning a new array.
71
+ * @returns The array containing the decompressed Ids.
72
+ * @throws Error if `compressedIds` is not a well-formed [[CompressedId64Set]].
73
+ * @note The Ids are decompressed and appended to the array in ascending order based on their 64-bit numerical values.
74
+ * @see [[CompressedId64Set.compressArray]] to perform the inverse operation.
75
+ * @see [[CompressedId64Set.decompressSet]] to decompress as an [[Id64Set]] instead.
76
+ * @see [[CompressedId64Set.iterable]] to efficiently iterate the Ids.
77
+ */
78
+ function decompressArray(compressedIds: CompressedId64Set, out?: Id64Array): Id64Array;
79
+ }
80
+ /** A [[SortedArray]] of unique [[Id64String]]s sorted in ascending order by the 64-bit unsigned integer values of the Ids.
81
+ * @see [[CompressedId64Set]] for an immutable compact string representation.
82
+ * @public
83
+ */
84
+ export declare class OrderedId64Array extends SortedArray<Id64String> {
85
+ /** Construct a new, empty array. */
86
+ constructor();
87
+ /** An iterable that iterates over the Ids in sorted order. */
88
+ get ids(): OrderedId64Iterable;
89
+ /** The underlying array of Ids. */
90
+ get array(): ReadonlyArray<Id64String>;
91
+ }
92
+ /** A mutable set of valid [[Id64String]]s sorted in ascending order by the 64-bit unsigned integer value of the Ids.
93
+ * Internally the set of Ids is maintained as a [[CompressedId64Set]] string representation.
94
+ * Insertions and removals are buffered until the string representation needs to be recomputed. The string representation is recomputed by every public method except [[add]] and [[delete]] -
95
+ * therefore, if multiple removals and/or insertions are required, it is most efficient to perform them all before invoking other methods.
96
+ * @public
97
+ */
98
+ export declare class MutableCompressedId64Set implements OrderedId64Iterable {
99
+ private _ids;
100
+ private readonly _inserted;
101
+ private readonly _deleted;
102
+ /** Construct a new set, optionally initialized to contain the Ids represented by `ids`. */
103
+ constructor(ids?: CompressedId64Set);
104
+ /** Obtain the compact string representation of the contents of this set. If any insertions or removals are pending, they will be applied and the string recomputed. */
105
+ get ids(): CompressedId64Set;
106
+ /** Add the specified Id to the set.
107
+ * @throws Error if `id` is not a valid [[Id64String]].
108
+ */
109
+ add(id: Id64String): void;
110
+ /** Remove the specified Id from the set.
111
+ * @throws Error if `id` is not a valid [[Id64String]].
112
+ */
113
+ delete(id: Id64String): void;
114
+ /** Remove all Ids from the set. */
115
+ clear(): void;
116
+ /** Remove all Ids from the set, then add the specified Ids. */
117
+ reset(ids?: CompressedId64Set): void;
118
+ /** Obtain an iterator over the Ids in this set. The Ids are returned in ascending order based on their unsigned 64-bit integer values. */
119
+ [Symbol.iterator](): Iterator<string, any, undefined>;
120
+ /** Compute a compact string representation of the union of this and another set of Ids - i.e., those Ids present in either this and/or the other set. */
121
+ computeUnion(ids: OrderedId64Iterable | CompressedId64Set | MutableCompressedId64Set): CompressedId64Set;
122
+ /** Compute a compact string representation of the intersection of this and another set of Ids - i.e., those Ids present in both this and the other set. */
123
+ computeIntersection(ids: OrderedId64Iterable | CompressedId64Set | MutableCompressedId64Set): CompressedId64Set;
124
+ /** Compute a compact string representation of the difference between this and another set - i.e., those Ids present in this but not in the other set. */
125
+ computeDifference(ids: OrderedId64Iterable | CompressedId64Set | MutableCompressedId64Set): CompressedId64Set;
126
+ /** Return true if this set contains no Ids. */
127
+ get isEmpty(): boolean;
128
+ /** Return true if the set of Ids represented by `other` is identical to those in this set.
129
+ * @note This considers only the **distinct** Ids in `other` - duplicates are ignored.
130
+ */
131
+ equals(other: CompressedId64Set | MutableCompressedId64Set | OrderedId64Iterable): boolean;
132
+ private get _isDirty();
133
+ private updateIds;
134
+ }
135
135
  //# sourceMappingURL=CompressedId64Set.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CompressedId64Set.d.ts","sourceRoot":"","sources":["../../src/CompressedId64Set.ts"],"names":[],"mappings":"AAIA;;GAEG;AAGH,OAAO,EAAQ,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,cAAc;AACd,oBAAY,iBAAiB,GAAG,MAAM,CAAC;AAEvC;;;;;;;;GAQG;AACH,yBAAiB,iBAAiB,CAAC;IAqBjC;;;;;OAKG;IACH,SAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,iBAAiB,CAE3D;IAED;;OAEG;IACH,SAAgB,eAAe,CAAC,GAAG,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,iBAAiB,CAK5E;IAED;;;;;;;;OAQG;IACH,SAAgB,aAAa,CAAC,GAAG,EAAE,SAAS,GAAG,iBAAiB,CAE/D;IAED;;;;;;;;OAQG;IACH,SAAgB,WAAW,CAAC,GAAG,EAAE,mBAAmB,GAAG,iBAAiB,CA2CvE;IAgFD;;OAEG;IACH,SAAiB,QAAQ,CAAC,GAAG,EAAE,iBAAiB,GAAG,QAAQ,CAAC,UAAU,CAAC,CA0FtE;IAED;;OAEG;IACH,SAAgB,QAAQ,CAAC,GAAG,EAAE,iBAAiB,GAAG,mBAAmB,CAIpE;IAED;;;;;;;;OAQG;IACH,SAAgB,aAAa,CAAC,aAAa,EAAE,iBAAiB,EAAE,GAAG,CAAC,EAAE,OAAO,GAAG,OAAO,CAMtF;IAED;;;;;;;;;OASG;IACH,SAAgB,eAAe,CAAC,aAAa,EAAE,iBAAiB,EAAE,GAAG,CAAC,EAAE,SAAS,GAAG,SAAS,CAM5F;CACF;AAED;;;GAGG;AACH,qBAAa,gBAAiB,SAAQ,WAAW,CAAC,UAAU,CAAC;IAC3D,oCAAoC;;IAKpC,8DAA8D;IAC9D,IAAW,GAAG,IAAI,mBAAmB,CAAwB;IAE7D,mCAAmC;IACnC,IAAW,KAAK,IAAI,aAAa,CAAC,UAAU,CAAC,CAAwB;CACtE;AAED;;;;;GAKG;AACH,qBAAa,wBAAyB,YAAW,mBAAmB;IAClE,OAAO,CAAC,IAAI,CAAoB;IAChC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA0B;IACpD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA0B;IAEnD,2FAA2F;gBACxE,GAAG,CAAC,EAAE,iBAAiB;IAI1C,uKAAuK;IACvK,IAAW,GAAG,IAAI,iBAAiB,CAGlC;IAED;;OAEG;IACI,GAAG,CAAC,EAAE,EAAE,UAAU,GAAG,IAAI;IAQhC;;OAEG;IACI,MAAM,CAAC,EAAE,EAAE,UAAU,GAAG,IAAI;IAQnC,mCAAmC;IAC5B,KAAK,IAAI,IAAI;IAMpB,+DAA+D;IACxD,KAAK,CAAC,GAAG,CAAC,EAAE,iBAAiB,GAAG,IAAI;IAK3C,0IAA0I;IACnI,CAAC,MAAM,CAAC,QAAQ,CAAC;IAIxB,yJAAyJ;IAClJ,YAAY,CAAC,GAAG,EAAE,mBAAmB,GAAG,iBAAiB,GAAG,wBAAwB,GAAG,iBAAiB;IAS/G,2JAA2J;IACpJ,mBAAmB,CAAC,GAAG,EAAE,mBAAmB,GAAG,iBAAiB,GAAG,wBAAwB,GAAG,iBAAiB;IAStH,yJAAyJ;IAClJ,iBAAiB,CAAC,GAAG,EAAE,mBAAmB,GAAG,iBAAiB,GAAG,wBAAwB,GAAG,iBAAiB;IAOpH,+CAA+C;IAC/C,IAAW,OAAO,IAAI,OAAO,CAE5B;IAED;;OAEG;IACI,MAAM,CAAC,KAAK,EAAE,iBAAiB,GAAG,wBAAwB,GAAG,mBAAmB,GAAG,OAAO;IAgBjG,OAAO,KAAK,QAAQ,GAEnB;IAED,OAAO,CAAC,SAAS;CAWlB"}
1
+ {"version":3,"file":"CompressedId64Set.d.ts","sourceRoot":"","sources":["../../src/CompressedId64Set.ts"],"names":[],"mappings":"AAIA;;GAEG;AAGH,OAAO,EAAQ,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,cAAc;AACd,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC;AAEvC;;;;;;;;GAQG;AACH,yBAAiB,iBAAiB,CAAC;IAqBjC;;;;;OAKG;IACH,SAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,iBAAiB,CAE3D;IAED;;OAEG;IACH,SAAgB,eAAe,CAAC,GAAG,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,iBAAiB,CAK5E;IAED;;;;;;;;OAQG;IACH,SAAgB,aAAa,CAAC,GAAG,EAAE,SAAS,GAAG,iBAAiB,CAE/D;IAED;;;;;;;;OAQG;IACH,SAAgB,WAAW,CAAC,GAAG,EAAE,mBAAmB,GAAG,iBAAiB,CA2CvE;IAgFD;;OAEG;IACH,SAAiB,QAAQ,CAAC,GAAG,EAAE,iBAAiB,GAAG,QAAQ,CAAC,UAAU,CAAC,CA0FtE;IAED;;OAEG;IACH,SAAgB,QAAQ,CAAC,GAAG,EAAE,iBAAiB,GAAG,mBAAmB,CAIpE;IAED;;;;;;;;OAQG;IACH,SAAgB,aAAa,CAAC,aAAa,EAAE,iBAAiB,EAAE,GAAG,CAAC,EAAE,OAAO,GAAG,OAAO,CAMtF;IAED;;;;;;;;;OASG;IACH,SAAgB,eAAe,CAAC,aAAa,EAAE,iBAAiB,EAAE,GAAG,CAAC,EAAE,SAAS,GAAG,SAAS,CAM5F;CACF;AAED;;;GAGG;AACH,qBAAa,gBAAiB,SAAQ,WAAW,CAAC,UAAU,CAAC;IAC3D,oCAAoC;;IAKpC,8DAA8D;IAC9D,IAAW,GAAG,IAAI,mBAAmB,CAAwB;IAE7D,mCAAmC;IACnC,IAAW,KAAK,IAAI,aAAa,CAAC,UAAU,CAAC,CAAwB;CACtE;AAED;;;;;GAKG;AACH,qBAAa,wBAAyB,YAAW,mBAAmB;IAClE,OAAO,CAAC,IAAI,CAAoB;IAChC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA0B;IACpD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA0B;IAEnD,2FAA2F;gBACxE,GAAG,CAAC,EAAE,iBAAiB;IAI1C,uKAAuK;IACvK,IAAW,GAAG,IAAI,iBAAiB,CAGlC;IAED;;OAEG;IACI,GAAG,CAAC,EAAE,EAAE,UAAU,GAAG,IAAI;IAQhC;;OAEG;IACI,MAAM,CAAC,EAAE,EAAE,UAAU,GAAG,IAAI;IAQnC,mCAAmC;IAC5B,KAAK,IAAI,IAAI;IAMpB,+DAA+D;IACxD,KAAK,CAAC,GAAG,CAAC,EAAE,iBAAiB,GAAG,IAAI;IAK3C,0IAA0I;IACnI,CAAC,MAAM,CAAC,QAAQ,CAAC;IAIxB,yJAAyJ;IAClJ,YAAY,CAAC,GAAG,EAAE,mBAAmB,GAAG,iBAAiB,GAAG,wBAAwB,GAAG,iBAAiB;IAS/G,2JAA2J;IACpJ,mBAAmB,CAAC,GAAG,EAAE,mBAAmB,GAAG,iBAAiB,GAAG,wBAAwB,GAAG,iBAAiB;IAStH,yJAAyJ;IAClJ,iBAAiB,CAAC,GAAG,EAAE,mBAAmB,GAAG,iBAAiB,GAAG,wBAAwB,GAAG,iBAAiB;IAOpH,+CAA+C;IAC/C,IAAW,OAAO,IAAI,OAAO,CAE5B;IAED;;OAEG;IACI,MAAM,CAAC,KAAK,EAAE,iBAAiB,GAAG,wBAAwB,GAAG,mBAAmB,GAAG,OAAO;IAgBjG,OAAO,KAAK,QAAQ,GAEnB;IAED,OAAO,CAAC,SAAS;CAWlB"}