@itwin/core-bentley 4.0.0-dev.44 → 4.0.0-dev.48

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 (219) hide show
  1. package/lib/cjs/AccessToken.d.ts +10 -10
  2. package/lib/cjs/AccessToken.js +9 -9
  3. package/lib/cjs/AccessToken.js.map +1 -1
  4. package/lib/cjs/Assert.d.ts +25 -25
  5. package/lib/cjs/Assert.js +45 -45
  6. package/lib/cjs/Assert.js.map +1 -1
  7. package/lib/cjs/BeEvent.d.ts +81 -81
  8. package/lib/cjs/BeEvent.js +156 -156
  9. package/lib/cjs/BeEvent.js.map +1 -1
  10. package/lib/cjs/BeSQLite.d.ts +172 -172
  11. package/lib/cjs/BeSQLite.js +185 -185
  12. package/lib/cjs/BeSQLite.js.map +1 -1
  13. package/lib/cjs/BentleyError.d.ts +378 -378
  14. package/lib/cjs/BentleyError.js +703 -703
  15. package/lib/cjs/BentleyError.js.map +1 -1
  16. package/lib/cjs/BentleyLoggerCategory.d.ts +11 -11
  17. package/lib/cjs/BentleyLoggerCategory.js +19 -19
  18. package/lib/cjs/BentleyLoggerCategory.js.map +1 -1
  19. package/lib/cjs/ByteStream.d.ts +110 -110
  20. package/lib/cjs/ByteStream.js +159 -159
  21. package/lib/cjs/ByteStream.js.map +1 -1
  22. package/lib/cjs/ClassUtils.d.ts +14 -14
  23. package/lib/cjs/ClassUtils.js +27 -27
  24. package/lib/cjs/ClassUtils.js.map +1 -1
  25. package/lib/cjs/Compare.d.ts +47 -47
  26. package/lib/cjs/Compare.js +75 -75
  27. package/lib/cjs/Compare.js.map +1 -1
  28. package/lib/cjs/CompressedId64Set.d.ts +134 -134
  29. package/lib/cjs/CompressedId64Set.js +428 -428
  30. package/lib/cjs/CompressedId64Set.js.map +1 -1
  31. package/lib/cjs/Dictionary.d.ts +125 -125
  32. package/lib/cjs/Dictionary.js +203 -203
  33. package/lib/cjs/Dictionary.js.map +1 -1
  34. package/lib/cjs/Disposable.d.ts +80 -80
  35. package/lib/cjs/Disposable.js +120 -120
  36. package/lib/cjs/Disposable.js.map +1 -1
  37. package/lib/cjs/Id.d.ts +285 -285
  38. package/lib/cjs/Id.js +643 -643
  39. package/lib/cjs/Id.js.map +1 -1
  40. package/lib/cjs/IndexMap.d.ts +65 -65
  41. package/lib/cjs/IndexMap.js +91 -91
  42. package/lib/cjs/IndexMap.js.map +1 -1
  43. package/lib/cjs/JsonSchema.d.ts +77 -77
  44. package/lib/cjs/JsonSchema.js +9 -9
  45. package/lib/cjs/JsonSchema.js.map +1 -1
  46. package/lib/cjs/JsonUtils.d.ts +78 -78
  47. package/lib/cjs/JsonUtils.js +151 -151
  48. package/lib/cjs/JsonUtils.js.map +1 -1
  49. package/lib/cjs/LRUMap.d.ts +129 -129
  50. package/lib/cjs/LRUMap.js +333 -333
  51. package/lib/cjs/LRUMap.js.map +1 -1
  52. package/lib/cjs/Logger.d.ts +143 -143
  53. package/lib/cjs/Logger.js +256 -256
  54. package/lib/cjs/Logger.js.map +1 -1
  55. package/lib/cjs/ObservableSet.d.ts +23 -23
  56. package/lib/cjs/ObservableSet.js +51 -51
  57. package/lib/cjs/ObservableSet.js.map +1 -1
  58. package/lib/cjs/OneAtATimeAction.d.ts +31 -31
  59. package/lib/cjs/OneAtATimeAction.js +94 -94
  60. package/lib/cjs/OneAtATimeAction.js.map +1 -1
  61. package/lib/cjs/OrderedId64Iterable.d.ts +74 -74
  62. package/lib/cjs/OrderedId64Iterable.js +235 -235
  63. package/lib/cjs/OrderedId64Iterable.js.map +1 -1
  64. package/lib/cjs/OrderedSet.d.ts +40 -40
  65. package/lib/cjs/OrderedSet.js +64 -64
  66. package/lib/cjs/OrderedSet.js.map +1 -1
  67. package/lib/cjs/PriorityQueue.d.ts +70 -70
  68. package/lib/cjs/PriorityQueue.js +140 -140
  69. package/lib/cjs/PriorityQueue.js.map +1 -1
  70. package/lib/cjs/ProcessDetector.d.ts +59 -59
  71. package/lib/cjs/ProcessDetector.js +71 -71
  72. package/lib/cjs/ProcessDetector.js.map +1 -1
  73. package/lib/cjs/SortedArray.d.ts +236 -236
  74. package/lib/cjs/SortedArray.js +315 -315
  75. package/lib/cjs/SortedArray.js.map +1 -1
  76. package/lib/cjs/StatusCategory.d.ts +30 -30
  77. package/lib/cjs/StatusCategory.js +460 -460
  78. package/lib/cjs/StatusCategory.js.map +1 -1
  79. package/lib/cjs/StringUtils.d.ts +22 -22
  80. package/lib/cjs/StringUtils.js +148 -148
  81. package/lib/cjs/StringUtils.js.map +1 -1
  82. package/lib/cjs/Time.d.ts +122 -122
  83. package/lib/cjs/Time.js +152 -152
  84. package/lib/cjs/Time.js.map +1 -1
  85. package/lib/cjs/Tracing.d.ts +40 -40
  86. package/lib/cjs/Tracing.js +127 -127
  87. package/lib/cjs/Tracing.js.map +1 -1
  88. package/lib/cjs/TupleKeyedMap.d.ts +36 -36
  89. package/lib/cjs/TupleKeyedMap.js +102 -102
  90. package/lib/cjs/TupleKeyedMap.js.map +1 -1
  91. package/lib/cjs/TypedArrayBuilder.d.ts +155 -155
  92. package/lib/cjs/TypedArrayBuilder.js +206 -206
  93. package/lib/cjs/TypedArrayBuilder.js.map +1 -1
  94. package/lib/cjs/UnexpectedErrors.d.ts +43 -43
  95. package/lib/cjs/UnexpectedErrors.js +68 -68
  96. package/lib/cjs/UnexpectedErrors.js.map +1 -1
  97. package/lib/cjs/UtilityTypes.d.ts +112 -96
  98. package/lib/cjs/UtilityTypes.d.ts.map +1 -1
  99. package/lib/cjs/UtilityTypes.js +40 -40
  100. package/lib/cjs/UtilityTypes.js.map +1 -1
  101. package/lib/cjs/YieldManager.d.ts +18 -18
  102. package/lib/cjs/YieldManager.js +34 -34
  103. package/lib/cjs/YieldManager.js.map +1 -1
  104. package/lib/cjs/core-bentley.d.ts +74 -74
  105. package/lib/cjs/core-bentley.js +90 -90
  106. package/lib/cjs/core-bentley.js.map +1 -1
  107. package/lib/cjs/partitionArray.d.ts +21 -21
  108. package/lib/cjs/partitionArray.js +43 -43
  109. package/lib/cjs/partitionArray.js.map +1 -1
  110. package/lib/esm/AccessToken.d.ts +10 -10
  111. package/lib/esm/AccessToken.js +8 -8
  112. package/lib/esm/AccessToken.js.map +1 -1
  113. package/lib/esm/Assert.d.ts +25 -25
  114. package/lib/esm/Assert.js +41 -41
  115. package/lib/esm/Assert.js.map +1 -1
  116. package/lib/esm/BeEvent.d.ts +81 -81
  117. package/lib/esm/BeEvent.js +150 -150
  118. package/lib/esm/BeEvent.js.map +1 -1
  119. package/lib/esm/BeSQLite.d.ts +172 -172
  120. package/lib/esm/BeSQLite.js +182 -182
  121. package/lib/esm/BeSQLite.js.map +1 -1
  122. package/lib/esm/BentleyError.d.ts +378 -378
  123. package/lib/esm/BentleyError.js +699 -699
  124. package/lib/esm/BentleyError.js.map +1 -1
  125. package/lib/esm/BentleyLoggerCategory.d.ts +11 -11
  126. package/lib/esm/BentleyLoggerCategory.js +16 -16
  127. package/lib/esm/BentleyLoggerCategory.js.map +1 -1
  128. package/lib/esm/ByteStream.d.ts +110 -110
  129. package/lib/esm/ByteStream.js +155 -155
  130. package/lib/esm/ByteStream.js.map +1 -1
  131. package/lib/esm/ClassUtils.d.ts +14 -14
  132. package/lib/esm/ClassUtils.js +22 -22
  133. package/lib/esm/ClassUtils.js.map +1 -1
  134. package/lib/esm/Compare.d.ts +47 -47
  135. package/lib/esm/Compare.js +63 -63
  136. package/lib/esm/Compare.js.map +1 -1
  137. package/lib/esm/CompressedId64Set.d.ts +134 -134
  138. package/lib/esm/CompressedId64Set.js +423 -423
  139. package/lib/esm/CompressedId64Set.js.map +1 -1
  140. package/lib/esm/Dictionary.d.ts +125 -125
  141. package/lib/esm/Dictionary.js +199 -199
  142. package/lib/esm/Dictionary.js.map +1 -1
  143. package/lib/esm/Disposable.d.ts +80 -80
  144. package/lib/esm/Disposable.js +112 -112
  145. package/lib/esm/Disposable.js.map +1 -1
  146. package/lib/esm/Id.d.ts +285 -285
  147. package/lib/esm/Id.js +639 -639
  148. package/lib/esm/Id.js.map +1 -1
  149. package/lib/esm/IndexMap.d.ts +65 -65
  150. package/lib/esm/IndexMap.js +86 -86
  151. package/lib/esm/IndexMap.js.map +1 -1
  152. package/lib/esm/JsonSchema.d.ts +77 -77
  153. package/lib/esm/JsonSchema.js +8 -8
  154. package/lib/esm/JsonSchema.js.map +1 -1
  155. package/lib/esm/JsonUtils.d.ts +78 -78
  156. package/lib/esm/JsonUtils.js +148 -148
  157. package/lib/esm/JsonUtils.js.map +1 -1
  158. package/lib/esm/LRUMap.d.ts +129 -129
  159. package/lib/esm/LRUMap.js +326 -326
  160. package/lib/esm/LRUMap.js.map +1 -1
  161. package/lib/esm/Logger.d.ts +143 -143
  162. package/lib/esm/Logger.js +251 -251
  163. package/lib/esm/Logger.js.map +1 -1
  164. package/lib/esm/ObservableSet.d.ts +23 -23
  165. package/lib/esm/ObservableSet.js +47 -47
  166. package/lib/esm/ObservableSet.js.map +1 -1
  167. package/lib/esm/OneAtATimeAction.d.ts +31 -31
  168. package/lib/esm/OneAtATimeAction.js +89 -89
  169. package/lib/esm/OneAtATimeAction.js.map +1 -1
  170. package/lib/esm/OrderedId64Iterable.d.ts +74 -74
  171. package/lib/esm/OrderedId64Iterable.js +232 -232
  172. package/lib/esm/OrderedId64Iterable.js.map +1 -1
  173. package/lib/esm/OrderedSet.d.ts +40 -40
  174. package/lib/esm/OrderedSet.js +59 -59
  175. package/lib/esm/OrderedSet.js.map +1 -1
  176. package/lib/esm/PriorityQueue.d.ts +70 -70
  177. package/lib/esm/PriorityQueue.js +136 -136
  178. package/lib/esm/PriorityQueue.js.map +1 -1
  179. package/lib/esm/ProcessDetector.d.ts +59 -59
  180. package/lib/esm/ProcessDetector.js +67 -67
  181. package/lib/esm/ProcessDetector.js.map +1 -1
  182. package/lib/esm/SortedArray.d.ts +236 -236
  183. package/lib/esm/SortedArray.js +308 -308
  184. package/lib/esm/SortedArray.js.map +1 -1
  185. package/lib/esm/StatusCategory.d.ts +30 -30
  186. package/lib/esm/StatusCategory.js +454 -454
  187. package/lib/esm/StatusCategory.js.map +1 -1
  188. package/lib/esm/StringUtils.d.ts +22 -22
  189. package/lib/esm/StringUtils.js +142 -142
  190. package/lib/esm/StringUtils.js.map +1 -1
  191. package/lib/esm/Time.d.ts +122 -122
  192. package/lib/esm/Time.js +146 -146
  193. package/lib/esm/Time.js.map +1 -1
  194. package/lib/esm/Tracing.d.ts +40 -40
  195. package/lib/esm/Tracing.js +123 -123
  196. package/lib/esm/Tracing.js.map +1 -1
  197. package/lib/esm/TupleKeyedMap.d.ts +36 -36
  198. package/lib/esm/TupleKeyedMap.js +98 -98
  199. package/lib/esm/TupleKeyedMap.js.map +1 -1
  200. package/lib/esm/TypedArrayBuilder.d.ts +155 -155
  201. package/lib/esm/TypedArrayBuilder.js +198 -198
  202. package/lib/esm/TypedArrayBuilder.js.map +1 -1
  203. package/lib/esm/UnexpectedErrors.d.ts +43 -43
  204. package/lib/esm/UnexpectedErrors.js +64 -64
  205. package/lib/esm/UnexpectedErrors.js.map +1 -1
  206. package/lib/esm/UtilityTypes.d.ts +112 -96
  207. package/lib/esm/UtilityTypes.d.ts.map +1 -1
  208. package/lib/esm/UtilityTypes.js +34 -34
  209. package/lib/esm/UtilityTypes.js.map +1 -1
  210. package/lib/esm/YieldManager.d.ts +18 -18
  211. package/lib/esm/YieldManager.js +30 -30
  212. package/lib/esm/YieldManager.js.map +1 -1
  213. package/lib/esm/core-bentley.d.ts +74 -74
  214. package/lib/esm/core-bentley.js +78 -78
  215. package/lib/esm/core-bentley.js.map +1 -1
  216. package/lib/esm/partitionArray.d.ts +21 -21
  217. package/lib/esm/partitionArray.js +39 -39
  218. package/lib/esm/partitionArray.js.map +1 -1
  219. package/package.json +3 -3
@@ -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 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
+ }
135
135
  //# sourceMappingURL=CompressedId64Set.d.ts.map