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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (211) hide show
  1. package/CHANGELOG.md +29 -12
  2. package/lib/cjs/AccessToken.d.ts +10 -10
  3. package/lib/cjs/AccessToken.d.ts.map +1 -1
  4. package/lib/cjs/AccessToken.js +9 -9
  5. package/lib/cjs/Assert.d.ts +25 -25
  6. package/lib/cjs/Assert.js +45 -45
  7. package/lib/cjs/Assert.js.map +1 -1
  8. package/lib/cjs/BeEvent.d.ts +81 -81
  9. package/lib/cjs/BeEvent.d.ts.map +1 -1
  10. package/lib/cjs/BeEvent.js +156 -156
  11. package/lib/cjs/BeSQLite.d.ts +172 -170
  12. package/lib/cjs/BeSQLite.d.ts.map +1 -1
  13. package/lib/cjs/BeSQLite.js +185 -183
  14. package/lib/cjs/BeSQLite.js.map +1 -1
  15. package/lib/cjs/BentleyError.d.ts +378 -378
  16. package/lib/cjs/BentleyError.d.ts.map +1 -1
  17. package/lib/cjs/BentleyError.js +703 -702
  18. package/lib/cjs/BentleyError.js.map +1 -1
  19. package/lib/cjs/BentleyLoggerCategory.d.ts +11 -11
  20. package/lib/cjs/BentleyLoggerCategory.js +19 -19
  21. package/lib/cjs/ByteStream.d.ts +110 -110
  22. package/lib/cjs/ByteStream.js +159 -159
  23. package/lib/cjs/ClassUtils.d.ts +14 -14
  24. package/lib/cjs/ClassUtils.js +27 -27
  25. package/lib/cjs/Compare.d.ts +47 -47
  26. package/lib/cjs/Compare.d.ts.map +1 -1
  27. package/lib/cjs/Compare.js +75 -75
  28. package/lib/cjs/CompressedId64Set.d.ts +134 -134
  29. package/lib/cjs/CompressedId64Set.d.ts.map +1 -1
  30. package/lib/cjs/CompressedId64Set.js +428 -428
  31. package/lib/cjs/CompressedId64Set.js.map +1 -1
  32. package/lib/cjs/Dictionary.d.ts +125 -125
  33. package/lib/cjs/Dictionary.js +203 -203
  34. package/lib/cjs/Disposable.d.ts +80 -80
  35. package/lib/cjs/Disposable.d.ts.map +1 -1
  36. package/lib/cjs/Disposable.js +120 -120
  37. package/lib/cjs/Id.d.ts +285 -285
  38. package/lib/cjs/Id.d.ts.map +1 -1
  39. package/lib/cjs/Id.js +643 -643
  40. package/lib/cjs/IndexMap.d.ts +65 -65
  41. package/lib/cjs/IndexMap.js +91 -91
  42. package/lib/cjs/JsonSchema.d.ts +77 -77
  43. package/lib/cjs/JsonSchema.d.ts.map +1 -1
  44. package/lib/cjs/JsonSchema.js +9 -9
  45. package/lib/cjs/JsonUtils.d.ts +78 -78
  46. package/lib/cjs/JsonUtils.js +151 -151
  47. package/lib/cjs/LRUMap.d.ts +129 -129
  48. package/lib/cjs/LRUMap.js +333 -333
  49. package/lib/cjs/LRUMap.js.map +1 -1
  50. package/lib/cjs/Logger.d.ts +143 -143
  51. package/lib/cjs/Logger.d.ts.map +1 -1
  52. package/lib/cjs/Logger.js +256 -258
  53. package/lib/cjs/Logger.js.map +1 -1
  54. package/lib/cjs/ObservableSet.d.ts +23 -23
  55. package/lib/cjs/ObservableSet.js +51 -51
  56. package/lib/cjs/OneAtATimeAction.d.ts +31 -31
  57. package/lib/cjs/OneAtATimeAction.js +94 -94
  58. package/lib/cjs/OneAtATimeAction.js.map +1 -1
  59. package/lib/cjs/OrderedId64Iterable.d.ts +74 -74
  60. package/lib/cjs/OrderedId64Iterable.d.ts.map +1 -1
  61. package/lib/cjs/OrderedId64Iterable.js +235 -235
  62. package/lib/cjs/OrderedSet.d.ts +40 -40
  63. package/lib/cjs/OrderedSet.js +64 -64
  64. package/lib/cjs/PriorityQueue.d.ts +70 -70
  65. package/lib/cjs/PriorityQueue.d.ts.map +1 -1
  66. package/lib/cjs/PriorityQueue.js +140 -140
  67. package/lib/cjs/ProcessDetector.d.ts +59 -59
  68. package/lib/cjs/ProcessDetector.js +71 -71
  69. package/lib/cjs/SortedArray.d.ts +236 -232
  70. package/lib/cjs/SortedArray.d.ts.map +1 -1
  71. package/lib/cjs/SortedArray.js +315 -303
  72. package/lib/cjs/SortedArray.js.map +1 -1
  73. package/lib/cjs/StatusCategory.d.ts +30 -30
  74. package/lib/cjs/StatusCategory.d.ts.map +1 -1
  75. package/lib/cjs/StatusCategory.js +460 -460
  76. package/lib/cjs/StatusCategory.js.map +1 -1
  77. package/lib/cjs/StringUtils.d.ts +22 -22
  78. package/lib/cjs/StringUtils.js +148 -148
  79. package/lib/cjs/Time.d.ts +122 -122
  80. package/lib/cjs/Time.js +152 -152
  81. package/lib/cjs/Time.js.map +1 -1
  82. package/lib/cjs/Tracing.d.ts +43 -40
  83. package/lib/cjs/Tracing.d.ts.map +1 -1
  84. package/lib/cjs/Tracing.js +134 -130
  85. package/lib/cjs/Tracing.js.map +1 -1
  86. package/lib/cjs/TupleKeyedMap.d.ts +36 -36
  87. package/lib/cjs/TupleKeyedMap.js +102 -102
  88. package/lib/cjs/TypedArrayBuilder.d.ts +155 -155
  89. package/lib/cjs/TypedArrayBuilder.d.ts.map +1 -1
  90. package/lib/cjs/TypedArrayBuilder.js +206 -208
  91. package/lib/cjs/TypedArrayBuilder.js.map +1 -1
  92. package/lib/cjs/UnexpectedErrors.d.ts +43 -43
  93. package/lib/cjs/UnexpectedErrors.d.ts.map +1 -1
  94. package/lib/cjs/UnexpectedErrors.js +68 -68
  95. package/lib/cjs/UnexpectedErrors.js.map +1 -1
  96. package/lib/cjs/UtilityTypes.d.ts +112 -96
  97. package/lib/cjs/UtilityTypes.d.ts.map +1 -1
  98. package/lib/cjs/UtilityTypes.js +40 -40
  99. package/lib/cjs/UtilityTypes.js.map +1 -1
  100. package/lib/cjs/YieldManager.d.ts +18 -18
  101. package/lib/cjs/YieldManager.js +34 -34
  102. package/lib/cjs/core-bentley.d.ts +74 -74
  103. package/lib/cjs/core-bentley.js +94 -90
  104. package/lib/cjs/core-bentley.js.map +1 -1
  105. package/lib/cjs/partitionArray.d.ts +21 -21
  106. package/lib/cjs/partitionArray.js +43 -43
  107. package/lib/esm/AccessToken.d.ts +10 -10
  108. package/lib/esm/AccessToken.d.ts.map +1 -1
  109. package/lib/esm/AccessToken.js +8 -8
  110. package/lib/esm/Assert.d.ts +25 -25
  111. package/lib/esm/Assert.js +41 -41
  112. package/lib/esm/Assert.js.map +1 -1
  113. package/lib/esm/BeEvent.d.ts +81 -81
  114. package/lib/esm/BeEvent.d.ts.map +1 -1
  115. package/lib/esm/BeEvent.js +150 -150
  116. package/lib/esm/BeSQLite.d.ts +172 -170
  117. package/lib/esm/BeSQLite.d.ts.map +1 -1
  118. package/lib/esm/BeSQLite.js +182 -180
  119. package/lib/esm/BeSQLite.js.map +1 -1
  120. package/lib/esm/BentleyError.d.ts +378 -378
  121. package/lib/esm/BentleyError.d.ts.map +1 -1
  122. package/lib/esm/BentleyError.js +699 -698
  123. package/lib/esm/BentleyError.js.map +1 -1
  124. package/lib/esm/BentleyLoggerCategory.d.ts +11 -11
  125. package/lib/esm/BentleyLoggerCategory.js +16 -16
  126. package/lib/esm/ByteStream.d.ts +110 -110
  127. package/lib/esm/ByteStream.js +155 -155
  128. package/lib/esm/ClassUtils.d.ts +14 -14
  129. package/lib/esm/ClassUtils.js +22 -22
  130. package/lib/esm/Compare.d.ts +47 -47
  131. package/lib/esm/Compare.d.ts.map +1 -1
  132. package/lib/esm/Compare.js +63 -63
  133. package/lib/esm/CompressedId64Set.d.ts +134 -134
  134. package/lib/esm/CompressedId64Set.d.ts.map +1 -1
  135. package/lib/esm/CompressedId64Set.js +423 -423
  136. package/lib/esm/CompressedId64Set.js.map +1 -1
  137. package/lib/esm/Dictionary.d.ts +125 -125
  138. package/lib/esm/Dictionary.js +199 -199
  139. package/lib/esm/Disposable.d.ts +80 -80
  140. package/lib/esm/Disposable.d.ts.map +1 -1
  141. package/lib/esm/Disposable.js +112 -112
  142. package/lib/esm/Id.d.ts +285 -285
  143. package/lib/esm/Id.d.ts.map +1 -1
  144. package/lib/esm/Id.js +639 -639
  145. package/lib/esm/IndexMap.d.ts +65 -65
  146. package/lib/esm/IndexMap.js +86 -86
  147. package/lib/esm/JsonSchema.d.ts +77 -77
  148. package/lib/esm/JsonSchema.d.ts.map +1 -1
  149. package/lib/esm/JsonSchema.js +8 -8
  150. package/lib/esm/JsonUtils.d.ts +78 -78
  151. package/lib/esm/JsonUtils.js +148 -148
  152. package/lib/esm/LRUMap.d.ts +129 -129
  153. package/lib/esm/LRUMap.js +326 -326
  154. package/lib/esm/LRUMap.js.map +1 -1
  155. package/lib/esm/Logger.d.ts +143 -143
  156. package/lib/esm/Logger.d.ts.map +1 -1
  157. package/lib/esm/Logger.js +253 -253
  158. package/lib/esm/Logger.js.map +1 -1
  159. package/lib/esm/ObservableSet.d.ts +23 -23
  160. package/lib/esm/ObservableSet.js +47 -47
  161. package/lib/esm/OneAtATimeAction.d.ts +31 -31
  162. package/lib/esm/OneAtATimeAction.js +89 -89
  163. package/lib/esm/OneAtATimeAction.js.map +1 -1
  164. package/lib/esm/OrderedId64Iterable.d.ts +74 -74
  165. package/lib/esm/OrderedId64Iterable.d.ts.map +1 -1
  166. package/lib/esm/OrderedId64Iterable.js +232 -232
  167. package/lib/esm/OrderedSet.d.ts +40 -40
  168. package/lib/esm/OrderedSet.js +59 -59
  169. package/lib/esm/PriorityQueue.d.ts +70 -70
  170. package/lib/esm/PriorityQueue.d.ts.map +1 -1
  171. package/lib/esm/PriorityQueue.js +136 -136
  172. package/lib/esm/ProcessDetector.d.ts +59 -59
  173. package/lib/esm/ProcessDetector.js +67 -67
  174. package/lib/esm/SortedArray.d.ts +236 -232
  175. package/lib/esm/SortedArray.d.ts.map +1 -1
  176. package/lib/esm/SortedArray.js +308 -296
  177. package/lib/esm/SortedArray.js.map +1 -1
  178. package/lib/esm/StatusCategory.d.ts +30 -30
  179. package/lib/esm/StatusCategory.d.ts.map +1 -1
  180. package/lib/esm/StatusCategory.js +455 -454
  181. package/lib/esm/StatusCategory.js.map +1 -1
  182. package/lib/esm/StringUtils.d.ts +22 -22
  183. package/lib/esm/StringUtils.js +142 -142
  184. package/lib/esm/Time.d.ts +122 -122
  185. package/lib/esm/Time.js +146 -146
  186. package/lib/esm/Time.js.map +1 -1
  187. package/lib/esm/Tracing.d.ts +43 -40
  188. package/lib/esm/Tracing.d.ts.map +1 -1
  189. package/lib/esm/Tracing.js +130 -126
  190. package/lib/esm/Tracing.js.map +1 -1
  191. package/lib/esm/TupleKeyedMap.d.ts +36 -36
  192. package/lib/esm/TupleKeyedMap.js +98 -98
  193. package/lib/esm/TypedArrayBuilder.d.ts +155 -155
  194. package/lib/esm/TypedArrayBuilder.d.ts.map +1 -1
  195. package/lib/esm/TypedArrayBuilder.js +198 -200
  196. package/lib/esm/TypedArrayBuilder.js.map +1 -1
  197. package/lib/esm/UnexpectedErrors.d.ts +43 -43
  198. package/lib/esm/UnexpectedErrors.d.ts.map +1 -1
  199. package/lib/esm/UnexpectedErrors.js +65 -64
  200. package/lib/esm/UnexpectedErrors.js.map +1 -1
  201. package/lib/esm/UtilityTypes.d.ts +112 -96
  202. package/lib/esm/UtilityTypes.d.ts.map +1 -1
  203. package/lib/esm/UtilityTypes.js +34 -34
  204. package/lib/esm/UtilityTypes.js.map +1 -1
  205. package/lib/esm/YieldManager.d.ts +18 -18
  206. package/lib/esm/YieldManager.js +30 -30
  207. package/lib/esm/core-bentley.d.ts +74 -74
  208. package/lib/esm/core-bentley.js +78 -78
  209. package/lib/esm/partitionArray.d.ts +21 -21
  210. package/lib/esm/partitionArray.js +39 -39
  211. package/package.json +8 -8
@@ -1,79 +1,79 @@
1
- /** @packageDocumentation
2
- * @module Json
3
- */
4
- /** Utility functions for converting from JSON objects, with default values.
5
- * @public
6
- */
7
- export declare namespace JsonUtils {
8
- /** Get a value as a boolean.
9
- * @param json the input JSON object
10
- * @param defaultVal default value if json cannot be converted to boolean
11
- * @returns the value of json as a boolean, or default value
12
- */
13
- function asBool(json: any, defaultVal?: boolean): boolean;
14
- /** Get a value as an integer.
15
- * @param json the input JSON object
16
- * @param defaultVal default value if json cannot be converted to integer
17
- * @returns the value of json as an integer, or default value
18
- */
19
- function asInt(json: any, defaultVal?: number): number;
20
- /** Get a value as a double.
21
- * @param json the input JSON object
22
- * @param defaultVal default value if json cannot be converted to double
23
- * @returns the value of json as a double, or default value
24
- */
25
- function asDouble(json: any, defaultVal?: number): number;
26
- /** Get a value as a string.
27
- * @param json the input JSON object
28
- * @param defaultVal default value if json cannot be converted to string
29
- * @returns the value of json as a string, or default value
30
- */
31
- function asString(json: any, defaultVal?: string): string;
32
- /** Get a value as an array.
33
- * @param json the input JSON object
34
- * @returns the input JSON object if it is an array, otherwise undefined
35
- */
36
- function asArray(json: any): any;
37
- /** Get a value as an object.
38
- * @param json the input JSON object
39
- * @returns the input JSON object if it is an object, otherwise undefined
40
- */
41
- function asObject(json: any): any;
42
- /** Set or remove a number on a json object, given a key name, a value, and a default value. Sets `json[key] = val` if val is *not* equal to the default,
43
- * otherwise `delete json[key]`. This is used to omit values from JSON strings that are of known defaults.
44
- * @param json the JSON object to affect
45
- * @param key the name of the member to set or remove
46
- * @param val the value to set
47
- * @param defaultVal the default value.
48
- */
49
- function setOrRemoveNumber(json: any, key: string, val: number, defaultVal: number): void;
50
- /** Set or remove a boolean on a json object, given a key name, a value, and a default value. Sets `json[key] = val` if val is *not* equal to the default,
51
- * otherwise `delete json[key]`. This is used to omit values from JSON strings that are of known defaults.
52
- * @param json the JSON object to affect
53
- * @param key the name of the member to set or remove
54
- * @param val the value to set
55
- * @param defaultVal the default value.
56
- */
57
- function setOrRemoveBoolean(json: any, key: string, val: boolean, defaultVal: boolean): void;
58
- /** Determine if a Javascript object is equivalent to `{}`.
59
- * @param json The JSON object to test.
60
- * @returns true if `json` is an Object with no keys.
61
- */
62
- function isEmptyObject(json: any): boolean;
63
- /** Determine if the input is undefined or an empty Javascript object.
64
- * @param json The JSON object to test.
65
- * @returns true if `json` is undefined or is an Object with no keys (equivalent to `{}`).
66
- */
67
- function isEmptyObjectOrUndefined(json: any): boolean;
68
- /** Determine if the input is a non-empty Javascript object.
69
- * @param value The value to test.
70
- * @returns true if `value` is an Object with at least one key.
71
- */
72
- function isNonEmptyObject(value: any): value is Object;
73
- /**
74
- * Convert the input object into a "pure" JavaScript object, with only instances of "object" or primitives in the returned value.
75
- * Works recursively for object members, and over arrays entries. Calls "toJSON" on any members that implement it.
76
- */
77
- function toObject(val: any): any;
78
- }
1
+ /** @packageDocumentation
2
+ * @module Json
3
+ */
4
+ /** Utility functions for converting from JSON objects, with default values.
5
+ * @public
6
+ */
7
+ export declare namespace JsonUtils {
8
+ /** Get a value as a boolean.
9
+ * @param json the input JSON object
10
+ * @param defaultVal default value if json cannot be converted to boolean
11
+ * @returns the value of json as a boolean, or default value
12
+ */
13
+ function asBool(json: any, defaultVal?: boolean): boolean;
14
+ /** Get a value as an integer.
15
+ * @param json the input JSON object
16
+ * @param defaultVal default value if json cannot be converted to integer
17
+ * @returns the value of json as an integer, or default value
18
+ */
19
+ function asInt(json: any, defaultVal?: number): number;
20
+ /** Get a value as a double.
21
+ * @param json the input JSON object
22
+ * @param defaultVal default value if json cannot be converted to double
23
+ * @returns the value of json as a double, or default value
24
+ */
25
+ function asDouble(json: any, defaultVal?: number): number;
26
+ /** Get a value as a string.
27
+ * @param json the input JSON object
28
+ * @param defaultVal default value if json cannot be converted to string
29
+ * @returns the value of json as a string, or default value
30
+ */
31
+ function asString(json: any, defaultVal?: string): string;
32
+ /** Get a value as an array.
33
+ * @param json the input JSON object
34
+ * @returns the input JSON object if it is an array, otherwise undefined
35
+ */
36
+ function asArray(json: any): any;
37
+ /** Get a value as an object.
38
+ * @param json the input JSON object
39
+ * @returns the input JSON object if it is an object, otherwise undefined
40
+ */
41
+ function asObject(json: any): any;
42
+ /** Set or remove a number on a json object, given a key name, a value, and a default value. Sets `json[key] = val` if val is *not* equal to the default,
43
+ * otherwise `delete json[key]`. This is used to omit values from JSON strings that are of known defaults.
44
+ * @param json the JSON object to affect
45
+ * @param key the name of the member to set or remove
46
+ * @param val the value to set
47
+ * @param defaultVal the default value.
48
+ */
49
+ function setOrRemoveNumber(json: any, key: string, val: number, defaultVal: number): void;
50
+ /** Set or remove a boolean on a json object, given a key name, a value, and a default value. Sets `json[key] = val` if val is *not* equal to the default,
51
+ * otherwise `delete json[key]`. This is used to omit values from JSON strings that are of known defaults.
52
+ * @param json the JSON object to affect
53
+ * @param key the name of the member to set or remove
54
+ * @param val the value to set
55
+ * @param defaultVal the default value.
56
+ */
57
+ function setOrRemoveBoolean(json: any, key: string, val: boolean, defaultVal: boolean): void;
58
+ /** Determine if a Javascript object is equivalent to `{}`.
59
+ * @param json The JSON object to test.
60
+ * @returns true if `json` is an Object with no keys.
61
+ */
62
+ function isEmptyObject(json: any): boolean;
63
+ /** Determine if the input is undefined or an empty Javascript object.
64
+ * @param json The JSON object to test.
65
+ * @returns true if `json` is undefined or is an Object with no keys (equivalent to `{}`).
66
+ */
67
+ function isEmptyObjectOrUndefined(json: any): boolean;
68
+ /** Determine if the input is a non-empty Javascript object.
69
+ * @param value The value to test.
70
+ * @returns true if `value` is an Object with at least one key.
71
+ */
72
+ function isNonEmptyObject(value: any): value is Object;
73
+ /**
74
+ * Convert the input object into a "pure" JavaScript object, with only instances of "object" or primitives in the returned value.
75
+ * Works recursively for object members, and over arrays entries. Calls "toJSON" on any members that implement it.
76
+ */
77
+ function toObject(val: any): any;
78
+ }
79
79
  //# sourceMappingURL=JsonUtils.d.ts.map
@@ -1,152 +1,152 @@
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
- exports.JsonUtils = void 0;
11
- /** Utility functions for converting from JSON objects, with default values.
12
- * @public
13
- */
14
- var JsonUtils;
15
- (function (JsonUtils) {
16
- /** Get a value as a boolean.
17
- * @param json the input JSON object
18
- * @param defaultVal default value if json cannot be converted to boolean
19
- * @returns the value of json as a boolean, or default value
20
- */
21
- function asBool(json, defaultVal = false) {
22
- return isNullOrUndefined(json) ? defaultVal : !!json;
23
- }
24
- JsonUtils.asBool = asBool;
25
- /** Get a value as an integer.
26
- * @param json the input JSON object
27
- * @param defaultVal default value if json cannot be converted to integer
28
- * @returns the value of json as an integer, or default value
29
- */
30
- function asInt(json, defaultVal = 0) {
31
- return (typeof json === "number") ? Math.trunc(json) : defaultVal;
32
- }
33
- JsonUtils.asInt = asInt;
34
- /** Get a value as a double.
35
- * @param json the input JSON object
36
- * @param defaultVal default value if json cannot be converted to double
37
- * @returns the value of json as a double, or default value
38
- */
39
- function asDouble(json, defaultVal = 0) {
40
- return (typeof json === "number") ? json : defaultVal;
41
- }
42
- JsonUtils.asDouble = asDouble;
43
- /** Get a value as a string.
44
- * @param json the input JSON object
45
- * @param defaultVal default value if json cannot be converted to string
46
- * @returns the value of json as a string, or default value
47
- */
48
- function asString(json, defaultVal = "") {
49
- return isNullOrUndefined(json) ? defaultVal : json.toString();
50
- }
51
- JsonUtils.asString = asString;
52
- /** Get a value as an array.
53
- * @param json the input JSON object
54
- * @returns the input JSON object if it is an array, otherwise undefined
55
- */
56
- function asArray(json) {
57
- return Array.isArray(json) ? json : undefined;
58
- }
59
- JsonUtils.asArray = asArray;
60
- /** Get a value as an object.
61
- * @param json the input JSON object
62
- * @returns the input JSON object if it is an object, otherwise undefined
63
- */
64
- function asObject(json) {
65
- return "object" === typeof json ? json : undefined;
66
- }
67
- JsonUtils.asObject = asObject;
68
- /** Set or remove a number on a json object, given a key name, a value, and a default value. Sets `json[key] = val` if val is *not* equal to the default,
69
- * otherwise `delete json[key]`. This is used to omit values from JSON strings that are of known defaults.
70
- * @param json the JSON object to affect
71
- * @param key the name of the member to set or remove
72
- * @param val the value to set
73
- * @param defaultVal the default value.
74
- */
75
- function setOrRemoveNumber(json, key, val, defaultVal) {
76
- if (val === defaultVal)
77
- delete json[key];
78
- else
79
- json[key] = val;
80
- }
81
- JsonUtils.setOrRemoveNumber = setOrRemoveNumber;
82
- /** Set or remove a boolean on a json object, given a key name, a value, and a default value. Sets `json[key] = val` if val is *not* equal to the default,
83
- * otherwise `delete json[key]`. This is used to omit values from JSON strings that are of known defaults.
84
- * @param json the JSON object to affect
85
- * @param key the name of the member to set or remove
86
- * @param val the value to set
87
- * @param defaultVal the default value.
88
- */
89
- function setOrRemoveBoolean(json, key, val, defaultVal) {
90
- if (val === defaultVal)
91
- delete json[key];
92
- else
93
- json[key] = val;
94
- }
95
- JsonUtils.setOrRemoveBoolean = setOrRemoveBoolean;
96
- /** Determine if a Javascript object is equivalent to `{}`.
97
- * @param json The JSON object to test.
98
- * @returns true if `json` is an Object with no keys.
99
- */
100
- function isEmptyObject(json) {
101
- return "object" === typeof json && 0 === Object.keys(json).length;
102
- }
103
- JsonUtils.isEmptyObject = isEmptyObject;
104
- /** Determine if the input is undefined or an empty Javascript object.
105
- * @param json The JSON object to test.
106
- * @returns true if `json` is undefined or is an Object with no keys (equivalent to `{}`).
107
- */
108
- function isEmptyObjectOrUndefined(json) {
109
- return undefined === json || isEmptyObject(json);
110
- }
111
- JsonUtils.isEmptyObjectOrUndefined = isEmptyObjectOrUndefined;
112
- function isNullOrUndefined(json) {
113
- return null === json || undefined === json;
114
- }
115
- /** Determine if the input is a non-empty Javascript object.
116
- * @param value The value to test.
117
- * @returns true if `value` is an Object with at least one key.
118
- */
119
- function isNonEmptyObject(value) {
120
- return !isEmptyObjectOrUndefined(value);
121
- }
122
- JsonUtils.isNonEmptyObject = isNonEmptyObject;
123
- /**
124
- * Convert the input object into a "pure" JavaScript object, with only instances of "object" or primitives in the returned value.
125
- * Works recursively for object members, and over arrays entries. Calls "toJSON" on any members that implement it.
126
- */
127
- function toObject(val) {
128
- if (typeof val === "boolean" || typeof val === "number" || typeof val === "string")
129
- return val;
130
- if (typeof val !== "object")
131
- return undefined;
132
- // See if the object has toJSON() function defined.
133
- if (typeof val.toJSON !== "undefined")
134
- return toObject(val.toJSON());
135
- // if it's an array, convert each member.
136
- if (Array.isArray(val)) {
137
- const arr = new Array(val.length);
138
- val.forEach((el, i) => arr[i] = toObject(el));
139
- return arr;
140
- }
141
- // Convert each property
142
- const out = {};
143
- Object.getOwnPropertyNames(val).forEach((prop) => {
144
- const transformVal = toObject(val[prop]);
145
- if (transformVal !== undefined)
146
- out[prop] = transformVal;
147
- });
148
- return out;
149
- }
150
- JsonUtils.toObject = toObject;
151
- })(JsonUtils = exports.JsonUtils || (exports.JsonUtils = {}));
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
+ exports.JsonUtils = void 0;
11
+ /** Utility functions for converting from JSON objects, with default values.
12
+ * @public
13
+ */
14
+ var JsonUtils;
15
+ (function (JsonUtils) {
16
+ /** Get a value as a boolean.
17
+ * @param json the input JSON object
18
+ * @param defaultVal default value if json cannot be converted to boolean
19
+ * @returns the value of json as a boolean, or default value
20
+ */
21
+ function asBool(json, defaultVal = false) {
22
+ return isNullOrUndefined(json) ? defaultVal : !!json;
23
+ }
24
+ JsonUtils.asBool = asBool;
25
+ /** Get a value as an integer.
26
+ * @param json the input JSON object
27
+ * @param defaultVal default value if json cannot be converted to integer
28
+ * @returns the value of json as an integer, or default value
29
+ */
30
+ function asInt(json, defaultVal = 0) {
31
+ return (typeof json === "number") ? Math.trunc(json) : defaultVal;
32
+ }
33
+ JsonUtils.asInt = asInt;
34
+ /** Get a value as a double.
35
+ * @param json the input JSON object
36
+ * @param defaultVal default value if json cannot be converted to double
37
+ * @returns the value of json as a double, or default value
38
+ */
39
+ function asDouble(json, defaultVal = 0) {
40
+ return (typeof json === "number") ? json : defaultVal;
41
+ }
42
+ JsonUtils.asDouble = asDouble;
43
+ /** Get a value as a string.
44
+ * @param json the input JSON object
45
+ * @param defaultVal default value if json cannot be converted to string
46
+ * @returns the value of json as a string, or default value
47
+ */
48
+ function asString(json, defaultVal = "") {
49
+ return isNullOrUndefined(json) ? defaultVal : json.toString();
50
+ }
51
+ JsonUtils.asString = asString;
52
+ /** Get a value as an array.
53
+ * @param json the input JSON object
54
+ * @returns the input JSON object if it is an array, otherwise undefined
55
+ */
56
+ function asArray(json) {
57
+ return Array.isArray(json) ? json : undefined;
58
+ }
59
+ JsonUtils.asArray = asArray;
60
+ /** Get a value as an object.
61
+ * @param json the input JSON object
62
+ * @returns the input JSON object if it is an object, otherwise undefined
63
+ */
64
+ function asObject(json) {
65
+ return "object" === typeof json ? json : undefined;
66
+ }
67
+ JsonUtils.asObject = asObject;
68
+ /** Set or remove a number on a json object, given a key name, a value, and a default value. Sets `json[key] = val` if val is *not* equal to the default,
69
+ * otherwise `delete json[key]`. This is used to omit values from JSON strings that are of known defaults.
70
+ * @param json the JSON object to affect
71
+ * @param key the name of the member to set or remove
72
+ * @param val the value to set
73
+ * @param defaultVal the default value.
74
+ */
75
+ function setOrRemoveNumber(json, key, val, defaultVal) {
76
+ if (val === defaultVal)
77
+ delete json[key];
78
+ else
79
+ json[key] = val;
80
+ }
81
+ JsonUtils.setOrRemoveNumber = setOrRemoveNumber;
82
+ /** Set or remove a boolean on a json object, given a key name, a value, and a default value. Sets `json[key] = val` if val is *not* equal to the default,
83
+ * otherwise `delete json[key]`. This is used to omit values from JSON strings that are of known defaults.
84
+ * @param json the JSON object to affect
85
+ * @param key the name of the member to set or remove
86
+ * @param val the value to set
87
+ * @param defaultVal the default value.
88
+ */
89
+ function setOrRemoveBoolean(json, key, val, defaultVal) {
90
+ if (val === defaultVal)
91
+ delete json[key];
92
+ else
93
+ json[key] = val;
94
+ }
95
+ JsonUtils.setOrRemoveBoolean = setOrRemoveBoolean;
96
+ /** Determine if a Javascript object is equivalent to `{}`.
97
+ * @param json The JSON object to test.
98
+ * @returns true if `json` is an Object with no keys.
99
+ */
100
+ function isEmptyObject(json) {
101
+ return "object" === typeof json && 0 === Object.keys(json).length;
102
+ }
103
+ JsonUtils.isEmptyObject = isEmptyObject;
104
+ /** Determine if the input is undefined or an empty Javascript object.
105
+ * @param json The JSON object to test.
106
+ * @returns true if `json` is undefined or is an Object with no keys (equivalent to `{}`).
107
+ */
108
+ function isEmptyObjectOrUndefined(json) {
109
+ return undefined === json || isEmptyObject(json);
110
+ }
111
+ JsonUtils.isEmptyObjectOrUndefined = isEmptyObjectOrUndefined;
112
+ function isNullOrUndefined(json) {
113
+ return null === json || undefined === json;
114
+ }
115
+ /** Determine if the input is a non-empty Javascript object.
116
+ * @param value The value to test.
117
+ * @returns true if `value` is an Object with at least one key.
118
+ */
119
+ function isNonEmptyObject(value) {
120
+ return !isEmptyObjectOrUndefined(value);
121
+ }
122
+ JsonUtils.isNonEmptyObject = isNonEmptyObject;
123
+ /**
124
+ * Convert the input object into a "pure" JavaScript object, with only instances of "object" or primitives in the returned value.
125
+ * Works recursively for object members, and over arrays entries. Calls "toJSON" on any members that implement it.
126
+ */
127
+ function toObject(val) {
128
+ if (typeof val === "boolean" || typeof val === "number" || typeof val === "string")
129
+ return val;
130
+ if (typeof val !== "object")
131
+ return undefined;
132
+ // See if the object has toJSON() function defined.
133
+ if (typeof val.toJSON !== "undefined")
134
+ return toObject(val.toJSON());
135
+ // if it's an array, convert each member.
136
+ if (Array.isArray(val)) {
137
+ const arr = new Array(val.length);
138
+ val.forEach((el, i) => arr[i] = toObject(el));
139
+ return arr;
140
+ }
141
+ // Convert each property
142
+ const out = {};
143
+ Object.getOwnPropertyNames(val).forEach((prop) => {
144
+ const transformVal = toObject(val[prop]);
145
+ if (transformVal !== undefined)
146
+ out[prop] = transformVal;
147
+ });
148
+ return out;
149
+ }
150
+ JsonUtils.toObject = toObject;
151
+ })(JsonUtils = exports.JsonUtils || (exports.JsonUtils = {}));
152
152
  //# sourceMappingURL=JsonUtils.js.map