@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.
- package/CHANGELOG.md +50 -1
- package/lib/cjs/AccessToken.d.ts +10 -10
- package/lib/cjs/AccessToken.d.ts.map +1 -1
- package/lib/cjs/AccessToken.js +9 -9
- package/lib/cjs/Assert.d.ts +25 -25
- package/lib/cjs/Assert.js +45 -45
- package/lib/cjs/Assert.js.map +1 -1
- package/lib/cjs/BeEvent.d.ts +81 -81
- package/lib/cjs/BeEvent.d.ts.map +1 -1
- package/lib/cjs/BeEvent.js +156 -156
- package/lib/cjs/BeSQLite.d.ts +172 -170
- package/lib/cjs/BeSQLite.d.ts.map +1 -1
- package/lib/cjs/BeSQLite.js +185 -183
- package/lib/cjs/BeSQLite.js.map +1 -1
- package/lib/cjs/BentleyError.d.ts +378 -378
- package/lib/cjs/BentleyError.d.ts.map +1 -1
- package/lib/cjs/BentleyError.js +703 -702
- package/lib/cjs/BentleyError.js.map +1 -1
- package/lib/cjs/BentleyLoggerCategory.d.ts +11 -11
- package/lib/cjs/BentleyLoggerCategory.js +19 -19
- package/lib/cjs/ByteStream.d.ts +110 -110
- package/lib/cjs/ByteStream.js +159 -159
- package/lib/cjs/ClassUtils.d.ts +14 -14
- package/lib/cjs/ClassUtils.js +27 -27
- package/lib/cjs/Compare.d.ts +47 -47
- package/lib/cjs/Compare.d.ts.map +1 -1
- package/lib/cjs/Compare.js +75 -75
- package/lib/cjs/CompressedId64Set.d.ts +134 -134
- package/lib/cjs/CompressedId64Set.d.ts.map +1 -1
- package/lib/cjs/CompressedId64Set.js +428 -428
- package/lib/cjs/CompressedId64Set.js.map +1 -1
- package/lib/cjs/Dictionary.d.ts +125 -125
- package/lib/cjs/Dictionary.js +203 -203
- package/lib/cjs/Disposable.d.ts +80 -80
- package/lib/cjs/Disposable.d.ts.map +1 -1
- package/lib/cjs/Disposable.js +120 -120
- package/lib/cjs/Id.d.ts +285 -285
- package/lib/cjs/Id.d.ts.map +1 -1
- package/lib/cjs/Id.js +643 -643
- package/lib/cjs/IndexMap.d.ts +65 -65
- package/lib/cjs/IndexMap.js +91 -91
- package/lib/cjs/JsonSchema.d.ts +77 -77
- package/lib/cjs/JsonSchema.d.ts.map +1 -1
- package/lib/cjs/JsonSchema.js +9 -9
- package/lib/cjs/JsonUtils.d.ts +78 -78
- package/lib/cjs/JsonUtils.js +151 -151
- package/lib/cjs/LRUMap.d.ts +129 -129
- package/lib/cjs/LRUMap.js +333 -333
- package/lib/cjs/LRUMap.js.map +1 -1
- package/lib/cjs/Logger.d.ts +143 -143
- package/lib/cjs/Logger.d.ts.map +1 -1
- package/lib/cjs/Logger.js +256 -258
- package/lib/cjs/Logger.js.map +1 -1
- package/lib/cjs/ObservableSet.d.ts +23 -23
- package/lib/cjs/ObservableSet.js +51 -51
- package/lib/cjs/OneAtATimeAction.d.ts +31 -31
- package/lib/cjs/OneAtATimeAction.js +94 -94
- package/lib/cjs/OneAtATimeAction.js.map +1 -1
- package/lib/cjs/OrderedId64Iterable.d.ts +74 -74
- package/lib/cjs/OrderedId64Iterable.d.ts.map +1 -1
- package/lib/cjs/OrderedId64Iterable.js +235 -235
- package/lib/cjs/OrderedSet.d.ts +40 -40
- package/lib/cjs/OrderedSet.js +64 -64
- package/lib/cjs/PriorityQueue.d.ts +70 -70
- package/lib/cjs/PriorityQueue.d.ts.map +1 -1
- package/lib/cjs/PriorityQueue.js +140 -140
- package/lib/cjs/ProcessDetector.d.ts +59 -59
- package/lib/cjs/ProcessDetector.js +71 -71
- package/lib/cjs/SortedArray.d.ts +236 -232
- package/lib/cjs/SortedArray.d.ts.map +1 -1
- package/lib/cjs/SortedArray.js +315 -303
- package/lib/cjs/SortedArray.js.map +1 -1
- package/lib/cjs/StatusCategory.d.ts +30 -30
- package/lib/cjs/StatusCategory.d.ts.map +1 -1
- package/lib/cjs/StatusCategory.js +460 -460
- package/lib/cjs/StatusCategory.js.map +1 -1
- package/lib/cjs/StringUtils.d.ts +22 -22
- package/lib/cjs/StringUtils.js +148 -148
- package/lib/cjs/Time.d.ts +122 -122
- package/lib/cjs/Time.js +152 -152
- package/lib/cjs/Time.js.map +1 -1
- package/lib/cjs/Tracing.d.ts +43 -40
- package/lib/cjs/Tracing.d.ts.map +1 -1
- package/lib/cjs/Tracing.js +134 -130
- package/lib/cjs/Tracing.js.map +1 -1
- package/lib/cjs/TupleKeyedMap.d.ts +36 -36
- package/lib/cjs/TupleKeyedMap.js +102 -102
- package/lib/cjs/TypedArrayBuilder.d.ts +155 -155
- package/lib/cjs/TypedArrayBuilder.d.ts.map +1 -1
- package/lib/cjs/TypedArrayBuilder.js +206 -208
- package/lib/cjs/TypedArrayBuilder.js.map +1 -1
- package/lib/cjs/UnexpectedErrors.d.ts +43 -43
- package/lib/cjs/UnexpectedErrors.d.ts.map +1 -1
- package/lib/cjs/UnexpectedErrors.js +68 -68
- package/lib/cjs/UnexpectedErrors.js.map +1 -1
- package/lib/cjs/UtilityTypes.d.ts +112 -96
- package/lib/cjs/UtilityTypes.d.ts.map +1 -1
- package/lib/cjs/UtilityTypes.js +40 -40
- package/lib/cjs/UtilityTypes.js.map +1 -1
- package/lib/cjs/YieldManager.d.ts +18 -18
- package/lib/cjs/YieldManager.js +34 -34
- package/lib/cjs/core-bentley.d.ts +74 -74
- package/lib/cjs/core-bentley.js +94 -90
- package/lib/cjs/core-bentley.js.map +1 -1
- package/lib/cjs/partitionArray.d.ts +21 -21
- package/lib/cjs/partitionArray.js +43 -43
- package/lib/esm/AccessToken.d.ts +10 -10
- package/lib/esm/AccessToken.d.ts.map +1 -1
- package/lib/esm/AccessToken.js +8 -8
- package/lib/esm/Assert.d.ts +25 -25
- package/lib/esm/Assert.js +41 -41
- package/lib/esm/Assert.js.map +1 -1
- package/lib/esm/BeEvent.d.ts +81 -81
- package/lib/esm/BeEvent.d.ts.map +1 -1
- package/lib/esm/BeEvent.js +150 -150
- package/lib/esm/BeSQLite.d.ts +172 -170
- package/lib/esm/BeSQLite.d.ts.map +1 -1
- package/lib/esm/BeSQLite.js +182 -180
- package/lib/esm/BeSQLite.js.map +1 -1
- package/lib/esm/BentleyError.d.ts +378 -378
- package/lib/esm/BentleyError.d.ts.map +1 -1
- package/lib/esm/BentleyError.js +699 -698
- package/lib/esm/BentleyError.js.map +1 -1
- package/lib/esm/BentleyLoggerCategory.d.ts +11 -11
- package/lib/esm/BentleyLoggerCategory.js +16 -16
- package/lib/esm/ByteStream.d.ts +110 -110
- package/lib/esm/ByteStream.js +155 -155
- package/lib/esm/ClassUtils.d.ts +14 -14
- package/lib/esm/ClassUtils.js +22 -22
- package/lib/esm/Compare.d.ts +47 -47
- package/lib/esm/Compare.d.ts.map +1 -1
- package/lib/esm/Compare.js +63 -63
- package/lib/esm/CompressedId64Set.d.ts +134 -134
- package/lib/esm/CompressedId64Set.d.ts.map +1 -1
- package/lib/esm/CompressedId64Set.js +423 -423
- package/lib/esm/CompressedId64Set.js.map +1 -1
- package/lib/esm/Dictionary.d.ts +125 -125
- package/lib/esm/Dictionary.js +199 -199
- package/lib/esm/Disposable.d.ts +80 -80
- package/lib/esm/Disposable.d.ts.map +1 -1
- package/lib/esm/Disposable.js +112 -112
- package/lib/esm/Id.d.ts +285 -285
- package/lib/esm/Id.d.ts.map +1 -1
- package/lib/esm/Id.js +639 -639
- package/lib/esm/IndexMap.d.ts +65 -65
- package/lib/esm/IndexMap.js +86 -86
- package/lib/esm/JsonSchema.d.ts +77 -77
- package/lib/esm/JsonSchema.d.ts.map +1 -1
- package/lib/esm/JsonSchema.js +8 -8
- package/lib/esm/JsonUtils.d.ts +78 -78
- package/lib/esm/JsonUtils.js +148 -148
- package/lib/esm/LRUMap.d.ts +129 -129
- package/lib/esm/LRUMap.js +326 -326
- package/lib/esm/LRUMap.js.map +1 -1
- package/lib/esm/Logger.d.ts +143 -143
- package/lib/esm/Logger.d.ts.map +1 -1
- package/lib/esm/Logger.js +253 -253
- package/lib/esm/Logger.js.map +1 -1
- package/lib/esm/ObservableSet.d.ts +23 -23
- package/lib/esm/ObservableSet.js +47 -47
- package/lib/esm/OneAtATimeAction.d.ts +31 -31
- package/lib/esm/OneAtATimeAction.js +89 -89
- package/lib/esm/OneAtATimeAction.js.map +1 -1
- package/lib/esm/OrderedId64Iterable.d.ts +74 -74
- package/lib/esm/OrderedId64Iterable.d.ts.map +1 -1
- package/lib/esm/OrderedId64Iterable.js +232 -232
- package/lib/esm/OrderedSet.d.ts +40 -40
- package/lib/esm/OrderedSet.js +59 -59
- package/lib/esm/PriorityQueue.d.ts +70 -70
- package/lib/esm/PriorityQueue.d.ts.map +1 -1
- package/lib/esm/PriorityQueue.js +136 -136
- package/lib/esm/ProcessDetector.d.ts +59 -59
- package/lib/esm/ProcessDetector.js +67 -67
- package/lib/esm/SortedArray.d.ts +236 -232
- package/lib/esm/SortedArray.d.ts.map +1 -1
- package/lib/esm/SortedArray.js +308 -296
- package/lib/esm/SortedArray.js.map +1 -1
- package/lib/esm/StatusCategory.d.ts +30 -30
- package/lib/esm/StatusCategory.d.ts.map +1 -1
- package/lib/esm/StatusCategory.js +455 -454
- package/lib/esm/StatusCategory.js.map +1 -1
- package/lib/esm/StringUtils.d.ts +22 -22
- package/lib/esm/StringUtils.js +142 -142
- package/lib/esm/Time.d.ts +122 -122
- package/lib/esm/Time.js +146 -146
- package/lib/esm/Time.js.map +1 -1
- package/lib/esm/Tracing.d.ts +43 -40
- package/lib/esm/Tracing.d.ts.map +1 -1
- package/lib/esm/Tracing.js +130 -126
- package/lib/esm/Tracing.js.map +1 -1
- package/lib/esm/TupleKeyedMap.d.ts +36 -36
- package/lib/esm/TupleKeyedMap.js +98 -98
- package/lib/esm/TypedArrayBuilder.d.ts +155 -155
- package/lib/esm/TypedArrayBuilder.d.ts.map +1 -1
- package/lib/esm/TypedArrayBuilder.js +198 -200
- package/lib/esm/TypedArrayBuilder.js.map +1 -1
- package/lib/esm/UnexpectedErrors.d.ts +43 -43
- package/lib/esm/UnexpectedErrors.d.ts.map +1 -1
- package/lib/esm/UnexpectedErrors.js +65 -64
- package/lib/esm/UnexpectedErrors.js.map +1 -1
- package/lib/esm/UtilityTypes.d.ts +112 -96
- package/lib/esm/UtilityTypes.d.ts.map +1 -1
- package/lib/esm/UtilityTypes.js +34 -34
- package/lib/esm/UtilityTypes.js.map +1 -1
- package/lib/esm/YieldManager.d.ts +18 -18
- package/lib/esm/YieldManager.js +30 -30
- package/lib/esm/core-bentley.d.ts +74 -74
- package/lib/esm/core-bentley.js +78 -78
- package/lib/esm/partitionArray.d.ts +21 -21
- package/lib/esm/partitionArray.js +39 -39
- package/package.json +9 -9
package/lib/cjs/JsonUtils.d.ts
CHANGED
|
@@ -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
|
package/lib/cjs/JsonUtils.js
CHANGED
|
@@ -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
|