@itwin/core-bentley 4.0.0-dev.52 → 4.0.0-dev.55

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 (190) hide show
  1. package/lib/cjs/AccessToken.d.ts +10 -10
  2. package/lib/cjs/AccessToken.d.ts.map +1 -1
  3. package/lib/cjs/AccessToken.js +9 -9
  4. package/lib/cjs/Assert.d.ts +25 -25
  5. package/lib/cjs/Assert.js +45 -45
  6. package/lib/cjs/BeEvent.d.ts +81 -81
  7. package/lib/cjs/BeEvent.d.ts.map +1 -1
  8. package/lib/cjs/BeEvent.js +156 -156
  9. package/lib/cjs/BeSQLite.d.ts +172 -172
  10. package/lib/cjs/BeSQLite.js +185 -185
  11. package/lib/cjs/BentleyError.d.ts +378 -378
  12. package/lib/cjs/BentleyError.d.ts.map +1 -1
  13. package/lib/cjs/BentleyError.js +703 -703
  14. package/lib/cjs/BentleyLoggerCategory.d.ts +11 -11
  15. package/lib/cjs/BentleyLoggerCategory.js +19 -19
  16. package/lib/cjs/ByteStream.d.ts +110 -110
  17. package/lib/cjs/ByteStream.js +159 -159
  18. package/lib/cjs/ClassUtils.d.ts +14 -14
  19. package/lib/cjs/ClassUtils.js +27 -27
  20. package/lib/cjs/Compare.d.ts +47 -47
  21. package/lib/cjs/Compare.d.ts.map +1 -1
  22. package/lib/cjs/Compare.js +75 -75
  23. package/lib/cjs/CompressedId64Set.d.ts +134 -134
  24. package/lib/cjs/CompressedId64Set.d.ts.map +1 -1
  25. package/lib/cjs/CompressedId64Set.js +428 -428
  26. package/lib/cjs/CompressedId64Set.js.map +1 -1
  27. package/lib/cjs/Dictionary.d.ts +125 -125
  28. package/lib/cjs/Dictionary.js +203 -203
  29. package/lib/cjs/Disposable.d.ts +80 -80
  30. package/lib/cjs/Disposable.d.ts.map +1 -1
  31. package/lib/cjs/Disposable.js +120 -120
  32. package/lib/cjs/Id.d.ts +285 -285
  33. package/lib/cjs/Id.d.ts.map +1 -1
  34. package/lib/cjs/Id.js +643 -643
  35. package/lib/cjs/IndexMap.d.ts +65 -65
  36. package/lib/cjs/IndexMap.js +91 -91
  37. package/lib/cjs/JsonSchema.d.ts +77 -77
  38. package/lib/cjs/JsonSchema.d.ts.map +1 -1
  39. package/lib/cjs/JsonSchema.js +9 -9
  40. package/lib/cjs/JsonUtils.d.ts +78 -78
  41. package/lib/cjs/JsonUtils.js +151 -151
  42. package/lib/cjs/LRUMap.d.ts +129 -129
  43. package/lib/cjs/LRUMap.js +333 -333
  44. package/lib/cjs/LRUMap.js.map +1 -1
  45. package/lib/cjs/Logger.d.ts +143 -143
  46. package/lib/cjs/Logger.d.ts.map +1 -1
  47. package/lib/cjs/Logger.js +256 -256
  48. package/lib/cjs/Logger.js.map +1 -1
  49. package/lib/cjs/ObservableSet.d.ts +23 -23
  50. package/lib/cjs/ObservableSet.js +51 -51
  51. package/lib/cjs/OneAtATimeAction.d.ts +31 -31
  52. package/lib/cjs/OneAtATimeAction.js +94 -94
  53. package/lib/cjs/OrderedId64Iterable.d.ts +74 -74
  54. package/lib/cjs/OrderedId64Iterable.d.ts.map +1 -1
  55. package/lib/cjs/OrderedId64Iterable.js +235 -235
  56. package/lib/cjs/OrderedSet.d.ts +40 -40
  57. package/lib/cjs/OrderedSet.js +64 -64
  58. package/lib/cjs/PriorityQueue.d.ts +70 -70
  59. package/lib/cjs/PriorityQueue.d.ts.map +1 -1
  60. package/lib/cjs/PriorityQueue.js +140 -140
  61. package/lib/cjs/ProcessDetector.d.ts +59 -59
  62. package/lib/cjs/ProcessDetector.js +71 -71
  63. package/lib/cjs/SortedArray.d.ts +236 -236
  64. package/lib/cjs/SortedArray.d.ts.map +1 -1
  65. package/lib/cjs/SortedArray.js +315 -315
  66. package/lib/cjs/StatusCategory.d.ts +30 -30
  67. package/lib/cjs/StatusCategory.d.ts.map +1 -1
  68. package/lib/cjs/StatusCategory.js +460 -460
  69. package/lib/cjs/StatusCategory.js.map +1 -1
  70. package/lib/cjs/StringUtils.d.ts +22 -22
  71. package/lib/cjs/StringUtils.js +148 -148
  72. package/lib/cjs/Time.d.ts +122 -122
  73. package/lib/cjs/Time.js +152 -152
  74. package/lib/cjs/Time.js.map +1 -1
  75. package/lib/cjs/Tracing.d.ts +40 -40
  76. package/lib/cjs/Tracing.js +127 -127
  77. package/lib/cjs/TupleKeyedMap.d.ts +36 -36
  78. package/lib/cjs/TupleKeyedMap.js +102 -102
  79. package/lib/cjs/TypedArrayBuilder.d.ts +155 -155
  80. package/lib/cjs/TypedArrayBuilder.d.ts.map +1 -1
  81. package/lib/cjs/TypedArrayBuilder.js +206 -206
  82. package/lib/cjs/UnexpectedErrors.d.ts +43 -43
  83. package/lib/cjs/UnexpectedErrors.d.ts.map +1 -1
  84. package/lib/cjs/UnexpectedErrors.js +68 -68
  85. package/lib/cjs/UnexpectedErrors.js.map +1 -1
  86. package/lib/cjs/UtilityTypes.d.ts +112 -112
  87. package/lib/cjs/UtilityTypes.d.ts.map +1 -1
  88. package/lib/cjs/UtilityTypes.js +40 -40
  89. package/lib/cjs/YieldManager.d.ts +18 -18
  90. package/lib/cjs/YieldManager.js +34 -34
  91. package/lib/cjs/core-bentley.d.ts +74 -74
  92. package/lib/cjs/core-bentley.js +94 -90
  93. package/lib/cjs/core-bentley.js.map +1 -1
  94. package/lib/cjs/partitionArray.d.ts +21 -21
  95. package/lib/cjs/partitionArray.js +43 -43
  96. package/lib/esm/AccessToken.d.ts +10 -10
  97. package/lib/esm/AccessToken.d.ts.map +1 -1
  98. package/lib/esm/AccessToken.js +8 -8
  99. package/lib/esm/Assert.d.ts +25 -25
  100. package/lib/esm/Assert.js +41 -41
  101. package/lib/esm/BeEvent.d.ts +81 -81
  102. package/lib/esm/BeEvent.d.ts.map +1 -1
  103. package/lib/esm/BeEvent.js +150 -150
  104. package/lib/esm/BeSQLite.d.ts +172 -172
  105. package/lib/esm/BeSQLite.js +182 -182
  106. package/lib/esm/BentleyError.d.ts +378 -378
  107. package/lib/esm/BentleyError.d.ts.map +1 -1
  108. package/lib/esm/BentleyError.js +699 -699
  109. package/lib/esm/BentleyLoggerCategory.d.ts +11 -11
  110. package/lib/esm/BentleyLoggerCategory.js +16 -16
  111. package/lib/esm/ByteStream.d.ts +110 -110
  112. package/lib/esm/ByteStream.js +155 -155
  113. package/lib/esm/ClassUtils.d.ts +14 -14
  114. package/lib/esm/ClassUtils.js +22 -22
  115. package/lib/esm/Compare.d.ts +47 -47
  116. package/lib/esm/Compare.d.ts.map +1 -1
  117. package/lib/esm/Compare.js +63 -63
  118. package/lib/esm/CompressedId64Set.d.ts +134 -134
  119. package/lib/esm/CompressedId64Set.d.ts.map +1 -1
  120. package/lib/esm/CompressedId64Set.js +423 -423
  121. package/lib/esm/CompressedId64Set.js.map +1 -1
  122. package/lib/esm/Dictionary.d.ts +125 -125
  123. package/lib/esm/Dictionary.js +199 -199
  124. package/lib/esm/Disposable.d.ts +80 -80
  125. package/lib/esm/Disposable.d.ts.map +1 -1
  126. package/lib/esm/Disposable.js +112 -112
  127. package/lib/esm/Id.d.ts +285 -285
  128. package/lib/esm/Id.d.ts.map +1 -1
  129. package/lib/esm/Id.js +639 -639
  130. package/lib/esm/IndexMap.d.ts +65 -65
  131. package/lib/esm/IndexMap.js +86 -86
  132. package/lib/esm/JsonSchema.d.ts +77 -77
  133. package/lib/esm/JsonSchema.d.ts.map +1 -1
  134. package/lib/esm/JsonSchema.js +8 -8
  135. package/lib/esm/JsonUtils.d.ts +78 -78
  136. package/lib/esm/JsonUtils.js +148 -148
  137. package/lib/esm/LRUMap.d.ts +129 -129
  138. package/lib/esm/LRUMap.js +326 -326
  139. package/lib/esm/LRUMap.js.map +1 -1
  140. package/lib/esm/Logger.d.ts +143 -143
  141. package/lib/esm/Logger.d.ts.map +1 -1
  142. package/lib/esm/Logger.js +253 -251
  143. package/lib/esm/Logger.js.map +1 -1
  144. package/lib/esm/ObservableSet.d.ts +23 -23
  145. package/lib/esm/ObservableSet.js +47 -47
  146. package/lib/esm/OneAtATimeAction.d.ts +31 -31
  147. package/lib/esm/OneAtATimeAction.js +89 -89
  148. package/lib/esm/OrderedId64Iterable.d.ts +74 -74
  149. package/lib/esm/OrderedId64Iterable.d.ts.map +1 -1
  150. package/lib/esm/OrderedId64Iterable.js +232 -232
  151. package/lib/esm/OrderedSet.d.ts +40 -40
  152. package/lib/esm/OrderedSet.js +59 -59
  153. package/lib/esm/PriorityQueue.d.ts +70 -70
  154. package/lib/esm/PriorityQueue.d.ts.map +1 -1
  155. package/lib/esm/PriorityQueue.js +136 -136
  156. package/lib/esm/ProcessDetector.d.ts +59 -59
  157. package/lib/esm/ProcessDetector.js +67 -67
  158. package/lib/esm/SortedArray.d.ts +236 -236
  159. package/lib/esm/SortedArray.d.ts.map +1 -1
  160. package/lib/esm/SortedArray.js +308 -308
  161. package/lib/esm/StatusCategory.d.ts +30 -30
  162. package/lib/esm/StatusCategory.d.ts.map +1 -1
  163. package/lib/esm/StatusCategory.js +455 -454
  164. package/lib/esm/StatusCategory.js.map +1 -1
  165. package/lib/esm/StringUtils.d.ts +22 -22
  166. package/lib/esm/StringUtils.js +142 -142
  167. package/lib/esm/Time.d.ts +122 -122
  168. package/lib/esm/Time.js +146 -146
  169. package/lib/esm/Time.js.map +1 -1
  170. package/lib/esm/Tracing.d.ts +40 -40
  171. package/lib/esm/Tracing.js +123 -123
  172. package/lib/esm/TupleKeyedMap.d.ts +36 -36
  173. package/lib/esm/TupleKeyedMap.js +98 -98
  174. package/lib/esm/TypedArrayBuilder.d.ts +155 -155
  175. package/lib/esm/TypedArrayBuilder.d.ts.map +1 -1
  176. package/lib/esm/TypedArrayBuilder.js +198 -198
  177. package/lib/esm/UnexpectedErrors.d.ts +43 -43
  178. package/lib/esm/UnexpectedErrors.d.ts.map +1 -1
  179. package/lib/esm/UnexpectedErrors.js +65 -64
  180. package/lib/esm/UnexpectedErrors.js.map +1 -1
  181. package/lib/esm/UtilityTypes.d.ts +112 -112
  182. package/lib/esm/UtilityTypes.d.ts.map +1 -1
  183. package/lib/esm/UtilityTypes.js +34 -34
  184. package/lib/esm/YieldManager.d.ts +18 -18
  185. package/lib/esm/YieldManager.js +30 -30
  186. package/lib/esm/core-bentley.d.ts +74 -74
  187. package/lib/esm/core-bentley.js +78 -78
  188. package/lib/esm/partitionArray.d.ts +21 -21
  189. package/lib/esm/partitionArray.js +39 -39
  190. package/package.json +4 -4
@@ -1,66 +1,66 @@
1
- /** @packageDocumentation
2
- * @module Collections
3
- */
4
- import { OrderedComparator } from "./Compare";
5
- import { CloneFunction } from "./SortedArray";
6
- /** Associates a value of type T with an index representing its insertion order in an IndexMap<T>
7
- * @public
8
- */
9
- export declare class IndexedValue<T> {
10
- readonly value: T;
11
- readonly index: number;
12
- constructor(value: T, index: number);
13
- }
14
- /**
15
- * Maintains a set of unique elements in sorted order and retains the insertion order of each.
16
- * The uniqueness of the elements is determined by a comparison routine supplied by the user.
17
- * The user may also supply a maximum size, beyond which insertions will fail.
18
- * @public
19
- */
20
- export declare class IndexMap<T> {
21
- protected _array: Array<IndexedValue<T>>;
22
- protected readonly _compareValues: OrderedComparator<T>;
23
- protected readonly _clone: CloneFunction<T>;
24
- protected readonly _maximumSize: number;
25
- /**
26
- * Construct a new IndexMap<T>.
27
- * @param compare The function used to compare elements within the map.
28
- * @param maximumSize The maximum number of elements permitted in the IndexMap. The maximum index of an element is maximumSize-1.
29
- * @param clone The function invoked to clone a new element for insertion into the array. The default implementation simply returns its input.
30
- */
31
- constructor(compare: OrderedComparator<T>, maximumSize?: number, clone?: CloneFunction<T>);
32
- /** The number of elements in the map. */
33
- get length(): number;
34
- /** Returns true if the maximum number of elements have been inserted. */
35
- get isFull(): boolean;
36
- /** Returns true if the map contains no elements. */
37
- get isEmpty(): boolean;
38
- /** Removes all elements from the map. */
39
- clear(): void;
40
- /** Attempt to insert a new value into the map.
41
- * If an equivalent element already exists in the map, the corresponding index is returned.
42
- * If the map is full, nothing is inserted and -1 is returned.
43
- * Otherwise:
44
- * The new element is mapped to the next-available index (that is, the length of the map prior to insertion of this new element);
45
- * the value is cloned using the function supplied to the IndexMap constructor;
46
- * the cloned result is inserted into the map; and
47
- * the index of the new element is returned.
48
- * @param value The value to insert
49
- * @param onInsert The optional callback method to call if insertion occurs with the inserted value
50
- * @returns the index of the equivalent element in the map, or -1 if the map is full and no equivalent element exists.
51
- */
52
- insert(value: T, onInsert?: (value: T) => any): number;
53
- /**
54
- * Finds the index of an element equivalent to the supplied value.
55
- * @param value the value to find
56
- * @returns the index of an equivalent element in the map, or -1 if no such element exists.
57
- */
58
- indexOf(value: T): number;
59
- protected lowerBound(value: T): {
60
- index: number;
61
- equal: boolean;
62
- };
63
- /** Return an array of the elements in this map in which the array index of each element corresponds to the index assigned to it by the map. */
64
- toArray(): T[];
65
- }
1
+ /** @packageDocumentation
2
+ * @module Collections
3
+ */
4
+ import { OrderedComparator } from "./Compare";
5
+ import { CloneFunction } from "./SortedArray";
6
+ /** Associates a value of type T with an index representing its insertion order in an IndexMap<T>
7
+ * @public
8
+ */
9
+ export declare class IndexedValue<T> {
10
+ readonly value: T;
11
+ readonly index: number;
12
+ constructor(value: T, index: number);
13
+ }
14
+ /**
15
+ * Maintains a set of unique elements in sorted order and retains the insertion order of each.
16
+ * The uniqueness of the elements is determined by a comparison routine supplied by the user.
17
+ * The user may also supply a maximum size, beyond which insertions will fail.
18
+ * @public
19
+ */
20
+ export declare class IndexMap<T> {
21
+ protected _array: Array<IndexedValue<T>>;
22
+ protected readonly _compareValues: OrderedComparator<T>;
23
+ protected readonly _clone: CloneFunction<T>;
24
+ protected readonly _maximumSize: number;
25
+ /**
26
+ * Construct a new IndexMap<T>.
27
+ * @param compare The function used to compare elements within the map.
28
+ * @param maximumSize The maximum number of elements permitted in the IndexMap. The maximum index of an element is maximumSize-1.
29
+ * @param clone The function invoked to clone a new element for insertion into the array. The default implementation simply returns its input.
30
+ */
31
+ constructor(compare: OrderedComparator<T>, maximumSize?: number, clone?: CloneFunction<T>);
32
+ /** The number of elements in the map. */
33
+ get length(): number;
34
+ /** Returns true if the maximum number of elements have been inserted. */
35
+ get isFull(): boolean;
36
+ /** Returns true if the map contains no elements. */
37
+ get isEmpty(): boolean;
38
+ /** Removes all elements from the map. */
39
+ clear(): void;
40
+ /** Attempt to insert a new value into the map.
41
+ * If an equivalent element already exists in the map, the corresponding index is returned.
42
+ * If the map is full, nothing is inserted and -1 is returned.
43
+ * Otherwise:
44
+ * The new element is mapped to the next-available index (that is, the length of the map prior to insertion of this new element);
45
+ * the value is cloned using the function supplied to the IndexMap constructor;
46
+ * the cloned result is inserted into the map; and
47
+ * the index of the new element is returned.
48
+ * @param value The value to insert
49
+ * @param onInsert The optional callback method to call if insertion occurs with the inserted value
50
+ * @returns the index of the equivalent element in the map, or -1 if the map is full and no equivalent element exists.
51
+ */
52
+ insert(value: T, onInsert?: (value: T) => any): number;
53
+ /**
54
+ * Finds the index of an element equivalent to the supplied value.
55
+ * @param value the value to find
56
+ * @returns the index of an equivalent element in the map, or -1 if no such element exists.
57
+ */
58
+ indexOf(value: T): number;
59
+ protected lowerBound(value: T): {
60
+ index: number;
61
+ equal: boolean;
62
+ };
63
+ /** Return an array of the elements in this map in which the array index of each element corresponds to the index assigned to it by the map. */
64
+ toArray(): T[];
65
+ }
66
66
  //# sourceMappingURL=IndexMap.d.ts.map
@@ -1,92 +1,92 @@
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 Collections
8
- */
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.IndexMap = exports.IndexedValue = void 0;
11
- const SortedArray_1 = require("./SortedArray");
12
- /** Associates a value of type T with an index representing its insertion order in an IndexMap<T>
13
- * @public
14
- */
15
- class IndexedValue {
16
- constructor(value, index) {
17
- this.value = value;
18
- this.index = index;
19
- }
20
- }
21
- exports.IndexedValue = IndexedValue;
22
- /**
23
- * Maintains a set of unique elements in sorted order and retains the insertion order of each.
24
- * The uniqueness of the elements is determined by a comparison routine supplied by the user.
25
- * The user may also supply a maximum size, beyond which insertions will fail.
26
- * @public
27
- */
28
- class IndexMap {
29
- /**
30
- * Construct a new IndexMap<T>.
31
- * @param compare The function used to compare elements within the map.
32
- * @param maximumSize The maximum number of elements permitted in the IndexMap. The maximum index of an element is maximumSize-1.
33
- * @param clone The function invoked to clone a new element for insertion into the array. The default implementation simply returns its input.
34
- */
35
- constructor(compare, maximumSize = Number.MAX_SAFE_INTEGER, clone = SortedArray_1.shallowClone) {
36
- this._array = [];
37
- this._compareValues = compare;
38
- this._clone = clone;
39
- this._maximumSize = maximumSize;
40
- }
41
- /** The number of elements in the map. */
42
- get length() { return this._array.length; }
43
- /** Returns true if the maximum number of elements have been inserted. */
44
- get isFull() { return this.length >= this._maximumSize; }
45
- /** Returns true if the map contains no elements. */
46
- get isEmpty() { return 0 === this.length; }
47
- /** Removes all elements from the map. */
48
- clear() { this._array = []; }
49
- /** Attempt to insert a new value into the map.
50
- * If an equivalent element already exists in the map, the corresponding index is returned.
51
- * If the map is full, nothing is inserted and -1 is returned.
52
- * Otherwise:
53
- * The new element is mapped to the next-available index (that is, the length of the map prior to insertion of this new element);
54
- * the value is cloned using the function supplied to the IndexMap constructor;
55
- * the cloned result is inserted into the map; and
56
- * the index of the new element is returned.
57
- * @param value The value to insert
58
- * @param onInsert The optional callback method to call if insertion occurs with the inserted value
59
- * @returns the index of the equivalent element in the map, or -1 if the map is full and no equivalent element exists.
60
- */
61
- insert(value, onInsert) {
62
- const bound = this.lowerBound(value);
63
- if (bound.equal)
64
- return this._array[bound.index].index;
65
- else if (this.isFull)
66
- return -1;
67
- const entry = new IndexedValue(this._clone(value), this._array.length);
68
- if (undefined !== onInsert)
69
- onInsert(entry.value);
70
- this._array.splice(bound.index, 0, entry);
71
- return entry.index;
72
- }
73
- /**
74
- * Finds the index of an element equivalent to the supplied value.
75
- * @param value the value to find
76
- * @returns the index of an equivalent element in the map, or -1 if no such element exists.
77
- */
78
- indexOf(value) {
79
- const bound = this.lowerBound(value);
80
- return bound.equal ? this._array[bound.index].index : -1;
81
- }
82
- lowerBound(value) { return (0, SortedArray_1.lowerBound)(value, this._array, (lhs, rhs) => this._compareValues(lhs, rhs.value)); }
83
- /** Return an array of the elements in this map in which the array index of each element corresponds to the index assigned to it by the map. */
84
- toArray() {
85
- const array = [];
86
- for (const entry of this._array)
87
- array[entry.index] = entry.value;
88
- return array;
89
- }
90
- }
91
- exports.IndexMap = IndexMap;
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 Collections
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.IndexMap = exports.IndexedValue = void 0;
11
+ const SortedArray_1 = require("./SortedArray");
12
+ /** Associates a value of type T with an index representing its insertion order in an IndexMap<T>
13
+ * @public
14
+ */
15
+ class IndexedValue {
16
+ constructor(value, index) {
17
+ this.value = value;
18
+ this.index = index;
19
+ }
20
+ }
21
+ exports.IndexedValue = IndexedValue;
22
+ /**
23
+ * Maintains a set of unique elements in sorted order and retains the insertion order of each.
24
+ * The uniqueness of the elements is determined by a comparison routine supplied by the user.
25
+ * The user may also supply a maximum size, beyond which insertions will fail.
26
+ * @public
27
+ */
28
+ class IndexMap {
29
+ /**
30
+ * Construct a new IndexMap<T>.
31
+ * @param compare The function used to compare elements within the map.
32
+ * @param maximumSize The maximum number of elements permitted in the IndexMap. The maximum index of an element is maximumSize-1.
33
+ * @param clone The function invoked to clone a new element for insertion into the array. The default implementation simply returns its input.
34
+ */
35
+ constructor(compare, maximumSize = Number.MAX_SAFE_INTEGER, clone = SortedArray_1.shallowClone) {
36
+ this._array = [];
37
+ this._compareValues = compare;
38
+ this._clone = clone;
39
+ this._maximumSize = maximumSize;
40
+ }
41
+ /** The number of elements in the map. */
42
+ get length() { return this._array.length; }
43
+ /** Returns true if the maximum number of elements have been inserted. */
44
+ get isFull() { return this.length >= this._maximumSize; }
45
+ /** Returns true if the map contains no elements. */
46
+ get isEmpty() { return 0 === this.length; }
47
+ /** Removes all elements from the map. */
48
+ clear() { this._array = []; }
49
+ /** Attempt to insert a new value into the map.
50
+ * If an equivalent element already exists in the map, the corresponding index is returned.
51
+ * If the map is full, nothing is inserted and -1 is returned.
52
+ * Otherwise:
53
+ * The new element is mapped to the next-available index (that is, the length of the map prior to insertion of this new element);
54
+ * the value is cloned using the function supplied to the IndexMap constructor;
55
+ * the cloned result is inserted into the map; and
56
+ * the index of the new element is returned.
57
+ * @param value The value to insert
58
+ * @param onInsert The optional callback method to call if insertion occurs with the inserted value
59
+ * @returns the index of the equivalent element in the map, or -1 if the map is full and no equivalent element exists.
60
+ */
61
+ insert(value, onInsert) {
62
+ const bound = this.lowerBound(value);
63
+ if (bound.equal)
64
+ return this._array[bound.index].index;
65
+ else if (this.isFull)
66
+ return -1;
67
+ const entry = new IndexedValue(this._clone(value), this._array.length);
68
+ if (undefined !== onInsert)
69
+ onInsert(entry.value);
70
+ this._array.splice(bound.index, 0, entry);
71
+ return entry.index;
72
+ }
73
+ /**
74
+ * Finds the index of an element equivalent to the supplied value.
75
+ * @param value the value to find
76
+ * @returns the index of an equivalent element in the map, or -1 if no such element exists.
77
+ */
78
+ indexOf(value) {
79
+ const bound = this.lowerBound(value);
80
+ return bound.equal ? this._array[bound.index].index : -1;
81
+ }
82
+ lowerBound(value) { return (0, SortedArray_1.lowerBound)(value, this._array, (lhs, rhs) => this._compareValues(lhs, rhs.value)); }
83
+ /** Return an array of the elements in this map in which the array index of each element corresponds to the index assigned to it by the map. */
84
+ toArray() {
85
+ const array = [];
86
+ for (const entry of this._array)
87
+ array[entry.index] = entry.value;
88
+ return array;
89
+ }
90
+ }
91
+ exports.IndexMap = IndexMap;
92
92
  //# sourceMappingURL=IndexMap.js.map
@@ -1,78 +1,78 @@
1
- /** @packageDocumentation
2
- * @module Json
3
- */
4
- /** @public */
5
- export declare type JSONSchemaTypeName = "string" | "number" | "integer" | "boolean" | "null" | "array" | "object";
6
- /** @public */
7
- export declare type JSONSchemaType = string | number | boolean | object | JSONSchemaType[];
8
- /** @public */
9
- export interface JSONSchema {
10
- id?: string;
11
- $id?: string;
12
- $schema?: string;
13
- type?: JSONSchemaTypeName | JSONSchemaTypeName[];
14
- title?: string;
15
- default?: JSONSchemaType;
16
- definitions?: JSONSchemaMap;
17
- description?: string;
18
- properties?: JSONSchemaMap;
19
- patternProperties?: JSONSchemaMap;
20
- additionalProperties?: boolean | JSONSchema;
21
- minProperties?: number;
22
- maxProperties?: number;
23
- dependencies?: JSONSchemaMap | {
24
- [prop: string]: string[];
25
- };
26
- items?: JSONSchema | JSONSchema[];
27
- minItems?: number;
28
- maxItems?: number;
29
- uniqueItems?: boolean;
30
- additionalItems?: boolean | JSONSchema;
31
- pattern?: string;
32
- minLength?: number;
33
- maxLength?: number;
34
- minimum?: number;
35
- maximum?: number;
36
- exclusiveMinimum?: boolean | number;
37
- exclusiveMaximum?: boolean | number;
38
- multipleOf?: number;
39
- required?: string[];
40
- $ref?: string;
41
- anyOf?: JSONSchema[];
42
- allOf?: JSONSchema[];
43
- oneOf?: JSONSchema[];
44
- not?: JSONSchema;
45
- enum?: JSONSchemaType[];
46
- format?: string;
47
- const?: any;
48
- contains?: JSONSchema;
49
- propertyNames?: JSONSchema;
50
- $comment?: string;
51
- if?: JSONSchema;
52
- then?: JSONSchema;
53
- else?: JSONSchema;
54
- defaultSnippets?: JSONSchemaSnippet[];
55
- errorMessage?: string;
56
- patternErrorMessage?: string;
57
- deprecationMessage?: string;
58
- markdownDeprecationMessage?: string;
59
- enumDescriptions?: string[];
60
- markdownEnumDescriptions?: string[];
61
- markdownDescription?: string;
62
- doNotSuggest?: boolean;
63
- suggestSortText?: string;
64
- allowComments?: boolean;
65
- allowTrailingCommas?: boolean;
66
- }
67
- /** @public */
68
- export interface JSONSchemaMap {
69
- [name: string]: JSONSchema;
70
- }
71
- /** @public */
72
- export interface JSONSchemaSnippet {
73
- label?: string;
74
- description?: string;
75
- body?: any;
76
- bodyText?: string;
77
- }
1
+ /** @packageDocumentation
2
+ * @module Json
3
+ */
4
+ /** @public */
5
+ export type JSONSchemaTypeName = "string" | "number" | "integer" | "boolean" | "null" | "array" | "object";
6
+ /** @public */
7
+ export type JSONSchemaType = string | number | boolean | object | JSONSchemaType[];
8
+ /** @public */
9
+ export interface JSONSchema {
10
+ id?: string;
11
+ $id?: string;
12
+ $schema?: string;
13
+ type?: JSONSchemaTypeName | JSONSchemaTypeName[];
14
+ title?: string;
15
+ default?: JSONSchemaType;
16
+ definitions?: JSONSchemaMap;
17
+ description?: string;
18
+ properties?: JSONSchemaMap;
19
+ patternProperties?: JSONSchemaMap;
20
+ additionalProperties?: boolean | JSONSchema;
21
+ minProperties?: number;
22
+ maxProperties?: number;
23
+ dependencies?: JSONSchemaMap | {
24
+ [prop: string]: string[];
25
+ };
26
+ items?: JSONSchema | JSONSchema[];
27
+ minItems?: number;
28
+ maxItems?: number;
29
+ uniqueItems?: boolean;
30
+ additionalItems?: boolean | JSONSchema;
31
+ pattern?: string;
32
+ minLength?: number;
33
+ maxLength?: number;
34
+ minimum?: number;
35
+ maximum?: number;
36
+ exclusiveMinimum?: boolean | number;
37
+ exclusiveMaximum?: boolean | number;
38
+ multipleOf?: number;
39
+ required?: string[];
40
+ $ref?: string;
41
+ anyOf?: JSONSchema[];
42
+ allOf?: JSONSchema[];
43
+ oneOf?: JSONSchema[];
44
+ not?: JSONSchema;
45
+ enum?: JSONSchemaType[];
46
+ format?: string;
47
+ const?: any;
48
+ contains?: JSONSchema;
49
+ propertyNames?: JSONSchema;
50
+ $comment?: string;
51
+ if?: JSONSchema;
52
+ then?: JSONSchema;
53
+ else?: JSONSchema;
54
+ defaultSnippets?: JSONSchemaSnippet[];
55
+ errorMessage?: string;
56
+ patternErrorMessage?: string;
57
+ deprecationMessage?: string;
58
+ markdownDeprecationMessage?: string;
59
+ enumDescriptions?: string[];
60
+ markdownEnumDescriptions?: string[];
61
+ markdownDescription?: string;
62
+ doNotSuggest?: boolean;
63
+ suggestSortText?: string;
64
+ allowComments?: boolean;
65
+ allowTrailingCommas?: boolean;
66
+ }
67
+ /** @public */
68
+ export interface JSONSchemaMap {
69
+ [name: string]: JSONSchema;
70
+ }
71
+ /** @public */
72
+ export interface JSONSchemaSnippet {
73
+ label?: string;
74
+ description?: string;
75
+ body?: any;
76
+ bodyText?: string;
77
+ }
78
78
  //# sourceMappingURL=JsonSchema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"JsonSchema.d.ts","sourceRoot":"","sources":["../../src/JsonSchema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"JsonSchema.d.ts","sourceRoot":"","sources":["../../src/JsonSchema.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
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 Json
8
- */
9
- Object.defineProperty(exports, "__esModule", { value: true });
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 Json
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
10
  //# sourceMappingURL=JsonSchema.js.map