@itwin/core-bentley 3.5.0-dev.5 → 3.5.0-dev.51

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 (234) hide show
  1. package/CHANGELOG.md +47 -1
  2. package/lib/cjs/AccessToken.d.ts +8 -8
  3. package/lib/cjs/AccessToken.js +9 -9
  4. package/lib/cjs/AccessToken.js.map +1 -1
  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/AsyncMutex.d.ts +26 -26
  9. package/lib/cjs/AsyncMutex.js +43 -43
  10. package/lib/cjs/AsyncMutex.js.map +1 -1
  11. package/lib/cjs/BeEvent.d.ts +81 -81
  12. package/lib/cjs/BeEvent.js +156 -156
  13. package/lib/cjs/BeEvent.js.map +1 -1
  14. package/lib/cjs/BeSQLite.d.ts +170 -170
  15. package/lib/cjs/BeSQLite.js +183 -183
  16. package/lib/cjs/BeSQLite.js.map +1 -1
  17. package/lib/cjs/BentleyError.d.ts +378 -376
  18. package/lib/cjs/BentleyError.d.ts.map +1 -1
  19. package/lib/cjs/BentleyError.js +702 -699
  20. package/lib/cjs/BentleyError.js.map +1 -1
  21. package/lib/cjs/BentleyLoggerCategory.d.ts +11 -11
  22. package/lib/cjs/BentleyLoggerCategory.js +19 -19
  23. package/lib/cjs/BentleyLoggerCategory.js.map +1 -1
  24. package/lib/cjs/ByteStream.d.ts +92 -92
  25. package/lib/cjs/ByteStream.js +133 -133
  26. package/lib/cjs/ByteStream.js.map +1 -1
  27. package/lib/cjs/ClassUtils.d.ts +14 -14
  28. package/lib/cjs/ClassUtils.js +27 -27
  29. package/lib/cjs/ClassUtils.js.map +1 -1
  30. package/lib/cjs/Compare.d.ts +47 -47
  31. package/lib/cjs/Compare.js +75 -75
  32. package/lib/cjs/Compare.js.map +1 -1
  33. package/lib/cjs/CompressedId64Set.d.ts +134 -134
  34. package/lib/cjs/CompressedId64Set.js +428 -428
  35. package/lib/cjs/CompressedId64Set.js.map +1 -1
  36. package/lib/cjs/Dictionary.d.ts +125 -125
  37. package/lib/cjs/Dictionary.js +203 -203
  38. package/lib/cjs/Dictionary.js.map +1 -1
  39. package/lib/cjs/Disposable.d.ts +80 -80
  40. package/lib/cjs/Disposable.js +120 -120
  41. package/lib/cjs/Disposable.js.map +1 -1
  42. package/lib/cjs/Id.d.ts +277 -277
  43. package/lib/cjs/Id.js +629 -629
  44. package/lib/cjs/Id.js.map +1 -1
  45. package/lib/cjs/IndexMap.d.ts +65 -65
  46. package/lib/cjs/IndexMap.js +91 -91
  47. package/lib/cjs/IndexMap.js.map +1 -1
  48. package/lib/cjs/JsonSchema.d.ts +77 -77
  49. package/lib/cjs/JsonSchema.js +9 -9
  50. package/lib/cjs/JsonSchema.js.map +1 -1
  51. package/lib/cjs/JsonUtils.d.ts +78 -78
  52. package/lib/cjs/JsonUtils.js +151 -151
  53. package/lib/cjs/JsonUtils.js.map +1 -1
  54. package/lib/cjs/LRUMap.d.ts +129 -129
  55. package/lib/cjs/LRUMap.js +333 -333
  56. package/lib/cjs/LRUMap.js.map +1 -1
  57. package/lib/cjs/Logger.d.ts +143 -141
  58. package/lib/cjs/Logger.d.ts.map +1 -1
  59. package/lib/cjs/Logger.js +258 -254
  60. package/lib/cjs/Logger.js.map +1 -1
  61. package/lib/cjs/ObservableSet.d.ts +23 -23
  62. package/lib/cjs/ObservableSet.js +51 -51
  63. package/lib/cjs/ObservableSet.js.map +1 -1
  64. package/lib/cjs/OneAtATimeAction.d.ts +31 -31
  65. package/lib/cjs/OneAtATimeAction.js +94 -94
  66. package/lib/cjs/OneAtATimeAction.js.map +1 -1
  67. package/lib/cjs/OrderedId64Iterable.d.ts +74 -74
  68. package/lib/cjs/OrderedId64Iterable.js +235 -235
  69. package/lib/cjs/OrderedId64Iterable.js.map +1 -1
  70. package/lib/cjs/OrderedSet.d.ts +40 -40
  71. package/lib/cjs/OrderedSet.js +64 -64
  72. package/lib/cjs/OrderedSet.js.map +1 -1
  73. package/lib/cjs/PriorityQueue.d.ts +70 -70
  74. package/lib/cjs/PriorityQueue.js +140 -140
  75. package/lib/cjs/PriorityQueue.js.map +1 -1
  76. package/lib/cjs/ProcessDetector.d.ts +59 -59
  77. package/lib/cjs/ProcessDetector.js +71 -71
  78. package/lib/cjs/ProcessDetector.js.map +1 -1
  79. package/lib/cjs/SortedArray.d.ts +232 -232
  80. package/lib/cjs/SortedArray.js +303 -303
  81. package/lib/cjs/SortedArray.js.map +1 -1
  82. package/lib/cjs/StatusCategory.d.ts +30 -30
  83. package/lib/cjs/StatusCategory.js +460 -460
  84. package/lib/cjs/StatusCategory.js.map +1 -1
  85. package/lib/cjs/StringUtils.d.ts +22 -22
  86. package/lib/cjs/StringUtils.js +148 -148
  87. package/lib/cjs/StringUtils.js.map +1 -1
  88. package/lib/cjs/Time.d.ts +122 -122
  89. package/lib/cjs/Time.js +152 -152
  90. package/lib/cjs/Time.js.map +1 -1
  91. package/lib/cjs/Tracing.d.ts +40 -40
  92. package/lib/cjs/Tracing.js +130 -130
  93. package/lib/cjs/Tracing.js.map +1 -1
  94. package/lib/cjs/TupleKeyedMap.d.ts +37 -0
  95. package/lib/cjs/TupleKeyedMap.d.ts.map +1 -0
  96. package/lib/cjs/TupleKeyedMap.js +103 -0
  97. package/lib/cjs/TupleKeyedMap.js.map +1 -0
  98. package/lib/cjs/TypedArrayBuilder.d.ts +97 -97
  99. package/lib/cjs/TypedArrayBuilder.js +134 -134
  100. package/lib/cjs/TypedArrayBuilder.js.map +1 -1
  101. package/lib/cjs/UnexpectedErrors.d.ts +43 -43
  102. package/lib/cjs/UnexpectedErrors.js +68 -68
  103. package/lib/cjs/UnexpectedErrors.js.map +1 -1
  104. package/lib/cjs/UtilityTypes.d.ts +100 -86
  105. package/lib/cjs/UtilityTypes.d.ts.map +1 -1
  106. package/lib/cjs/UtilityTypes.js +40 -26
  107. package/lib/cjs/UtilityTypes.js.map +1 -1
  108. package/lib/cjs/YieldManager.d.ts +18 -18
  109. package/lib/cjs/YieldManager.js +34 -34
  110. package/lib/cjs/YieldManager.js.map +1 -1
  111. package/lib/cjs/core-bentley.d.ts +75 -74
  112. package/lib/cjs/core-bentley.d.ts.map +1 -1
  113. package/lib/cjs/core-bentley.js +91 -90
  114. package/lib/cjs/core-bentley.js.map +1 -1
  115. package/lib/cjs/partitionArray.d.ts +21 -21
  116. package/lib/cjs/partitionArray.js +43 -43
  117. package/lib/cjs/partitionArray.js.map +1 -1
  118. package/lib/esm/AccessToken.d.ts +8 -8
  119. package/lib/esm/AccessToken.js +8 -8
  120. package/lib/esm/AccessToken.js.map +1 -1
  121. package/lib/esm/Assert.d.ts +25 -25
  122. package/lib/esm/Assert.js +41 -41
  123. package/lib/esm/Assert.js.map +1 -1
  124. package/lib/esm/AsyncMutex.d.ts +26 -26
  125. package/lib/esm/AsyncMutex.js +39 -39
  126. package/lib/esm/AsyncMutex.js.map +1 -1
  127. package/lib/esm/BeEvent.d.ts +81 -81
  128. package/lib/esm/BeEvent.js +150 -150
  129. package/lib/esm/BeEvent.js.map +1 -1
  130. package/lib/esm/BeSQLite.d.ts +170 -170
  131. package/lib/esm/BeSQLite.js +180 -180
  132. package/lib/esm/BeSQLite.js.map +1 -1
  133. package/lib/esm/BentleyError.d.ts +378 -376
  134. package/lib/esm/BentleyError.d.ts.map +1 -1
  135. package/lib/esm/BentleyError.js +698 -695
  136. package/lib/esm/BentleyError.js.map +1 -1
  137. package/lib/esm/BentleyLoggerCategory.d.ts +11 -11
  138. package/lib/esm/BentleyLoggerCategory.js +16 -16
  139. package/lib/esm/BentleyLoggerCategory.js.map +1 -1
  140. package/lib/esm/ByteStream.d.ts +92 -92
  141. package/lib/esm/ByteStream.js +129 -129
  142. package/lib/esm/ByteStream.js.map +1 -1
  143. package/lib/esm/ClassUtils.d.ts +14 -14
  144. package/lib/esm/ClassUtils.js +22 -22
  145. package/lib/esm/ClassUtils.js.map +1 -1
  146. package/lib/esm/Compare.d.ts +47 -47
  147. package/lib/esm/Compare.js +63 -63
  148. package/lib/esm/Compare.js.map +1 -1
  149. package/lib/esm/CompressedId64Set.d.ts +134 -134
  150. package/lib/esm/CompressedId64Set.js +423 -423
  151. package/lib/esm/CompressedId64Set.js.map +1 -1
  152. package/lib/esm/Dictionary.d.ts +125 -125
  153. package/lib/esm/Dictionary.js +199 -199
  154. package/lib/esm/Dictionary.js.map +1 -1
  155. package/lib/esm/Disposable.d.ts +80 -80
  156. package/lib/esm/Disposable.js +112 -112
  157. package/lib/esm/Disposable.js.map +1 -1
  158. package/lib/esm/Id.d.ts +277 -277
  159. package/lib/esm/Id.js +625 -625
  160. package/lib/esm/Id.js.map +1 -1
  161. package/lib/esm/IndexMap.d.ts +65 -65
  162. package/lib/esm/IndexMap.js +86 -86
  163. package/lib/esm/IndexMap.js.map +1 -1
  164. package/lib/esm/JsonSchema.d.ts +77 -77
  165. package/lib/esm/JsonSchema.js +8 -8
  166. package/lib/esm/JsonSchema.js.map +1 -1
  167. package/lib/esm/JsonUtils.d.ts +78 -78
  168. package/lib/esm/JsonUtils.js +148 -148
  169. package/lib/esm/JsonUtils.js.map +1 -1
  170. package/lib/esm/LRUMap.d.ts +129 -129
  171. package/lib/esm/LRUMap.js +326 -326
  172. package/lib/esm/LRUMap.js.map +1 -1
  173. package/lib/esm/Logger.d.ts +143 -141
  174. package/lib/esm/Logger.d.ts.map +1 -1
  175. package/lib/esm/Logger.js +253 -249
  176. package/lib/esm/Logger.js.map +1 -1
  177. package/lib/esm/ObservableSet.d.ts +23 -23
  178. package/lib/esm/ObservableSet.js +47 -47
  179. package/lib/esm/ObservableSet.js.map +1 -1
  180. package/lib/esm/OneAtATimeAction.d.ts +31 -31
  181. package/lib/esm/OneAtATimeAction.js +89 -89
  182. package/lib/esm/OneAtATimeAction.js.map +1 -1
  183. package/lib/esm/OrderedId64Iterable.d.ts +74 -74
  184. package/lib/esm/OrderedId64Iterable.js +232 -232
  185. package/lib/esm/OrderedId64Iterable.js.map +1 -1
  186. package/lib/esm/OrderedSet.d.ts +40 -40
  187. package/lib/esm/OrderedSet.js +59 -59
  188. package/lib/esm/OrderedSet.js.map +1 -1
  189. package/lib/esm/PriorityQueue.d.ts +70 -70
  190. package/lib/esm/PriorityQueue.js +136 -136
  191. package/lib/esm/PriorityQueue.js.map +1 -1
  192. package/lib/esm/ProcessDetector.d.ts +59 -59
  193. package/lib/esm/ProcessDetector.js +67 -67
  194. package/lib/esm/ProcessDetector.js.map +1 -1
  195. package/lib/esm/SortedArray.d.ts +232 -232
  196. package/lib/esm/SortedArray.js +296 -296
  197. package/lib/esm/SortedArray.js.map +1 -1
  198. package/lib/esm/StatusCategory.d.ts +30 -30
  199. package/lib/esm/StatusCategory.js +454 -454
  200. package/lib/esm/StatusCategory.js.map +1 -1
  201. package/lib/esm/StringUtils.d.ts +22 -22
  202. package/lib/esm/StringUtils.js +142 -142
  203. package/lib/esm/StringUtils.js.map +1 -1
  204. package/lib/esm/Time.d.ts +122 -122
  205. package/lib/esm/Time.js +146 -146
  206. package/lib/esm/Time.js.map +1 -1
  207. package/lib/esm/Tracing.d.ts +40 -40
  208. package/lib/esm/Tracing.js +126 -126
  209. package/lib/esm/Tracing.js.map +1 -1
  210. package/lib/esm/TupleKeyedMap.d.ts +37 -0
  211. package/lib/esm/TupleKeyedMap.d.ts.map +1 -0
  212. package/lib/esm/TupleKeyedMap.js +99 -0
  213. package/lib/esm/TupleKeyedMap.js.map +1 -0
  214. package/lib/esm/TypedArrayBuilder.d.ts +97 -97
  215. package/lib/esm/TypedArrayBuilder.js +127 -127
  216. package/lib/esm/TypedArrayBuilder.js.map +1 -1
  217. package/lib/esm/UnexpectedErrors.d.ts +43 -43
  218. package/lib/esm/UnexpectedErrors.js +64 -64
  219. package/lib/esm/UnexpectedErrors.js.map +1 -1
  220. package/lib/esm/UtilityTypes.d.ts +100 -86
  221. package/lib/esm/UtilityTypes.d.ts.map +1 -1
  222. package/lib/esm/UtilityTypes.js +34 -21
  223. package/lib/esm/UtilityTypes.js.map +1 -1
  224. package/lib/esm/YieldManager.d.ts +18 -18
  225. package/lib/esm/YieldManager.js +30 -30
  226. package/lib/esm/YieldManager.js.map +1 -1
  227. package/lib/esm/core-bentley.d.ts +75 -74
  228. package/lib/esm/core-bentley.d.ts.map +1 -1
  229. package/lib/esm/core-bentley.js +79 -78
  230. package/lib/esm/core-bentley.js.map +1 -1
  231. package/lib/esm/partitionArray.d.ts +21 -21
  232. package/lib/esm/partitionArray.js +39 -39
  233. package/lib/esm/partitionArray.js.map +1 -1
  234. package/package.json +4 -4
package/lib/esm/Assert.js CHANGED
@@ -1,42 +1,42 @@
1
- /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
5
- /** @packageDocumentation
6
- * @module Utils
7
- */
8
- const assertionsEnabled = process.env.NODE_ENV === "development";
9
- /** Asserts that a condition is `true` and - when enabled - throws an error if it is not.
10
- * Assertions are enabled only if the build configuration defines `process.env.NODE_ENV` as `development` at build time.
11
- *
12
- * Assertions exist solely to assist programmers during development, in the following ways:
13
- * 1 They allow the programmer to declare conditions that they believe cannot possibly occur. If such conditions occur, they indicate
14
- * a serious flaw in the programmer's logic.
15
- * 2 They allow the programmer to assure the TypeScript compiler of the truth of some condition that the compiler cannot itself infer.
16
- * 3 They allow the author of an API to indicate to consumers of the API a serious misuse that should be corrected during development.
17
- *
18
- * Assertions should **never** be used to test for conditions - however unlikely - that could be expected to occur at run-time,
19
- * such as failing to write to a file or load a resource over the network. If the condition asserted ever fails in a production environment,
20
- * the programmer has made a serious mistake.
21
- *
22
- * Note that even when assertions are disabled, calls to `assert` remain in the code and their arguments will be evaluated at run-time.
23
- * Therefore, if your condition or message requires computation, prefer to pass it as a function to prevent it from being evaluated when assertions are disabled.
24
- *
25
- * @param condition The condition that is asserted to be `true`. If the condition is more complex than a simple `boolean` variable, pass it as a function to prevent it from being evaluated when assertions are disabled.
26
- * @param message An optional description of the condition being asserted, to be included in the exception if `condition` is `false`. If the message must be computed, pass it as a function to prevent it from being evaluated when assertions are disabled. Defaults to "Programmer Error".
27
- * @throws Error containing the specified `message` if `condition` is `false`.
28
- * @public
29
- */
30
- export function assert(condition, message) {
31
- if (!assertionsEnabled)
32
- return;
33
- if ("boolean" !== typeof condition)
34
- condition = condition();
35
- if (condition)
36
- return;
37
- message = message !== null && message !== void 0 ? message : "Programmer Error";
38
- if ("string" !== typeof message)
39
- message = message();
40
- throw new Error(`Assert: ${message}`);
41
- }
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ /** @packageDocumentation
6
+ * @module Utils
7
+ */
8
+ const assertionsEnabled = process.env.NODE_ENV === "development";
9
+ /** Asserts that a condition is `true` and - when enabled - throws an error if it is not.
10
+ * Assertions are enabled only if the build configuration defines `process.env.NODE_ENV` as `development` at build time.
11
+ *
12
+ * Assertions exist solely to assist programmers during development, in the following ways:
13
+ * 1 They allow the programmer to declare conditions that they believe cannot possibly occur. If such conditions occur, they indicate
14
+ * a serious flaw in the programmer's logic.
15
+ * 2 They allow the programmer to assure the TypeScript compiler of the truth of some condition that the compiler cannot itself infer.
16
+ * 3 They allow the author of an API to indicate to consumers of the API a serious misuse that should be corrected during development.
17
+ *
18
+ * Assertions should **never** be used to test for conditions - however unlikely - that could be expected to occur at run-time,
19
+ * such as failing to write to a file or load a resource over the network. If the condition asserted ever fails in a production environment,
20
+ * the programmer has made a serious mistake.
21
+ *
22
+ * Note that even when assertions are disabled, calls to `assert` remain in the code and their arguments will be evaluated at run-time.
23
+ * Therefore, if your condition or message requires computation, prefer to pass it as a function to prevent it from being evaluated when assertions are disabled.
24
+ *
25
+ * @param condition The condition that is asserted to be `true`. If the condition is more complex than a simple `boolean` variable, pass it as a function to prevent it from being evaluated when assertions are disabled.
26
+ * @param message An optional description of the condition being asserted, to be included in the exception if `condition` is `false`. If the message must be computed, pass it as a function to prevent it from being evaluated when assertions are disabled. Defaults to "Programmer Error".
27
+ * @throws Error containing the specified `message` if `condition` is `false`.
28
+ * @public
29
+ */
30
+ export function assert(condition, message) {
31
+ if (!assertionsEnabled)
32
+ return;
33
+ if ("boolean" !== typeof condition)
34
+ condition = condition();
35
+ if (condition)
36
+ return;
37
+ message = message !== null && message !== void 0 ? message : "Programmer Error";
38
+ if ("string" !== typeof message)
39
+ message = message();
40
+ throw new Error(`Assert: ${message}`);
41
+ }
42
42
  //# sourceMappingURL=Assert.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Assert.js","sourceRoot":"","sources":["../../src/Assert.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,CAAC;AAEjE;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,MAAM,CAAC,SAAoC,EAAE,OAAiC;IAC5F,IAAI,CAAC,iBAAiB;QACpB,OAAO;IAET,IAAI,SAAS,KAAK,OAAO,SAAS;QAChC,SAAS,GAAG,SAAS,EAAE,CAAC;IAE1B,IAAI,SAAS;QACX,OAAO;IAET,OAAO,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,kBAAkB,CAAC;IACxC,IAAI,QAAQ,KAAK,OAAO,OAAO;QAC7B,OAAO,GAAG,OAAO,EAAE,CAAC;IAEtB,MAAM,IAAI,KAAK,CAAC,WAAW,OAAO,EAAE,CAAC,CAAC;AACxC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Utils\n */\n\nconst assertionsEnabled = process.env.NODE_ENV === \"development\";\n\n/** Asserts that a condition is `true` and - when enabled - throws an error if it is not.\n * Assertions are enabled only if the build configuration defines `process.env.NODE_ENV` as `development` at build time.\n *\n * Assertions exist solely to assist programmers during development, in the following ways:\n * 1 They allow the programmer to declare conditions that they believe cannot possibly occur. If such conditions occur, they indicate\n * a serious flaw in the programmer's logic.\n * 2 They allow the programmer to assure the TypeScript compiler of the truth of some condition that the compiler cannot itself infer.\n * 3 They allow the author of an API to indicate to consumers of the API a serious misuse that should be corrected during development.\n *\n * Assertions should **never** be used to test for conditions - however unlikely - that could be expected to occur at run-time,\n * such as failing to write to a file or load a resource over the network. If the condition asserted ever fails in a production environment,\n * the programmer has made a serious mistake.\n *\n * Note that even when assertions are disabled, calls to `assert` remain in the code and their arguments will be evaluated at run-time.\n * Therefore, if your condition or message requires computation, prefer to pass it as a function to prevent it from being evaluated when assertions are disabled.\n *\n * @param condition The condition that is asserted to be `true`. If the condition is more complex than a simple `boolean` variable, pass it as a function to prevent it from being evaluated when assertions are disabled.\n * @param message An optional description of the condition being asserted, to be included in the exception if `condition` is `false`. If the message must be computed, pass it as a function to prevent it from being evaluated when assertions are disabled. Defaults to \"Programmer Error\".\n * @throws Error containing the specified `message` if `condition` is `false`.\n * @public\n */\nexport function assert(condition: boolean | (() => boolean), message?: string | (() => string)): asserts condition {\n if (!assertionsEnabled)\n return;\n\n if (\"boolean\" !== typeof condition)\n condition = condition();\n\n if (condition)\n return;\n\n message = message ?? \"Programmer Error\";\n if (\"string\" !== typeof message)\n message = message();\n\n throw new Error(`Assert: ${message}`);\n}\n"]}
1
+ {"version":3,"file":"Assert.js","sourceRoot":"","sources":["../../src/Assert.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,CAAC;AAEjE;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,MAAM,CAAC,SAAoC,EAAE,OAAiC;IAC5F,IAAI,CAAC,iBAAiB;QACpB,OAAO;IAET,IAAI,SAAS,KAAK,OAAO,SAAS;QAChC,SAAS,GAAG,SAAS,EAAE,CAAC;IAE1B,IAAI,SAAS;QACX,OAAO;IAET,OAAO,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,kBAAkB,CAAC;IACxC,IAAI,QAAQ,KAAK,OAAO,OAAO;QAC7B,OAAO,GAAG,OAAO,EAAE,CAAC;IAEtB,MAAM,IAAI,KAAK,CAAC,WAAW,OAAO,EAAE,CAAC,CAAC;AACxC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Utils\r\n */\r\n\r\nconst assertionsEnabled = process.env.NODE_ENV === \"development\";\r\n\r\n/** Asserts that a condition is `true` and - when enabled - throws an error if it is not.\r\n * Assertions are enabled only if the build configuration defines `process.env.NODE_ENV` as `development` at build time.\r\n *\r\n * Assertions exist solely to assist programmers during development, in the following ways:\r\n * 1 They allow the programmer to declare conditions that they believe cannot possibly occur. If such conditions occur, they indicate\r\n * a serious flaw in the programmer's logic.\r\n * 2 They allow the programmer to assure the TypeScript compiler of the truth of some condition that the compiler cannot itself infer.\r\n * 3 They allow the author of an API to indicate to consumers of the API a serious misuse that should be corrected during development.\r\n *\r\n * Assertions should **never** be used to test for conditions - however unlikely - that could be expected to occur at run-time,\r\n * such as failing to write to a file or load a resource over the network. If the condition asserted ever fails in a production environment,\r\n * the programmer has made a serious mistake.\r\n *\r\n * Note that even when assertions are disabled, calls to `assert` remain in the code and their arguments will be evaluated at run-time.\r\n * Therefore, if your condition or message requires computation, prefer to pass it as a function to prevent it from being evaluated when assertions are disabled.\r\n *\r\n * @param condition The condition that is asserted to be `true`. If the condition is more complex than a simple `boolean` variable, pass it as a function to prevent it from being evaluated when assertions are disabled.\r\n * @param message An optional description of the condition being asserted, to be included in the exception if `condition` is `false`. If the message must be computed, pass it as a function to prevent it from being evaluated when assertions are disabled. Defaults to \"Programmer Error\".\r\n * @throws Error containing the specified `message` if `condition` is `false`.\r\n * @public\r\n */\r\nexport function assert(condition: boolean | (() => boolean), message?: string | (() => string)): asserts condition {\r\n if (!assertionsEnabled)\r\n return;\r\n\r\n if (\"boolean\" !== typeof condition)\r\n condition = condition();\r\n\r\n if (condition)\r\n return;\r\n\r\n message = message ?? \"Programmer Error\";\r\n if (\"string\" !== typeof message)\r\n message = message();\r\n\r\n throw new Error(`Assert: ${message}`);\r\n}\r\n"]}
@@ -1,27 +1,27 @@
1
- /** @packageDocumentation
2
- * @module Utils
3
- */
4
- /**
5
- * Type of method to unlock the held mutex
6
- * @see [[AsyncMutex]]
7
- * @alpha
8
- */
9
- export declare type AsyncMutexUnlockFnType = () => void;
10
- /**
11
- * Utility to ensure a block of async code executes atomically.
12
- * Even if JavaScript precludes the possibility of race conditions between threads, there is potential for
13
- * race conditions with async code. This utility is needed in cases where a block of async code needs to run
14
- * to completion before another block is started.
15
- * This utility was based on this article: https://spin.atomicobject.com/2018/09/10/javascript-concurrency/
16
- * @alpha
17
- */
18
- export declare class AsyncMutex {
19
- private _mutex;
20
- /**
21
- * Await the return value to setup a lock. The return value
22
- * is also the unlock function that can be called to unlock
23
- * the mutex.
24
- */
25
- lock(): Promise<AsyncMutexUnlockFnType>;
26
- }
1
+ /** @packageDocumentation
2
+ * @module Utils
3
+ */
4
+ /**
5
+ * Type of method to unlock the held mutex
6
+ * @see [[AsyncMutex]]
7
+ * @alpha
8
+ */
9
+ export declare type AsyncMutexUnlockFnType = () => void;
10
+ /**
11
+ * Utility to ensure a block of async code executes atomically.
12
+ * Even if JavaScript precludes the possibility of race conditions between threads, there is potential for
13
+ * race conditions with async code. This utility is needed in cases where a block of async code needs to run
14
+ * to completion before another block is started.
15
+ * This utility was based on this article: https://spin.atomicobject.com/2018/09/10/javascript-concurrency/
16
+ * @alpha
17
+ */
18
+ export declare class AsyncMutex {
19
+ private _mutex;
20
+ /**
21
+ * Await the return value to setup a lock. The return value
22
+ * is also the unlock function that can be called to unlock
23
+ * the mutex.
24
+ */
25
+ lock(): Promise<AsyncMutexUnlockFnType>;
26
+ }
27
27
  //# sourceMappingURL=AsyncMutex.d.ts.map
@@ -1,40 +1,40 @@
1
- /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
5
- /** @packageDocumentation
6
- * @module Utils
7
- */
8
- /**
9
- * Utility to ensure a block of async code executes atomically.
10
- * Even if JavaScript precludes the possibility of race conditions between threads, there is potential for
11
- * race conditions with async code. This utility is needed in cases where a block of async code needs to run
12
- * to completion before another block is started.
13
- * This utility was based on this article: https://spin.atomicobject.com/2018/09/10/javascript-concurrency/
14
- * @alpha
15
- */
16
- export class AsyncMutex {
17
- constructor() {
18
- this._mutex = Promise.resolve();
19
- }
20
- /**
21
- * Await the return value to setup a lock. The return value
22
- * is also the unlock function that can be called to unlock
23
- * the mutex.
24
- */
25
- async lock() {
26
- /**
27
- * Note: The promise returned by this method will resolve (with the unlock function, which is actually the
28
- * mutex’s then’s resolve function) once any previous mutexes have finished and called their
29
- * respective unlock function that was yielded over their promise.
30
- */
31
- let begin = (_unlock) => { };
32
- this._mutex = this._mutex.then(async () => {
33
- return new Promise(begin);
34
- });
35
- return new Promise((res) => {
36
- begin = res;
37
- });
38
- }
39
- }
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ /** @packageDocumentation
6
+ * @module Utils
7
+ */
8
+ /**
9
+ * Utility to ensure a block of async code executes atomically.
10
+ * Even if JavaScript precludes the possibility of race conditions between threads, there is potential for
11
+ * race conditions with async code. This utility is needed in cases where a block of async code needs to run
12
+ * to completion before another block is started.
13
+ * This utility was based on this article: https://spin.atomicobject.com/2018/09/10/javascript-concurrency/
14
+ * @alpha
15
+ */
16
+ export class AsyncMutex {
17
+ constructor() {
18
+ this._mutex = Promise.resolve();
19
+ }
20
+ /**
21
+ * Await the return value to setup a lock. The return value
22
+ * is also the unlock function that can be called to unlock
23
+ * the mutex.
24
+ */
25
+ async lock() {
26
+ /**
27
+ * Note: The promise returned by this method will resolve (with the unlock function, which is actually the
28
+ * mutex’s then’s resolve function) once any previous mutexes have finished and called their
29
+ * respective unlock function that was yielded over their promise.
30
+ */
31
+ let begin = (_unlock) => { };
32
+ this._mutex = this._mutex.then(async () => {
33
+ return new Promise(begin);
34
+ });
35
+ return new Promise((res) => {
36
+ begin = res;
37
+ });
38
+ }
39
+ }
40
40
  //# sourceMappingURL=AsyncMutex.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AsyncMutex.js","sourceRoot":"","sources":["../../src/AsyncMutex.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AASH;;;;;;;GAOG;AACH,MAAM,OAAO,UAAU;IAAvB;QACU,WAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAuBrC,CAAC;IArBC;;;;OAIG;IACI,KAAK,CAAC,IAAI;QACf;;;;WAIG;QACH,IAAI,KAAK,GAA6C,CAAC,OAAO,EAAE,EAAE,GAAG,CAAC,CAAC;QAEvE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,IAAmB,EAAE;YACvD,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACzB,KAAK,GAAG,GAAG,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Utils\n */\n\n/**\n * Type of method to unlock the held mutex\n * @see [[AsyncMutex]]\n * @alpha\n */\nexport type AsyncMutexUnlockFnType = () => void;\n\n/**\n * Utility to ensure a block of async code executes atomically.\n * Even if JavaScript precludes the possibility of race conditions between threads, there is potential for\n * race conditions with async code. This utility is needed in cases where a block of async code needs to run\n * to completion before another block is started.\n * This utility was based on this article: https://spin.atomicobject.com/2018/09/10/javascript-concurrency/\n * @alpha\n */\nexport class AsyncMutex {\n private _mutex = Promise.resolve();\n\n /**\n * Await the return value to setup a lock. The return value\n * is also the unlock function that can be called to unlock\n * the mutex.\n */\n public async lock(): Promise<AsyncMutexUnlockFnType> {\n /**\n * Note: The promise returned by this method will resolve (with the unlock function, which is actually the\n * mutex’s then’s resolve function) once any previous mutexes have finished and called their\n * respective unlock function that was yielded over their promise.\n */\n let begin: (unlock: AsyncMutexUnlockFnType) => void = (_unlock) => { };\n\n this._mutex = this._mutex.then(async (): Promise<void> => {\n return new Promise(begin);\n });\n\n return new Promise((res) => {\n begin = res;\n });\n }\n}\n"]}
1
+ {"version":3,"file":"AsyncMutex.js","sourceRoot":"","sources":["../../src/AsyncMutex.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AASH;;;;;;;GAOG;AACH,MAAM,OAAO,UAAU;IAAvB;QACU,WAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAuBrC,CAAC;IArBC;;;;OAIG;IACI,KAAK,CAAC,IAAI;QACf;;;;WAIG;QACH,IAAI,KAAK,GAA6C,CAAC,OAAO,EAAE,EAAE,GAAG,CAAC,CAAC;QAEvE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,IAAmB,EAAE;YACvD,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACzB,KAAK,GAAG,GAAG,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Utils\r\n */\r\n\r\n/**\r\n * Type of method to unlock the held mutex\r\n * @see [[AsyncMutex]]\r\n * @alpha\r\n */\r\nexport type AsyncMutexUnlockFnType = () => void;\r\n\r\n/**\r\n * Utility to ensure a block of async code executes atomically.\r\n * Even if JavaScript precludes the possibility of race conditions between threads, there is potential for\r\n * race conditions with async code. This utility is needed in cases where a block of async code needs to run\r\n * to completion before another block is started.\r\n * This utility was based on this article: https://spin.atomicobject.com/2018/09/10/javascript-concurrency/\r\n * @alpha\r\n */\r\nexport class AsyncMutex {\r\n private _mutex = Promise.resolve();\r\n\r\n /**\r\n * Await the return value to setup a lock. The return value\r\n * is also the unlock function that can be called to unlock\r\n * the mutex.\r\n */\r\n public async lock(): Promise<AsyncMutexUnlockFnType> {\r\n /**\r\n * Note: The promise returned by this method will resolve (with the unlock function, which is actually the\r\n * mutex’s then’s resolve function) once any previous mutexes have finished and called their\r\n * respective unlock function that was yielded over their promise.\r\n */\r\n let begin: (unlock: AsyncMutexUnlockFnType) => void = (_unlock) => { };\r\n\r\n this._mutex = this._mutex.then(async (): Promise<void> => {\r\n return new Promise(begin);\r\n });\r\n\r\n return new Promise((res) => {\r\n begin = res;\r\n });\r\n }\r\n}\r\n"]}
@@ -1,82 +1,82 @@
1
- /** @packageDocumentation
2
- * @module Events
3
- */
4
- /** A function invoked when a BeEvent is raised.
5
- * @public
6
- */
7
- export declare type Listener = (...arg: any[]) => void;
8
- /**
9
- * Manages a set of *listeners* for a particular event and notifies them when the event is raised.
10
- * This class is usually instantiated inside of a container class and
11
- * exposed as a property for others to *subscribe* via [[BeEvent.addListener]].
12
- * @public
13
- */
14
- export declare class BeEvent<T extends Listener> {
15
- private _listeners;
16
- private _insideRaiseEvent;
17
- /** The number of listeners currently subscribed to the event. */
18
- get numberOfListeners(): number;
19
- /**
20
- * Registers a Listener to be executed whenever this event is raised.
21
- * @param listener The function to be executed when the event is raised.
22
- * @param scope An optional object scope to serve as the 'this' pointer when listener is invoked.
23
- * @returns A function that will remove this event listener.
24
- * @see [[BeEvent.raiseEvent]], [[BeEvent.removeListener]]
25
- */
26
- addListener(listener: T, scope?: any): () => void;
27
- /**
28
- * Registers a callback function to be executed *only once* when the event is raised.
29
- * @param listener The function to be executed once when the event is raised.
30
- * @param scope An optional object scope to serve as the `this` pointer in which the listener function will execute.
31
- * @returns A function that will remove this event listener.
32
- * @see [[BeEvent.raiseEvent]], [[BeEvent.removeListener]]
33
- */
34
- addOnce(listener: T, scope?: any): () => void;
35
- /**
36
- * Un-register a previously registered listener.
37
- * @param listener The listener to be unregistered.
38
- * @param scope The scope that was originally passed to addListener.
39
- * @returns 'true' if the listener was removed; 'false' if the listener and scope are not registered with the event.
40
- * @see [[BeEvent.raiseEvent]], [[BeEvent.addListener]]
41
- */
42
- removeListener(listener: T, scope?: any): boolean;
43
- /**
44
- * Raises the event by calling each registered listener with the supplied arguments.
45
- * @param args This method takes any number of parameters and passes them through to the listeners.
46
- * @see [[BeEvent.removeListener]], [[BeEvent.addListener]]
47
- */
48
- raiseEvent(...args: Parameters<T>): void;
49
- /** Determine whether this BeEvent has a specified listener registered.
50
- * @param listener The listener to check.
51
- * @param scope optional scope argument to match call to addListener
52
- */
53
- has(listener: T, scope?: any): boolean;
54
- /** Clear all Listeners from this BeEvent. */
55
- clear(): void;
56
- }
57
- /** Specialization of BeEvent for events that take a single strongly typed argument, primarily used for UI events.
58
- * @public
59
- */
60
- export declare class BeUiEvent<TEventArgs> extends BeEvent<(args: TEventArgs) => void> {
61
- /** Raises event with single strongly typed argument. */
62
- emit(args: TEventArgs): void;
63
- }
64
- /**
65
- * A list of BeEvent objects, accessible by an event name.
66
- * This class may be used instead of explicitly declaring each BeEvent as a member of a containing class.
67
- * @public
68
- */
69
- export declare class BeEventList<T extends Listener> {
70
- private _events;
71
- /**
72
- * Gets the event associated with the specified name, creating the event if it does not already exist.
73
- * @param name The name of the event.
74
- */
75
- get(name: string): BeEvent<T>;
76
- /**
77
- * Removes the event associated with a name.
78
- * @param name The name of the event.
79
- */
80
- remove(name: string): void;
81
- }
1
+ /** @packageDocumentation
2
+ * @module Events
3
+ */
4
+ /** A function invoked when a BeEvent is raised.
5
+ * @public
6
+ */
7
+ export declare type Listener = (...arg: any[]) => void;
8
+ /**
9
+ * Manages a set of *listeners* for a particular event and notifies them when the event is raised.
10
+ * This class is usually instantiated inside of a container class and
11
+ * exposed as a property for others to *subscribe* via [[BeEvent.addListener]].
12
+ * @public
13
+ */
14
+ export declare class BeEvent<T extends Listener> {
15
+ private _listeners;
16
+ private _insideRaiseEvent;
17
+ /** The number of listeners currently subscribed to the event. */
18
+ get numberOfListeners(): number;
19
+ /**
20
+ * Registers a Listener to be executed whenever this event is raised.
21
+ * @param listener The function to be executed when the event is raised.
22
+ * @param scope An optional object scope to serve as the 'this' pointer when listener is invoked.
23
+ * @returns A function that will remove this event listener.
24
+ * @see [[BeEvent.raiseEvent]], [[BeEvent.removeListener]]
25
+ */
26
+ addListener(listener: T, scope?: any): () => void;
27
+ /**
28
+ * Registers a callback function to be executed *only once* when the event is raised.
29
+ * @param listener The function to be executed once when the event is raised.
30
+ * @param scope An optional object scope to serve as the `this` pointer in which the listener function will execute.
31
+ * @returns A function that will remove this event listener.
32
+ * @see [[BeEvent.raiseEvent]], [[BeEvent.removeListener]]
33
+ */
34
+ addOnce(listener: T, scope?: any): () => void;
35
+ /**
36
+ * Un-register a previously registered listener.
37
+ * @param listener The listener to be unregistered.
38
+ * @param scope The scope that was originally passed to addListener.
39
+ * @returns 'true' if the listener was removed; 'false' if the listener and scope are not registered with the event.
40
+ * @see [[BeEvent.raiseEvent]], [[BeEvent.addListener]]
41
+ */
42
+ removeListener(listener: T, scope?: any): boolean;
43
+ /**
44
+ * Raises the event by calling each registered listener with the supplied arguments.
45
+ * @param args This method takes any number of parameters and passes them through to the listeners.
46
+ * @see [[BeEvent.removeListener]], [[BeEvent.addListener]]
47
+ */
48
+ raiseEvent(...args: Parameters<T>): void;
49
+ /** Determine whether this BeEvent has a specified listener registered.
50
+ * @param listener The listener to check.
51
+ * @param scope optional scope argument to match call to addListener
52
+ */
53
+ has(listener: T, scope?: any): boolean;
54
+ /** Clear all Listeners from this BeEvent. */
55
+ clear(): void;
56
+ }
57
+ /** Specialization of BeEvent for events that take a single strongly typed argument, primarily used for UI events.
58
+ * @public
59
+ */
60
+ export declare class BeUiEvent<TEventArgs> extends BeEvent<(args: TEventArgs) => void> {
61
+ /** Raises event with single strongly typed argument. */
62
+ emit(args: TEventArgs): void;
63
+ }
64
+ /**
65
+ * A list of BeEvent objects, accessible by an event name.
66
+ * This class may be used instead of explicitly declaring each BeEvent as a member of a containing class.
67
+ * @public
68
+ */
69
+ export declare class BeEventList<T extends Listener> {
70
+ private _events;
71
+ /**
72
+ * Gets the event associated with the specified name, creating the event if it does not already exist.
73
+ * @param name The name of the event.
74
+ */
75
+ get(name: string): BeEvent<T>;
76
+ /**
77
+ * Removes the event associated with a name.
78
+ * @param name The name of the event.
79
+ */
80
+ remove(name: string): void;
81
+ }
82
82
  //# sourceMappingURL=BeEvent.d.ts.map