necessary 17.1.14 â 17.2.5
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/README.md +101 -3
- package/lib/browser.js +9 -1
- package/lib/constants.js +4 -12
- package/lib/jsonTypes.js +49 -0
- package/lib/main.js +9 -1
- package/lib/utilities/configuration.js +11 -37
- package/lib/utilities/json.js +95 -0
- package/lib/utilities/string.js +10 -2
- package/package.json +1 -1
- package/src/browser.js +2 -0
- package/src/constants.js +1 -3
- package/src/jsonTypes.js +17 -0
- package/src/main.js +2 -0
- package/src/utilities/configuration.js +10 -56
- package/src/utilities/json.js +86 -0
- package/src/utilities/string.js +9 -1
package/README.md
CHANGED
|
@@ -23,6 +23,7 @@ These cna only be used on Node:
|
|
|
23
23
|
These can be used both on Node and in the browser:
|
|
24
24
|
|
|
25
25
|
* [Path utilities](#path-utilities)
|
|
26
|
+
* [JSON utilities](#json-utilities)
|
|
26
27
|
* [Array utilities](#array-utilities)
|
|
27
28
|
* [HTTP utilities](#http-utilities)
|
|
28
29
|
* [String utilities](#string-utilities)
|
|
@@ -757,6 +758,91 @@ pathWithoutBottommostNameFromPath("root/etc/init.conf"); // returns 'root/etc'
|
|
|
757
758
|
pathWithoutTopmostDirectoryNameFromPath("root/etc/init.conf"); // returns 'etc/init.conf'
|
|
758
759
|
```
|
|
759
760
|
|
|
761
|
+
## JSON utilities
|
|
762
|
+
|
|
763
|
+
- `typeOf()`
|
|
764
|
+
- `isNull()`
|
|
765
|
+
- `isArray()`
|
|
766
|
+
- `isObject()`
|
|
767
|
+
- `isString()`
|
|
768
|
+
- `isNumber()`
|
|
769
|
+
- `isBoolean()`
|
|
770
|
+
- `isPrimitive()`
|
|
771
|
+
|
|
772
|
+
These functions return the types of all valid JSON objects and primitives.
|
|
773
|
+
Note that they are only meant for JSON and are not meant to be used for arbitrary JavaScript objects.
|
|
774
|
+
|
|
775
|
+
* The `typeOf()` function returns either `array`, `object` or `primitive` depending on its only argument:
|
|
776
|
+
|
|
777
|
+
```
|
|
778
|
+
typeOf([1,2,3]); // returns 'array'
|
|
779
|
+
|
|
780
|
+
typeOf({"foo": "bah"}); // returns 'object'
|
|
781
|
+
|
|
782
|
+
typeOf(123); // returns 'primitive'
|
|
783
|
+
```
|
|
784
|
+
|
|
785
|
+
* The `isNull()` function returns true if passed null, otherwise false.
|
|
786
|
+
|
|
787
|
+
```
|
|
788
|
+
isNull(null); // returns true
|
|
789
|
+
|
|
790
|
+
isNull("null"); // returns false
|
|
791
|
+
```
|
|
792
|
+
|
|
793
|
+
* The `isArray()` function returns true if passed an array, otherwise false.
|
|
794
|
+
|
|
795
|
+
```
|
|
796
|
+
isArray([1,2,3]); // returns true
|
|
797
|
+
|
|
798
|
+
isArray("1,2,3"); // returns false
|
|
799
|
+
```
|
|
800
|
+
|
|
801
|
+
* The `isObject()` function returns true if passed an object, otherwise false.
|
|
802
|
+
|
|
803
|
+
```
|
|
804
|
+
isObject({"foo": "bah"}); // returns true
|
|
805
|
+
|
|
806
|
+
isObject("foo:bar"); // returns false
|
|
807
|
+
```
|
|
808
|
+
|
|
809
|
+
* The `isString()` function returns true if passed a string, otherwise false.
|
|
810
|
+
|
|
811
|
+
```
|
|
812
|
+
isString("foo:bar"); // returns true
|
|
813
|
+
|
|
814
|
+
isString({"foo": "bah"}); // returns false
|
|
815
|
+
```
|
|
816
|
+
|
|
817
|
+
* The `isNumber()` function returns true if passed a number, otherwise false.
|
|
818
|
+
|
|
819
|
+
```
|
|
820
|
+
isNumber(123); // returns true
|
|
821
|
+
|
|
822
|
+
isNumber("123"); // returns false
|
|
823
|
+
```
|
|
824
|
+
|
|
825
|
+
* The `isBoolean()` function returns true if passed true or false, false otherwise.
|
|
826
|
+
|
|
827
|
+
```
|
|
828
|
+
isBoolean(false); // returns true
|
|
829
|
+
|
|
830
|
+
isBoolean(123); // returns false
|
|
831
|
+
```
|
|
832
|
+
* The `isPrimitive()` function returns true if passed a primitive, false otherwise.
|
|
833
|
+
|
|
834
|
+
```
|
|
835
|
+
isPrimitive(123); // returns true
|
|
836
|
+
|
|
837
|
+
isPrimitive(null); // returns true
|
|
838
|
+
|
|
839
|
+
isPrimitive("foo"); // returns true
|
|
840
|
+
|
|
841
|
+
isPrimitive([]); // returns false
|
|
842
|
+
|
|
843
|
+
isPrimitive({}); // returns false
|
|
844
|
+
```
|
|
845
|
+
|
|
760
846
|
## Array utilities
|
|
761
847
|
|
|
762
848
|
- `first()`
|
|
@@ -1071,9 +1157,10 @@ Ideally the `host` argument should not include a trailing forward slash whereas
|
|
|
1071
1157
|
- `strcmp()`
|
|
1072
1158
|
- `indexOf()`
|
|
1073
1159
|
- `substring()`
|
|
1160
|
+
- `isStringUpperCase()`
|
|
1074
1161
|
|
|
1075
1162
|
String functions with support for Unicode.
|
|
1076
|
-
Specifically, characters in Unicode astral plains are counted twice in native string functions and methods whereas these functions effectively count astral Unicode characters only once.
|
|
1163
|
+
Specifically, characters in Unicode astral plains are counted twice in native string functions and methods whereas these functions effectively count astral Unicode characters only once.
|
|
1077
1164
|
|
|
1078
1165
|
* The `strlen()` function takes a single `string` argument.
|
|
1079
1166
|
It works in much the same way as the `length` property of the `String` prototype, however it is Unicode safe:
|
|
@@ -1118,8 +1205,8 @@ indexOf("đžb", "b"); // Returns 1.
|
|
|
1118
1205
|
|
|
1119
1206
|
In the above example the aforementioned native method would return 2.
|
|
1120
1207
|
|
|
1121
|
-
* The `substring()` function takes `string` and `start` arguments and an optional `end` argument.
|
|
1122
|
-
It works in much the same way as the `substring()` method of the `String` prototype, however it is Unicode safe:
|
|
1208
|
+
* The `substring()` function takes `string` and `start` arguments and an optional `end` argument.
|
|
1209
|
+
It works in much the same way as the `substring()` method of the `String` prototype, however it is Unicode safe:
|
|
1123
1210
|
|
|
1124
1211
|
```
|
|
1125
1212
|
"đžđčC".substring(3) = "C" // The đč character is in an astral plane and counts as two.
|
|
@@ -1127,6 +1214,17 @@ It works in much the same way as the `substring()` method of the `String` protot
|
|
|
1127
1214
|
substring("đžđčC", 2) = "C" // Again the string is converted to an array and thus the third character is returned.
|
|
1128
1215
|
```
|
|
1129
1216
|
|
|
1217
|
+
* The `isStringUppercase()` function takes a single `string` argument.
|
|
1218
|
+
It returns true is the string is uppercase, false otherwise:
|
|
1219
|
+
|
|
1220
|
+
```
|
|
1221
|
+
isStringUpperCase("CAFĂ"); // returns true
|
|
1222
|
+
|
|
1223
|
+
isStringUpperCase("Café"); // returns false
|
|
1224
|
+
|
|
1225
|
+
isStringUpperCase("MĂNCHEN"); // returns true
|
|
1226
|
+
```
|
|
1227
|
+
|
|
1130
1228
|
Note the native `substring()` method can be particularly egregious because the `start` and `end` arguments may result in only half of some characters being returned, so to speak.
|
|
1131
1229
|
|
|
1132
1230
|
## Version utilities
|
package/lib/browser.js
CHANGED
|
@@ -33,6 +33,12 @@ _export(exports, {
|
|
|
33
33
|
get httpUtilities () {
|
|
34
34
|
return _http.default;
|
|
35
35
|
},
|
|
36
|
+
get jsonTypes () {
|
|
37
|
+
return _jsonTypes.default;
|
|
38
|
+
},
|
|
39
|
+
get jsonUtilities () {
|
|
40
|
+
return _json.default;
|
|
41
|
+
},
|
|
36
42
|
get keyCodes () {
|
|
37
43
|
return _keyCodes.default;
|
|
38
44
|
},
|
|
@@ -63,11 +69,13 @@ const _methods = /*#__PURE__*/ _interop_require_default(require("./methods"));
|
|
|
63
69
|
const _headers = /*#__PURE__*/ _interop_require_default(require("./headers"));
|
|
64
70
|
const _keyCodes = /*#__PURE__*/ _interop_require_default(require("./keyCodes"));
|
|
65
71
|
const _encodings = /*#__PURE__*/ _interop_require_default(require("./encodings"));
|
|
72
|
+
const _jsonTypes = /*#__PURE__*/ _interop_require_default(require("./jsonTypes"));
|
|
66
73
|
const _characters = /*#__PURE__*/ _interop_require_default(require("./characters"));
|
|
67
74
|
const _statusCodes = /*#__PURE__*/ _interop_require_default(require("./statusCodes"));
|
|
68
75
|
const _contentTypes = /*#__PURE__*/ _interop_require_default(require("./contentTypes"));
|
|
69
76
|
const _statusMessages = /*#__PURE__*/ _interop_require_default(require("./statusMessages"));
|
|
70
77
|
const _path = /*#__PURE__*/ _interop_require_default(require("./utilities/path"));
|
|
78
|
+
const _json = /*#__PURE__*/ _interop_require_default(require("./utilities/json"));
|
|
71
79
|
const _http = /*#__PURE__*/ _interop_require_default(require("./utilities/http"));
|
|
72
80
|
const _array = /*#__PURE__*/ _interop_require_default(require("./utilities/array"));
|
|
73
81
|
const _string = /*#__PURE__*/ _interop_require_default(require("./utilities/string"));
|
|
@@ -80,4 +88,4 @@ function _interop_require_default(obj) {
|
|
|
80
88
|
};
|
|
81
89
|
}
|
|
82
90
|
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
91
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9icm93c2VyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5leHBvcnQgeyBkZWZhdWx0IGFzIGxldmVscyB9IGZyb20gXCIuL2xldmVsc1wiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBtZXRob2RzIH0gZnJvbSBcIi4vbWV0aG9kc1wiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBoZWFkZXJzIH0gZnJvbSBcIi4vaGVhZGVyc1wiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBrZXlDb2RlcyB9IGZyb20gXCIuL2tleUNvZGVzXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGVuY29kaW5ncyB9IGZyb20gXCIuL2VuY29kaW5nc1wiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBqc29uVHlwZXMgfSBmcm9tIFwiLi9qc29uVHlwZXNcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgY2hhcmFjdGVycyB9IGZyb20gXCIuL2NoYXJhY3RlcnNcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgc3RhdHVzQ29kZXMgfSBmcm9tIFwiLi9zdGF0dXNDb2Rlc1wiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBjb250ZW50VHlwZXMgfSBmcm9tIFwiLi9jb250ZW50VHlwZXNcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgc3RhdHVzTWVzc2FnZXMgfSBmcm9tIFwiLi9zdGF0dXNNZXNzYWdlc1wiO1xuXG5leHBvcnQgeyBkZWZhdWx0IGFzIHBhdGhVdGlsaXRpZXMgfSBmcm9tIFwiLi91dGlsaXRpZXMvcGF0aFwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBqc29uVXRpbGl0aWVzIH0gZnJvbSBcIi4vdXRpbGl0aWVzL2pzb25cIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgaHR0cFV0aWxpdGllcyB9IGZyb20gXCIuL3V0aWxpdGllcy9odHRwXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGFycmF5VXRpbGl0aWVzIH0gZnJvbSBcIi4vdXRpbGl0aWVzL2FycmF5XCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIHN0cmluZ1V0aWxpdGllcyB9IGZyb20gXCIuL3V0aWxpdGllcy9zdHJpbmdcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgdmVyc2lvblV0aWxpdGllcyB9IGZyb20gXCIuL3V0aWxpdGllcy92ZXJzaW9uXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGFzeW5jaHJvbm91c1V0aWxpdGllcyB9IGZyb20gXCIuL3V0aWxpdGllcy9hc3luY2hyb25vdXNcIjtcblxuZXhwb3J0IHsgZGVmYXVsdCBhcyBhamF4VXRpbGl0aWVzIH0gZnJvbSBcIi4vdXRpbGl0aWVzL2FqYXhcIjtcbiJdLCJuYW1lcyI6WyJhamF4VXRpbGl0aWVzIiwiYXJyYXlVdGlsaXRpZXMiLCJhc3luY2hyb25vdXNVdGlsaXRpZXMiLCJjaGFyYWN0ZXJzIiwiY29udGVudFR5cGVzIiwiZW5jb2RpbmdzIiwiaGVhZGVycyIsImh0dHBVdGlsaXRpZXMiLCJqc29uVHlwZXMiLCJqc29uVXRpbGl0aWVzIiwia2V5Q29kZXMiLCJsZXZlbHMiLCJtZXRob2RzIiwicGF0aFV0aWxpdGllcyIsInN0YXR1c0NvZGVzIiwic3RhdHVzTWVzc2FnZXMiLCJzdHJpbmdVdGlsaXRpZXMiLCJ2ZXJzaW9uVXRpbGl0aWVzIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7UUFxQm9CQTtlQUFBQSxhQUFhOztRQUxiQztlQUFBQSxjQUFjOztRQUdkQztlQUFBQSxxQkFBcUI7O1FBWHJCQztlQUFBQSxtQkFBVTs7UUFFVkM7ZUFBQUEscUJBQVk7O1FBSlpDO2VBQUFBLGtCQUFTOztRQUZUQztlQUFBQSxnQkFBTzs7UUFXUEM7ZUFBQUEsYUFBYTs7UUFSYkM7ZUFBQUEsa0JBQVM7O1FBT1RDO2VBQUFBLGFBQWE7O1FBVGJDO2VBQUFBLGlCQUFROztRQUhSQztlQUFBQSxlQUFNOztRQUNOQztlQUFBQSxnQkFBTzs7UUFVUEM7ZUFBQUEsYUFBYTs7UUFKYkM7ZUFBQUEsb0JBQVc7O1FBRVhDO2VBQUFBLHVCQUFjOztRQU1kQztlQUFBQSxlQUFlOztRQUNmQztlQUFBQSxnQkFBZ0I7OzsrREFoQkY7Z0VBQ0M7Z0VBQ0E7aUVBQ0M7a0VBQ0M7a0VBQ0E7bUVBQ0M7b0VBQ0M7cUVBQ0M7dUVBQ0U7NkRBRUQ7NkRBQ0E7NkRBQ0E7OERBQ0M7K0RBQ0M7Z0VBQ0M7cUVBQ0s7NkRBRVIifQ==
|
package/lib/constants.js
CHANGED
|
@@ -9,18 +9,12 @@ function _export(target, all) {
|
|
|
9
9
|
});
|
|
10
10
|
}
|
|
11
11
|
_export(exports, {
|
|
12
|
-
get BOOLEAN () {
|
|
13
|
-
return BOOLEAN;
|
|
14
|
-
},
|
|
15
12
|
get DATA () {
|
|
16
13
|
return DATA;
|
|
17
14
|
},
|
|
18
15
|
get DEFAULT () {
|
|
19
16
|
return DEFAULT;
|
|
20
17
|
},
|
|
21
|
-
get DOUBLE_SPACE () {
|
|
22
|
-
return DOUBLE_SPACE;
|
|
23
|
-
},
|
|
24
18
|
get EMPTY_STRING () {
|
|
25
19
|
return EMPTY_STRING;
|
|
26
20
|
},
|
|
@@ -33,8 +27,8 @@ _export(exports, {
|
|
|
33
27
|
get FUNCTION () {
|
|
34
28
|
return FUNCTION;
|
|
35
29
|
},
|
|
36
|
-
get
|
|
37
|
-
return
|
|
30
|
+
get OBJECT_OBJECT () {
|
|
31
|
+
return OBJECT_OBJECT;
|
|
38
32
|
},
|
|
39
33
|
get PACKAGE_JSON () {
|
|
40
34
|
return PACKAGE_JSON;
|
|
@@ -50,13 +44,11 @@ const ZERO = "0";
|
|
|
50
44
|
const DATA = "data";
|
|
51
45
|
const ERROR = "error";
|
|
52
46
|
const STRING = "string";
|
|
53
|
-
const NUMBER = "number";
|
|
54
|
-
const BOOLEAN = "boolean";
|
|
55
47
|
const DEFAULT = "default";
|
|
56
48
|
const FUNCTION = "function";
|
|
57
49
|
const ENVIRONMENT = "ENVIRONMENT";
|
|
58
50
|
const EMPTY_STRING = "";
|
|
59
|
-
const DOUBLE_SPACE = " ";
|
|
60
51
|
const PACKAGE_JSON = "package.json";
|
|
52
|
+
const OBJECT_OBJECT = "[object Object]";
|
|
61
53
|
|
|
62
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb25zdGFudHMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBjb25zdCBaRVJPID0gXCIwXCI7XG5leHBvcnQgY29uc3QgREFUQSA9IFwiZGF0YVwiO1xuZXhwb3J0IGNvbnN0IEVSUk9SID0gXCJlcnJvclwiO1xuZXhwb3J0IGNvbnN0IFNUUklORyA9IFwic3RyaW5nXCI7XG5leHBvcnQgY29uc3QgREVGQVVMVCA9IFwiZGVmYXVsdFwiO1xuZXhwb3J0IGNvbnN0IEZVTkNUSU9OID0gXCJmdW5jdGlvblwiO1xuZXhwb3J0IGNvbnN0IEVOVklST05NRU5UID0gXCJFTlZJUk9OTUVOVFwiO1xuZXhwb3J0IGNvbnN0IEVNUFRZX1NUUklORyA9IFwiXCI7XG5leHBvcnQgY29uc3QgUEFDS0FHRV9KU09OID0gXCJwYWNrYWdlLmpzb25cIjtcbmV4cG9ydCBjb25zdCBPQkpFQ1RfT0JKRUNUID0gXCJbb2JqZWN0IE9iamVjdF1cIjtcbiJdLCJuYW1lcyI6WyJEQVRBIiwiREVGQVVMVCIsIkVNUFRZX1NUUklORyIsIkVOVklST05NRU5UIiwiRVJST1IiLCJGVU5DVElPTiIsIk9CSkVDVF9PQkpFQ1QiLCJQQUNLQUdFX0pTT04iLCJTVFJJTkciLCJaRVJPIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7UUFHYUE7ZUFBQUE7O1FBR0FDO2VBQUFBOztRQUdBQztlQUFBQTs7UUFEQUM7ZUFBQUE7O1FBSkFDO2VBQUFBOztRQUdBQztlQUFBQTs7UUFJQUM7ZUFBQUE7O1FBREFDO2VBQUFBOztRQUxBQztlQUFBQTs7UUFIQUM7ZUFBQUE7OztBQUFOLE1BQU1BLE9BQU87QUFDYixNQUFNVCxPQUFPO0FBQ2IsTUFBTUksUUFBUTtBQUNkLE1BQU1JLFNBQVM7QUFDZixNQUFNUCxVQUFVO0FBQ2hCLE1BQU1JLFdBQVc7QUFDakIsTUFBTUYsY0FBYztBQUNwQixNQUFNRCxlQUFlO0FBQ3JCLE1BQU1LLGVBQWU7QUFDckIsTUFBTUQsZ0JBQWdCIn0=
|
package/lib/jsonTypes.js
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: Object.getOwnPropertyDescriptor(all, name).get
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
get ARRAY_JSON_TYPE () {
|
|
13
|
+
return ARRAY_JSON_TYPE;
|
|
14
|
+
},
|
|
15
|
+
get BOOLEAN_JSON_TYPE () {
|
|
16
|
+
return BOOLEAN_JSON_TYPE;
|
|
17
|
+
},
|
|
18
|
+
get NUMBER_JSON_TYPE () {
|
|
19
|
+
return NUMBER_JSON_TYPE;
|
|
20
|
+
},
|
|
21
|
+
get OBJECT_JSON_TYPE () {
|
|
22
|
+
return OBJECT_JSON_TYPE;
|
|
23
|
+
},
|
|
24
|
+
get PRIMITIVE_JSON_TYPE () {
|
|
25
|
+
return PRIMITIVE_JSON_TYPE;
|
|
26
|
+
},
|
|
27
|
+
get STRING_JSON_TYPE () {
|
|
28
|
+
return STRING_JSON_TYPE;
|
|
29
|
+
},
|
|
30
|
+
get default () {
|
|
31
|
+
return _default;
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
const ARRAY_JSON_TYPE = "array";
|
|
35
|
+
const OBJECT_JSON_TYPE = "object";
|
|
36
|
+
const STRING_JSON_TYPE = "string";
|
|
37
|
+
const NUMBER_JSON_TYPE = "number";
|
|
38
|
+
const BOOLEAN_JSON_TYPE = "boolean";
|
|
39
|
+
const PRIMITIVE_JSON_TYPE = "primitive";
|
|
40
|
+
const _default = {
|
|
41
|
+
ARRAY_JSON_TYPE,
|
|
42
|
+
OBJECT_JSON_TYPE,
|
|
43
|
+
STRING_JSON_TYPE,
|
|
44
|
+
NUMBER_JSON_TYPE,
|
|
45
|
+
BOOLEAN_JSON_TYPE,
|
|
46
|
+
PRIMITIVE_JSON_TYPE
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9qc29uVHlwZXMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBjb25zdCBBUlJBWV9KU09OX1RZUEUgPSBcImFycmF5XCI7XG5leHBvcnQgY29uc3QgT0JKRUNUX0pTT05fVFlQRSA9IFwib2JqZWN0XCI7XG5leHBvcnQgY29uc3QgU1RSSU5HX0pTT05fVFlQRSA9IFwic3RyaW5nXCI7XG5leHBvcnQgY29uc3QgTlVNQkVSX0pTT05fVFlQRSA9IFwibnVtYmVyXCI7XG5leHBvcnQgY29uc3QgQk9PTEVBTl9KU09OX1RZUEUgPSBcImJvb2xlYW5cIjtcbmV4cG9ydCBjb25zdCBQUklNSVRJVkVfSlNPTl9UWVBFID0gXCJwcmltaXRpdmVcIjtcblxuZXhwb3J0IGRlZmF1bHQge1xuICBBUlJBWV9KU09OX1RZUEUsXG4gIE9CSkVDVF9KU09OX1RZUEUsXG4gIFNUUklOR19KU09OX1RZUEUsXG4gIE5VTUJFUl9KU09OX1RZUEUsXG4gIEJPT0xFQU5fSlNPTl9UWVBFLFxuICBQUklNSVRJVkVfSlNPTl9UWVBFXG59O1xuIl0sIm5hbWVzIjpbIkFSUkFZX0pTT05fVFlQRSIsIkJPT0xFQU5fSlNPTl9UWVBFIiwiTlVNQkVSX0pTT05fVFlQRSIsIk9CSkVDVF9KU09OX1RZUEUiLCJQUklNSVRJVkVfSlNPTl9UWVBFIiwiU1RSSU5HX0pTT05fVFlQRSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O1FBRWFBO2VBQUFBOztRQUlBQztlQUFBQTs7UUFEQUM7ZUFBQUE7O1FBRkFDO2VBQUFBOztRQUlBQztlQUFBQTs7UUFIQUM7ZUFBQUE7O1FBS2I7ZUFBQTs7O0FBUE8sTUFBTUwsa0JBQWtCO0FBQ3hCLE1BQU1HLG1CQUFtQjtBQUN6QixNQUFNRSxtQkFBbUI7QUFDekIsTUFBTUgsbUJBQW1CO0FBQ3pCLE1BQU1ELG9CQUFvQjtBQUMxQixNQUFNRyxzQkFBc0I7TUFFbkMsV0FBZTtJQUNiSjtJQUNBRztJQUNBRTtJQUNBSDtJQUNBRDtJQUNBRztBQUNGIn0=
|
package/lib/main.js
CHANGED
|
@@ -36,6 +36,12 @@ _export(exports, {
|
|
|
36
36
|
get httpUtilities () {
|
|
37
37
|
return _http.default;
|
|
38
38
|
},
|
|
39
|
+
get jsonTypes () {
|
|
40
|
+
return _jsonTypes.default;
|
|
41
|
+
},
|
|
42
|
+
get jsonUtilities () {
|
|
43
|
+
return _json.default;
|
|
44
|
+
},
|
|
39
45
|
get keyCodes () {
|
|
40
46
|
return _keyCodes.default;
|
|
41
47
|
},
|
|
@@ -81,11 +87,13 @@ const _methods = /*#__PURE__*/ _interop_require_default(require("./methods"));
|
|
|
81
87
|
const _headers = /*#__PURE__*/ _interop_require_default(require("./headers"));
|
|
82
88
|
const _keyCodes = /*#__PURE__*/ _interop_require_default(require("./keyCodes"));
|
|
83
89
|
const _encodings = /*#__PURE__*/ _interop_require_default(require("./encodings"));
|
|
90
|
+
const _jsonTypes = /*#__PURE__*/ _interop_require_default(require("./jsonTypes"));
|
|
84
91
|
const _characters = /*#__PURE__*/ _interop_require_default(require("./characters"));
|
|
85
92
|
const _statusCodes = /*#__PURE__*/ _interop_require_default(require("./statusCodes"));
|
|
86
93
|
const _contentTypes = /*#__PURE__*/ _interop_require_default(require("./contentTypes"));
|
|
87
94
|
const _statusMessages = /*#__PURE__*/ _interop_require_default(require("./statusMessages"));
|
|
88
95
|
const _path = /*#__PURE__*/ _interop_require_default(require("./utilities/path"));
|
|
96
|
+
const _json = /*#__PURE__*/ _interop_require_default(require("./utilities/json"));
|
|
89
97
|
const _http = /*#__PURE__*/ _interop_require_default(require("./utilities/http"));
|
|
90
98
|
const _array = /*#__PURE__*/ _interop_require_default(require("./utilities/array"));
|
|
91
99
|
const _string = /*#__PURE__*/ _interop_require_default(require("./utilities/string"));
|
|
@@ -104,4 +112,4 @@ function _interop_require_default(obj) {
|
|
|
104
112
|
};
|
|
105
113
|
}
|
|
106
114
|
|
|
107
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
115
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tYWluLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5leHBvcnQgeyBkZWZhdWx0IGFzIGxldmVscyB9IGZyb20gXCIuL2xldmVsc1wiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBtZXRob2RzIH0gZnJvbSBcIi4vbWV0aG9kc1wiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBoZWFkZXJzIH0gZnJvbSBcIi4vaGVhZGVyc1wiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBrZXlDb2RlcyB9IGZyb20gXCIuL2tleUNvZGVzXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGVuY29kaW5ncyB9IGZyb20gXCIuL2VuY29kaW5nc1wiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBqc29uVHlwZXMgfSBmcm9tIFwiLi9qc29uVHlwZXNcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgY2hhcmFjdGVycyB9IGZyb20gXCIuL2NoYXJhY3RlcnNcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgc3RhdHVzQ29kZXMgfSBmcm9tIFwiLi9zdGF0dXNDb2Rlc1wiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBjb250ZW50VHlwZXMgfSBmcm9tIFwiLi9jb250ZW50VHlwZXNcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgc3RhdHVzTWVzc2FnZXMgfSBmcm9tIFwiLi9zdGF0dXNNZXNzYWdlc1wiO1xuXG5leHBvcnQgeyBkZWZhdWx0IGFzIHBhdGhVdGlsaXRpZXMgfSBmcm9tIFwiLi91dGlsaXRpZXMvcGF0aFwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBqc29uVXRpbGl0aWVzIH0gZnJvbSBcIi4vdXRpbGl0aWVzL2pzb25cIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgaHR0cFV0aWxpdGllcyB9IGZyb20gXCIuL3V0aWxpdGllcy9odHRwXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGFycmF5VXRpbGl0aWVzIH0gZnJvbSBcIi4vdXRpbGl0aWVzL2FycmF5XCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIHN0cmluZ1V0aWxpdGllcyB9IGZyb20gXCIuL3V0aWxpdGllcy9zdHJpbmdcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgdmVyc2lvblV0aWxpdGllcyB9IGZyb20gXCIuL3V0aWxpdGllcy92ZXJzaW9uXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGFzeW5jaHJvbm91c1V0aWxpdGllcyB9IGZyb20gXCIuL3V0aWxpdGllcy9hc3luY2hyb25vdXNcIjtcblxuZXhwb3J0IHsgZGVmYXVsdCBhcyBzaGVsbFV0aWxpdGllcyB9IGZyb20gXCIuL3V0aWxpdGllcy9zaGVsbFwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyByZXF1ZXN0VXRpbGl0aWVzIH0gZnJvbSBcIi4vdXRpbGl0aWVzL3JlcXVlc3RcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgbG9nZ2luZ1V0aWxpdGllcyB9IGZyb20gXCIuL3V0aWxpdGllcy9sb2dnaW5nXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIHBhY2thZ2VVdGlsaXRpZXMgfSBmcm9tIFwiLi91dGlsaXRpZXMvcGFja2FnZVwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyB0ZW1wbGF0ZVV0aWxpdGllcyB9IGZyb20gXCIuL3V0aWxpdGllcy90ZW1wbGF0ZVwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBmaWxlU3lzdGVtVXRpbGl0aWVzIH0gZnJvbSBcIi4vdXRpbGl0aWVzL2ZpbGVTeXN0ZW1cIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgY29uZmlndXJhdGlvblV0aWxpdGllcyB9IGZyb20gXCIuL3V0aWxpdGllcy9jb25maWd1cmF0aW9uXCI7XG4iXSwibmFtZXMiOlsiYXJyYXlVdGlsaXRpZXMiLCJhc3luY2hyb25vdXNVdGlsaXRpZXMiLCJjaGFyYWN0ZXJzIiwiY29uZmlndXJhdGlvblV0aWxpdGllcyIsImNvbnRlbnRUeXBlcyIsImVuY29kaW5ncyIsImZpbGVTeXN0ZW1VdGlsaXRpZXMiLCJoZWFkZXJzIiwiaHR0cFV0aWxpdGllcyIsImpzb25UeXBlcyIsImpzb25VdGlsaXRpZXMiLCJrZXlDb2RlcyIsImxldmVscyIsImxvZ2dpbmdVdGlsaXRpZXMiLCJtZXRob2RzIiwicGFja2FnZVV0aWxpdGllcyIsInBhdGhVdGlsaXRpZXMiLCJyZXF1ZXN0VXRpbGl0aWVzIiwic2hlbGxVdGlsaXRpZXMiLCJzdGF0dXNDb2RlcyIsInN0YXR1c01lc3NhZ2VzIiwic3RyaW5nVXRpbGl0aWVzIiwidGVtcGxhdGVVdGlsaXRpZXMiLCJ2ZXJzaW9uVXRpbGl0aWVzIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7UUFnQm9CQTtlQUFBQSxjQUFjOztRQUdkQztlQUFBQSxxQkFBcUI7O1FBWHJCQztlQUFBQSxtQkFBVTs7UUFtQlZDO2VBQUFBLHNCQUFzQjs7UUFqQnRCQztlQUFBQSxxQkFBWTs7UUFKWkM7ZUFBQUEsa0JBQVM7O1FBb0JUQztlQUFBQSxtQkFBbUI7O1FBdEJuQkM7ZUFBQUEsZ0JBQU87O1FBV1BDO2VBQUFBLGFBQWE7O1FBUmJDO2VBQUFBLGtCQUFTOztRQU9UQztlQUFBQSxhQUFhOztRQVRiQztlQUFBQSxpQkFBUTs7UUFIUkM7ZUFBQUEsZUFBTTs7UUFxQk5DO2VBQUFBLGdCQUFnQjs7UUFwQmhCQztlQUFBQSxnQkFBTzs7UUFxQlBDO2VBQUFBLGdCQUFnQjs7UUFYaEJDO2VBQUFBLGFBQWE7O1FBU2JDO2VBQUFBLGdCQUFnQjs7UUFEaEJDO2VBQUFBLGNBQWM7O1FBWmRDO2VBQUFBLG9CQUFXOztRQUVYQztlQUFBQSx1QkFBYzs7UUFNZEM7ZUFBQUEsZUFBZTs7UUFRZkM7ZUFBQUEsaUJBQWlCOztRQVBqQkM7ZUFBQUEsZ0JBQWdCOzs7K0RBaEJGO2dFQUNDO2dFQUNBO2lFQUNDO2tFQUNDO2tFQUNBO21FQUNDO29FQUNDO3FFQUNDO3VFQUNFOzZEQUVEOzZEQUNBOzZEQUNBOzhEQUNDOytEQUNDO2dFQUNDO3FFQUNLOzhEQUVQO2dFQUNFO2dFQUNBO2dFQUNBO2lFQUNDO21FQUNFO3NFQUNHIn0=
|
|
@@ -8,10 +8,12 @@ Object.defineProperty(exports, "default", {
|
|
|
8
8
|
return _default;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
+
const _constants = require("../constants");
|
|
11
12
|
const _array = require("../utilities/array");
|
|
13
|
+
const _string = require("../utilities/string");
|
|
12
14
|
const _defaults = require("../defaults");
|
|
15
|
+
const _json = require("../utilities/json");
|
|
13
16
|
const _fileSystem = require("../utilities/fileSystem");
|
|
14
|
-
const _constants = require("../constants");
|
|
15
17
|
if (!globalThis.rc) {
|
|
16
18
|
globalThis.rc = _rc;
|
|
17
19
|
}
|
|
@@ -33,7 +35,7 @@ function readRCFile() {
|
|
|
33
35
|
return json;
|
|
34
36
|
}
|
|
35
37
|
function writeRCFile(json) {
|
|
36
|
-
const rcFilePath = rcFilePathFromNothing(), rdFileContent = JSON.stringify(json, null,
|
|
38
|
+
const rcFilePath = rcFilePathFromNothing(), rdFileContent = JSON.stringify(json, null, 2);
|
|
37
39
|
(0, _fileSystem.writeFile)(rcFilePath, rdFileContent);
|
|
38
40
|
}
|
|
39
41
|
function updateRCFile(addedProperties, ...deletedPropertyNames) {
|
|
@@ -106,7 +108,7 @@ function environmentNameFromArgv() {
|
|
|
106
108
|
}
|
|
107
109
|
function replaceEnvironmentVariable(string) {
|
|
108
110
|
let value = null;
|
|
109
|
-
const stringUpperCase = isStringUpperCase(string);
|
|
111
|
+
const stringUpperCase = (0, _string.isStringUpperCase)(string);
|
|
110
112
|
if (stringUpperCase) {
|
|
111
113
|
const name = string; ///
|
|
112
114
|
value = process.env[name];
|
|
@@ -118,14 +120,14 @@ function replaceEnvironmentVariable(string) {
|
|
|
118
120
|
}
|
|
119
121
|
function replaceEnvironmentVariables(environment) {
|
|
120
122
|
let json = environment;
|
|
121
|
-
const jsonArray =
|
|
123
|
+
const jsonArray = (0, _json.isArray)(json), jsonObject = (0, _json.isObject)(json);
|
|
122
124
|
if (false) {
|
|
123
125
|
///
|
|
124
126
|
} else if (jsonArray) {
|
|
125
127
|
const array = json, length = array.length;
|
|
126
128
|
for(let index = 0; index < length; index++){
|
|
127
|
-
const json = array[index],
|
|
128
|
-
if (
|
|
129
|
+
const json = array[index], jsonPrimitive = (0, _json.isPrimitive)(json);
|
|
130
|
+
if (jsonPrimitive) {
|
|
129
131
|
const string = json, value = replaceEnvironmentVariable(string);
|
|
130
132
|
if (value !== null) {
|
|
131
133
|
array[index] = value;
|
|
@@ -135,8 +137,8 @@ function replaceEnvironmentVariables(environment) {
|
|
|
135
137
|
} else if (jsonObject) {
|
|
136
138
|
const object = json; ///
|
|
137
139
|
for(let name in object){
|
|
138
|
-
const json = object[name],
|
|
139
|
-
if (
|
|
140
|
+
const json = object[name], jsonPrimitive = (0, _json.isPrimitive)(json);
|
|
141
|
+
if (jsonPrimitive) {
|
|
140
142
|
const string = json, value = replaceEnvironmentVariable(string); ///
|
|
141
143
|
if (value !== null) {
|
|
142
144
|
object[name] = value;
|
|
@@ -147,33 +149,5 @@ function replaceEnvironmentVariables(environment) {
|
|
|
147
149
|
}
|
|
148
150
|
}
|
|
149
151
|
}
|
|
150
|
-
function isJSONArray(json) {
|
|
151
|
-
const jsonArray = json instanceof Array;
|
|
152
|
-
return jsonArray;
|
|
153
|
-
}
|
|
154
|
-
function isJSONObject(json) {
|
|
155
|
-
const jsonArray = isJSONArray(json), jsonPrimitive = isJSONPrimitive(json), jsonObject = !jsonArray && !jsonPrimitive;
|
|
156
|
-
return jsonObject;
|
|
157
|
-
}
|
|
158
|
-
function isJSONString(json) {
|
|
159
|
-
const jsonString = typeof json === _constants.STRING;
|
|
160
|
-
return jsonString;
|
|
161
|
-
}
|
|
162
|
-
function isJSONNumber(json) {
|
|
163
|
-
const jsonNumber = typeof json === _constants.NUMBER;
|
|
164
|
-
return jsonNumber;
|
|
165
|
-
}
|
|
166
|
-
function isJSONBoolean(json) {
|
|
167
|
-
const jsonBoolean = typeof json === _constants.BOOLEAN;
|
|
168
|
-
return jsonBoolean;
|
|
169
|
-
}
|
|
170
|
-
function isJSONPrimitive(json) {
|
|
171
|
-
const jsonString = isJSONString(json), jsonNumber = isJSONNumber(json), jsonBoolean = isJSONBoolean(json), jsonPrimitive = jsonString || jsonNumber || jsonBoolean;
|
|
172
|
-
return jsonPrimitive;
|
|
173
|
-
}
|
|
174
|
-
function isStringUpperCase(string) {
|
|
175
|
-
const upperCaseString = string.toUpperCase(), stringUpperCase = string === upperCaseString;
|
|
176
|
-
return stringUpperCase;
|
|
177
|
-
}
|
|
178
152
|
|
|
179
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvY29uZmlndXJhdGlvbi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgZmlyc3QsIHNlY29uZCB9IGZyb20gXCIuLi91dGlsaXRpZXMvYXJyYXlcIjtcbmltcG9ydCB7IERFRkFVTFRfUkNfQkFTRV9FWFRFTlNJT04gfSBmcm9tIFwiLi4vZGVmYXVsdHNcIjtcbmltcG9ydCB7IHJlYWRGaWxlLCB3cml0ZUZpbGUsIGNoZWNrRmlsZUV4aXN0cyB9IGZyb20gXCIuLi91dGlsaXRpZXMvZmlsZVN5c3RlbVwiO1xuaW1wb3J0IHsgU1RSSU5HLCBOVU1CRVIsIEJPT0xFQU4sIEVOVklST05NRU5ULCBET1VCTEVfU1BBQ0UgfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5cbmlmICghZ2xvYmFsVGhpcy5yYykge1xuICBnbG9iYWxUaGlzLnJjID0gX3JjO1xufVxuXG5jb25zdCB7IHJjIH0gPSBnbG9iYWxUaGlzO1xuXG5leHBvcnQgZGVmYXVsdCB7XG4gIHJjXG59O1xuXG5sZXQgYmFzZUV4dGVuc2lvbiA9IERFRkFVTFRfUkNfQkFTRV9FWFRFTlNJT047XG5cbmZ1bmN0aW9uIF9yYyhlbnZpcm9ubWVudE5hbWUpIHtcbiAgZW52aXJvbm1lbnROYW1lID0gZW52aXJvbm1lbnROYW1lIHx8IGVudmlyb25tZW50TmFtZUZyb21Bcmd2KCkgfHwgZW52aXJvbm1lbnROYW1lRnJvbUVudigpOyAvLy9cblxuICBsZXQganNvbiA9IHJlYWRSQ0ZpbGUoKTtcblxuICBjb25zdCBlbnZpcm9ubWVudCA9IGZpbmRFbnZpcm9ubWVudChqc29uLCBlbnZpcm9ubWVudE5hbWUpO1xuXG4gIGpzb24gPSBlbnZpcm9ubWVudDsgLy8vXG5cbiAgcmVwbGFjZUVudmlyb25tZW50VmFyaWFibGVzKGpzb24pO1xuXG4gIE9iamVjdC5hc3NpZ24ocmMsIGVudmlyb25tZW50KTtcbn1cblxuZnVuY3Rpb24gcmVhZFJDRmlsZSgpIHtcbiAgY29uc3QgcmNGaWxlUGF0aCA9IHJjRmlsZVBhdGhGcm9tTm90aGluZygpLFxuICAgICAgICByY0ZpbGVDb250ZW50ID0gcmVhZEZpbGUocmNGaWxlUGF0aCksXG4gICAgICAgIGpzb24gPSBKU09OLnBhcnNlKHJjRmlsZUNvbnRlbnQpO1xuXG4gIHJldHVybiBqc29uOyAgICAgIFxufVxuXG5mdW5jdGlvbiB3cml0ZVJDRmlsZShqc29uKSB7XG4gIGNvbnN0IHJjRmlsZVBhdGggPSByY0ZpbGVQYXRoRnJvbU5vdGhpbmcoKSxcbiAgICAgICAgcmRGaWxlQ29udGVudCA9IEpTT04uc3RyaW5naWZ5KGpzb24sIG51bGwsIERPVUJMRV9TUEFDRSk7XG5cbiAgd3JpdGVGaWxlKHJjRmlsZVBhdGgsIHJkRmlsZUNvbnRlbnQpO1xufVxuXG5mdW5jdGlvbiB1cGRhdGVSQ0ZpbGUoYWRkZWRQcm9wZXJ0aWVzLCAuLi5kZWxldGVkUHJvcGVydHlOYW1lcykge1xuICBsZXQganNvbiA9IHJlYWRSQ0ZpbGUoKTtcblxuICBpZiAoYWRkZWRQcm9wZXJ0aWVzKSB7XG4gICAgT2JqZWN0LmFzc2lnbihqc29uLCBhZGRlZFByb3BlcnRpZXMpO1xuICB9XG5cbiAgZGVsZXRlZFByb3BlcnR5TmFtZXMuZm9yRWFjaCgoZGVsZXRlZFByb3BlcnR5TmFtZSkgPT4ge1xuICAgIGRlbGV0ZSBqc29uW2RlbGV0ZWRQcm9wZXJ0eU5hbWVdO1xuICB9KTtcblxuICB3cml0ZVJDRmlsZShqc29uKTsgICAgICBcbn1cblxuZnVuY3Rpb24gY2hlY2tSQ0ZpbGVFeGlzdHMoKSB7XG4gIGNvbnN0IHJjRmlsZVBhdGggPSByY0ZpbGVQYXRoRnJvbU5vdGhpbmcoKSxcbiAgICAgICAgcmNGaWxlRXhpc3RzID0gY2hlY2tGaWxlRXhpc3RzKHJjRmlsZVBhdGgpO1xuXG4gIHJldHVybiByY0ZpbGVFeGlzdHM7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZVZhY3VvdXNSQ0ZpbGUoKSB7XG4gIGNvbnN0IGVudmlyb25tZW50cyA9IFtdLFxuICAgICAgICBqc29uID0ge1xuICAgICAgICAgIGVudmlyb25tZW50c1xuICAgICAgICB9O1xuXG4gIHdyaXRlUkNGaWxlKGpzb24pO1xufVxuXG5mdW5jdGlvbiBzZXRSQ0Jhc2VFeHRlbnNpb24ocmNCYXNlRXh0ZW5zaW9uKSB7IGJhc2VFeHRlbnNpb24gPSByY0Jhc2VFeHRlbnNpb247IH1cblxuT2JqZWN0LmFzc2lnbihfcmMsIHtcbiAgcmVhZFJDRmlsZSxcbiAgd3JpdGVSQ0ZpbGUsXG4gIHVwZGF0ZVJDRmlsZSxcbiAgY2hlY2tSQ0ZpbGVFeGlzdHMsXG4gIGNyZWF0ZVZhY3VvdXNSQ0ZpbGUsXG4gIHNldFJDQmFzZUV4dGVuc2lvblxufSk7XG5cbmZ1bmN0aW9uIGZpbmRFbnZpcm9ubWVudChqc29uLCBlbnZpcm9ubWVudE5hbWUpIHtcbiAgbGV0IGVudmlyb25tZW50O1xuXG4gIGNvbnN0IHsgZW52aXJvbm1lbnRzIH0gPSBqc29uO1xuXG4gIGlmIChlbnZpcm9ubWVudE5hbWUgPT09IG51bGwpIHtcbiAgICBjb25zdCBmaXJzdEVudmlyb25tZW50ID0gZmlyc3QoZW52aXJvbm1lbnRzKTtcblxuICAgIGVudmlyb25tZW50ID0gZmlyc3RFbnZpcm9ubWVudDsgLy8vXG4gIH0gZWxzZSB7XG4gICAgZW52aXJvbm1lbnQgPSBlbnZpcm9ubWVudHMuZmluZCgoZW52aXJvbm1lbnQpID0+IHtcbiAgICAgIGNvbnN0IHsgbmFtZSB9ID0gZW52aXJvbm1lbnQ7XG5cbiAgICAgIGlmKG5hbWUgPT09IGVudmlyb25tZW50TmFtZSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGRlbGV0ZSBlbnZpcm9ubWVudC5uYW1lXG5cbiAgcmV0dXJuIGVudmlyb25tZW50O1xufVxuXG5mdW5jdGlvbiByY0ZpbGVQYXRoRnJvbU5vdGhpbmcoKSB7XG4gIGNvbnN0IHJjRmlsZVBhdGggPSBgLi8uJHtiYXNlRXh0ZW5zaW9ufXJjYDtcblxuICByZXR1cm4gcmNGaWxlUGF0aDtcbn1cblxuZnVuY3Rpb24gZW52aXJvbm1lbnROYW1lRnJvbUVudigpIHtcbiAgY29uc3QgZW52aXJvbm1lbnROYW1lID0gcHJvY2Vzcy5lbnZbRU5WSVJPTk1FTlRdIHx8IG51bGw7XG5cbiAgcmV0dXJuIGVudmlyb25tZW50TmFtZTtcbn1cblxuZnVuY3Rpb24gZW52aXJvbm1lbnROYW1lRnJvbUFyZ3YoKSB7XG4gIGxldCBlbnZpcm9ubWVudE5hbWUgPSBudWxsO1xuXG4gIHByb2Nlc3MuYXJndi5maW5kKChhcmd1bWVudCkgPT4geyAgLy8vXG4gICAgY29uc3QgbWF0Y2hlcyA9IGFyZ3VtZW50Lm1hdGNoKC8tLWVudmlyb25tZW50PSguKykvKSxcbiAgICAgICAgICBmb3VuZCA9IChtYXRjaGVzICE9PSBudWxsKTtcblxuICAgIGlmIChmb3VuZCkge1xuICAgICAgY29uc3Qgc2Vjb25kTWF0Y2ggPSBzZWNvbmQobWF0Y2hlcyk7XG5cbiAgICAgIGVudmlyb25tZW50TmFtZSA9IHNlY29uZE1hdGNoO1xuICAgIH1cblxuICAgIHJldHVybiBmb3VuZDtcbiAgfSk7XG5cbiAgcmV0dXJuIGVudmlyb25tZW50TmFtZTtcbn1cblxuZnVuY3Rpb24gcmVwbGFjZUVudmlyb25tZW50VmFyaWFibGUoc3RyaW5nKSB7XG4gIGxldCB2YWx1ZSA9IG51bGw7XG5cbiAgY29uc3Qgc3RyaW5nVXBwZXJDYXNlID0gaXNTdHJpbmdVcHBlckNhc2Uoc3RyaW5nKTtcblxuICBpZiAoc3RyaW5nVXBwZXJDYXNlKSB7XG4gICAgY29uc3QgbmFtZSA9IHN0cmluZzsgIC8vL1xuXG4gICAgdmFsdWUgPSBwcm9jZXNzLmVudltuYW1lXTtcblxuICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB2YWx1ZSA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHZhbHVlO1xufVxuXG5mdW5jdGlvbiByZXBsYWNlRW52aXJvbm1lbnRWYXJpYWJsZXMoZW52aXJvbm1lbnQpIHtcbiAgbGV0IGpzb24gPSBlbnZpcm9ubWVudDtcblxuICBjb25zdCBqc29uQXJyYXkgPSBpc0pTT05BcnJheShqc29uKSxcbiAgICAgICAganNvbk9iamVjdCA9IGlzSlNPTk9iamVjdChqc29uKTtcblxuICBpZiAoZmFsc2UpIHtcbiAgICAvLy9cbiAgfSBlbHNlIGlmIChqc29uQXJyYXkpIHtcbiAgICBjb25zdCBhcnJheSA9IGpzb24sIC8vL1xuICAgICAgICAgIGxlbmd0aCA9IGFycmF5Lmxlbmd0aDtcblxuICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBsZW5ndGg7IGluZGV4KyspIHtcbiAgICAgIGNvbnN0IGpzb24gPSBhcnJheVtpbmRleF0sXG4gICAgICAgICAgICBqc29uU3RyaW5nID0gaXNKU09OU3RyaW5nKGpzb24pO1xuXG4gICAgICBpZiAoanNvblN0cmluZykge1xuICAgICAgICBjb25zdCBzdHJpbmcgPSBqc29uLCAgLy8vXG4gICAgICAgICAgICAgIHZhbHVlID0gcmVwbGFjZUVudmlyb25tZW50VmFyaWFibGUoc3RyaW5nKTtcblxuICAgICAgICBpZiAodmFsdWUgIT09IG51bGwpIHtcbiAgICAgICAgICBhcnJheVtpbmRleF0gPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfSBlbHNlIGlmIChqc29uT2JqZWN0KSB7XG4gICAgY29uc3Qgb2JqZWN0ID0ganNvbjsgIC8vL1xuXG4gICAgZm9yIChsZXQgbmFtZSBpbiBvYmplY3QpIHtcbiAgICAgIGNvbnN0IGpzb24gPSBvYmplY3RbbmFtZV0sXG4gICAgICAgICAgICBqc29uU3RyaW5nID0gaXNKU09OU3RyaW5nKGpzb24pO1xuXG4gICAgICBpZiAoanNvblN0cmluZykge1xuICAgICAgICBjb25zdCBzdHJpbmcgPSBqc29uLCAgLy8vXG4gICAgICAgICAgICAgIHZhbHVlID0gcmVwbGFjZUVudmlyb25tZW50VmFyaWFibGUoc3RyaW5nKTsgIC8vL1xuXG4gICAgICAgIGlmICh2YWx1ZSAhPT0gbnVsbCkge1xuICAgICAgICAgIG9iamVjdFtuYW1lXSA9IHZhbHVlO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgIHtcbiAgICAgICAgcmVwbGFjZUVudmlyb25tZW50VmFyaWFibGVzKGpzb24pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBpc0pTT05BcnJheShqc29uKSB7XG4gIGNvbnN0IGpzb25BcnJheSA9IChqc29uIGluc3RhbmNlb2YgQXJyYXkpO1xuXG4gIHJldHVybiBqc29uQXJyYXk7XG59XG5cbmZ1bmN0aW9uIGlzSlNPTk9iamVjdChqc29uKSB7XG4gIGNvbnN0IGpzb25BcnJheSA9IGlzSlNPTkFycmF5KGpzb24pLFxuICAgICAgICBqc29uUHJpbWl0aXZlID0gaXNKU09OUHJpbWl0aXZlKGpzb24pLFxuICAgICAgICBqc29uT2JqZWN0ID0gKCFqc29uQXJyYXkgJiYgISBqc29uUHJpbWl0aXZlKTtcblxuICByZXR1cm4ganNvbk9iamVjdDtcbn1cblxuZnVuY3Rpb24gaXNKU09OU3RyaW5nKGpzb24pIHtcbiAgY29uc3QganNvblN0cmluZyA9ICh0eXBlb2YganNvbiA9PT0gU1RSSU5HKTtcblxuICByZXR1cm4ganNvblN0cmluZztcbn1cblxuZnVuY3Rpb24gaXNKU09OTnVtYmVyKGpzb24pIHtcbiAgY29uc3QganNvbk51bWJlciA9ICh0eXBlb2YganNvbiA9PT0gTlVNQkVSKTtcblxuICByZXR1cm4ganNvbk51bWJlcjtcbn1cblxuZnVuY3Rpb24gaXNKU09OQm9vbGVhbihqc29uKSB7XG4gIGNvbnN0IGpzb25Cb29sZWFuID0gKHR5cGVvZiBqc29uID09PSBCT09MRUFOKTtcblxuICByZXR1cm4ganNvbkJvb2xlYW47XG59XG5cbmZ1bmN0aW9uIGlzSlNPTlByaW1pdGl2ZShqc29uKSB7XG4gIGNvbnN0IGpzb25TdHJpbmcgPSBpc0pTT05TdHJpbmcoanNvbiksXG4gICAgICAgIGpzb25OdW1iZXIgPSBpc0pTT05OdW1iZXIoanNvbiksXG4gICAgICAgIGpzb25Cb29sZWFuID0gaXNKU09OQm9vbGVhbihqc29uKSxcbiAgICAgICAganNvblByaW1pdGl2ZSA9IChqc29uU3RyaW5nIHx8IGpzb25OdW1iZXIgfHwganNvbkJvb2xlYW4pO1xuXG4gIHJldHVybiBqc29uUHJpbWl0aXZlO1xufVxuXG5mdW5jdGlvbiBpc1N0cmluZ1VwcGVyQ2FzZShzdHJpbmcpIHtcbiAgY29uc3QgdXBwZXJDYXNlU3RyaW5nID0gc3RyaW5nLnRvVXBwZXJDYXNlKCksXG4gICAgICAgIHN0cmluZ1VwcGVyQ2FzZSA9IChzdHJpbmcgPT09IHVwcGVyQ2FzZVN0cmluZyk7XG5cbiAgcmV0dXJuIHN0cmluZ1VwcGVyQ2FzZTtcbn1cbiJdLCJuYW1lcyI6WyJnbG9iYWxUaGlzIiwicmMiLCJfcmMiLCJiYXNlRXh0ZW5zaW9uIiwiREVGQVVMVF9SQ19CQVNFX0VYVEVOU0lPTiIsImVudmlyb25tZW50TmFtZSIsImVudmlyb25tZW50TmFtZUZyb21Bcmd2IiwiZW52aXJvbm1lbnROYW1lRnJvbUVudiIsImpzb24iLCJyZWFkUkNGaWxlIiwiZW52aXJvbm1lbnQiLCJmaW5kRW52aXJvbm1lbnQiLCJyZXBsYWNlRW52aXJvbm1lbnRWYXJpYWJsZXMiLCJPYmplY3QiLCJhc3NpZ24iLCJyY0ZpbGVQYXRoIiwicmNGaWxlUGF0aEZyb21Ob3RoaW5nIiwicmNGaWxlQ29udGVudCIsInJlYWRGaWxlIiwiSlNPTiIsInBhcnNlIiwid3JpdGVSQ0ZpbGUiLCJyZEZpbGVDb250ZW50Iiwic3RyaW5naWZ5IiwiRE9VQkxFX1NQQUNFIiwid3JpdGVGaWxlIiwidXBkYXRlUkNGaWxlIiwiYWRkZWRQcm9wZXJ0aWVzIiwiZGVsZXRlZFByb3BlcnR5TmFtZXMiLCJmb3JFYWNoIiwiZGVsZXRlZFByb3BlcnR5TmFtZSIsImNoZWNrUkNGaWxlRXhpc3RzIiwicmNGaWxlRXhpc3RzIiwiY2hlY2tGaWxlRXhpc3RzIiwiY3JlYXRlVmFjdW91c1JDRmlsZSIsImVudmlyb25tZW50cyIsInNldFJDQmFzZUV4dGVuc2lvbiIsInJjQmFzZUV4dGVuc2lvbiIsImZpcnN0RW52aXJvbm1lbnQiLCJmaXJzdCIsImZpbmQiLCJuYW1lIiwicHJvY2VzcyIsImVudiIsIkVOVklST05NRU5UIiwiYXJndiIsImFyZ3VtZW50IiwibWF0Y2hlcyIsIm1hdGNoIiwiZm91bmQiLCJzZWNvbmRNYXRjaCIsInNlY29uZCIsInJlcGxhY2VFbnZpcm9ubWVudFZhcmlhYmxlIiwic3RyaW5nIiwidmFsdWUiLCJzdHJpbmdVcHBlckNhc2UiLCJpc1N0cmluZ1VwcGVyQ2FzZSIsInVuZGVmaW5lZCIsImpzb25BcnJheSIsImlzSlNPTkFycmF5IiwianNvbk9iamVjdCIsImlzSlNPTk9iamVjdCIsImFycmF5IiwibGVuZ3RoIiwiaW5kZXgiLCJqc29uU3RyaW5nIiwiaXNKU09OU3RyaW5nIiwib2JqZWN0IiwiQXJyYXkiLCJqc29uUHJpbWl0aXZlIiwiaXNKU09OUHJpbWl0aXZlIiwiU1RSSU5HIiwiaXNKU09OTnVtYmVyIiwianNvbk51bWJlciIsIk5VTUJFUiIsImlzSlNPTkJvb2xlYW4iLCJqc29uQm9vbGVhbiIsIkJPT0xFQU4iLCJ1cHBlckNhc2VTdHJpbmciLCJ0b1VwcGVyQ2FzZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBYUE7OztlQUFBOzs7dUJBWDhCOzBCQUNZOzRCQUNXOzJCQUNjO0FBRW5FLElBQUksQ0FBQ0EsV0FBV0MsRUFBRSxFQUFFO0lBQ2xCRCxXQUFXQyxFQUFFLEdBQUdDO0FBQ2xCO0FBRUEsTUFBTSxFQUFFRCxFQUFFLEVBQUUsR0FBR0Q7TUFFZixXQUFlO0lBQ2JDO0FBQ0Y7QUFFQSxJQUFJRSxnQkFBZ0JDLG1DQUF5QjtBQUU3QyxTQUFTRixJQUFJRyxlQUFlO0lBQzFCQSxrQkFBa0JBLG1CQUFtQkMsNkJBQTZCQywwQkFBMEIsR0FBRztJQUUvRixJQUFJQyxPQUFPQztJQUVYLE1BQU1DLGNBQWNDLGdCQUFnQkgsTUFBTUg7SUFFMUNHLE9BQU9FLGFBQWEsR0FBRztJQUV2QkUsNEJBQTRCSjtJQUU1QkssT0FB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
|
|
153
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvY29uZmlndXJhdGlvbi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgRU5WSVJPTk1FTlQgfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBmaXJzdCwgc2Vjb25kIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9hcnJheVwiO1xuaW1wb3J0IHsgaXNTdHJpbmdVcHBlckNhc2UgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3N0cmluZ1wiO1xuaW1wb3J0IHsgREVGQVVMVF9SQ19CQVNFX0VYVEVOU0lPTiB9IGZyb20gXCIuLi9kZWZhdWx0c1wiO1xuaW1wb3J0IHsgaXNBcnJheSwgaXNPYmplY3QsIGlzUHJpbWl0aXZlIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9qc29uXCI7XG5pbXBvcnQgeyByZWFkRmlsZSwgd3JpdGVGaWxlLCBjaGVja0ZpbGVFeGlzdHMgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2ZpbGVTeXN0ZW1cIjtcblxuaWYgKCFnbG9iYWxUaGlzLnJjKSB7XG4gIGdsb2JhbFRoaXMucmMgPSBfcmM7XG59XG5cbmNvbnN0IHsgcmMgfSA9IGdsb2JhbFRoaXM7XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgcmNcbn07XG5cbmxldCBiYXNlRXh0ZW5zaW9uID0gREVGQVVMVF9SQ19CQVNFX0VYVEVOU0lPTjtcblxuZnVuY3Rpb24gX3JjKGVudmlyb25tZW50TmFtZSkge1xuICBlbnZpcm9ubWVudE5hbWUgPSBlbnZpcm9ubWVudE5hbWUgfHwgZW52aXJvbm1lbnROYW1lRnJvbUFyZ3YoKSB8fCBlbnZpcm9ubWVudE5hbWVGcm9tRW52KCk7IC8vL1xuXG4gIGxldCBqc29uID0gcmVhZFJDRmlsZSgpO1xuXG4gIGNvbnN0IGVudmlyb25tZW50ID0gZmluZEVudmlyb25tZW50KGpzb24sIGVudmlyb25tZW50TmFtZSk7XG5cbiAganNvbiA9IGVudmlyb25tZW50OyAvLy9cblxuICByZXBsYWNlRW52aXJvbm1lbnRWYXJpYWJsZXMoanNvbik7XG5cbiAgT2JqZWN0LmFzc2lnbihyYywgZW52aXJvbm1lbnQpO1xufVxuXG5mdW5jdGlvbiByZWFkUkNGaWxlKCkge1xuICBjb25zdCByY0ZpbGVQYXRoID0gcmNGaWxlUGF0aEZyb21Ob3RoaW5nKCksXG4gICAgICAgIHJjRmlsZUNvbnRlbnQgPSByZWFkRmlsZShyY0ZpbGVQYXRoKSxcbiAgICAgICAganNvbiA9IEpTT04ucGFyc2UocmNGaWxlQ29udGVudCk7XG5cbiAgcmV0dXJuIGpzb247ICAgICAgXG59XG5cbmZ1bmN0aW9uIHdyaXRlUkNGaWxlKGpzb24pIHtcbiAgY29uc3QgcmNGaWxlUGF0aCA9IHJjRmlsZVBhdGhGcm9tTm90aGluZygpLFxuICAgICAgICByZEZpbGVDb250ZW50ID0gSlNPTi5zdHJpbmdpZnkoanNvbiwgbnVsbCwgMik7XG5cbiAgd3JpdGVGaWxlKHJjRmlsZVBhdGgsIHJkRmlsZUNvbnRlbnQpO1xufVxuXG5mdW5jdGlvbiB1cGRhdGVSQ0ZpbGUoYWRkZWRQcm9wZXJ0aWVzLCAuLi5kZWxldGVkUHJvcGVydHlOYW1lcykge1xuICBsZXQganNvbiA9IHJlYWRSQ0ZpbGUoKTtcblxuICBpZiAoYWRkZWRQcm9wZXJ0aWVzKSB7XG4gICAgT2JqZWN0LmFzc2lnbihqc29uLCBhZGRlZFByb3BlcnRpZXMpO1xuICB9XG5cbiAgZGVsZXRlZFByb3BlcnR5TmFtZXMuZm9yRWFjaCgoZGVsZXRlZFByb3BlcnR5TmFtZSkgPT4ge1xuICAgIGRlbGV0ZSBqc29uW2RlbGV0ZWRQcm9wZXJ0eU5hbWVdO1xuICB9KTtcblxuICB3cml0ZVJDRmlsZShqc29uKTsgICAgICBcbn1cblxuZnVuY3Rpb24gY2hlY2tSQ0ZpbGVFeGlzdHMoKSB7XG4gIGNvbnN0IHJjRmlsZVBhdGggPSByY0ZpbGVQYXRoRnJvbU5vdGhpbmcoKSxcbiAgICAgICAgcmNGaWxlRXhpc3RzID0gY2hlY2tGaWxlRXhpc3RzKHJjRmlsZVBhdGgpO1xuXG4gIHJldHVybiByY0ZpbGVFeGlzdHM7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZVZhY3VvdXNSQ0ZpbGUoKSB7XG4gIGNvbnN0IGVudmlyb25tZW50cyA9IFtdLFxuICAgICAgICBqc29uID0ge1xuICAgICAgICAgIGVudmlyb25tZW50c1xuICAgICAgICB9O1xuXG4gIHdyaXRlUkNGaWxlKGpzb24pO1xufVxuXG5mdW5jdGlvbiBzZXRSQ0Jhc2VFeHRlbnNpb24ocmNCYXNlRXh0ZW5zaW9uKSB7IGJhc2VFeHRlbnNpb24gPSByY0Jhc2VFeHRlbnNpb247IH1cblxuT2JqZWN0LmFzc2lnbihfcmMsIHtcbiAgcmVhZFJDRmlsZSxcbiAgd3JpdGVSQ0ZpbGUsXG4gIHVwZGF0ZVJDRmlsZSxcbiAgY2hlY2tSQ0ZpbGVFeGlzdHMsXG4gIGNyZWF0ZVZhY3VvdXNSQ0ZpbGUsXG4gIHNldFJDQmFzZUV4dGVuc2lvblxufSk7XG5cbmZ1bmN0aW9uIGZpbmRFbnZpcm9ubWVudChqc29uLCBlbnZpcm9ubWVudE5hbWUpIHtcbiAgbGV0IGVudmlyb25tZW50O1xuXG4gIGNvbnN0IHsgZW52aXJvbm1lbnRzIH0gPSBqc29uO1xuXG4gIGlmIChlbnZpcm9ubWVudE5hbWUgPT09IG51bGwpIHtcbiAgICBjb25zdCBmaXJzdEVudmlyb25tZW50ID0gZmlyc3QoZW52aXJvbm1lbnRzKTtcblxuICAgIGVudmlyb25tZW50ID0gZmlyc3RFbnZpcm9ubWVudDsgLy8vXG4gIH0gZWxzZSB7XG4gICAgZW52aXJvbm1lbnQgPSBlbnZpcm9ubWVudHMuZmluZCgoZW52aXJvbm1lbnQpID0+IHtcbiAgICAgIGNvbnN0IHsgbmFtZSB9ID0gZW52aXJvbm1lbnQ7XG5cbiAgICAgIGlmKG5hbWUgPT09IGVudmlyb25tZW50TmFtZSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGRlbGV0ZSBlbnZpcm9ubWVudC5uYW1lXG5cbiAgcmV0dXJuIGVudmlyb25tZW50O1xufVxuXG5mdW5jdGlvbiByY0ZpbGVQYXRoRnJvbU5vdGhpbmcoKSB7XG4gIGNvbnN0IHJjRmlsZVBhdGggPSBgLi8uJHtiYXNlRXh0ZW5zaW9ufXJjYDtcblxuICByZXR1cm4gcmNGaWxlUGF0aDtcbn1cblxuZnVuY3Rpb24gZW52aXJvbm1lbnROYW1lRnJvbUVudigpIHtcbiAgY29uc3QgZW52aXJvbm1lbnROYW1lID0gcHJvY2Vzcy5lbnZbRU5WSVJPTk1FTlRdIHx8IG51bGw7XG5cbiAgcmV0dXJuIGVudmlyb25tZW50TmFtZTtcbn1cblxuZnVuY3Rpb24gZW52aXJvbm1lbnROYW1lRnJvbUFyZ3YoKSB7XG4gIGxldCBlbnZpcm9ubWVudE5hbWUgPSBudWxsO1xuXG4gIHByb2Nlc3MuYXJndi5maW5kKChhcmd1bWVudCkgPT4geyAgLy8vXG4gICAgY29uc3QgbWF0Y2hlcyA9IGFyZ3VtZW50Lm1hdGNoKC8tLWVudmlyb25tZW50PSguKykvKSxcbiAgICAgICAgICBmb3VuZCA9IChtYXRjaGVzICE9PSBudWxsKTtcblxuICAgIGlmIChmb3VuZCkge1xuICAgICAgY29uc3Qgc2Vjb25kTWF0Y2ggPSBzZWNvbmQobWF0Y2hlcyk7XG5cbiAgICAgIGVudmlyb25tZW50TmFtZSA9IHNlY29uZE1hdGNoO1xuICAgIH1cblxuICAgIHJldHVybiBmb3VuZDtcbiAgfSk7XG5cbiAgcmV0dXJuIGVudmlyb25tZW50TmFtZTtcbn1cblxuZnVuY3Rpb24gcmVwbGFjZUVudmlyb25tZW50VmFyaWFibGUoc3RyaW5nKSB7XG4gIGxldCB2YWx1ZSA9IG51bGw7XG5cbiAgY29uc3Qgc3RyaW5nVXBwZXJDYXNlID0gaXNTdHJpbmdVcHBlckNhc2Uoc3RyaW5nKTtcblxuICBpZiAoc3RyaW5nVXBwZXJDYXNlKSB7XG4gICAgY29uc3QgbmFtZSA9IHN0cmluZzsgIC8vL1xuXG4gICAgdmFsdWUgPSBwcm9jZXNzLmVudltuYW1lXTtcblxuICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB2YWx1ZSA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHZhbHVlO1xufVxuXG5mdW5jdGlvbiByZXBsYWNlRW52aXJvbm1lbnRWYXJpYWJsZXMoZW52aXJvbm1lbnQpIHtcbiAgbGV0IGpzb24gPSBlbnZpcm9ubWVudDtcblxuICBjb25zdCBqc29uQXJyYXkgPSBpc0FycmF5KGpzb24pLFxuICAgICAgICBqc29uT2JqZWN0ID0gaXNPYmplY3QoanNvbik7XG5cbiAgaWYgKGZhbHNlKSB7XG4gICAgLy8vXG4gIH0gZWxzZSBpZiAoanNvbkFycmF5KSB7XG4gICAgY29uc3QgYXJyYXkgPSBqc29uLCAvLy9cbiAgICAgICAgICBsZW5ndGggPSBhcnJheS5sZW5ndGg7XG5cbiAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgbGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICBjb25zdCBqc29uID0gYXJyYXlbaW5kZXhdLFxuICAgICAgICAgICAganNvblByaW1pdGl2ZSA9IGlzUHJpbWl0aXZlKGpzb24pO1xuXG4gICAgICBpZiAoanNvblByaW1pdGl2ZSkge1xuICAgICAgICBjb25zdCBzdHJpbmcgPSBqc29uLCAgLy8vXG4gICAgICAgICAgICAgIHZhbHVlID0gcmVwbGFjZUVudmlyb25tZW50VmFyaWFibGUoc3RyaW5nKTtcblxuICAgICAgICBpZiAodmFsdWUgIT09IG51bGwpIHtcbiAgICAgICAgICBhcnJheVtpbmRleF0gPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfSBlbHNlIGlmIChqc29uT2JqZWN0KSB7XG4gICAgY29uc3Qgb2JqZWN0ID0ganNvbjsgIC8vL1xuXG4gICAgZm9yIChsZXQgbmFtZSBpbiBvYmplY3QpIHtcbiAgICAgIGNvbnN0IGpzb24gPSBvYmplY3RbbmFtZV0sXG4gICAgICAgICAgICBqc29uUHJpbWl0aXZlID0gaXNQcmltaXRpdmUoanNvbik7XG5cbiAgICAgIGlmIChqc29uUHJpbWl0aXZlKSB7XG4gICAgICAgIGNvbnN0IHN0cmluZyA9IGpzb24sICAvLy9cbiAgICAgICAgICAgICAgdmFsdWUgPSByZXBsYWNlRW52aXJvbm1lbnRWYXJpYWJsZShzdHJpbmcpOyAgLy8vXG5cbiAgICAgICAgaWYgKHZhbHVlICE9PSBudWxsKSB7XG4gICAgICAgICAgb2JqZWN0W25hbWVdID0gdmFsdWU7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSAge1xuICAgICAgICByZXBsYWNlRW52aXJvbm1lbnRWYXJpYWJsZXMoanNvbik7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXSwibmFtZXMiOlsiZ2xvYmFsVGhpcyIsInJjIiwiX3JjIiwiYmFzZUV4dGVuc2lvbiIsIkRFRkFVTFRfUkNfQkFTRV9FWFRFTlNJT04iLCJlbnZpcm9ubWVudE5hbWUiLCJlbnZpcm9ubWVudE5hbWVGcm9tQXJndiIsImVudmlyb25tZW50TmFtZUZyb21FbnYiLCJqc29uIiwicmVhZFJDRmlsZSIsImVudmlyb25tZW50IiwiZmluZEVudmlyb25tZW50IiwicmVwbGFjZUVudmlyb25tZW50VmFyaWFibGVzIiwiT2JqZWN0IiwiYXNzaWduIiwicmNGaWxlUGF0aCIsInJjRmlsZVBhdGhGcm9tTm90aGluZyIsInJjRmlsZUNvbnRlbnQiLCJyZWFkRmlsZSIsIkpTT04iLCJwYXJzZSIsIndyaXRlUkNGaWxlIiwicmRGaWxlQ29udGVudCIsInN0cmluZ2lmeSIsIndyaXRlRmlsZSIsInVwZGF0ZVJDRmlsZSIsImFkZGVkUHJvcGVydGllcyIsImRlbGV0ZWRQcm9wZXJ0eU5hbWVzIiwiZm9yRWFjaCIsImRlbGV0ZWRQcm9wZXJ0eU5hbWUiLCJjaGVja1JDRmlsZUV4aXN0cyIsInJjRmlsZUV4aXN0cyIsImNoZWNrRmlsZUV4aXN0cyIsImNyZWF0ZVZhY3VvdXNSQ0ZpbGUiLCJlbnZpcm9ubWVudHMiLCJzZXRSQ0Jhc2VFeHRlbnNpb24iLCJyY0Jhc2VFeHRlbnNpb24iLCJmaXJzdEVudmlyb25tZW50IiwiZmlyc3QiLCJmaW5kIiwibmFtZSIsInByb2Nlc3MiLCJlbnYiLCJFTlZJUk9OTUVOVCIsImFyZ3YiLCJhcmd1bWVudCIsIm1hdGNoZXMiLCJtYXRjaCIsImZvdW5kIiwic2Vjb25kTWF0Y2giLCJzZWNvbmQiLCJyZXBsYWNlRW52aXJvbm1lbnRWYXJpYWJsZSIsInN0cmluZyIsInZhbHVlIiwic3RyaW5nVXBwZXJDYXNlIiwiaXNTdHJpbmdVcHBlckNhc2UiLCJ1bmRlZmluZWQiLCJqc29uQXJyYXkiLCJpc0FycmF5IiwianNvbk9iamVjdCIsImlzT2JqZWN0IiwiYXJyYXkiLCJsZW5ndGgiLCJpbmRleCIsImpzb25QcmltaXRpdmUiLCJpc1ByaW1pdGl2ZSIsIm9iamVjdCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBZUE7OztlQUFBOzs7MkJBYjRCO3VCQUNFO3dCQUNJOzBCQUNRO3NCQUNLOzRCQUNNO0FBRXJELElBQUksQ0FBQ0EsV0FBV0MsRUFBRSxFQUFFO0lBQ2xCRCxXQUFXQyxFQUFFLEdBQUdDO0FBQ2xCO0FBRUEsTUFBTSxFQUFFRCxFQUFFLEVBQUUsR0FBR0Q7TUFFZixXQUFlO0lBQ2JDO0FBQ0Y7QUFFQSxJQUFJRSxnQkFBZ0JDLG1DQUF5QjtBQUU3QyxTQUFTRixJQUFJRyxlQUFlO0lBQzFCQSxrQkFBa0JBLG1CQUFtQkMsNkJBQTZCQywwQkFBMEIsR0FBRztJQUUvRixJQUFJQyxPQUFPQztJQUVYLE1BQU1DLGNBQWNDLGdCQUFnQkgsTUFBTUg7SUFFMUNHLE9BQU9FLGFBQWEsR0FBRztJQUV2QkUsNEJBQTRCSjtJQUU1QkssT0FBT0MsTUFBTSxDQUFDYixJQUFJUztBQUNwQjtBQUVBLFNBQVNEO0lBQ1AsTUFBTU0sYUFBYUMseUJBQ2JDLGdCQUFnQkMsSUFBQUEsb0JBQVEsRUFBQ0gsYUFDekJQLE9BQU9XLEtBQUtDLEtBQUssQ0FBQ0g7SUFFeEIsT0FBT1Q7QUFDVDtBQUVBLFNBQVNhLFlBQVliLElBQUk7SUFDdkIsTUFBTU8sYUFBYUMseUJBQ2JNLGdCQUFnQkgsS0FBS0ksU0FBUyxDQUFDZixNQUFNLE1BQU07SUFFakRnQixJQUFBQSxxQkFBUyxFQUFDVCxZQUFZTztBQUN4QjtBQUVBLFNBQVNHLGFBQWFDLGVBQWUsRUFBRSxHQUFHQyxvQkFBb0I7SUFDNUQsSUFBSW5CLE9BQU9DO0lBRVgsSUFBSWlCLGlCQUFpQjtRQUNuQmIsT0FBT0MsTUFBTSxDQUFDTixNQUFNa0I7SUFDdEI7SUFFQUMscUJBQXFCQyxPQUFPLENBQUMsQ0FBQ0M7UUFDNUIsT0FBT3JCLElBQUksQ0FBQ3FCLG9CQUFvQjtJQUNsQztJQUVBUixZQUFZYjtBQUNkO0FBRUEsU0FBU3NCO0lBQ1AsTUFBTWYsYUFBYUMseUJBQ2JlLGVBQWVDLElBQUFBLDJCQUFlLEVBQUNqQjtJQUVyQyxPQUFPZ0I7QUFDVDtBQUVBLFNBQVNFO0lBQ1AsTUFBTUMsZUFBZSxFQUFFLEVBQ2pCMUIsT0FBTztRQUNMMEI7SUFDRjtJQUVOYixZQUFZYjtBQUNkO0FBRUEsU0FBUzJCLG1CQUFtQkMsZUFBZTtJQUFJakMsZ0JBQWdCaUM7QUFBaUI7QUFFaEZ2QixPQUFPQyxNQUFNLENBQUNaLEtBQUs7SUFDakJPO0lBQ0FZO0lBQ0FJO0lBQ0FLO0lBQ0FHO0lBQ0FFO0FBQ0Y7QUFFQSxTQUFTeEIsZ0JBQWdCSCxJQUFJLEVBQUVILGVBQWU7SUFDNUMsSUFBSUs7SUFFSixNQUFNLEVBQUV3QixZQUFZLEVBQUUsR0FBRzFCO0lBRXpCLElBQUlILG9CQUFvQixNQUFNO1FBQzVCLE1BQU1nQyxtQkFBbUJDLElBQUFBLFlBQUssRUFBQ0o7UUFFL0J4QixjQUFjMkIsa0JBQWtCLEdBQUc7SUFDckMsT0FBTztRQUNMM0IsY0FBY3dCLGFBQWFLLElBQUksQ0FBQyxDQUFDN0I7WUFDL0IsTUFBTSxFQUFFOEIsSUFBSSxFQUFFLEdBQUc5QjtZQUVqQixJQUFHOEIsU0FBU25DLGlCQUFpQjtnQkFDM0IsT0FBTztZQUNUO1FBQ0Y7SUFDRjtJQUVBLE9BQU9LLFlBQVk4QixJQUFJO0lBRXZCLE9BQU85QjtBQUNUO0FBRUEsU0FBU007SUFDUCxNQUFNRCxhQUFhLENBQUMsR0FBRyxFQUFFWixjQUFjLEVBQUUsQ0FBQztJQUUxQyxPQUFPWTtBQUNUO0FBRUEsU0FBU1I7SUFDUCxNQUFNRixrQkFBa0JvQyxRQUFRQyxHQUFHLENBQUNDLHNCQUFXLENBQUMsSUFBSTtJQUVwRCxPQUFPdEM7QUFDVDtBQUVBLFNBQVNDO0lBQ1AsSUFBSUQsa0JBQWtCO0lBRXRCb0MsUUFBUUcsSUFBSSxDQUFDTCxJQUFJLENBQUMsQ0FBQ007UUFDakIsTUFBTUMsVUFBVUQsU0FBU0UsS0FBSyxDQUFDLHVCQUN6QkMsUUFBU0YsWUFBWTtRQUUzQixJQUFJRSxPQUFPO1lBQ1QsTUFBTUMsY0FBY0MsSUFBQUEsYUFBTSxFQUFDSjtZQUUzQnpDLGtCQUFrQjRDO1FBQ3BCO1FBRUEsT0FBT0Q7SUFDVDtJQUVBLE9BQU8zQztBQUNUO0FBRUEsU0FBUzhDLDJCQUEyQkMsTUFBTTtJQUN4QyxJQUFJQyxRQUFRO0lBRVosTUFBTUMsa0JBQWtCQyxJQUFBQSx5QkFBaUIsRUFBQ0g7SUFFMUMsSUFBSUUsaUJBQWlCO1FBQ25CLE1BQU1kLE9BQU9ZLFFBQVMsR0FBRztRQUV6QkMsUUFBUVosUUFBUUMsR0FBRyxDQUFDRixLQUFLO1FBRXpCLElBQUlhLFVBQVVHLFdBQVc7WUFDdkJILFFBQVE7UUFDVjtJQUNGO0lBRUEsT0FBT0E7QUFDVDtBQUVBLFNBQVN6Qyw0QkFBNEJGLFdBQVc7SUFDOUMsSUFBSUYsT0FBT0U7SUFFWCxNQUFNK0MsWUFBWUMsSUFBQUEsYUFBTyxFQUFDbEQsT0FDcEJtRCxhQUFhQyxJQUFBQSxjQUFRLEVBQUNwRDtJQUU1QixJQUFJLE9BQU87SUFDVCxHQUFHO0lBQ0wsT0FBTyxJQUFJaUQsV0FBVztRQUNwQixNQUFNSSxRQUFRckQsTUFDUnNELFNBQVNELE1BQU1DLE1BQU07UUFFM0IsSUFBSyxJQUFJQyxRQUFRLEdBQUdBLFFBQVFELFFBQVFDLFFBQVM7WUFDM0MsTUFBTXZELE9BQU9xRCxLQUFLLENBQUNFLE1BQU0sRUFDbkJDLGdCQUFnQkMsSUFBQUEsaUJBQVcsRUFBQ3pEO1lBRWxDLElBQUl3RCxlQUFlO2dCQUNqQixNQUFNWixTQUFTNUMsTUFDVDZDLFFBQVFGLDJCQUEyQkM7Z0JBRXpDLElBQUlDLFVBQVUsTUFBTTtvQkFDbEJRLEtBQUssQ0FBQ0UsTUFBTSxHQUFHVjtnQkFDakI7WUFDRjtRQUNGO0lBQ0YsT0FBTyxJQUFJTSxZQUFZO1FBQ3JCLE1BQU1PLFNBQVMxRCxNQUFPLEdBQUc7UUFFekIsSUFBSyxJQUFJZ0MsUUFBUTBCLE9BQVE7WUFDdkIsTUFBTTFELE9BQU8wRCxNQUFNLENBQUMxQixLQUFLLEVBQ25Cd0IsZ0JBQWdCQyxJQUFBQSxpQkFBVyxFQUFDekQ7WUFFbEMsSUFBSXdELGVBQWU7Z0JBQ2pCLE1BQU1aLFNBQVM1QyxNQUNUNkMsUUFBUUYsMkJBQTJCQyxTQUFVLEdBQUc7Z0JBRXRELElBQUlDLFVBQVUsTUFBTTtvQkFDbEJhLE1BQU0sQ0FBQzFCLEtBQUssR0FBR2E7Z0JBQ2pCO1lBQ0YsT0FBUTtnQkFDTnpDLDRCQUE0Qko7WUFDOUI7UUFDRjtJQUNGO0FBQ0YifQ==
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: Object.getOwnPropertyDescriptor(all, name).get
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
get default () {
|
|
13
|
+
return _default;
|
|
14
|
+
},
|
|
15
|
+
get isArray () {
|
|
16
|
+
return isArray;
|
|
17
|
+
},
|
|
18
|
+
get isBoolean () {
|
|
19
|
+
return isBoolean;
|
|
20
|
+
},
|
|
21
|
+
get isNull () {
|
|
22
|
+
return isNull;
|
|
23
|
+
},
|
|
24
|
+
get isNumber () {
|
|
25
|
+
return isNumber;
|
|
26
|
+
},
|
|
27
|
+
get isObject () {
|
|
28
|
+
return isObject;
|
|
29
|
+
},
|
|
30
|
+
get isPrimitive () {
|
|
31
|
+
return isPrimitive;
|
|
32
|
+
},
|
|
33
|
+
get isString () {
|
|
34
|
+
return isString;
|
|
35
|
+
},
|
|
36
|
+
get typeOf () {
|
|
37
|
+
return typeOf;
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
const _constants = require("../constants");
|
|
41
|
+
const _jsonTypes = require("../jsonTypes");
|
|
42
|
+
function typeOf(json) {
|
|
43
|
+
let type;
|
|
44
|
+
const array = isArray(json), object = isObject(json), primitive = isPrimitive(json);
|
|
45
|
+
if (false) {
|
|
46
|
+
///
|
|
47
|
+
} else if (array) {
|
|
48
|
+
type = _jsonTypes.ARRAY_JSON_TYPE;
|
|
49
|
+
} else if (object) {
|
|
50
|
+
type = _jsonTypes.OBJECT_JSON_TYPE;
|
|
51
|
+
} else if (primitive) {
|
|
52
|
+
type = _jsonTypes.PRIMITIVE_JSON_TYPE;
|
|
53
|
+
}
|
|
54
|
+
return type;
|
|
55
|
+
}
|
|
56
|
+
function isNull(json) {
|
|
57
|
+
const _null = json === null;
|
|
58
|
+
return _null;
|
|
59
|
+
}
|
|
60
|
+
function isArray(json) {
|
|
61
|
+
const array = Array.isArray(json);
|
|
62
|
+
return array;
|
|
63
|
+
}
|
|
64
|
+
function isObject(json) {
|
|
65
|
+
const object = Object.prototype.toString.call(json) === _constants.OBJECT_OBJECT;
|
|
66
|
+
return object;
|
|
67
|
+
}
|
|
68
|
+
function isString(json) {
|
|
69
|
+
const string = typeof json === _jsonTypes.STRING_JSON_TYPE;
|
|
70
|
+
return string;
|
|
71
|
+
}
|
|
72
|
+
function isNumber(json) {
|
|
73
|
+
const number = typeof json === _jsonTypes.NUMBER_JSON_TYPE;
|
|
74
|
+
return number;
|
|
75
|
+
}
|
|
76
|
+
function isBoolean(json) {
|
|
77
|
+
const boolean = typeof json === _jsonTypes.BOOLEAN_JSON_TYPE;
|
|
78
|
+
return boolean;
|
|
79
|
+
}
|
|
80
|
+
function isPrimitive(json) {
|
|
81
|
+
const _null = isNull(json), string = isString(json), number = isNumber(json), boolean = isBoolean(json), primitive = _null || string || number || boolean;
|
|
82
|
+
return primitive;
|
|
83
|
+
}
|
|
84
|
+
const _default = {
|
|
85
|
+
typeOf,
|
|
86
|
+
isNull,
|
|
87
|
+
isArray,
|
|
88
|
+
isObject,
|
|
89
|
+
isString,
|
|
90
|
+
isNumber,
|
|
91
|
+
isBoolean,
|
|
92
|
+
isPrimitive
|
|
93
|
+
};
|
|
94
|
+
|
|
95
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvanNvbi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgT0JKRUNUX09CSkVDVCB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IEFSUkFZX0pTT05fVFlQRSxcbiAgICAgICAgIE9CSkVDVF9KU09OX1RZUEUsXG4gICAgICAgICBTVFJJTkdfSlNPTl9UWVBFLFxuICAgICAgICAgTlVNQkVSX0pTT05fVFlQRSxcbiAgICAgICAgIEJPT0xFQU5fSlNPTl9UWVBFLFxuICAgICAgICAgUFJJTUlUSVZFX0pTT05fVFlQRSB9IGZyb20gXCIuLi9qc29uVHlwZXNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIHR5cGVPZihqc29uKSB7XG4gIGxldCB0eXBlO1xuXG4gIGNvbnN0IGFycmF5ID0gaXNBcnJheShqc29uKSxcbiAgICAgICAgb2JqZWN0ID0gaXNPYmplY3QoanNvbiksXG4gICAgICAgIHByaW1pdGl2ZSA9IGlzUHJpbWl0aXZlKGpzb24pO1xuXG4gIGlmIChmYWxzZSkge1xuICAgIC8vL1xuICB9IGVsc2UgaWYgKGFycmF5KSB7XG4gICAgdHlwZSA9IEFSUkFZX0pTT05fVFlQRTtcbiAgfSBlbHNlIGlmIChvYmplY3QpIHtcbiAgICB0eXBlID0gT0JKRUNUX0pTT05fVFlQRTtcbiAgfSBlbHNlIGlmIChwcmltaXRpdmUpIHtcbiAgICB0eXBlID0gUFJJTUlUSVZFX0pTT05fVFlQRTtcbiAgfVxuXG4gIHJldHVybiB0eXBlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNOdWxsKGpzb24pIHtcbiAgY29uc3QgX251bGwgPSAoanNvbiA9PT0gbnVsbCk7XG5cbiAgcmV0dXJuIF9udWxsO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNBcnJheShqc29uKSB7XG4gIGNvbnN0IGFycmF5ID0gQXJyYXkuaXNBcnJheShqc29uKTtcblxuICByZXR1cm4gYXJyYXk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc09iamVjdChqc29uKSB7XG4gIGNvbnN0IG9iamVjdCA9IChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoanNvbikgPT09IE9CSkVDVF9PQkpFQ1QpO1xuXG4gIHJldHVybiBvYmplY3Q7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1N0cmluZyhqc29uKSB7XG4gIGNvbnN0IHN0cmluZyA9ICgodHlwZW9mIGpzb24pID09PSBTVFJJTkdfSlNPTl9UWVBFKTtcblxuICByZXR1cm4gc3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNOdW1iZXIoanNvbikge1xuICBjb25zdCBudW1iZXIgPSAoKHR5cGVvZiBqc29uKSA9PT0gTlVNQkVSX0pTT05fVFlQRSk7XG5cbiAgcmV0dXJuIG51bWJlcjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQm9vbGVhbihqc29uKSB7XG4gIGNvbnN0IGJvb2xlYW4gPSAoKHR5cGVvZiBqc29uKSA9PT0gQk9PTEVBTl9KU09OX1RZUEUpO1xuXG4gIHJldHVybiBib29sZWFuO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNQcmltaXRpdmUoanNvbikge1xuICBjb25zdCBfbnVsbCA9IGlzTnVsbChqc29uKSxcbiAgICAgICAgc3RyaW5nID0gaXNTdHJpbmcoanNvbiksXG4gICAgICAgIG51bWJlciA9IGlzTnVtYmVyKGpzb24pLFxuICAgICAgICBib29sZWFuID0gaXNCb29sZWFuKGpzb24pLFxuICAgICAgICBwcmltaXRpdmUgPSAoX251bGwgfHwgc3RyaW5nIHx8IG51bWJlciB8fCBib29sZWFuKTtcblxuICByZXR1cm4gcHJpbWl0aXZlO1xufVxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIHR5cGVPZixcbiAgaXNOdWxsLFxuICBpc0FycmF5LFxuICBpc09iamVjdCxcbiAgaXNTdHJpbmcsXG4gIGlzTnVtYmVyLFxuICBpc0Jvb2xlYW4sXG4gIGlzUHJpbWl0aXZlXG59O1xuIl0sIm5hbWVzIjpbImlzQXJyYXkiLCJpc0Jvb2xlYW4iLCJpc051bGwiLCJpc051bWJlciIsImlzT2JqZWN0IiwiaXNQcmltaXRpdmUiLCJpc1N0cmluZyIsInR5cGVPZiIsImpzb24iLCJ0eXBlIiwiYXJyYXkiLCJvYmplY3QiLCJwcmltaXRpdmUiLCJBUlJBWV9KU09OX1RZUEUiLCJPQkpFQ1RfSlNPTl9UWVBFIiwiUFJJTUlUSVZFX0pTT05fVFlQRSIsIl9udWxsIiwiQXJyYXkiLCJPYmplY3QiLCJwcm90b3R5cGUiLCJ0b1N0cmluZyIsImNhbGwiLCJPQkpFQ1RfT0JKRUNUIiwic3RyaW5nIiwiU1RSSU5HX0pTT05fVFlQRSIsIm51bWJlciIsIk5VTUJFUl9KU09OX1RZUEUiLCJib29sZWFuIiwiQk9PTEVBTl9KU09OX1RZUEUiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztRQTRFQTtlQUFBOztRQXhDZ0JBO2VBQUFBOztRQXdCQUM7ZUFBQUE7O1FBOUJBQztlQUFBQTs7UUF3QkFDO2VBQUFBOztRQVpBQztlQUFBQTs7UUF3QkFDO2VBQUFBOztRQWxCQUM7ZUFBQUE7O1FBdENBQztlQUFBQTs7OzJCQVJjOzJCQU1NO0FBRTdCLFNBQVNBLE9BQU9DLElBQUk7SUFDekIsSUFBSUM7SUFFSixNQUFNQyxRQUFRVixRQUFRUSxPQUNoQkcsU0FBU1AsU0FBU0ksT0FDbEJJLFlBQVlQLFlBQVlHO0lBRTlCLElBQUksT0FBTztJQUNULEdBQUc7SUFDTCxPQUFPLElBQUlFLE9BQU87UUFDaEJELE9BQU9JLDBCQUFlO0lBQ3hCLE9BQU8sSUFBSUYsUUFBUTtRQUNqQkYsT0FBT0ssMkJBQWdCO0lBQ3pCLE9BQU8sSUFBSUYsV0FBVztRQUNwQkgsT0FBT00sOEJBQW1CO0lBQzVCO0lBRUEsT0FBT047QUFDVDtBQUVPLFNBQVNQLE9BQU9NLElBQUk7SUFDekIsTUFBTVEsUUFBU1IsU0FBUztJQUV4QixPQUFPUTtBQUNUO0FBRU8sU0FBU2hCLFFBQVFRLElBQUk7SUFDMUIsTUFBTUUsUUFBUU8sTUFBTWpCLE9BQU8sQ0FBQ1E7SUFFNUIsT0FBT0U7QUFDVDtBQUVPLFNBQVNOLFNBQVNJLElBQUk7SUFDM0IsTUFBTUcsU0FBVU8sT0FBT0MsU0FBUyxDQUFDQyxRQUFRLENBQUNDLElBQUksQ0FBQ2IsVUFBVWMsd0JBQWE7SUFFdEUsT0FBT1g7QUFDVDtBQUVPLFNBQVNMLFNBQVNFLElBQUk7SUFDM0IsTUFBTWUsU0FBVSxBQUFDLE9BQU9mLFNBQVVnQiwyQkFBZ0I7SUFFbEQsT0FBT0Q7QUFDVDtBQUVPLFNBQVNwQixTQUFTSyxJQUFJO0lBQzNCLE1BQU1pQixTQUFVLEFBQUMsT0FBT2pCLFNBQVVrQiwyQkFBZ0I7SUFFbEQsT0FBT0Q7QUFDVDtBQUVPLFNBQVN4QixVQUFVTyxJQUFJO0lBQzVCLE1BQU1tQixVQUFXLEFBQUMsT0FBT25CLFNBQVVvQiw0QkFBaUI7SUFFcEQsT0FBT0Q7QUFDVDtBQUVPLFNBQVN0QixZQUFZRyxJQUFJO0lBQzlCLE1BQU1RLFFBQVFkLE9BQU9NLE9BQ2ZlLFNBQVNqQixTQUFTRSxPQUNsQmlCLFNBQVN0QixTQUFTSyxPQUNsQm1CLFVBQVUxQixVQUFVTyxPQUNwQkksWUFBYUksU0FBU08sVUFBVUUsVUFBVUU7SUFFaEQsT0FBT2Y7QUFDVDtNQUVBLFdBQWU7SUFDYkw7SUFDQUw7SUFDQUY7SUFDQUk7SUFDQUU7SUFDQUg7SUFDQUY7SUFDQUk7QUFDRiJ9
|
package/lib/utilities/string.js
CHANGED
|
@@ -15,6 +15,9 @@ _export(exports, {
|
|
|
15
15
|
get indexOf () {
|
|
16
16
|
return indexOf;
|
|
17
17
|
},
|
|
18
|
+
get isStringUpperCase () {
|
|
19
|
+
return isStringUpperCase;
|
|
20
|
+
},
|
|
18
21
|
get strcmp () {
|
|
19
22
|
return strcmp;
|
|
20
23
|
},
|
|
@@ -88,11 +91,16 @@ function substring(string, start, end = Infinity) {
|
|
|
88
91
|
const substring1 = string.substring(naiveStart, naiveEnd);
|
|
89
92
|
return substring1;
|
|
90
93
|
}
|
|
94
|
+
function isStringUpperCase(string) {
|
|
95
|
+
const upperCaseString = string.toUpperCase(), stringUpperCase = string === upperCaseString;
|
|
96
|
+
return stringUpperCase;
|
|
97
|
+
}
|
|
91
98
|
const _default = {
|
|
92
99
|
strcmp,
|
|
93
100
|
strlen,
|
|
94
101
|
indexOf,
|
|
95
|
-
substring
|
|
102
|
+
substring,
|
|
103
|
+
isStringUpperCase
|
|
96
104
|
};
|
|
97
105
|
|
|
98
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvc3RyaW5nLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5leHBvcnQgZnVuY3Rpb24gc3RybGVuKHN0cmluZykge1xuICBsZXQgbGVuZ3RoID0gMDtcblxuICBmb3IgKGNvbnN0IF8gb2Ygc3RyaW5nKSB7XG4gICAgbGVuZ3RoKys7XG4gIH1cblxuICByZXR1cm4gbGVuZ3RoO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc3RyY21wKHN0cmluZ0EsIHN0cmluZ0IpIHtcbiAgbGV0IGRpZmZlcmVuY2UgPSAwO1xuXG4gIGxldCBuYWl2ZUluZGV4QSA9IDAsXG4gICAgICBuYWl2ZUluZGV4QiA9IDA7XG5cbiAgY29uc3Qgc3RyaW5nQU5haXZlTGVuZ3RoID0gc3RyaW5nQS5sZW5ndGgsXG4gICAgICAgIHN0cmluZ0JOYWl2ZUxlbmd0aCA9IHN0cmluZ0IubGVuZ3RoO1xuXG4gIHdoaWxlICgobmFpdmVJbmRleEEgPCBzdHJpbmdBTmFpdmVMZW5ndGgpIHx8IChuYWl2ZUluZGV4QiA8IHN0cmluZ0JOYWl2ZUxlbmd0aCkpIHtcbiAgICBjb25zdCBjb2RlUG9pbnRBID0gKG5haXZlSW5kZXhBIDwgc3RyaW5nQU5haXZlTGVuZ3RoKSA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgc3RyaW5nQS5jb2RlUG9pbnRBdChuYWl2ZUluZGV4QSkgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgMCxcbiAgICAgICAgICBjb2RlUG9pbnRCID0gKG5haXZlSW5kZXhCIDwgc3RyaW5nQk5haXZlTGVuZ3RoKSA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgc3RyaW5nQi5jb2RlUG9pbnRBdChuYWl2ZUluZGV4QikgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgMDtcblxuICAgIGRpZmZlcmVuY2UgPSAoY29kZVBvaW50QSAtIGNvZGVQb2ludEIpO1xuXG4gICAgaWYgKGRpZmZlcmVuY2UgIT09IDApIHtcbiAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIG5haXZlSW5kZXhBICs9IChjb2RlUG9pbnRBID4gMHhGRkZGKSA/XG4gICAgICAgICAgICAgICAgMiA6XG4gICAgICAgICAgICAgICAgICAxO1xuXG4gICAgbmFpdmVJbmRleEIgKz0gKGNvZGVQb2ludEIgPiAweEZGRkYpID9cbiAgICAgICAgICAgICAgICAyIDpcbiAgICAgICAgICAgICAgICAgIDE7XG4gIH1cblxuICByZXR1cm4gZGlmZmVyZW5jZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluZGV4T2Yoc3RyaW5nLCBzZWFyY2hTdHJpbmcpIHtcbiAgbGV0IGluZGV4ID0gLTE7XG5cbiAgY29uc3Qgc2VhcmNoU3RyaW5nTGVuZ3RoID0gc2VhcmNoU3RyaW5nLmxlbmd0aDtcblxuICBpZiAoc2VhcmNoU3RyaW5nTGVuZ3RoID4gMCkge1xuICAgIGNvbnN0IG91dGVyTmFpdmVJbmRleCA9IHN0cmluZy5pbmRleE9mKHNlYXJjaFN0cmluZyk7XG5cbiAgICBpZiAob3V0ZXJOYWl2ZUluZGV4ID4gLTEpIHtcbiAgICAgIGluZGV4ID0gMDtcblxuICAgICAgbGV0IGlubmVyTmFpdmVJbmRleCA9IDA7XG5cbiAgICAgIHdoaWxlIChpbm5lck5haXZlSW5kZXggPCBvdXRlck5haXZlSW5kZXgpIHtcbiAgICAgICAgY29uc3QgY2hhckNvZGUgPSBzdHJpbmcuY2hhckNvZGVBdChpbm5lck5haXZlSW5kZXgpO1xuXG4gICAgICAgIGlubmVyTmFpdmVJbmRleCArPSAoKGNoYXJDb2RlID49IDB4RDgwMCkgJiYgKGNoYXJDb2RlIDw9IDB4REJGRikpID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMiA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTtcblxuICAgICAgICBpbmRleCsrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBpbmRleDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN1YnN0cmluZyhzdHJpbmcsIHN0YXJ0LCBlbmQgPSBJbmZpbml0eSkge1xuICBjb25zdCBzdHJpbmdOYWl2ZUxlbmd0aCA9IHN0cmluZy5sZW5ndGg7XG5cbiAgbGV0IGluZGV4ID0gMCxcbiAgICAgIG5haXZlSW5kZXggPSAwLFxuICAgICAgbmFpdmVTdGFydCA9IHN0cmluZ05haXZlTGVuZ3RoLCAvLy9cbiAgICAgIG5haXZlRW5kID0gc3RyaW5nTmFpdmVMZW5ndGg7IC8vL1xuXG4gIHdoaWxlIChuYWl2ZUluZGV4IDwgc3RyaW5nTmFpdmVMZW5ndGgpIHtcbiAgICBpZiAoaW5kZXggPT09IHN0YXJ0KSB7XG4gICAgICBuYWl2ZVN0YXJ0ID0gbmFpdmVJbmRleDsgIC8vL1xuICAgIH1cblxuICAgIGlmIChpbmRleCA9PT0gZW5kKSB7XG4gICAgICBuYWl2ZUVuZCA9IG5haXZlSW5kZXg7ICAvLy9cblxuICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgY29uc3QgY2hhckNvZGUgPSBzdHJpbmcuY2hhckNvZGVBdChuYWl2ZUluZGV4KTtcblxuICAgIG5haXZlSW5kZXggKz0gKChjaGFyQ29kZSA+PSAweEQ4MDApICYmIChjaGFyQ29kZSA8PSAweERCRkYpKSA/
|
|
106
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvc3RyaW5nLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5leHBvcnQgZnVuY3Rpb24gc3RybGVuKHN0cmluZykge1xuICBsZXQgbGVuZ3RoID0gMDtcblxuICBmb3IgKGNvbnN0IF8gb2Ygc3RyaW5nKSB7XG4gICAgbGVuZ3RoKys7XG4gIH1cblxuICByZXR1cm4gbGVuZ3RoO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc3RyY21wKHN0cmluZ0EsIHN0cmluZ0IpIHtcbiAgbGV0IGRpZmZlcmVuY2UgPSAwO1xuXG4gIGxldCBuYWl2ZUluZGV4QSA9IDAsXG4gICAgICBuYWl2ZUluZGV4QiA9IDA7XG5cbiAgY29uc3Qgc3RyaW5nQU5haXZlTGVuZ3RoID0gc3RyaW5nQS5sZW5ndGgsXG4gICAgICAgIHN0cmluZ0JOYWl2ZUxlbmd0aCA9IHN0cmluZ0IubGVuZ3RoO1xuXG4gIHdoaWxlICgobmFpdmVJbmRleEEgPCBzdHJpbmdBTmFpdmVMZW5ndGgpIHx8IChuYWl2ZUluZGV4QiA8IHN0cmluZ0JOYWl2ZUxlbmd0aCkpIHtcbiAgICBjb25zdCBjb2RlUG9pbnRBID0gKG5haXZlSW5kZXhBIDwgc3RyaW5nQU5haXZlTGVuZ3RoKSA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgc3RyaW5nQS5jb2RlUG9pbnRBdChuYWl2ZUluZGV4QSkgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgMCxcbiAgICAgICAgICBjb2RlUG9pbnRCID0gKG5haXZlSW5kZXhCIDwgc3RyaW5nQk5haXZlTGVuZ3RoKSA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgc3RyaW5nQi5jb2RlUG9pbnRBdChuYWl2ZUluZGV4QikgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgMDtcblxuICAgIGRpZmZlcmVuY2UgPSAoY29kZVBvaW50QSAtIGNvZGVQb2ludEIpO1xuXG4gICAgaWYgKGRpZmZlcmVuY2UgIT09IDApIHtcbiAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIG5haXZlSW5kZXhBICs9IChjb2RlUG9pbnRBID4gMHhGRkZGKSA/XG4gICAgICAgICAgICAgICAgMiA6XG4gICAgICAgICAgICAgICAgICAxO1xuXG4gICAgbmFpdmVJbmRleEIgKz0gKGNvZGVQb2ludEIgPiAweEZGRkYpID9cbiAgICAgICAgICAgICAgICAyIDpcbiAgICAgICAgICAgICAgICAgIDE7XG4gIH1cblxuICByZXR1cm4gZGlmZmVyZW5jZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluZGV4T2Yoc3RyaW5nLCBzZWFyY2hTdHJpbmcpIHtcbiAgbGV0IGluZGV4ID0gLTE7XG5cbiAgY29uc3Qgc2VhcmNoU3RyaW5nTGVuZ3RoID0gc2VhcmNoU3RyaW5nLmxlbmd0aDtcblxuICBpZiAoc2VhcmNoU3RyaW5nTGVuZ3RoID4gMCkge1xuICAgIGNvbnN0IG91dGVyTmFpdmVJbmRleCA9IHN0cmluZy5pbmRleE9mKHNlYXJjaFN0cmluZyk7XG5cbiAgICBpZiAob3V0ZXJOYWl2ZUluZGV4ID4gLTEpIHtcbiAgICAgIGluZGV4ID0gMDtcblxuICAgICAgbGV0IGlubmVyTmFpdmVJbmRleCA9IDA7XG5cbiAgICAgIHdoaWxlIChpbm5lck5haXZlSW5kZXggPCBvdXRlck5haXZlSW5kZXgpIHtcbiAgICAgICAgY29uc3QgY2hhckNvZGUgPSBzdHJpbmcuY2hhckNvZGVBdChpbm5lck5haXZlSW5kZXgpO1xuXG4gICAgICAgIGlubmVyTmFpdmVJbmRleCArPSAoKGNoYXJDb2RlID49IDB4RDgwMCkgJiYgKGNoYXJDb2RlIDw9IDB4REJGRikpID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMiA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTtcblxuICAgICAgICBpbmRleCsrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBpbmRleDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN1YnN0cmluZyhzdHJpbmcsIHN0YXJ0LCBlbmQgPSBJbmZpbml0eSkge1xuICBjb25zdCBzdHJpbmdOYWl2ZUxlbmd0aCA9IHN0cmluZy5sZW5ndGg7XG5cbiAgbGV0IGluZGV4ID0gMCxcbiAgICAgIG5haXZlSW5kZXggPSAwLFxuICAgICAgbmFpdmVTdGFydCA9IHN0cmluZ05haXZlTGVuZ3RoLCAvLy9cbiAgICAgIG5haXZlRW5kID0gc3RyaW5nTmFpdmVMZW5ndGg7IC8vL1xuXG4gIHdoaWxlIChuYWl2ZUluZGV4IDwgc3RyaW5nTmFpdmVMZW5ndGgpIHtcbiAgICBpZiAoaW5kZXggPT09IHN0YXJ0KSB7XG4gICAgICBuYWl2ZVN0YXJ0ID0gbmFpdmVJbmRleDsgIC8vL1xuICAgIH1cblxuICAgIGlmIChpbmRleCA9PT0gZW5kKSB7XG4gICAgICBuYWl2ZUVuZCA9IG5haXZlSW5kZXg7ICAvLy9cblxuICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgY29uc3QgY2hhckNvZGUgPSBzdHJpbmcuY2hhckNvZGVBdChuYWl2ZUluZGV4KTtcblxuICAgIG5haXZlSW5kZXggKz0gKChjaGFyQ29kZSA+PSAweEQ4MDApICYmIChjaGFyQ29kZSA8PSAweERCRkYpKSA/XG4gICAgICAgICAgICAgICAgICAgIDIgOlxuICAgICAgICAgICAgICAgICAgICAgIDE7XG5cbiAgICBpbmRleCsrO1xuICB9XG5cbiAgaWYgKGluZGV4ID09PSBzdGFydCkge1xuICAgIG5haXZlU3RhcnQgPSBuYWl2ZUluZGV4OyAgLy8vXG4gIH1cblxuICBpZiAoaW5kZXggPT09IGVuZCkge1xuICAgIG5haXZlRW5kID0gbmFpdmVJbmRleDsgIC8vL1xuICB9XG5cbiAgY29uc3Qgc3Vic3RyaW5nID0gc3RyaW5nLnN1YnN0cmluZyhuYWl2ZVN0YXJ0LCBuYWl2ZUVuZCk7XG5cbiAgcmV0dXJuIHN1YnN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzU3RyaW5nVXBwZXJDYXNlKHN0cmluZykge1xuICBjb25zdCB1cHBlckNhc2VTdHJpbmcgPSBzdHJpbmcudG9VcHBlckNhc2UoKSxcbiAgICAgICAgc3RyaW5nVXBwZXJDYXNlID0gKHN0cmluZyA9PT0gdXBwZXJDYXNlU3RyaW5nKTtcblxuICByZXR1cm4gc3RyaW5nVXBwZXJDYXNlO1xufVxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIHN0cmNtcCxcbiAgc3RybGVuLFxuICBpbmRleE9mLFxuICBzdWJzdHJpbmcsXG4gIGlzU3RyaW5nVXBwZXJDYXNlXG59O1xuIl0sIm5hbWVzIjpbImluZGV4T2YiLCJpc1N0cmluZ1VwcGVyQ2FzZSIsInN0cmNtcCIsInN0cmxlbiIsInN1YnN0cmluZyIsInN0cmluZyIsImxlbmd0aCIsIl8iLCJzdHJpbmdBIiwic3RyaW5nQiIsImRpZmZlcmVuY2UiLCJuYWl2ZUluZGV4QSIsIm5haXZlSW5kZXhCIiwic3RyaW5nQU5haXZlTGVuZ3RoIiwic3RyaW5nQk5haXZlTGVuZ3RoIiwiY29kZVBvaW50QSIsImNvZGVQb2ludEF0IiwiY29kZVBvaW50QiIsInNlYXJjaFN0cmluZyIsImluZGV4Iiwic2VhcmNoU3RyaW5nTGVuZ3RoIiwib3V0ZXJOYWl2ZUluZGV4IiwiaW5uZXJOYWl2ZUluZGV4IiwiY2hhckNvZGUiLCJjaGFyQ29kZUF0Iiwic3RhcnQiLCJlbmQiLCJJbmZpbml0eSIsInN0cmluZ05haXZlTGVuZ3RoIiwibmFpdmVJbmRleCIsIm5haXZlU3RhcnQiLCJuYWl2ZUVuZCIsInVwcGVyQ2FzZVN0cmluZyIsInRvVXBwZXJDYXNlIiwic3RyaW5nVXBwZXJDYXNlIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7UUEySEE7ZUFBQTs7UUE1RWdCQTtlQUFBQTs7UUFxRUFDO2VBQUFBOztRQXhHQUM7ZUFBQUE7O1FBVkFDO2VBQUFBOztRQXlFQUM7ZUFBQUE7OztBQXpFVCxTQUFTRCxPQUFPRSxNQUFNO0lBQzNCLElBQUlDLFNBQVM7SUFFYixLQUFLLE1BQU1DLEtBQUtGLE9BQVE7UUFDdEJDO0lBQ0Y7SUFFQSxPQUFPQTtBQUNUO0FBRU8sU0FBU0osT0FBT00sT0FBTyxFQUFFQyxPQUFPO0lBQ3JDLElBQUlDLGFBQWE7SUFFakIsSUFBSUMsY0FBYyxHQUNkQyxjQUFjO0lBRWxCLE1BQU1DLHFCQUFxQkwsUUFBUUYsTUFBTSxFQUNuQ1EscUJBQXFCTCxRQUFRSCxNQUFNO0lBRXpDLE1BQU8sQUFBQ0ssY0FBY0Usc0JBQXdCRCxjQUFjRSxtQkFBcUI7UUFDL0UsTUFBTUMsYUFBYSxBQUFDSixjQUFjRSxxQkFDYkwsUUFBUVEsV0FBVyxDQUFDTCxlQUNsQixHQUNqQk0sYUFBYSxBQUFDTCxjQUFjRSxxQkFDYkwsUUFBUU8sV0FBVyxDQUFDSixlQUNsQjtRQUV2QkYsYUFBY0ssYUFBYUU7UUFFM0IsSUFBSVAsZUFBZSxHQUFHO1lBQ3BCO1FBQ0Y7UUFFQUMsZUFBZSxBQUFDSSxhQUFhLFNBQ2pCLElBQ0U7UUFFZEgsZUFBZSxBQUFDSyxhQUFhLFNBQ2pCLElBQ0U7SUFDaEI7SUFFQSxPQUFPUDtBQUNUO0FBRU8sU0FBU1YsUUFBUUssTUFBTSxFQUFFYSxZQUFZO0lBQzFDLElBQUlDLFFBQVEsQ0FBQztJQUViLE1BQU1DLHFCQUFxQkYsYUFBYVosTUFBTTtJQUU5QyxJQUFJYyxxQkFBcUIsR0FBRztRQUMxQixNQUFNQyxrQkFBa0JoQixPQUFPTCxPQUFPLENBQUNrQjtRQUV2QyxJQUFJRyxrQkFBa0IsQ0FBQyxHQUFHO1lBQ3hCRixRQUFRO1lBRVIsSUFBSUcsa0JBQWtCO1lBRXRCLE1BQU9BLGtCQUFrQkQsZ0JBQWlCO2dCQUN4QyxNQUFNRSxXQUFXbEIsT0FBT21CLFVBQVUsQ0FBQ0Y7Z0JBRW5DQSxtQkFBbUIsQUFBQyxBQUFDQyxZQUFZLFVBQVlBLFlBQVksU0FDcEMsSUFDRTtnQkFFdkJKO1lBQ0Y7UUFDRjtJQUNGO0lBRUEsT0FBT0E7QUFDVDtBQUVPLFNBQVNmLFVBQVVDLE1BQU0sRUFBRW9CLEtBQUssRUFBRUMsTUFBTUMsUUFBUTtJQUNyRCxNQUFNQyxvQkFBb0J2QixPQUFPQyxNQUFNO0lBRXZDLElBQUlhLFFBQVEsR0FDUlUsYUFBYSxHQUNiQyxhQUFhRixtQkFDYkcsV0FBV0gsbUJBQW1CLEdBQUc7SUFFckMsTUFBT0MsYUFBYUQsa0JBQW1CO1FBQ3JDLElBQUlULFVBQVVNLE9BQU87WUFDbkJLLGFBQWFELFlBQWEsR0FBRztRQUMvQjtRQUVBLElBQUlWLFVBQVVPLEtBQUs7WUFDakJLLFdBQVdGLFlBQWEsR0FBRztZQUUzQjtRQUNGO1FBRUEsTUFBTU4sV0FBV2xCLE9BQU9tQixVQUFVLENBQUNLO1FBRW5DQSxjQUFjLEFBQUMsQUFBQ04sWUFBWSxVQUFZQSxZQUFZLFNBQ3BDLElBQ0U7UUFFbEJKO0lBQ0Y7SUFFQSxJQUFJQSxVQUFVTSxPQUFPO1FBQ25CSyxhQUFhRCxZQUFhLEdBQUc7SUFDL0I7SUFFQSxJQUFJVixVQUFVTyxLQUFLO1FBQ2pCSyxXQUFXRixZQUFhLEdBQUc7SUFDN0I7SUFFQSxNQUFNekIsYUFBWUMsT0FBT0QsU0FBUyxDQUFDMEIsWUFBWUM7SUFFL0MsT0FBTzNCO0FBQ1Q7QUFFTyxTQUFTSCxrQkFBa0JJLE1BQU07SUFDdEMsTUFBTTJCLGtCQUFrQjNCLE9BQU80QixXQUFXLElBQ3BDQyxrQkFBbUI3QixXQUFXMkI7SUFFcEMsT0FBT0U7QUFDVDtNQUVBLFdBQWU7SUFDYmhDO0lBQ0FDO0lBQ0FIO0lBQ0FJO0lBQ0FIO0FBQ0YifQ==
|
package/package.json
CHANGED
package/src/browser.js
CHANGED
|
@@ -5,12 +5,14 @@ export { default as methods } from "./methods";
|
|
|
5
5
|
export { default as headers } from "./headers";
|
|
6
6
|
export { default as keyCodes } from "./keyCodes";
|
|
7
7
|
export { default as encodings } from "./encodings";
|
|
8
|
+
export { default as jsonTypes } from "./jsonTypes";
|
|
8
9
|
export { default as characters } from "./characters";
|
|
9
10
|
export { default as statusCodes } from "./statusCodes";
|
|
10
11
|
export { default as contentTypes } from "./contentTypes";
|
|
11
12
|
export { default as statusMessages } from "./statusMessages";
|
|
12
13
|
|
|
13
14
|
export { default as pathUtilities } from "./utilities/path";
|
|
15
|
+
export { default as jsonUtilities } from "./utilities/json";
|
|
14
16
|
export { default as httpUtilities } from "./utilities/http";
|
|
15
17
|
export { default as arrayUtilities } from "./utilities/array";
|
|
16
18
|
export { default as stringUtilities } from "./utilities/string";
|
package/src/constants.js
CHANGED
|
@@ -4,11 +4,9 @@ export const ZERO = "0";
|
|
|
4
4
|
export const DATA = "data";
|
|
5
5
|
export const ERROR = "error";
|
|
6
6
|
export const STRING = "string";
|
|
7
|
-
export const NUMBER = "number";
|
|
8
|
-
export const BOOLEAN = "boolean";
|
|
9
7
|
export const DEFAULT = "default";
|
|
10
8
|
export const FUNCTION = "function";
|
|
11
9
|
export const ENVIRONMENT = "ENVIRONMENT";
|
|
12
10
|
export const EMPTY_STRING = "";
|
|
13
|
-
export const DOUBLE_SPACE = " ";
|
|
14
11
|
export const PACKAGE_JSON = "package.json";
|
|
12
|
+
export const OBJECT_OBJECT = "[object Object]";
|
package/src/jsonTypes.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
export const ARRAY_JSON_TYPE = "array";
|
|
4
|
+
export const OBJECT_JSON_TYPE = "object";
|
|
5
|
+
export const STRING_JSON_TYPE = "string";
|
|
6
|
+
export const NUMBER_JSON_TYPE = "number";
|
|
7
|
+
export const BOOLEAN_JSON_TYPE = "boolean";
|
|
8
|
+
export const PRIMITIVE_JSON_TYPE = "primitive";
|
|
9
|
+
|
|
10
|
+
export default {
|
|
11
|
+
ARRAY_JSON_TYPE,
|
|
12
|
+
OBJECT_JSON_TYPE,
|
|
13
|
+
STRING_JSON_TYPE,
|
|
14
|
+
NUMBER_JSON_TYPE,
|
|
15
|
+
BOOLEAN_JSON_TYPE,
|
|
16
|
+
PRIMITIVE_JSON_TYPE
|
|
17
|
+
};
|
package/src/main.js
CHANGED
|
@@ -5,12 +5,14 @@ export { default as methods } from "./methods";
|
|
|
5
5
|
export { default as headers } from "./headers";
|
|
6
6
|
export { default as keyCodes } from "./keyCodes";
|
|
7
7
|
export { default as encodings } from "./encodings";
|
|
8
|
+
export { default as jsonTypes } from "./jsonTypes";
|
|
8
9
|
export { default as characters } from "./characters";
|
|
9
10
|
export { default as statusCodes } from "./statusCodes";
|
|
10
11
|
export { default as contentTypes } from "./contentTypes";
|
|
11
12
|
export { default as statusMessages } from "./statusMessages";
|
|
12
13
|
|
|
13
14
|
export { default as pathUtilities } from "./utilities/path";
|
|
15
|
+
export { default as jsonUtilities } from "./utilities/json";
|
|
14
16
|
export { default as httpUtilities } from "./utilities/http";
|
|
15
17
|
export { default as arrayUtilities } from "./utilities/array";
|
|
16
18
|
export { default as stringUtilities } from "./utilities/string";
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
import { ENVIRONMENT } from "../constants";
|
|
3
4
|
import { first, second } from "../utilities/array";
|
|
5
|
+
import { isStringUpperCase } from "../utilities/string";
|
|
4
6
|
import { DEFAULT_RC_BASE_EXTENSION } from "../defaults";
|
|
7
|
+
import { isArray, isObject, isPrimitive } from "../utilities/json";
|
|
5
8
|
import { readFile, writeFile, checkFileExists } from "../utilities/fileSystem";
|
|
6
|
-
import { STRING, NUMBER, BOOLEAN, ENVIRONMENT, DOUBLE_SPACE } from "../constants";
|
|
7
9
|
|
|
8
10
|
if (!globalThis.rc) {
|
|
9
11
|
globalThis.rc = _rc;
|
|
@@ -41,7 +43,7 @@ function readRCFile() {
|
|
|
41
43
|
|
|
42
44
|
function writeRCFile(json) {
|
|
43
45
|
const rcFilePath = rcFilePathFromNothing(),
|
|
44
|
-
rdFileContent = JSON.stringify(json, null,
|
|
46
|
+
rdFileContent = JSON.stringify(json, null, 2);
|
|
45
47
|
|
|
46
48
|
writeFile(rcFilePath, rdFileContent);
|
|
47
49
|
}
|
|
@@ -163,8 +165,8 @@ function replaceEnvironmentVariable(string) {
|
|
|
163
165
|
function replaceEnvironmentVariables(environment) {
|
|
164
166
|
let json = environment;
|
|
165
167
|
|
|
166
|
-
const jsonArray =
|
|
167
|
-
jsonObject =
|
|
168
|
+
const jsonArray = isArray(json),
|
|
169
|
+
jsonObject = isObject(json);
|
|
168
170
|
|
|
169
171
|
if (false) {
|
|
170
172
|
///
|
|
@@ -174,9 +176,9 @@ function replaceEnvironmentVariables(environment) {
|
|
|
174
176
|
|
|
175
177
|
for (let index = 0; index < length; index++) {
|
|
176
178
|
const json = array[index],
|
|
177
|
-
|
|
179
|
+
jsonPrimitive = isPrimitive(json);
|
|
178
180
|
|
|
179
|
-
if (
|
|
181
|
+
if (jsonPrimitive) {
|
|
180
182
|
const string = json, ///
|
|
181
183
|
value = replaceEnvironmentVariable(string);
|
|
182
184
|
|
|
@@ -190,9 +192,9 @@ function replaceEnvironmentVariables(environment) {
|
|
|
190
192
|
|
|
191
193
|
for (let name in object) {
|
|
192
194
|
const json = object[name],
|
|
193
|
-
|
|
195
|
+
jsonPrimitive = isPrimitive(json);
|
|
194
196
|
|
|
195
|
-
if (
|
|
197
|
+
if (jsonPrimitive) {
|
|
196
198
|
const string = json, ///
|
|
197
199
|
value = replaceEnvironmentVariable(string); ///
|
|
198
200
|
|
|
@@ -205,51 +207,3 @@ function replaceEnvironmentVariables(environment) {
|
|
|
205
207
|
}
|
|
206
208
|
}
|
|
207
209
|
}
|
|
208
|
-
|
|
209
|
-
function isJSONArray(json) {
|
|
210
|
-
const jsonArray = (json instanceof Array);
|
|
211
|
-
|
|
212
|
-
return jsonArray;
|
|
213
|
-
}
|
|
214
|
-
|
|
215
|
-
function isJSONObject(json) {
|
|
216
|
-
const jsonArray = isJSONArray(json),
|
|
217
|
-
jsonPrimitive = isJSONPrimitive(json),
|
|
218
|
-
jsonObject = (!jsonArray && ! jsonPrimitive);
|
|
219
|
-
|
|
220
|
-
return jsonObject;
|
|
221
|
-
}
|
|
222
|
-
|
|
223
|
-
function isJSONString(json) {
|
|
224
|
-
const jsonString = (typeof json === STRING);
|
|
225
|
-
|
|
226
|
-
return jsonString;
|
|
227
|
-
}
|
|
228
|
-
|
|
229
|
-
function isJSONNumber(json) {
|
|
230
|
-
const jsonNumber = (typeof json === NUMBER);
|
|
231
|
-
|
|
232
|
-
return jsonNumber;
|
|
233
|
-
}
|
|
234
|
-
|
|
235
|
-
function isJSONBoolean(json) {
|
|
236
|
-
const jsonBoolean = (typeof json === BOOLEAN);
|
|
237
|
-
|
|
238
|
-
return jsonBoolean;
|
|
239
|
-
}
|
|
240
|
-
|
|
241
|
-
function isJSONPrimitive(json) {
|
|
242
|
-
const jsonString = isJSONString(json),
|
|
243
|
-
jsonNumber = isJSONNumber(json),
|
|
244
|
-
jsonBoolean = isJSONBoolean(json),
|
|
245
|
-
jsonPrimitive = (jsonString || jsonNumber || jsonBoolean);
|
|
246
|
-
|
|
247
|
-
return jsonPrimitive;
|
|
248
|
-
}
|
|
249
|
-
|
|
250
|
-
function isStringUpperCase(string) {
|
|
251
|
-
const upperCaseString = string.toUpperCase(),
|
|
252
|
-
stringUpperCase = (string === upperCaseString);
|
|
253
|
-
|
|
254
|
-
return stringUpperCase;
|
|
255
|
-
}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { OBJECT_OBJECT } from "../constants";
|
|
4
|
+
import { ARRAY_JSON_TYPE,
|
|
5
|
+
OBJECT_JSON_TYPE,
|
|
6
|
+
STRING_JSON_TYPE,
|
|
7
|
+
NUMBER_JSON_TYPE,
|
|
8
|
+
BOOLEAN_JSON_TYPE,
|
|
9
|
+
PRIMITIVE_JSON_TYPE } from "../jsonTypes";
|
|
10
|
+
|
|
11
|
+
export function typeOf(json) {
|
|
12
|
+
let type;
|
|
13
|
+
|
|
14
|
+
const array = isArray(json),
|
|
15
|
+
object = isObject(json),
|
|
16
|
+
primitive = isPrimitive(json);
|
|
17
|
+
|
|
18
|
+
if (false) {
|
|
19
|
+
///
|
|
20
|
+
} else if (array) {
|
|
21
|
+
type = ARRAY_JSON_TYPE;
|
|
22
|
+
} else if (object) {
|
|
23
|
+
type = OBJECT_JSON_TYPE;
|
|
24
|
+
} else if (primitive) {
|
|
25
|
+
type = PRIMITIVE_JSON_TYPE;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
return type;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export function isNull(json) {
|
|
32
|
+
const _null = (json === null);
|
|
33
|
+
|
|
34
|
+
return _null;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export function isArray(json) {
|
|
38
|
+
const array = Array.isArray(json);
|
|
39
|
+
|
|
40
|
+
return array;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
export function isObject(json) {
|
|
44
|
+
const object = (Object.prototype.toString.call(json) === OBJECT_OBJECT);
|
|
45
|
+
|
|
46
|
+
return object;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
export function isString(json) {
|
|
50
|
+
const string = ((typeof json) === STRING_JSON_TYPE);
|
|
51
|
+
|
|
52
|
+
return string;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
export function isNumber(json) {
|
|
56
|
+
const number = ((typeof json) === NUMBER_JSON_TYPE);
|
|
57
|
+
|
|
58
|
+
return number;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
export function isBoolean(json) {
|
|
62
|
+
const boolean = ((typeof json) === BOOLEAN_JSON_TYPE);
|
|
63
|
+
|
|
64
|
+
return boolean;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
export function isPrimitive(json) {
|
|
68
|
+
const _null = isNull(json),
|
|
69
|
+
string = isString(json),
|
|
70
|
+
number = isNumber(json),
|
|
71
|
+
boolean = isBoolean(json),
|
|
72
|
+
primitive = (_null || string || number || boolean);
|
|
73
|
+
|
|
74
|
+
return primitive;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
export default {
|
|
78
|
+
typeOf,
|
|
79
|
+
isNull,
|
|
80
|
+
isArray,
|
|
81
|
+
isObject,
|
|
82
|
+
isString,
|
|
83
|
+
isNumber,
|
|
84
|
+
isBoolean,
|
|
85
|
+
isPrimitive
|
|
86
|
+
};
|
package/src/utilities/string.js
CHANGED
|
@@ -114,9 +114,17 @@ export function substring(string, start, end = Infinity) {
|
|
|
114
114
|
return substring;
|
|
115
115
|
}
|
|
116
116
|
|
|
117
|
+
export function isStringUpperCase(string) {
|
|
118
|
+
const upperCaseString = string.toUpperCase(),
|
|
119
|
+
stringUpperCase = (string === upperCaseString);
|
|
120
|
+
|
|
121
|
+
return stringUpperCase;
|
|
122
|
+
}
|
|
123
|
+
|
|
117
124
|
export default {
|
|
118
125
|
strcmp,
|
|
119
126
|
strlen,
|
|
120
127
|
indexOf,
|
|
121
|
-
substring
|
|
128
|
+
substring,
|
|
129
|
+
isStringUpperCase
|
|
122
130
|
};
|