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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (211) hide show
  1. package/CHANGELOG.md +50 -1
  2. package/lib/cjs/AccessToken.d.ts +10 -10
  3. package/lib/cjs/AccessToken.d.ts.map +1 -1
  4. package/lib/cjs/AccessToken.js +9 -9
  5. package/lib/cjs/Assert.d.ts +25 -25
  6. package/lib/cjs/Assert.js +45 -45
  7. package/lib/cjs/Assert.js.map +1 -1
  8. package/lib/cjs/BeEvent.d.ts +81 -81
  9. package/lib/cjs/BeEvent.d.ts.map +1 -1
  10. package/lib/cjs/BeEvent.js +156 -156
  11. package/lib/cjs/BeSQLite.d.ts +172 -170
  12. package/lib/cjs/BeSQLite.d.ts.map +1 -1
  13. package/lib/cjs/BeSQLite.js +185 -183
  14. package/lib/cjs/BeSQLite.js.map +1 -1
  15. package/lib/cjs/BentleyError.d.ts +378 -378
  16. package/lib/cjs/BentleyError.d.ts.map +1 -1
  17. package/lib/cjs/BentleyError.js +703 -702
  18. package/lib/cjs/BentleyError.js.map +1 -1
  19. package/lib/cjs/BentleyLoggerCategory.d.ts +11 -11
  20. package/lib/cjs/BentleyLoggerCategory.js +19 -19
  21. package/lib/cjs/ByteStream.d.ts +110 -110
  22. package/lib/cjs/ByteStream.js +159 -159
  23. package/lib/cjs/ClassUtils.d.ts +14 -14
  24. package/lib/cjs/ClassUtils.js +27 -27
  25. package/lib/cjs/Compare.d.ts +47 -47
  26. package/lib/cjs/Compare.d.ts.map +1 -1
  27. package/lib/cjs/Compare.js +75 -75
  28. package/lib/cjs/CompressedId64Set.d.ts +134 -134
  29. package/lib/cjs/CompressedId64Set.d.ts.map +1 -1
  30. package/lib/cjs/CompressedId64Set.js +428 -428
  31. package/lib/cjs/CompressedId64Set.js.map +1 -1
  32. package/lib/cjs/Dictionary.d.ts +125 -125
  33. package/lib/cjs/Dictionary.js +203 -203
  34. package/lib/cjs/Disposable.d.ts +80 -80
  35. package/lib/cjs/Disposable.d.ts.map +1 -1
  36. package/lib/cjs/Disposable.js +120 -120
  37. package/lib/cjs/Id.d.ts +285 -285
  38. package/lib/cjs/Id.d.ts.map +1 -1
  39. package/lib/cjs/Id.js +643 -643
  40. package/lib/cjs/IndexMap.d.ts +65 -65
  41. package/lib/cjs/IndexMap.js +91 -91
  42. package/lib/cjs/JsonSchema.d.ts +77 -77
  43. package/lib/cjs/JsonSchema.d.ts.map +1 -1
  44. package/lib/cjs/JsonSchema.js +9 -9
  45. package/lib/cjs/JsonUtils.d.ts +78 -78
  46. package/lib/cjs/JsonUtils.js +151 -151
  47. package/lib/cjs/LRUMap.d.ts +129 -129
  48. package/lib/cjs/LRUMap.js +333 -333
  49. package/lib/cjs/LRUMap.js.map +1 -1
  50. package/lib/cjs/Logger.d.ts +143 -143
  51. package/lib/cjs/Logger.d.ts.map +1 -1
  52. package/lib/cjs/Logger.js +256 -258
  53. package/lib/cjs/Logger.js.map +1 -1
  54. package/lib/cjs/ObservableSet.d.ts +23 -23
  55. package/lib/cjs/ObservableSet.js +51 -51
  56. package/lib/cjs/OneAtATimeAction.d.ts +31 -31
  57. package/lib/cjs/OneAtATimeAction.js +94 -94
  58. package/lib/cjs/OneAtATimeAction.js.map +1 -1
  59. package/lib/cjs/OrderedId64Iterable.d.ts +74 -74
  60. package/lib/cjs/OrderedId64Iterable.d.ts.map +1 -1
  61. package/lib/cjs/OrderedId64Iterable.js +235 -235
  62. package/lib/cjs/OrderedSet.d.ts +40 -40
  63. package/lib/cjs/OrderedSet.js +64 -64
  64. package/lib/cjs/PriorityQueue.d.ts +70 -70
  65. package/lib/cjs/PriorityQueue.d.ts.map +1 -1
  66. package/lib/cjs/PriorityQueue.js +140 -140
  67. package/lib/cjs/ProcessDetector.d.ts +59 -59
  68. package/lib/cjs/ProcessDetector.js +71 -71
  69. package/lib/cjs/SortedArray.d.ts +236 -232
  70. package/lib/cjs/SortedArray.d.ts.map +1 -1
  71. package/lib/cjs/SortedArray.js +315 -303
  72. package/lib/cjs/SortedArray.js.map +1 -1
  73. package/lib/cjs/StatusCategory.d.ts +30 -30
  74. package/lib/cjs/StatusCategory.d.ts.map +1 -1
  75. package/lib/cjs/StatusCategory.js +460 -460
  76. package/lib/cjs/StatusCategory.js.map +1 -1
  77. package/lib/cjs/StringUtils.d.ts +22 -22
  78. package/lib/cjs/StringUtils.js +148 -148
  79. package/lib/cjs/Time.d.ts +122 -122
  80. package/lib/cjs/Time.js +152 -152
  81. package/lib/cjs/Time.js.map +1 -1
  82. package/lib/cjs/Tracing.d.ts +43 -40
  83. package/lib/cjs/Tracing.d.ts.map +1 -1
  84. package/lib/cjs/Tracing.js +134 -130
  85. package/lib/cjs/Tracing.js.map +1 -1
  86. package/lib/cjs/TupleKeyedMap.d.ts +36 -36
  87. package/lib/cjs/TupleKeyedMap.js +102 -102
  88. package/lib/cjs/TypedArrayBuilder.d.ts +155 -155
  89. package/lib/cjs/TypedArrayBuilder.d.ts.map +1 -1
  90. package/lib/cjs/TypedArrayBuilder.js +206 -208
  91. package/lib/cjs/TypedArrayBuilder.js.map +1 -1
  92. package/lib/cjs/UnexpectedErrors.d.ts +43 -43
  93. package/lib/cjs/UnexpectedErrors.d.ts.map +1 -1
  94. package/lib/cjs/UnexpectedErrors.js +68 -68
  95. package/lib/cjs/UnexpectedErrors.js.map +1 -1
  96. package/lib/cjs/UtilityTypes.d.ts +112 -96
  97. package/lib/cjs/UtilityTypes.d.ts.map +1 -1
  98. package/lib/cjs/UtilityTypes.js +40 -40
  99. package/lib/cjs/UtilityTypes.js.map +1 -1
  100. package/lib/cjs/YieldManager.d.ts +18 -18
  101. package/lib/cjs/YieldManager.js +34 -34
  102. package/lib/cjs/core-bentley.d.ts +74 -74
  103. package/lib/cjs/core-bentley.js +94 -90
  104. package/lib/cjs/core-bentley.js.map +1 -1
  105. package/lib/cjs/partitionArray.d.ts +21 -21
  106. package/lib/cjs/partitionArray.js +43 -43
  107. package/lib/esm/AccessToken.d.ts +10 -10
  108. package/lib/esm/AccessToken.d.ts.map +1 -1
  109. package/lib/esm/AccessToken.js +8 -8
  110. package/lib/esm/Assert.d.ts +25 -25
  111. package/lib/esm/Assert.js +41 -41
  112. package/lib/esm/Assert.js.map +1 -1
  113. package/lib/esm/BeEvent.d.ts +81 -81
  114. package/lib/esm/BeEvent.d.ts.map +1 -1
  115. package/lib/esm/BeEvent.js +150 -150
  116. package/lib/esm/BeSQLite.d.ts +172 -170
  117. package/lib/esm/BeSQLite.d.ts.map +1 -1
  118. package/lib/esm/BeSQLite.js +182 -180
  119. package/lib/esm/BeSQLite.js.map +1 -1
  120. package/lib/esm/BentleyError.d.ts +378 -378
  121. package/lib/esm/BentleyError.d.ts.map +1 -1
  122. package/lib/esm/BentleyError.js +699 -698
  123. package/lib/esm/BentleyError.js.map +1 -1
  124. package/lib/esm/BentleyLoggerCategory.d.ts +11 -11
  125. package/lib/esm/BentleyLoggerCategory.js +16 -16
  126. package/lib/esm/ByteStream.d.ts +110 -110
  127. package/lib/esm/ByteStream.js +155 -155
  128. package/lib/esm/ClassUtils.d.ts +14 -14
  129. package/lib/esm/ClassUtils.js +22 -22
  130. package/lib/esm/Compare.d.ts +47 -47
  131. package/lib/esm/Compare.d.ts.map +1 -1
  132. package/lib/esm/Compare.js +63 -63
  133. package/lib/esm/CompressedId64Set.d.ts +134 -134
  134. package/lib/esm/CompressedId64Set.d.ts.map +1 -1
  135. package/lib/esm/CompressedId64Set.js +423 -423
  136. package/lib/esm/CompressedId64Set.js.map +1 -1
  137. package/lib/esm/Dictionary.d.ts +125 -125
  138. package/lib/esm/Dictionary.js +199 -199
  139. package/lib/esm/Disposable.d.ts +80 -80
  140. package/lib/esm/Disposable.d.ts.map +1 -1
  141. package/lib/esm/Disposable.js +112 -112
  142. package/lib/esm/Id.d.ts +285 -285
  143. package/lib/esm/Id.d.ts.map +1 -1
  144. package/lib/esm/Id.js +639 -639
  145. package/lib/esm/IndexMap.d.ts +65 -65
  146. package/lib/esm/IndexMap.js +86 -86
  147. package/lib/esm/JsonSchema.d.ts +77 -77
  148. package/lib/esm/JsonSchema.d.ts.map +1 -1
  149. package/lib/esm/JsonSchema.js +8 -8
  150. package/lib/esm/JsonUtils.d.ts +78 -78
  151. package/lib/esm/JsonUtils.js +148 -148
  152. package/lib/esm/LRUMap.d.ts +129 -129
  153. package/lib/esm/LRUMap.js +326 -326
  154. package/lib/esm/LRUMap.js.map +1 -1
  155. package/lib/esm/Logger.d.ts +143 -143
  156. package/lib/esm/Logger.d.ts.map +1 -1
  157. package/lib/esm/Logger.js +253 -253
  158. package/lib/esm/Logger.js.map +1 -1
  159. package/lib/esm/ObservableSet.d.ts +23 -23
  160. package/lib/esm/ObservableSet.js +47 -47
  161. package/lib/esm/OneAtATimeAction.d.ts +31 -31
  162. package/lib/esm/OneAtATimeAction.js +89 -89
  163. package/lib/esm/OneAtATimeAction.js.map +1 -1
  164. package/lib/esm/OrderedId64Iterable.d.ts +74 -74
  165. package/lib/esm/OrderedId64Iterable.d.ts.map +1 -1
  166. package/lib/esm/OrderedId64Iterable.js +232 -232
  167. package/lib/esm/OrderedSet.d.ts +40 -40
  168. package/lib/esm/OrderedSet.js +59 -59
  169. package/lib/esm/PriorityQueue.d.ts +70 -70
  170. package/lib/esm/PriorityQueue.d.ts.map +1 -1
  171. package/lib/esm/PriorityQueue.js +136 -136
  172. package/lib/esm/ProcessDetector.d.ts +59 -59
  173. package/lib/esm/ProcessDetector.js +67 -67
  174. package/lib/esm/SortedArray.d.ts +236 -232
  175. package/lib/esm/SortedArray.d.ts.map +1 -1
  176. package/lib/esm/SortedArray.js +308 -296
  177. package/lib/esm/SortedArray.js.map +1 -1
  178. package/lib/esm/StatusCategory.d.ts +30 -30
  179. package/lib/esm/StatusCategory.d.ts.map +1 -1
  180. package/lib/esm/StatusCategory.js +455 -454
  181. package/lib/esm/StatusCategory.js.map +1 -1
  182. package/lib/esm/StringUtils.d.ts +22 -22
  183. package/lib/esm/StringUtils.js +142 -142
  184. package/lib/esm/Time.d.ts +122 -122
  185. package/lib/esm/Time.js +146 -146
  186. package/lib/esm/Time.js.map +1 -1
  187. package/lib/esm/Tracing.d.ts +43 -40
  188. package/lib/esm/Tracing.d.ts.map +1 -1
  189. package/lib/esm/Tracing.js +130 -126
  190. package/lib/esm/Tracing.js.map +1 -1
  191. package/lib/esm/TupleKeyedMap.d.ts +36 -36
  192. package/lib/esm/TupleKeyedMap.js +98 -98
  193. package/lib/esm/TypedArrayBuilder.d.ts +155 -155
  194. package/lib/esm/TypedArrayBuilder.d.ts.map +1 -1
  195. package/lib/esm/TypedArrayBuilder.js +198 -200
  196. package/lib/esm/TypedArrayBuilder.js.map +1 -1
  197. package/lib/esm/UnexpectedErrors.d.ts +43 -43
  198. package/lib/esm/UnexpectedErrors.d.ts.map +1 -1
  199. package/lib/esm/UnexpectedErrors.js +65 -64
  200. package/lib/esm/UnexpectedErrors.js.map +1 -1
  201. package/lib/esm/UtilityTypes.d.ts +112 -96
  202. package/lib/esm/UtilityTypes.d.ts.map +1 -1
  203. package/lib/esm/UtilityTypes.js +34 -34
  204. package/lib/esm/UtilityTypes.js.map +1 -1
  205. package/lib/esm/YieldManager.d.ts +18 -18
  206. package/lib/esm/YieldManager.js +30 -30
  207. package/lib/esm/core-bentley.d.ts +74 -74
  208. package/lib/esm/core-bentley.js +78 -78
  209. package/lib/esm/partitionArray.d.ts +21 -21
  210. package/lib/esm/partitionArray.js +39 -39
  211. package/package.json +9 -9
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 ?? "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":["/*---------------------------------------------------------------------------------------------\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
+ {"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,IAAI,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,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 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
@@ -1 +1 @@
1
- {"version":3,"file":"BeEvent.d.ts","sourceRoot":"","sources":["../../src/BeEvent.ts"],"names":[],"mappings":"AAIA;;GAEG;AAIH;;GAEG;AACH,oBAAY,QAAQ,GAAG,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;AAQ/C;;;;;GAKG;AACH,qBAAa,OAAO,CAAC,CAAC,SAAS,QAAQ;IACrC,OAAO,CAAC,UAAU,CAAsB;IACxC,OAAO,CAAC,iBAAiB,CAAkB;IAE3C,iEAAiE;IACjE,IAAW,iBAAiB,WAAqC;IAEjE;;;;;;OAMG;IACI,WAAW,CAAC,QAAQ,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,GAAG,GAAG,MAAM,IAAI;IAKxD;;;;;;OAMG;IACI,OAAO,CAAC,QAAQ,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,GAAG,GAAG,MAAM,IAAI;IAKpD;;;;;;OAMG;IACI,cAAc,CAAC,QAAQ,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,GAAG,GAAG,OAAO;IAiBxD;;;;OAIG;IACI,UAAU,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;IA+BxC;;;OAGG;IACI,GAAG,CAAC,QAAQ,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,GAAG,GAAG,OAAO;IAS7C,6CAA6C;IACtC,KAAK,IAAI,IAAI;CACrB;AAED;;GAEG;AACH,qBAAa,SAAS,CAAC,UAAU,CAAE,SAAQ,OAAO,CAAC,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,CAAC;IAC5E,wDAAwD;IACjD,IAAI,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;CACpC;AAED;;;;GAIG;AACH,qBAAa,WAAW,CAAC,CAAC,SAAS,QAAQ;IACzC,OAAO,CAAC,OAAO,CAAkD;IAEjE;;;OAGG;IACI,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAUpC;;;OAGG;IACI,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;CAGlC"}
1
+ {"version":3,"file":"BeEvent.d.ts","sourceRoot":"","sources":["../../src/BeEvent.ts"],"names":[],"mappings":"AAIA;;GAEG;AAIH;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;AAQ/C;;;;;GAKG;AACH,qBAAa,OAAO,CAAC,CAAC,SAAS,QAAQ;IACrC,OAAO,CAAC,UAAU,CAAsB;IACxC,OAAO,CAAC,iBAAiB,CAAkB;IAE3C,iEAAiE;IACjE,IAAW,iBAAiB,WAAqC;IAEjE;;;;;;OAMG;IACI,WAAW,CAAC,QAAQ,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,GAAG,GAAG,MAAM,IAAI;IAKxD;;;;;;OAMG;IACI,OAAO,CAAC,QAAQ,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,GAAG,GAAG,MAAM,IAAI;IAKpD;;;;;;OAMG;IACI,cAAc,CAAC,QAAQ,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,GAAG,GAAG,OAAO;IAiBxD;;;;OAIG;IACI,UAAU,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;IA+BxC;;;OAGG;IACI,GAAG,CAAC,QAAQ,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,GAAG,GAAG,OAAO;IAS7C,6CAA6C;IACtC,KAAK,IAAI,IAAI;CACrB;AAED;;GAEG;AACH,qBAAa,SAAS,CAAC,UAAU,CAAE,SAAQ,OAAO,CAAC,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,CAAC;IAC5E,wDAAwD;IACjD,IAAI,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;CACpC;AAED;;;;GAIG;AACH,qBAAa,WAAW,CAAC,CAAC,SAAS,QAAQ;IACzC,OAAO,CAAC,OAAO,CAAkD;IAEjE;;;OAGG;IACI,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAUpC;;;OAGG;IACI,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;CAGlC"}
@@ -1,151 +1,151 @@
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 Events
7
- */
8
- import { UnexpectedErrors } from "./UnexpectedErrors";
9
- /**
10
- * Manages a set of *listeners* for a particular event and notifies them when the event is raised.
11
- * This class is usually instantiated inside of a container class and
12
- * exposed as a property for others to *subscribe* via [[BeEvent.addListener]].
13
- * @public
14
- */
15
- export class BeEvent {
16
- constructor() {
17
- this._listeners = [];
18
- this._insideRaiseEvent = false;
19
- }
20
- /** The number of listeners currently subscribed to the event. */
21
- get numberOfListeners() { return this._listeners.length; }
22
- /**
23
- * Registers a Listener to be executed whenever this event is raised.
24
- * @param listener The function to be executed when the event is raised.
25
- * @param scope An optional object scope to serve as the 'this' pointer when listener is invoked.
26
- * @returns A function that will remove this event listener.
27
- * @see [[BeEvent.raiseEvent]], [[BeEvent.removeListener]]
28
- */
29
- addListener(listener, scope) {
30
- this._listeners.push({ listener, scope, once: false });
31
- return () => this.removeListener(listener, scope);
32
- }
33
- /**
34
- * Registers a callback function to be executed *only once* when the event is raised.
35
- * @param listener The function to be executed once when the event is raised.
36
- * @param scope An optional object scope to serve as the `this` pointer in which the listener function will execute.
37
- * @returns A function that will remove this event listener.
38
- * @see [[BeEvent.raiseEvent]], [[BeEvent.removeListener]]
39
- */
40
- addOnce(listener, scope) {
41
- this._listeners.push({ listener, scope, once: true });
42
- return () => this.removeListener(listener, scope);
43
- }
44
- /**
45
- * Un-register a previously registered listener.
46
- * @param listener The listener to be unregistered.
47
- * @param scope The scope that was originally passed to addListener.
48
- * @returns 'true' if the listener was removed; 'false' if the listener and scope are not registered with the event.
49
- * @see [[BeEvent.raiseEvent]], [[BeEvent.addListener]]
50
- */
51
- removeListener(listener, scope) {
52
- const listeners = this._listeners;
53
- for (let i = 0; i < listeners.length; ++i) {
54
- const context = listeners[i];
55
- if (context.listener === listener && context.scope === scope) {
56
- if (this._insideRaiseEvent) {
57
- context.listener = undefined;
58
- }
59
- else {
60
- listeners.splice(i, 1);
61
- }
62
- return true;
63
- }
64
- }
65
- return false;
66
- }
67
- /**
68
- * Raises the event by calling each registered listener with the supplied arguments.
69
- * @param args This method takes any number of parameters and passes them through to the listeners.
70
- * @see [[BeEvent.removeListener]], [[BeEvent.addListener]]
71
- */
72
- raiseEvent(...args) {
73
- this._insideRaiseEvent = true;
74
- const listeners = this._listeners;
75
- const length = listeners.length;
76
- let dropped = false;
77
- for (let i = 0; i < length; ++i) {
78
- const context = listeners[i];
79
- if (!context.listener) {
80
- dropped = true;
81
- }
82
- else {
83
- try {
84
- context.listener.apply(context.scope, args);
85
- }
86
- catch (e) {
87
- UnexpectedErrors.handle(e);
88
- }
89
- if (context.once) {
90
- context.listener = undefined;
91
- dropped = true;
92
- }
93
- }
94
- }
95
- // if we had dropped listeners, remove them now
96
- if (dropped)
97
- this._listeners = this._listeners.filter((ctx) => ctx.listener !== undefined);
98
- this._insideRaiseEvent = false;
99
- }
100
- /** Determine whether this BeEvent has a specified listener registered.
101
- * @param listener The listener to check.
102
- * @param scope optional scope argument to match call to addListener
103
- */
104
- has(listener, scope) {
105
- for (const ctx of this._listeners) {
106
- if (ctx.listener === listener && ctx.scope === scope) {
107
- return true;
108
- }
109
- }
110
- return false;
111
- }
112
- /** Clear all Listeners from this BeEvent. */
113
- clear() { this._listeners.length = 0; }
114
- }
115
- /** Specialization of BeEvent for events that take a single strongly typed argument, primarily used for UI events.
116
- * @public
117
- */
118
- export class BeUiEvent extends BeEvent {
119
- /** Raises event with single strongly typed argument. */
120
- emit(args) { this.raiseEvent(args); }
121
- }
122
- /**
123
- * A list of BeEvent objects, accessible by an event name.
124
- * This class may be used instead of explicitly declaring each BeEvent as a member of a containing class.
125
- * @public
126
- */
127
- export class BeEventList {
128
- constructor() {
129
- this._events = {};
130
- }
131
- /**
132
- * Gets the event associated with the specified name, creating the event if it does not already exist.
133
- * @param name The name of the event.
134
- */
135
- get(name) {
136
- let event = this._events[name];
137
- if (event)
138
- return event;
139
- event = new BeEvent();
140
- this._events[name] = event;
141
- return event;
142
- }
143
- /**
144
- * Removes the event associated with a name.
145
- * @param name The name of the event.
146
- */
147
- remove(name) {
148
- this._events[name] = undefined;
149
- }
150
- }
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 Events
7
+ */
8
+ import { UnexpectedErrors } from "./UnexpectedErrors";
9
+ /**
10
+ * Manages a set of *listeners* for a particular event and notifies them when the event is raised.
11
+ * This class is usually instantiated inside of a container class and
12
+ * exposed as a property for others to *subscribe* via [[BeEvent.addListener]].
13
+ * @public
14
+ */
15
+ export class BeEvent {
16
+ constructor() {
17
+ this._listeners = [];
18
+ this._insideRaiseEvent = false;
19
+ }
20
+ /** The number of listeners currently subscribed to the event. */
21
+ get numberOfListeners() { return this._listeners.length; }
22
+ /**
23
+ * Registers a Listener to be executed whenever this event is raised.
24
+ * @param listener The function to be executed when the event is raised.
25
+ * @param scope An optional object scope to serve as the 'this' pointer when listener is invoked.
26
+ * @returns A function that will remove this event listener.
27
+ * @see [[BeEvent.raiseEvent]], [[BeEvent.removeListener]]
28
+ */
29
+ addListener(listener, scope) {
30
+ this._listeners.push({ listener, scope, once: false });
31
+ return () => this.removeListener(listener, scope);
32
+ }
33
+ /**
34
+ * Registers a callback function to be executed *only once* when the event is raised.
35
+ * @param listener The function to be executed once when the event is raised.
36
+ * @param scope An optional object scope to serve as the `this` pointer in which the listener function will execute.
37
+ * @returns A function that will remove this event listener.
38
+ * @see [[BeEvent.raiseEvent]], [[BeEvent.removeListener]]
39
+ */
40
+ addOnce(listener, scope) {
41
+ this._listeners.push({ listener, scope, once: true });
42
+ return () => this.removeListener(listener, scope);
43
+ }
44
+ /**
45
+ * Un-register a previously registered listener.
46
+ * @param listener The listener to be unregistered.
47
+ * @param scope The scope that was originally passed to addListener.
48
+ * @returns 'true' if the listener was removed; 'false' if the listener and scope are not registered with the event.
49
+ * @see [[BeEvent.raiseEvent]], [[BeEvent.addListener]]
50
+ */
51
+ removeListener(listener, scope) {
52
+ const listeners = this._listeners;
53
+ for (let i = 0; i < listeners.length; ++i) {
54
+ const context = listeners[i];
55
+ if (context.listener === listener && context.scope === scope) {
56
+ if (this._insideRaiseEvent) {
57
+ context.listener = undefined;
58
+ }
59
+ else {
60
+ listeners.splice(i, 1);
61
+ }
62
+ return true;
63
+ }
64
+ }
65
+ return false;
66
+ }
67
+ /**
68
+ * Raises the event by calling each registered listener with the supplied arguments.
69
+ * @param args This method takes any number of parameters and passes them through to the listeners.
70
+ * @see [[BeEvent.removeListener]], [[BeEvent.addListener]]
71
+ */
72
+ raiseEvent(...args) {
73
+ this._insideRaiseEvent = true;
74
+ const listeners = this._listeners;
75
+ const length = listeners.length;
76
+ let dropped = false;
77
+ for (let i = 0; i < length; ++i) {
78
+ const context = listeners[i];
79
+ if (!context.listener) {
80
+ dropped = true;
81
+ }
82
+ else {
83
+ try {
84
+ context.listener.apply(context.scope, args);
85
+ }
86
+ catch (e) {
87
+ UnexpectedErrors.handle(e);
88
+ }
89
+ if (context.once) {
90
+ context.listener = undefined;
91
+ dropped = true;
92
+ }
93
+ }
94
+ }
95
+ // if we had dropped listeners, remove them now
96
+ if (dropped)
97
+ this._listeners = this._listeners.filter((ctx) => ctx.listener !== undefined);
98
+ this._insideRaiseEvent = false;
99
+ }
100
+ /** Determine whether this BeEvent has a specified listener registered.
101
+ * @param listener The listener to check.
102
+ * @param scope optional scope argument to match call to addListener
103
+ */
104
+ has(listener, scope) {
105
+ for (const ctx of this._listeners) {
106
+ if (ctx.listener === listener && ctx.scope === scope) {
107
+ return true;
108
+ }
109
+ }
110
+ return false;
111
+ }
112
+ /** Clear all Listeners from this BeEvent. */
113
+ clear() { this._listeners.length = 0; }
114
+ }
115
+ /** Specialization of BeEvent for events that take a single strongly typed argument, primarily used for UI events.
116
+ * @public
117
+ */
118
+ export class BeUiEvent extends BeEvent {
119
+ /** Raises event with single strongly typed argument. */
120
+ emit(args) { this.raiseEvent(args); }
121
+ }
122
+ /**
123
+ * A list of BeEvent objects, accessible by an event name.
124
+ * This class may be used instead of explicitly declaring each BeEvent as a member of a containing class.
125
+ * @public
126
+ */
127
+ export class BeEventList {
128
+ constructor() {
129
+ this._events = {};
130
+ }
131
+ /**
132
+ * Gets the event associated with the specified name, creating the event if it does not already exist.
133
+ * @param name The name of the event.
134
+ */
135
+ get(name) {
136
+ let event = this._events[name];
137
+ if (event)
138
+ return event;
139
+ event = new BeEvent();
140
+ this._events[name] = event;
141
+ return event;
142
+ }
143
+ /**
144
+ * Removes the event associated with a name.
145
+ * @param name The name of the event.
146
+ */
147
+ remove(name) {
148
+ this._events[name] = undefined;
149
+ }
150
+ }
151
151
  //# sourceMappingURL=BeEvent.js.map