necessary 10.0.4 → 11.0.0
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/.rc +23 -0
- package/README.md +11 -14
- package/lib/constants.js +10 -2
- package/lib/utilities/ajax.js +4 -4
- package/lib/utilities/array.js +20 -12
- package/lib/utilities/configuration.js +106 -28
- package/lib/utilities/fileSystem.js +3 -3
- package/lib/utilities/logging.js +10 -10
- package/lib/utilities/request.js +7 -7
- package/lib/utilities/template.js +3 -3
- package/package.json +1 -1
- package/src/constants.js +4 -0
- package/src/utilities/ajax.js +4 -4
- package/src/utilities/configuration.js +149 -33
package/.rc
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"environments": [
|
|
3
|
+
{
|
|
4
|
+
"name": "production",
|
|
5
|
+
"nameCheck": [
|
|
6
|
+
"ENVIRONMENT"
|
|
7
|
+
],
|
|
8
|
+
"liveReload": false,
|
|
9
|
+
"staticHost": "https://static.djalbat.com",
|
|
10
|
+
"enableStaticRouter": false
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"name": "development",
|
|
14
|
+
"nameCheck": [
|
|
15
|
+
"ENVIRONMENT"
|
|
16
|
+
],
|
|
17
|
+
"port": 8080,
|
|
18
|
+
"liveReload": true,
|
|
19
|
+
"staticHost": "http://localhost:8080",
|
|
20
|
+
"enableStaticRouter": true
|
|
21
|
+
}
|
|
22
|
+
]
|
|
23
|
+
}
|
package/README.md
CHANGED
|
@@ -66,7 +66,7 @@ The `query` argument should be a plain old JavaScript object, the names and valu
|
|
|
66
66
|
|
|
67
67
|
The `headers` argument should also be a plain old JavaScript object. If it does not have an `accept` property then one wil be provided with the value `application/json`.
|
|
68
68
|
|
|
69
|
-
The `
|
|
69
|
+
The `callback` argument is expected to be a function taking `content` and `statusCode` arguments. If the `accept` property of the main `headers` argument is set to `application/json` then the operation's `content` argument can be assumed to be JSON, or `null` if the request body cannot be parsed as such. The `statusCode` argument will be the response status code, for example `200` for a successful `OK` response.
|
|
70
70
|
|
|
71
71
|
```
|
|
72
72
|
const host = "...",
|
|
@@ -437,19 +437,17 @@ const stats = getStats("root/etc"); // returns stats for the 'root/etc' director
|
|
|
437
437
|
|
|
438
438
|
A single `rc()` function for runtime configuration.
|
|
439
439
|
|
|
440
|
-
* The `rc()` function parses a JSON runtime configuration file of a certain format and provides the information therein by assigning it to itself:
|
|
440
|
+
* The `rc()` function parses a JSON runtime configuration file of a certain format and provides the information therein by assigning it to itself. For example:
|
|
441
441
|
|
|
442
442
|
```
|
|
443
443
|
rc();
|
|
444
444
|
|
|
445
445
|
const { logOptions } = rc;
|
|
446
446
|
|
|
447
|
-
setLogOptions(logOptions);
|
|
448
|
-
// fileBaseName,
|
|
449
|
-
// directoryPath }
|
|
447
|
+
setLogOptions(logOptions);
|
|
450
448
|
```
|
|
451
449
|
|
|
452
|
-
|
|
450
|
+
The default name for the file is `.rc` and it must be present in the current working directory. It must have the following format:
|
|
453
451
|
|
|
454
452
|
```
|
|
455
453
|
{
|
|
@@ -466,17 +464,16 @@ By default it will parse a file called `.rc` in the current working directory. T
|
|
|
466
464
|
}
|
|
467
465
|
```
|
|
468
466
|
|
|
469
|
-
|
|
467
|
+
If an environment name is not passed as the `rc()` function's argument then it will try to find the environment name by the following means:
|
|
470
468
|
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
```
|
|
469
|
+
1. Checking the `process.argv` array for an `--environment` argument.
|
|
470
|
+
2. Checking the `proxess.env` object for an `ENVIRONMENT` environment variable.
|
|
474
471
|
|
|
475
|
-
|
|
472
|
+
If neither of these checks are successful then it will return the first element of the `enviromnents` array.
|
|
476
473
|
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
474
|
+
Note that it will not try to assign the `name` property of the chosen environment to itself, because functions already have a `name` property.
|
|
475
|
+
|
|
476
|
+
Before returning the JSON, it will search for uppercase strings. If such a string is the name of an environment variable, it will be replaced by the environment variable's value. This means that you can choose to keep sensitive information out of the runtime configuration and therefore, for instance, safely commit it to the repository.
|
|
480
477
|
|
|
481
478
|
You can change the base extension of the file that is parsed, that is the part of the extension between the leading dot and `rc`, by making use of the `setRCBaseExtension()` function:
|
|
482
479
|
|
package/lib/constants.js
CHANGED
|
@@ -2,18 +2,26 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", {
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
|
-
exports.CONTENT_TYPE = exports.EMPTY_STRING = exports.ACCEPT = exports.CTRL_C = exports.ERROR = exports.UTF8 = void 0;
|
|
5
|
+
exports.CONTENT_TYPE = exports.EMPTY_STRING = exports.ENVIRONMENT = exports.BOOLEAN = exports.NUMBER = exports.ACCEPT = exports.STRING = exports.CTRL_C = exports.ERROR = exports.UTF8 = void 0;
|
|
6
6
|
var UTF8 = "utf8";
|
|
7
7
|
exports.UTF8 = UTF8;
|
|
8
8
|
var ERROR = "error";
|
|
9
9
|
exports.ERROR = ERROR;
|
|
10
10
|
var CTRL_C = "^C";
|
|
11
11
|
exports.CTRL_C = CTRL_C;
|
|
12
|
+
var STRING = "string";
|
|
13
|
+
exports.STRING = STRING;
|
|
12
14
|
var ACCEPT = "accept";
|
|
13
15
|
exports.ACCEPT = ACCEPT;
|
|
16
|
+
var NUMBER = "number";
|
|
17
|
+
exports.NUMBER = NUMBER;
|
|
18
|
+
var BOOLEAN = "boolean";
|
|
19
|
+
exports.BOOLEAN = BOOLEAN;
|
|
20
|
+
var ENVIRONMENT = "ENVIRONMENT";
|
|
21
|
+
exports.ENVIRONMENT = ENVIRONMENT;
|
|
14
22
|
var EMPTY_STRING = "";
|
|
15
23
|
exports.EMPTY_STRING = EMPTY_STRING;
|
|
16
24
|
var CONTENT_TYPE = "content-type";
|
|
17
25
|
exports.CONTENT_TYPE = CONTENT_TYPE;
|
|
18
26
|
|
|
19
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
27
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb25zdGFudHMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBjb25zdCBVVEY4ID0gXCJ1dGY4XCI7XG5leHBvcnQgY29uc3QgRVJST1IgPSBcImVycm9yXCI7XG5leHBvcnQgY29uc3QgQ1RSTF9DID0gXCJeQ1wiO1xuZXhwb3J0IGNvbnN0IFNUUklORyA9IFwic3RyaW5nXCI7XG5leHBvcnQgY29uc3QgQUNDRVBUID0gXCJhY2NlcHRcIjtcbmV4cG9ydCBjb25zdCBOVU1CRVIgPSBcIm51bWJlclwiO1xuZXhwb3J0IGNvbnN0IEJPT0xFQU4gPSBcImJvb2xlYW5cIjtcbmV4cG9ydCBjb25zdCBFTlZJUk9OTUVOVCA9IFwiRU5WSVJPTk1FTlRcIjtcbmV4cG9ydCBjb25zdCBFTVBUWV9TVFJJTkcgPSBcIlwiO1xuZXhwb3J0IGNvbnN0IENPTlRFTlRfVFlQRSA9IFwiY29udGVudC10eXBlXCI7XG4iXSwibmFtZXMiOlsiVVRGOCIsIkVSUk9SIiwiQ1RSTF9DIiwiU1RSSU5HIiwiQUNDRVBUIiwiTlVNQkVSIiwiQk9PTEVBTiIsIkVOVklST05NRU5UIiwiRU1QVFlfU1RSSU5HIiwiQ09OVEVOVF9UWVBFIl0sIm1hcHBpbmdzIjoiQUFBQSxDQUFZOzs7OztBQUVMLEdBQUssQ0FBQ0EsSUFBSSxHQUFHLENBQU07UUFBYkEsSUFBSSxHQUFKQSxJQUFJO0FBQ1YsR0FBSyxDQUFDQyxLQUFLLEdBQUcsQ0FBTztRQUFmQSxLQUFLLEdBQUxBLEtBQUs7QUFDWCxHQUFLLENBQUNDLE1BQU0sR0FBRyxDQUFJO1FBQWJBLE1BQU0sR0FBTkEsTUFBTTtBQUNaLEdBQUssQ0FBQ0MsTUFBTSxHQUFHLENBQVE7UUFBakJBLE1BQU0sR0FBTkEsTUFBTTtBQUNaLEdBQUssQ0FBQ0MsTUFBTSxHQUFHLENBQVE7UUFBakJBLE1BQU0sR0FBTkEsTUFBTTtBQUNaLEdBQUssQ0FBQ0MsTUFBTSxHQUFHLENBQVE7UUFBakJBLE1BQU0sR0FBTkEsTUFBTTtBQUNaLEdBQUssQ0FBQ0MsT0FBTyxHQUFHLENBQVM7UUFBbkJBLE9BQU8sR0FBUEEsT0FBTztBQUNiLEdBQUssQ0FBQ0MsV0FBVyxHQUFHLENBQWE7UUFBM0JBLFdBQVcsR0FBWEEsV0FBVztBQUNqQixHQUFLLENBQUNDLFlBQVksR0FBRyxDQUFFO1FBQWpCQSxZQUFZLEdBQVpBLFlBQVk7QUFDbEIsR0FBSyxDQUFDQyxZQUFZLEdBQUcsQ0FBYztRQUE3QkEsWUFBWSxHQUFaQSxZQUFZIn0=
|
package/lib/utilities/ajax.js
CHANGED
|
@@ -39,9 +39,9 @@ function request(host, uri, query, method, headers, content1, callback) {
|
|
|
39
39
|
content1 = jsonString; ///
|
|
40
40
|
}
|
|
41
41
|
xmlHttpRequest.onreadystatechange = function() {
|
|
42
|
-
var readyState = xmlHttpRequest.readyState, status = xmlHttpRequest.status,
|
|
42
|
+
var readyState = xmlHttpRequest.readyState, status = xmlHttpRequest.status, response = xmlHttpRequest.response, statusCode = status;
|
|
43
43
|
if (readyState == 4) {
|
|
44
|
-
var content =
|
|
44
|
+
var content = response;
|
|
45
45
|
if (accept === _contentTypes.APPLICATION_JSON_CONTENT_TYPE) {
|
|
46
46
|
try {
|
|
47
47
|
var jsonString = content, json = JSON.parse(jsonString);
|
|
@@ -49,8 +49,8 @@ function request(host, uri, query, method, headers, content1, callback) {
|
|
|
49
49
|
} catch (error) {
|
|
50
50
|
content = null;
|
|
51
51
|
}
|
|
52
|
-
callback(content, statusCode);
|
|
53
52
|
}
|
|
53
|
+
callback(content, statusCode);
|
|
54
54
|
}
|
|
55
55
|
};
|
|
56
56
|
xmlHttpRequest.open(method, url);
|
|
@@ -77,4 +77,4 @@ function underwriteContentType(headers, contentTYpe) {
|
|
|
77
77
|
(0, _http).underwrite(headers, name, value);
|
|
78
78
|
}
|
|
79
79
|
|
|
80
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
80
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvYWpheC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgQUNDRVBULCBDT05URU5UX1RZUEUgfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBHRVRfTUVUSE9ELCBQT1NUX01FVEhPRCB9IGZyb20gXCIuLi9tZXRob2RzXCI7XG5pbXBvcnQgeyBBUFBMSUNBVElPTl9KU09OX0NPTlRFTlRfVFlQRSB9IGZyb20gXCIuLi9jb250ZW50VHlwZXNcIjtcbmltcG9ydCB7IHVuZGVyd3JpdGUsIHVybEZyb21Ib3N0VVJJQW5kUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2h0dHBcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldChob3N0LCB1cmksIHF1ZXJ5LCBoZWFkZXJzLCBjYWxsYmFjaykge1xuICBpZiAoY2FsbGJhY2sgPT09IHVuZGVmaW5lZCkge1xuICAgIGNhbGxiYWNrID0gaGVhZGVyczsgLy8vXG4gICAgaGVhZGVycyA9IHt9O1xuICB9XG5cbiAgY29uc3QgbWV0aG9kID0gR0VUX01FVEhPRCxcbiAgICAgICAgYWNjZXB0ID0gQVBQTElDQVRJT05fSlNPTl9DT05URU5UX1RZUEUsXG4gICAgICAgIGNvbnRlbnQgPSBudWxsO1xuXG4gIHVuZGVyd3JpdGVBY2NlcHQoaGVhZGVycywgYWNjZXB0KTtcblxuICByZXF1ZXN0KGhvc3QsIHVyaSwgcXVlcnksIG1ldGhvZCwgaGVhZGVycywgY29udGVudCwgY2FsbGJhY2spO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcG9zdChob3N0LCB1cmksIHF1ZXJ5LCBoZWFkZXJzLCBjb250ZW50LCBjYWxsYmFjaykge1xuICBpZiAoY2FsbGJhY2sgPT09IHVuZGVmaW5lZCkge1xuICAgIGNhbGxiYWNrID0gY29udGVudDtcbiAgICBjb250ZW50ID0gaGVhZGVycztcbiAgICBoZWFkZXJzID0ge307XG4gIH1cblxuICBjb25zdCBtZXRob2QgPSBQT1NUX01FVEhPRCxcbiAgICAgICAgYWNjZXB0ID0gQVBQTElDQVRJT05fSlNPTl9DT05URU5UX1RZUEUsXG4gICAgICAgIGNvbnRlbnRUeXBlID0gQVBQTElDQVRJT05fSlNPTl9DT05URU5UX1RZUEU7XG5cbiAgdW5kZXJ3cml0ZUFjY2VwdChoZWFkZXJzLCBhY2NlcHQpO1xuXG4gIHVuZGVyd3JpdGVDb250ZW50VHlwZShoZWFkZXJzLCBjb250ZW50VHlwZSk7XG5cbiAgcmVxdWVzdChob3N0LCB1cmksIHF1ZXJ5LCBtZXRob2QsIGhlYWRlcnMsIGNvbnRlbnQsIGNhbGxiYWNrKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlcXVlc3QoaG9zdCwgdXJpLCBxdWVyeSwgbWV0aG9kLCBoZWFkZXJzLCBjb250ZW50LCBjYWxsYmFjaykge1xuICBjb25zdCB1cmwgPSB1cmxGcm9tSG9zdFVSSUFuZFF1ZXJ5KGhvc3QsIHVyaSwgcXVlcnkpLFxuICAgICAgICBhY2NlcHQgPSBoZWFkZXJzW0FDQ0VQVF0gfHwgbnVsbCxcbiAgICAgICAgY29udGVudFR5cGUgPSBoZWFkZXJzW0NPTlRFTlRfVFlQRV0gfHwgbnVsbCxcbiAgICAgICAgeG1sSHR0cFJlcXVlc3QgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTtcblxuICBpZiAoY29udGVudFR5cGUgPT09IEFQUExJQ0FUSU9OX0pTT05fQ09OVEVOVF9UWVBFKSB7XG4gICAgY29uc3QganNvbiA9IGNvbnRlbnQsICAvLy9cbiAgICAgICAgICBqc29uU3RyaW5nID0gSlNPTi5zdHJpbmdpZnkoanNvbik7XG5cbiAgICBjb250ZW50ID0ganNvblN0cmluZzsgIC8vL1xuICB9XG5cbiAgeG1sSHR0cFJlcXVlc3Qub25yZWFkeXN0YXRlY2hhbmdlID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgcmVhZHlTdGF0ZSwgc3RhdHVzLCByZXNwb25zZSB9ID0geG1sSHR0cFJlcXVlc3QsXG4gICAgICAgICAgc3RhdHVzQ29kZSA9IHN0YXR1cztcblxuICAgIGlmIChyZWFkeVN0YXRlID09IDQpIHtcbiAgICAgIGxldCBjb250ZW50ID0gcmVzcG9uc2U7XG5cbiAgICAgIGlmIChhY2NlcHQgPT09IEFQUExJQ0FUSU9OX0pTT05fQ09OVEVOVF9UWVBFKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgY29uc3QganNvblN0cmluZyA9IGNvbnRlbnQsICAvLy9cbiAgICAgICAgICAgICAgICBqc29uID0gSlNPTi5wYXJzZShqc29uU3RyaW5nKTtcblxuICAgICAgICAgIGNvbnRlbnQgPSBqc29uOyAgLy8vXG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgY29udGVudCA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgY2FsbGJhY2soY29udGVudCwgc3RhdHVzQ29kZSk7XG4gICAgfVxuICB9O1xuXG4gIHhtbEh0dHBSZXF1ZXN0Lm9wZW4obWV0aG9kLCB1cmwpO1xuXG4gIGlmIChhY2NlcHQgIT09IG51bGwpIHtcbiAgICB4bWxIdHRwUmVxdWVzdC5zZXRSZXF1ZXN0SGVhZGVyKEFDQ0VQVCwgYWNjZXB0KTtcbiAgfVxuXG4gIGlmIChjb250ZW50VHlwZSAhPT0gbnVsbCkge1xuICAgIHhtbEh0dHBSZXF1ZXN0LnNldFJlcXVlc3RIZWFkZXIoQ09OVEVOVF9UWVBFLCBjb250ZW50VHlwZSk7XG4gIH1cblxuICAoY29udGVudCAhPT0gbnVsbCkgP1xuICAgIHhtbEh0dHBSZXF1ZXN0LnNlbmQoY29udGVudCkgOlxuICAgICAgeG1sSHR0cFJlcXVlc3Quc2VuZCgpO1xufVxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIGdldCxcbiAgcG9zdCxcbiAgcmVxdWVzdFxufVxuXG5mdW5jdGlvbiB1bmRlcndyaXRlQWNjZXB0KGhlYWRlcnMsIGFjY2VwdCkge1xuICBjb25zdCBuYW1lID0gQUNDRVBULCAgLy8vXG4gICAgICAgIHZhbHVlID0gYWNjZXB0OyAvLy9cblxuICB1bmRlcndyaXRlKGhlYWRlcnMsIG5hbWUsIHZhbHVlKTtcbn1cblxuZnVuY3Rpb24gdW5kZXJ3cml0ZUNvbnRlbnRUeXBlKGhlYWRlcnMsIGNvbnRlbnRUWXBlKSB7XG4gIGNvbnN0IG5hbWUgPSBDT05URU5UX1RZUEUsICAvLy9cbiAgICAgICAgdmFsdWUgPSBjb250ZW50VFlwZTsgLy8vXG5cbiAgdW5kZXJ3cml0ZShoZWFkZXJzLCBuYW1lLCB2YWx1ZSk7XG59XG4iXSwibmFtZXMiOlsiZ2V0IiwicG9zdCIsInJlcXVlc3QiLCJob3N0IiwidXJpIiwicXVlcnkiLCJoZWFkZXJzIiwiY2FsbGJhY2siLCJ1bmRlZmluZWQiLCJtZXRob2QiLCJhY2NlcHQiLCJjb250ZW50IiwidW5kZXJ3cml0ZUFjY2VwdCIsImNvbnRlbnRUeXBlIiwidW5kZXJ3cml0ZUNvbnRlbnRUeXBlIiwidXJsIiwieG1sSHR0cFJlcXVlc3QiLCJYTUxIdHRwUmVxdWVzdCIsImpzb24iLCJqc29uU3RyaW5nIiwiSlNPTiIsInN0cmluZ2lmeSIsIm9ucmVhZHlzdGF0ZWNoYW5nZSIsInJlYWR5U3RhdGUiLCJzdGF0dXMiLCJyZXNwb25zZSIsInN0YXR1c0NvZGUiLCJwYXJzZSIsImVycm9yIiwib3BlbiIsInNldFJlcXVlc3RIZWFkZXIiLCJzZW5kIiwibmFtZSIsInZhbHVlIiwiY29udGVudFRZcGUiXSwibWFwcGluZ3MiOiJBQUFBLENBQVk7Ozs7UUFPSUEsR0FBRyxHQUFIQSxHQUFHO1FBZUhDLElBQUksR0FBSkEsSUFBSTtRQWtCSkMsT0FBTyxHQUFQQSxPQUFPOztBQXRDYyxHQUFjLENBQWQsVUFBYztBQUNYLEdBQVksQ0FBWixRQUFZO0FBQ04sR0FBaUIsQ0FBakIsYUFBaUI7QUFDWixHQUFtQixDQUFuQixLQUFtQjtTQUV0REYsR0FBRyxDQUFDRyxJQUFJLEVBQUVDLEdBQUcsRUFBRUMsS0FBSyxFQUFFQyxPQUFPLEVBQUVDLFFBQVEsRUFBRSxDQUFDO0lBQ3hELEVBQUUsRUFBRUEsUUFBUSxLQUFLQyxTQUFTLEVBQUUsQ0FBQztRQUMzQkQsUUFBUSxHQUFHRCxPQUFPLENBQUUsQ0FB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
|
package/lib/utilities/array.js
CHANGED
|
@@ -40,13 +40,13 @@ exports.backwardsReduce = backwardsReduce;
|
|
|
40
40
|
exports.forwardsForEach = forwardsForEach;
|
|
41
41
|
exports.backwardsForEach = backwardsForEach;
|
|
42
42
|
exports.default = void 0;
|
|
43
|
+
function _arrayLikeToArray(arr, len) {
|
|
44
|
+
if (len == null || len > arr.length) len = arr.length;
|
|
45
|
+
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
46
|
+
return arr2;
|
|
47
|
+
}
|
|
43
48
|
function _arrayWithoutHoles(arr) {
|
|
44
|
-
if (Array.isArray(arr))
|
|
45
|
-
for(var i = 0, arr2 = new Array(arr.length); i < arr.length; i++){
|
|
46
|
-
arr2[i] = arr[i];
|
|
47
|
-
}
|
|
48
|
-
return arr2;
|
|
49
|
-
}
|
|
49
|
+
if (Array.isArray(arr)) return _arrayLikeToArray(arr);
|
|
50
50
|
}
|
|
51
51
|
function _instanceof(left, right) {
|
|
52
52
|
if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
|
|
@@ -56,13 +56,21 @@ function _instanceof(left, right) {
|
|
|
56
56
|
}
|
|
57
57
|
}
|
|
58
58
|
function _iterableToArray(iter) {
|
|
59
|
-
if (Symbol.iterator
|
|
59
|
+
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
|
|
60
60
|
}
|
|
61
61
|
function _nonIterableSpread() {
|
|
62
|
-
throw new TypeError("Invalid attempt to spread non-iterable instance");
|
|
62
|
+
throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
63
63
|
}
|
|
64
64
|
function _toConsumableArray(arr) {
|
|
65
|
-
return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();
|
|
65
|
+
return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
|
|
66
|
+
}
|
|
67
|
+
function _unsupportedIterableToArray(o, minLen) {
|
|
68
|
+
if (!o) return;
|
|
69
|
+
if (typeof o === "string") return _arrayLikeToArray(o, minLen);
|
|
70
|
+
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
71
|
+
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
72
|
+
if (n === "Map" || n === "Set") return Array.from(n);
|
|
73
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
|
|
66
74
|
}
|
|
67
75
|
function first(array) {
|
|
68
76
|
return array[0];
|
|
@@ -132,8 +140,8 @@ function copy(array1, array2) {
|
|
|
132
140
|
function merge(array1, array2) {
|
|
133
141
|
Array.prototype.push.apply(array1, array2);
|
|
134
142
|
}
|
|
135
|
-
function splice(array1, start
|
|
136
|
-
var deleteCount =
|
|
143
|
+
function splice(array1, start) {
|
|
144
|
+
var deleteCount = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : Infinity, array2 = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : [];
|
|
137
145
|
var args = [
|
|
138
146
|
start,
|
|
139
147
|
deleteCount
|
|
@@ -323,4 +331,4 @@ var _default = {
|
|
|
323
331
|
};
|
|
324
332
|
exports.default = _default;
|
|
325
333
|
|
|
326
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvYXJyYXkuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBmaXJzdChhcnJheSkgeyByZXR1cm4gYXJyYXlbMF07fVxuXG5leHBvcnQgZnVuY3Rpb24gc2Vjb25kKGFycmF5KSB7IHJldHVybiBhcnJheVsxXTsgfVxuXG5leHBvcnQgZnVuY3Rpb24gdGhpcmQoYXJyYXkpIHsgcmV0dXJuIGFycmF5WzJdOyB9XG5cbmV4cG9ydCBmdW5jdGlvbiBmb3VydGgoYXJyYXkpIHsgcmV0dXJuIGFycmF5WzNdOyB9XG5cbmV4cG9ydCBmdW5jdGlvbiBmaWZ0aChhcnJheSkgeyByZXR1cm4gYXJyYXlbNF07IH1cblxuZXhwb3J0IGZ1bmN0aW9uIGZpZnRoTGFzdChhcnJheSkgeyByZXR1cm4gYXJyYXlbYXJyYXkubGVuZ3RoIC0gNV07IH1cblxuZXhwb3J0IGZ1bmN0aW9uIGZvdXJ0aExhc3QoYXJyYXkpIHsgcmV0dXJuIGFycmF5W2FycmF5Lmxlbmd0aCAtIDRdOyB9XG5cbmV4cG9ydCBmdW5jdGlvbiB0aGlyZExhc3QoYXJyYXkpIHsgcmV0dXJuIGFycmF5W2FycmF5Lmxlbmd0aCAtIDNdOyB9XG5cbmV4cG9ydCBmdW5jdGlvbiBzZWNvbmRMYXN0KGFycmF5KSB7IHJldHVybiBhcnJheVthcnJheS5sZW5ndGggLSAyXTsgfVxuXG5leHBvcnQgZnVuY3Rpb24gZmlyc3RMYXN0KGFycmF5KSB7IHJldHVybiBhcnJheVthcnJheS5sZW5ndGggLSAxXTsgfVxuXG5leHBvcnQgZnVuY3Rpb24gbGFzdChhcnJheSkgeyByZXR1cm4gYXJyYXlbYXJyYXkubGVuZ3RoIC0gMV07IH1cblxuZXhwb3J0IGZ1bmN0aW9uIGhlYWQoYXJyYXkpIHsgcmV0dXJuIGFycmF5LnNsaWNlKDAsIDEpOyB9XG5cbmV4cG9ydCBmdW5jdGlvbiB0YWlsKGFycmF5KSB7IHJldHVybiBhcnJheS5zbGljZSgxKTsgfVxuXG5leHBvcnQgZnVuY3Rpb24gYmFjayhhcnJheSkgeyByZXR1cm4gYXJyYXkuc2xpY2UoYXJyYXkubGVuZ3RoIC0gMSk7IH1cblxuZXhwb3J0IGZ1bmN0aW9uIGZyb250KGFycmF5KSB7IHJldHVybiBhcnJheS5zbGljZSgwLCBhcnJheS5sZW5ndGggLSAxKTsgfVxuXG5leHBvcnQgZnVuY3Rpb24gcHVzaChhcnJheTEsIGFycmF5MikgeyBBcnJheS5wcm90b3R5cGUucHVzaC5hcHBseShhcnJheTEsIGFycmF5Mik7IH1cblxuZXhwb3J0IGZ1bmN0aW9uIHVuc2hpZnQoYXJyYXkxLCBhcnJheTIpIHsgQXJyYXkucHJvdG90eXBlLnVuc2hpZnQuYXBwbHkoYXJyYXkxLCBhcnJheTIpOyB9XG5cbmV4cG9ydCBmdW5jdGlvbiBjb25jYXQoYXJyYXkxLCBlbGVtZW50T3JBcnJheTIpIHtcbiAgY29uc3QgYXJyYXkyID0gKGVsZW1lbnRPckFycmF5MiBpbnN0YW5jZW9mIEFycmF5KSA/XG4gICAgICAgICAgICAgICAgICAgIGVsZW1lbnRPckFycmF5MiA6XG4gICAgICAgICAgICAgICAgICAgICBbZWxlbWVudE9yQXJyYXkyXTtcbiAgXG4gIHB1c2goYXJyYXkxLCBhcnJheTIpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2xlYXIoYXJyYXkpIHtcbiAgY29uc3Qgc3RhcnQgPSAwO1xuICBcbiAgcmV0dXJuIGFycmF5LnNwbGljZShzdGFydCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb3B5KGFycmF5MSwgYXJyYXkyKSB7XG4gIGNvbnN0IHN0YXJ0ID0gMCxcbiAgICAgICAgZGVsZXRlQ291bnQgPSBhcnJheTIubGVuZ3RoOyAgLy8vXG4gIFxuICBzcGxpY2UoYXJyYXkxLCBzdGFydCwgZGVsZXRlQ291bnQsIGFycmF5Mik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtZXJnZShhcnJheTEsIGFycmF5MikgeyBBcnJheS5wcm90b3R5cGUucHVzaC5hcHBseShhcnJheTEsIGFycmF5Mik7IH1cblxuZXhwb3J0IGZ1bmN0aW9uIHNwbGljZShhcnJheTEsIHN0YXJ0LCBkZWxldGVDb3VudCA9IEluZmluaXR5LCBhcnJheTIgPSBbXSkge1xuICBjb25zdCBhcmdzID0gW3N0YXJ0LCBkZWxldGVDb3VudCwgLi4uYXJyYXkyXSxcbiAgICAgICAgZGVsZXRlZEl0ZW1zQXJyYXkgPSBBcnJheS5wcm90b3R5cGUuc3BsaWNlLmFwcGx5KGFycmF5MSwgYXJncyk7XG5cbiAgcmV0dXJuIGRlbGV0ZWRJdGVtc0FycmF5O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVwbGFjZShhcnJheSwgZWxlbWVudCwgdGVzdCkge1xuICBsZXQgc3RhcnQ7XG4gIFxuICBjb25zdCBmb3VuZCA9IGFycmF5LnNvbWUoKGVsZW1lbnQsIGluZGV4KSA9PiB7XG4gICAgY29uc3QgcGFzc2VkID0gdGVzdChlbGVtZW50LCBpbmRleCk7XG5cbiAgICBpZiAocGFzc2VkKSB7XG4gICAgICBzdGFydCA9IGluZGV4OyAgLy8vXG4gICAgICBcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfSk7XG4gIFxuICBpZiAoZm91bmQpIHtcbiAgICBjb25zdCBkZWxldGVDb3VudCA9IDE7XG5cbiAgICBhcnJheS5zcGxpY2Uoc3RhcnQsIGRlbGV0ZUNvdW50LCBlbGVtZW50KTtcbiAgfVxuXG4gIHJldHVybiBmb3VuZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZpbHRlcihhcnJheSwgdGVzdCkge1xuICBjb25zdCBmaWx0ZXJlZEVsZW1lbnRzID0gW107XG4gIFxuICBiYWNrd2FyZHNGb3JFYWNoKGFycmF5LCAoZWxlbWVudCwgaW5kZXgpID0+IHtcbiAgICBjb25zdCBwYXNzZWQgPSB0ZXN0KGVsZW1lbnQsIGluZGV4KTtcblxuICAgIGlmICghcGFzc2VkKSB7XG4gICAgICBjb25zdCBzdGFydCA9IGluZGV4LCAgLy8vXG4gICAgICAgICAgICBkZWxldGVDb3VudCA9IDEsXG4gICAgICAgICAgICBkZWxldGVkRWxlbWVudHMgPSBhcnJheS5zcGxpY2Uoc3RhcnQsIGRlbGV0ZUNvdW50KSxcbiAgICAgICAgICAgIGZpcnN0RGVsZXRlZEVsZW1lbnQgPSBmaXJzdChkZWxldGVkRWxlbWVudHMpO1xuICAgICAgXG4gICAgICBmaWx0ZXJlZEVsZW1lbnRzLnVuc2hpZnQoZmlyc3REZWxldGVkRWxlbWVudCk7ICAvLy9cbiAgICB9XG4gIH0pO1xuICBcbiAgcmV0dXJuIGZpbHRlcmVkRWxlbWVudHM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaW5kKGFycmF5LCB0ZXN0KSB7XG4gIGNvbnN0IGVsZW1lbnRzID0gW107XG5cbiAgZm9yd2FyZHNGb3JFYWNoKGFycmF5LCAoZWxlbWVudCwgaW5kZXgpID0+IHtcbiAgICBjb25zdCBwYXNzZWQgPSB0ZXN0KGVsZW1lbnQsIGluZGV4KTtcblxuICAgIGlmIChwYXNzZWQpIHtcbiAgICAgIGVsZW1lbnRzLnB1c2goZWxlbWVudCk7XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gZWxlbWVudHM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcnVuZShhcnJheSwgdGVzdCkge1xuICBsZXQgcHJ1bmVkRWxlbWVudCA9IHVuZGVmaW5lZDtcbiAgXG4gIGFycmF5LnNvbWUoKGVsZW1lbnQsIGluZGV4KSA9PiB7XG4gICAgY29uc3QgcGFzc2VkID0gdGVzdChlbGVtZW50LCBpbmRleCk7XG5cbiAgICBpZiAoIXBhc3NlZCkge1xuICAgICAgY29uc3Qgc3RhcnQgPSBpbmRleCwgIC8vL1xuICAgICAgICAgICAgZGVsZXRlQ291bnQgPSAxLFxuICAgICAgICAgICAgZGVsZXRlZEVsZW1lbnRzID0gYXJyYXkuc3BsaWNlKHN0YXJ0LCBkZWxldGVDb3VudCksXG4gICAgICAgICAgICBmaXJzdERlbGV0ZWRFbGVtZW50ID0gZmlyc3QoZGVsZXRlZEVsZW1lbnRzKTtcbiAgICAgIFxuICAgICAgcHJ1bmVkRWxlbWVudCA9IGZpcnN0RGVsZXRlZEVsZW1lbnQ7ICAvLy9cblxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9KTtcbiAgXG4gIHJldHVybiBwcnVuZWRFbGVtZW50O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcGF0Y2goYXJyYXksIGVsZW1lbnQsIHRlc3QpIHtcbiAgY29uc3QgZm91bmQgPSBhcnJheS5zb21lKChlbGVtZW50LCBpbmRleCkgPT4ge1xuICAgIGNvbnN0IHBhc3NlZCA9IHRlc3QoZWxlbWVudCwgaW5kZXgpO1xuXG4gICAgaWYgKHBhc3NlZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9KTtcblxuXG4gIGlmIChmb3VuZCkge1xuICAgIGFycmF5LnB1c2goZWxlbWVudCk7XG4gIH1cblxuICByZXR1cm4gZm91bmQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhdWdtZW50KGFycmF5MSwgYXJyYXkyLCB0ZXN0KSB7XG4gIGFycmF5Mi5mb3JFYWNoKChlbGVtZW50LCBpbmRleCkgPT4ge1xuICAgIGNvbnN0IHBhc3NlZCA9IHRlc3QoZWxlbWVudCwgaW5kZXgpO1xuXG4gICAgaWYgKHBhc3NlZCkge1xuICAgICAgYXJyYXkxLnB1c2goZWxlbWVudCk7XG4gICAgfVxuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNlcGFyYXRlKGFycmF5LCBhcnJheTEsIGFycmF5MiwgdGVzdCkge1xuICBhcnJheS5mb3JFYWNoKChlbGVtZW50LCBpbmRleCkgPT4ge1xuICAgIGNvbnN0IHBhc3NlZCA9IHRlc3QoZWxlbWVudCwgaW5kZXgpO1xuXG4gICAgcGFzc2VkID9cbiAgICAgIGFycmF5MS5wdXNoKGVsZW1lbnQpIDpcbiAgICAgICAgYXJyYXkyLnB1c2goZWxlbWVudCk7XG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZm9yd2FyZHNTb21lKGFycmF5LCBjYWxsYmFjaykge1xuICBjb25zdCBhcnJheUxlbmd0aCA9IGFycmF5Lmxlbmd0aDtcblxuICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgYXJyYXlMZW5ndGg7IGluZGV4KyspIHtcbiAgICBjb25zdCBlbGVtZW50ID0gYXJyYXlbaW5kZXhdLFxuICAgICAgICAgIHJlc3VsdCA9IGNhbGxiYWNrKGVsZW1lbnQsIGluZGV4KTtcbiAgICBcbiAgICBpZiAocmVzdWx0KSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZmFsc2U7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBiYWNrd2FyZHNTb21lKGFycmF5LCBjYWxsYmFjaykge1xuICBjb25zdCBhcnJheUxlbmd0aCA9IGFycmF5Lmxlbmd0aDtcblxuICBmb3IgKGxldCBpbmRleCA9IGFycmF5TGVuZ3RoIC0gMTsgaW5kZXggPj0gMDsgaW5kZXgtLSkge1xuICAgIGNvbnN0IGVsZW1lbnQgPSBhcnJheVtpbmRleF0sXG4gICAgICAgICAgcmVzdWx0ID0gY2FsbGJhY2soZWxlbWVudCwgaW5kZXgpO1xuXG4gICAgaWYgKHJlc3VsdCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZm9yd2FyZHNFdmVyeShhcnJheSwgY2FsbGJhY2spIHtcbiAgY29uc3QgYXJyYXlMZW5ndGggPSBhcnJheS5sZW5ndGg7XG5cbiAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGFycmF5TGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgY29uc3QgZWxlbWVudCA9IGFycmF5W2luZGV4XSxcbiAgICAgICAgICByZXN1bHQgPSBjYWxsYmFjayhlbGVtZW50LCBpbmRleCk7XG5cbiAgICBpZiAoIXJlc3VsdCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB0cnVlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYmFja3dhcmRzRXZlcnkoYXJyYXksIGNhbGxiYWNrKSB7XG4gIGNvbnN0IGFycmF5TGVuZ3RoID0gYXJyYXkubGVuZ3RoO1xuXG4gIGZvciAobGV0IGluZGV4ID0gYXJyYXlMZW5ndGggLSAxOyBpbmRleCA+PSAwOyBpbmRleC0tKSB7XG4gICAgY29uc3QgZWxlbWVudCA9IGFycmF5W2luZGV4XSxcbiAgICAgICAgICByZXN1bHQgPSBjYWxsYmFjayhlbGVtZW50LCBpbmRleCk7XG5cbiAgICBpZiAoIXJlc3VsdCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB0cnVlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZm9yd2FyZHNSZWR1Y2UoYXJyYXksIGNhbGxiYWNrLCBpbml0aWFsVmFsdWUpIHtcbiAgbGV0IHZhbHVlID0gaW5pdGlhbFZhbHVlO1xuXG4gIGZvcndhcmRzRm9yRWFjaChhcnJheSwgKGVsZW1lbnQsIGluZGV4KSA9PiB7XG4gICAgdmFsdWUgPSBjYWxsYmFjayh2YWx1ZSwgZWxlbWVudCwgaW5kZXgpO1xuICB9KTtcblxuICByZXR1cm4gdmFsdWU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBiYWNrd2FyZHNSZWR1Y2UoYXJyYXksIGNhbGxiYWNrLCBpbml0aWFsVmFsdWUpIHtcbiAgbGV0IHZhbHVlID0gaW5pdGlhbFZhbHVlO1xuXG4gIGJhY2t3YXJkc0ZvckVhY2goYXJyYXksIChlbGVtZW50LCBpbmRleCkgPT4ge1xuICAgIHZhbHVlID0gY2FsbGJhY2sodmFsdWUsIGVsZW1lbnQsIGluZGV4KTtcbiAgfSk7XG5cbiAgcmV0dXJuIHZhbHVlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZm9yd2FyZHNGb3JFYWNoKGFycmF5LCBjYWxsYmFjaykge1xuICBjb25zdCBhcnJheUxlbmd0aCA9IGFycmF5Lmxlbmd0aDtcblxuICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgYXJyYXlMZW5ndGg7IGluZGV4KyspIHtcbiAgICBjb25zdCBlbGVtZW50ID0gYXJyYXlbaW5kZXhdO1xuXG4gICAgY2FsbGJhY2soZWxlbWVudCwgaW5kZXgpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBiYWNrd2FyZHNGb3JFYWNoKGFycmF5LCBjYWxsYmFjaykge1xuICBjb25zdCBhcnJheUxlbmd0aCA9IGFycmF5Lmxlbmd0aDtcblxuICBmb3IgKGxldCBpbmRleCA9IGFycmF5TGVuZ3RoIC0gMTsgaW5kZXggPj0gMDsgaW5kZXgtLSkge1xuICAgIGNvbnN0IGVsZW1lbnQgPSBhcnJheVtpbmRleF07XG5cbiAgICBjYWxsYmFjayhlbGVtZW50LCBpbmRleCk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQge1xuICBmaXJzdCxcbiAgc2Vjb25kLFxuICB0aGlyZCxcbiAgZm91cnRoLFxuICBmaWZ0aCxcbiAgZmlmdGhMYXN0LFxuICBmb3VydGhMYXN0LFxuICB0aGlyZExhc3QsXG4gIHNlY29uZExhc3QsXG4gIGZpcnN0TGFzdCxcbiAgbGFzdCxcbiAgaGVhZCxcbiAgdGFpbCxcbiAgYmFjayxcbiAgZnJvbnQsXG4gIHB1c2gsXG4gIHVuc2hpZnQsXG4gIGNvbmNhdCxcbiAgY2xlYXIsXG4gIGNvcHksXG4gIG1lcmdlLFxuICBzcGxpY2UsXG4gIHJlcGxhY2UsXG4gIGZpbHRlcixcbiAgZmluZCxcbiAgcHJ1bmUsXG4gIHBhdGNoLFxuICBhdWdtZW50LFxuICBzZXBhcmF0ZSxcbiAgZm9yd2FyZHNTb21lLFxuICBiYWNrd2FyZHNTb21lLFxuICBmb3J3YXJkc0V2ZXJ5LFxuICBiYWNrd2FyZHNFdmVyeSxcbiAgZm9yd2FyZHNSZWR1Y2UsXG4gIGJhY2t3YXJkc1JlZHVjZSxcbiAgZm9yd2FyZHNGb3JFYWNoLFxuICBiYWNrd2FyZHNGb3JFYWNoXG59O1xuIl0sIm5hbWVzIjpbImZpcnN0Iiwic2Vjb25kIiwidGhpcmQiLCJmb3VydGgiLCJmaWZ0aCIsImZpZnRoTGFzdCIsImZvdXJ0aExhc3QiLCJ0aGlyZExhc3QiLCJzZWNvbmRMYXN0IiwiZmlyc3RMYXN0IiwibGFzdCIsImhlYWQiLCJ0YWlsIiwiYmFjayIsImZyb250IiwicHVzaCIsInVuc2hpZnQiLCJjb25jYXQiLCJjbGVhciIsImNvcHkiLCJtZXJnZSIsInNwbGljZSIsInJlcGxhY2UiLCJmaWx0ZXIiLCJmaW5kIiwicHJ1bmUiLCJwYXRjaCIsImF1Z21lbnQiLCJzZXBhcmF0ZSIsImZvcndhcmRzU29tZSIsImJhY2t3YXJkc1NvbWUiLCJmb3J3YXJkc0V2ZXJ5IiwiYmFja3dhcmRzRXZlcnkiLCJmb3J3YXJkc1JlZHVjZSIsImJhY2t3YXJkc1JlZHVjZSIsImZvcndhcmRzRm9yRWFjaCIsImJhY2t3YXJkc0ZvckVhY2giLCJhcnJheSIsImxlbmd0aCIsInNsaWNlIiwiYXJyYXkxIiwiYXJyYXkyIiwiQXJyYXkiLCJwcm90b3R5cGUiLCJhcHBseSIsImVsZW1lbnRPckFycmF5MiIsInN0YXJ0IiwiZGVsZXRlQ291bnQiLCJJbmZpbml0eSIsImFyZ3MiLCJkZWxldGVkSXRlbXNBcnJheSIsImVsZW1lbnQiLCJ0ZXN0IiwiZm91bmQiLCJzb21lIiwiaW5kZXgiLCJwYXNzZWQiLCJmaWx0ZXJlZEVsZW1lbnRzIiwiZGVsZXRlZEVsZW1lbnRzIiwiZmlyc3REZWxldGVkRWxlbWVudCIsImVsZW1lbnRzIiwicHJ1bmVkRWxlbWVudCIsInVuZGVmaW5lZCIsImZvckVhY2giLCJjYWxsYmFjayIsImFycmF5TGVuZ3RoIiwicmVzdWx0IiwiaW5pdGlhbFZhbHVlIiwidmFsdWUiXSwibWFwcGluZ3MiOiJBQUFBLENBQVk7Ozs7UUFFSUEsS0FBSyxHQUFMQSxLQUFLO1FBRUxDLE1BQU0sR0FBTkEsTUFBTTtRQUVOQyxLQUFLLEdBQUxBLEtBQUs7UUFFTEMsTUFBTSxHQUFOQSxNQUFNO1FBRU5DLEtBQUssR0FBTEEsS0FBSztRQUVMQyxTQUFTLEdBQVRBLFNBQVM7UUFFVEMsVUFBVSxHQUFWQSxVQUFVO1FBRVZDLFNBQVMsR0FBVEEsU0FBUztRQUVUQyxVQUFVLEdBQVZBLFVBQVU7UUFFVkMsU0FBUyxHQUFUQSxTQUFTO1FBRVRDLElBQUksR0FBSkEsSUFBSTtRQUVKQyxJQUFJLEdBQUpBLElBQUk7UUFFSkMsSUFBSSxHQUFKQSxJQUFJO1FBRUpDLElBQUksR0FBSkEsSUFBSTtRQUVKQyxLQUFLLEdBQUxBLEtBQUs7UUFFTEMsSUFBSSxHQUFKQSxJQUFJ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
|
|
334
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvYXJyYXkuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBmaXJzdChhcnJheSkgeyByZXR1cm4gYXJyYXlbMF07fVxuXG5leHBvcnQgZnVuY3Rpb24gc2Vjb25kKGFycmF5KSB7IHJldHVybiBhcnJheVsxXTsgfVxuXG5leHBvcnQgZnVuY3Rpb24gdGhpcmQoYXJyYXkpIHsgcmV0dXJuIGFycmF5WzJdOyB9XG5cbmV4cG9ydCBmdW5jdGlvbiBmb3VydGgoYXJyYXkpIHsgcmV0dXJuIGFycmF5WzNdOyB9XG5cbmV4cG9ydCBmdW5jdGlvbiBmaWZ0aChhcnJheSkgeyByZXR1cm4gYXJyYXlbNF07IH1cblxuZXhwb3J0IGZ1bmN0aW9uIGZpZnRoTGFzdChhcnJheSkgeyByZXR1cm4gYXJyYXlbYXJyYXkubGVuZ3RoIC0gNV07IH1cblxuZXhwb3J0IGZ1bmN0aW9uIGZvdXJ0aExhc3QoYXJyYXkpIHsgcmV0dXJuIGFycmF5W2FycmF5Lmxlbmd0aCAtIDRdOyB9XG5cbmV4cG9ydCBmdW5jdGlvbiB0aGlyZExhc3QoYXJyYXkpIHsgcmV0dXJuIGFycmF5W2FycmF5Lmxlbmd0aCAtIDNdOyB9XG5cbmV4cG9ydCBmdW5jdGlvbiBzZWNvbmRMYXN0KGFycmF5KSB7IHJldHVybiBhcnJheVthcnJheS5sZW5ndGggLSAyXTsgfVxuXG5leHBvcnQgZnVuY3Rpb24gZmlyc3RMYXN0KGFycmF5KSB7IHJldHVybiBhcnJheVthcnJheS5sZW5ndGggLSAxXTsgfVxuXG5leHBvcnQgZnVuY3Rpb24gbGFzdChhcnJheSkgeyByZXR1cm4gYXJyYXlbYXJyYXkubGVuZ3RoIC0gMV07IH1cblxuZXhwb3J0IGZ1bmN0aW9uIGhlYWQoYXJyYXkpIHsgcmV0dXJuIGFycmF5LnNsaWNlKDAsIDEpOyB9XG5cbmV4cG9ydCBmdW5jdGlvbiB0YWlsKGFycmF5KSB7IHJldHVybiBhcnJheS5zbGljZSgxKTsgfVxuXG5leHBvcnQgZnVuY3Rpb24gYmFjayhhcnJheSkgeyByZXR1cm4gYXJyYXkuc2xpY2UoYXJyYXkubGVuZ3RoIC0gMSk7IH1cblxuZXhwb3J0IGZ1bmN0aW9uIGZyb250KGFycmF5KSB7IHJldHVybiBhcnJheS5zbGljZSgwLCBhcnJheS5sZW5ndGggLSAxKTsgfVxuXG5leHBvcnQgZnVuY3Rpb24gcHVzaChhcnJheTEsIGFycmF5MikgeyBBcnJheS5wcm90b3R5cGUucHVzaC5hcHBseShhcnJheTEsIGFycmF5Mik7IH1cblxuZXhwb3J0IGZ1bmN0aW9uIHVuc2hpZnQoYXJyYXkxLCBhcnJheTIpIHsgQXJyYXkucHJvdG90eXBlLnVuc2hpZnQuYXBwbHkoYXJyYXkxLCBhcnJheTIpOyB9XG5cbmV4cG9ydCBmdW5jdGlvbiBjb25jYXQoYXJyYXkxLCBlbGVtZW50T3JBcnJheTIpIHtcbiAgY29uc3QgYXJyYXkyID0gKGVsZW1lbnRPckFycmF5MiBpbnN0YW5jZW9mIEFycmF5KSA/XG4gICAgICAgICAgICAgICAgICAgIGVsZW1lbnRPckFycmF5MiA6XG4gICAgICAgICAgICAgICAgICAgICBbZWxlbWVudE9yQXJyYXkyXTtcbiAgXG4gIHB1c2goYXJyYXkxLCBhcnJheTIpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2xlYXIoYXJyYXkpIHtcbiAgY29uc3Qgc3RhcnQgPSAwO1xuICBcbiAgcmV0dXJuIGFycmF5LnNwbGljZShzdGFydCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb3B5KGFycmF5MSwgYXJyYXkyKSB7XG4gIGNvbnN0IHN0YXJ0ID0gMCxcbiAgICAgICAgZGVsZXRlQ291bnQgPSBhcnJheTIubGVuZ3RoOyAgLy8vXG4gIFxuICBzcGxpY2UoYXJyYXkxLCBzdGFydCwgZGVsZXRlQ291bnQsIGFycmF5Mik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtZXJnZShhcnJheTEsIGFycmF5MikgeyBBcnJheS5wcm90b3R5cGUucHVzaC5hcHBseShhcnJheTEsIGFycmF5Mik7IH1cblxuZXhwb3J0IGZ1bmN0aW9uIHNwbGljZShhcnJheTEsIHN0YXJ0LCBkZWxldGVDb3VudCA9IEluZmluaXR5LCBhcnJheTIgPSBbXSkge1xuICBjb25zdCBhcmdzID0gW3N0YXJ0LCBkZWxldGVDb3VudCwgLi4uYXJyYXkyXSxcbiAgICAgICAgZGVsZXRlZEl0ZW1zQXJyYXkgPSBBcnJheS5wcm90b3R5cGUuc3BsaWNlLmFwcGx5KGFycmF5MSwgYXJncyk7XG5cbiAgcmV0dXJuIGRlbGV0ZWRJdGVtc0FycmF5O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVwbGFjZShhcnJheSwgZWxlbWVudCwgdGVzdCkge1xuICBsZXQgc3RhcnQ7XG4gIFxuICBjb25zdCBmb3VuZCA9IGFycmF5LnNvbWUoKGVsZW1lbnQsIGluZGV4KSA9PiB7XG4gICAgY29uc3QgcGFzc2VkID0gdGVzdChlbGVtZW50LCBpbmRleCk7XG5cbiAgICBpZiAocGFzc2VkKSB7XG4gICAgICBzdGFydCA9IGluZGV4OyAgLy8vXG4gICAgICBcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfSk7XG4gIFxuICBpZiAoZm91bmQpIHtcbiAgICBjb25zdCBkZWxldGVDb3VudCA9IDE7XG5cbiAgICBhcnJheS5zcGxpY2Uoc3RhcnQsIGRlbGV0ZUNvdW50LCBlbGVtZW50KTtcbiAgfVxuXG4gIHJldHVybiBmb3VuZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZpbHRlcihhcnJheSwgdGVzdCkge1xuICBjb25zdCBmaWx0ZXJlZEVsZW1lbnRzID0gW107XG4gIFxuICBiYWNrd2FyZHNGb3JFYWNoKGFycmF5LCAoZWxlbWVudCwgaW5kZXgpID0+IHtcbiAgICBjb25zdCBwYXNzZWQgPSB0ZXN0KGVsZW1lbnQsIGluZGV4KTtcblxuICAgIGlmICghcGFzc2VkKSB7XG4gICAgICBjb25zdCBzdGFydCA9IGluZGV4LCAgLy8vXG4gICAgICAgICAgICBkZWxldGVDb3VudCA9IDEsXG4gICAgICAgICAgICBkZWxldGVkRWxlbWVudHMgPSBhcnJheS5zcGxpY2Uoc3RhcnQsIGRlbGV0ZUNvdW50KSxcbiAgICAgICAgICAgIGZpcnN0RGVsZXRlZEVsZW1lbnQgPSBmaXJzdChkZWxldGVkRWxlbWVudHMpO1xuICAgICAgXG4gICAgICBmaWx0ZXJlZEVsZW1lbnRzLnVuc2hpZnQoZmlyc3REZWxldGVkRWxlbWVudCk7ICAvLy9cbiAgICB9XG4gIH0pO1xuICBcbiAgcmV0dXJuIGZpbHRlcmVkRWxlbWVudHM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaW5kKGFycmF5LCB0ZXN0KSB7XG4gIGNvbnN0IGVsZW1lbnRzID0gW107XG5cbiAgZm9yd2FyZHNGb3JFYWNoKGFycmF5LCAoZWxlbWVudCwgaW5kZXgpID0+IHtcbiAgICBjb25zdCBwYXNzZWQgPSB0ZXN0KGVsZW1lbnQsIGluZGV4KTtcblxuICAgIGlmIChwYXNzZWQpIHtcbiAgICAgIGVsZW1lbnRzLnB1c2goZWxlbWVudCk7XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gZWxlbWVudHM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcnVuZShhcnJheSwgdGVzdCkge1xuICBsZXQgcHJ1bmVkRWxlbWVudCA9IHVuZGVmaW5lZDtcbiAgXG4gIGFycmF5LnNvbWUoKGVsZW1lbnQsIGluZGV4KSA9PiB7XG4gICAgY29uc3QgcGFzc2VkID0gdGVzdChlbGVtZW50LCBpbmRleCk7XG5cbiAgICBpZiAoIXBhc3NlZCkge1xuICAgICAgY29uc3Qgc3RhcnQgPSBpbmRleCwgIC8vL1xuICAgICAgICAgICAgZGVsZXRlQ291bnQgPSAxLFxuICAgICAgICAgICAgZGVsZXRlZEVsZW1lbnRzID0gYXJyYXkuc3BsaWNlKHN0YXJ0LCBkZWxldGVDb3VudCksXG4gICAgICAgICAgICBmaXJzdERlbGV0ZWRFbGVtZW50ID0gZmlyc3QoZGVsZXRlZEVsZW1lbnRzKTtcbiAgICAgIFxuICAgICAgcHJ1bmVkRWxlbWVudCA9IGZpcnN0RGVsZXRlZEVsZW1lbnQ7ICAvLy9cblxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9KTtcbiAgXG4gIHJldHVybiBwcnVuZWRFbGVtZW50O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcGF0Y2goYXJyYXksIGVsZW1lbnQsIHRlc3QpIHtcbiAgY29uc3QgZm91bmQgPSBhcnJheS5zb21lKChlbGVtZW50LCBpbmRleCkgPT4ge1xuICAgIGNvbnN0IHBhc3NlZCA9IHRlc3QoZWxlbWVudCwgaW5kZXgpO1xuXG4gICAgaWYgKHBhc3NlZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9KTtcblxuXG4gIGlmIChmb3VuZCkge1xuICAgIGFycmF5LnB1c2goZWxlbWVudCk7XG4gIH1cblxuICByZXR1cm4gZm91bmQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhdWdtZW50KGFycmF5MSwgYXJyYXkyLCB0ZXN0KSB7XG4gIGFycmF5Mi5mb3JFYWNoKChlbGVtZW50LCBpbmRleCkgPT4ge1xuICAgIGNvbnN0IHBhc3NlZCA9IHRlc3QoZWxlbWVudCwgaW5kZXgpO1xuXG4gICAgaWYgKHBhc3NlZCkge1xuICAgICAgYXJyYXkxLnB1c2goZWxlbWVudCk7XG4gICAgfVxuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNlcGFyYXRlKGFycmF5LCBhcnJheTEsIGFycmF5MiwgdGVzdCkge1xuICBhcnJheS5mb3JFYWNoKChlbGVtZW50LCBpbmRleCkgPT4ge1xuICAgIGNvbnN0IHBhc3NlZCA9IHRlc3QoZWxlbWVudCwgaW5kZXgpO1xuXG4gICAgcGFzc2VkID9cbiAgICAgIGFycmF5MS5wdXNoKGVsZW1lbnQpIDpcbiAgICAgICAgYXJyYXkyLnB1c2goZWxlbWVudCk7XG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZm9yd2FyZHNTb21lKGFycmF5LCBjYWxsYmFjaykge1xuICBjb25zdCBhcnJheUxlbmd0aCA9IGFycmF5Lmxlbmd0aDtcblxuICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgYXJyYXlMZW5ndGg7IGluZGV4KyspIHtcbiAgICBjb25zdCBlbGVtZW50ID0gYXJyYXlbaW5kZXhdLFxuICAgICAgICAgIHJlc3VsdCA9IGNhbGxiYWNrKGVsZW1lbnQsIGluZGV4KTtcbiAgICBcbiAgICBpZiAocmVzdWx0KSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZmFsc2U7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBiYWNrd2FyZHNTb21lKGFycmF5LCBjYWxsYmFjaykge1xuICBjb25zdCBhcnJheUxlbmd0aCA9IGFycmF5Lmxlbmd0aDtcblxuICBmb3IgKGxldCBpbmRleCA9IGFycmF5TGVuZ3RoIC0gMTsgaW5kZXggPj0gMDsgaW5kZXgtLSkge1xuICAgIGNvbnN0IGVsZW1lbnQgPSBhcnJheVtpbmRleF0sXG4gICAgICAgICAgcmVzdWx0ID0gY2FsbGJhY2soZWxlbWVudCwgaW5kZXgpO1xuXG4gICAgaWYgKHJlc3VsdCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZm9yd2FyZHNFdmVyeShhcnJheSwgY2FsbGJhY2spIHtcbiAgY29uc3QgYXJyYXlMZW5ndGggPSBhcnJheS5sZW5ndGg7XG5cbiAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGFycmF5TGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgY29uc3QgZWxlbWVudCA9IGFycmF5W2luZGV4XSxcbiAgICAgICAgICByZXN1bHQgPSBjYWxsYmFjayhlbGVtZW50LCBpbmRleCk7XG5cbiAgICBpZiAoIXJlc3VsdCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB0cnVlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYmFja3dhcmRzRXZlcnkoYXJyYXksIGNhbGxiYWNrKSB7XG4gIGNvbnN0IGFycmF5TGVuZ3RoID0gYXJyYXkubGVuZ3RoO1xuXG4gIGZvciAobGV0IGluZGV4ID0gYXJyYXlMZW5ndGggLSAxOyBpbmRleCA+PSAwOyBpbmRleC0tKSB7XG4gICAgY29uc3QgZWxlbWVudCA9IGFycmF5W2luZGV4XSxcbiAgICAgICAgICByZXN1bHQgPSBjYWxsYmFjayhlbGVtZW50LCBpbmRleCk7XG5cbiAgICBpZiAoIXJlc3VsdCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB0cnVlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZm9yd2FyZHNSZWR1Y2UoYXJyYXksIGNhbGxiYWNrLCBpbml0aWFsVmFsdWUpIHtcbiAgbGV0IHZhbHVlID0gaW5pdGlhbFZhbHVlO1xuXG4gIGZvcndhcmRzRm9yRWFjaChhcnJheSwgKGVsZW1lbnQsIGluZGV4KSA9PiB7XG4gICAgdmFsdWUgPSBjYWxsYmFjayh2YWx1ZSwgZWxlbWVudCwgaW5kZXgpO1xuICB9KTtcblxuICByZXR1cm4gdmFsdWU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBiYWNrd2FyZHNSZWR1Y2UoYXJyYXksIGNhbGxiYWNrLCBpbml0aWFsVmFsdWUpIHtcbiAgbGV0IHZhbHVlID0gaW5pdGlhbFZhbHVlO1xuXG4gIGJhY2t3YXJkc0ZvckVhY2goYXJyYXksIChlbGVtZW50LCBpbmRleCkgPT4ge1xuICAgIHZhbHVlID0gY2FsbGJhY2sodmFsdWUsIGVsZW1lbnQsIGluZGV4KTtcbiAgfSk7XG5cbiAgcmV0dXJuIHZhbHVlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZm9yd2FyZHNGb3JFYWNoKGFycmF5LCBjYWxsYmFjaykge1xuICBjb25zdCBhcnJheUxlbmd0aCA9IGFycmF5Lmxlbmd0aDtcblxuICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgYXJyYXlMZW5ndGg7IGluZGV4KyspIHtcbiAgICBjb25zdCBlbGVtZW50ID0gYXJyYXlbaW5kZXhdO1xuXG4gICAgY2FsbGJhY2soZWxlbWVudCwgaW5kZXgpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBiYWNrd2FyZHNGb3JFYWNoKGFycmF5LCBjYWxsYmFjaykge1xuICBjb25zdCBhcnJheUxlbmd0aCA9IGFycmF5Lmxlbmd0aDtcblxuICBmb3IgKGxldCBpbmRleCA9IGFycmF5TGVuZ3RoIC0gMTsgaW5kZXggPj0gMDsgaW5kZXgtLSkge1xuICAgIGNvbnN0IGVsZW1lbnQgPSBhcnJheVtpbmRleF07XG5cbiAgICBjYWxsYmFjayhlbGVtZW50LCBpbmRleCk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQge1xuICBmaXJzdCxcbiAgc2Vjb25kLFxuICB0aGlyZCxcbiAgZm91cnRoLFxuICBmaWZ0aCxcbiAgZmlmdGhMYXN0LFxuICBmb3VydGhMYXN0LFxuICB0aGlyZExhc3QsXG4gIHNlY29uZExhc3QsXG4gIGZpcnN0TGFzdCxcbiAgbGFzdCxcbiAgaGVhZCxcbiAgdGFpbCxcbiAgYmFjayxcbiAgZnJvbnQsXG4gIHB1c2gsXG4gIHVuc2hpZnQsXG4gIGNvbmNhdCxcbiAgY2xlYXIsXG4gIGNvcHksXG4gIG1lcmdlLFxuICBzcGxpY2UsXG4gIHJlcGxhY2UsXG4gIGZpbHRlcixcbiAgZmluZCxcbiAgcHJ1bmUsXG4gIHBhdGNoLFxuICBhdWdtZW50LFxuICBzZXBhcmF0ZSxcbiAgZm9yd2FyZHNTb21lLFxuICBiYWNrd2FyZHNTb21lLFxuICBmb3J3YXJkc0V2ZXJ5LFxuICBiYWNrd2FyZHNFdmVyeSxcbiAgZm9yd2FyZHNSZWR1Y2UsXG4gIGJhY2t3YXJkc1JlZHVjZSxcbiAgZm9yd2FyZHNGb3JFYWNoLFxuICBiYWNrd2FyZHNGb3JFYWNoXG59O1xuIl0sIm5hbWVzIjpbImZpcnN0Iiwic2Vjb25kIiwidGhpcmQiLCJmb3VydGgiLCJmaWZ0aCIsImZpZnRoTGFzdCIsImZvdXJ0aExhc3QiLCJ0aGlyZExhc3QiLCJzZWNvbmRMYXN0IiwiZmlyc3RMYXN0IiwibGFzdCIsImhlYWQiLCJ0YWlsIiwiYmFjayIsImZyb250IiwicHVzaCIsInVuc2hpZnQiLCJjb25jYXQiLCJjbGVhciIsImNvcHkiLCJtZXJnZSIsInNwbGljZSIsInJlcGxhY2UiLCJmaWx0ZXIiLCJmaW5kIiwicHJ1bmUiLCJwYXRjaCIsImF1Z21lbnQiLCJzZXBhcmF0ZSIsImZvcndhcmRzU29tZSIsImJhY2t3YXJkc1NvbWUiLCJmb3J3YXJkc0V2ZXJ5IiwiYmFja3dhcmRzRXZlcnkiLCJmb3J3YXJkc1JlZHVjZSIsImJhY2t3YXJkc1JlZHVjZSIsImZvcndhcmRzRm9yRWFjaCIsImJhY2t3YXJkc0ZvckVhY2giLCJhcnJheSIsImxlbmd0aCIsInNsaWNlIiwiYXJyYXkxIiwiYXJyYXkyIiwiQXJyYXkiLCJwcm90b3R5cGUiLCJhcHBseSIsImVsZW1lbnRPckFycmF5MiIsInN0YXJ0IiwiZGVsZXRlQ291bnQiLCJJbmZpbml0eSIsImFyZ3MiLCJkZWxldGVkSXRlbXNBcnJheSIsImVsZW1lbnQiLCJ0ZXN0IiwiZm91bmQiLCJzb21lIiwiaW5kZXgiLCJwYXNzZWQiLCJmaWx0ZXJlZEVsZW1lbnRzIiwiZGVsZXRlZEVsZW1lbnRzIiwiZmlyc3REZWxldGVkRWxlbWVudCIsImVsZW1lbnRzIiwicHJ1bmVkRWxlbWVudCIsInVuZGVmaW5lZCIsImZvckVhY2giLCJjYWxsYmFjayIsImFycmF5TGVuZ3RoIiwicmVzdWx0IiwiaW5pdGlhbFZhbHVlIiwidmFsdWUiXSwibWFwcGluZ3MiOiJBQUFBLENBQVk7Ozs7UUFFSUEsS0FBSyxHQUFMQSxLQUFLO1FBRUxDLE1BQU0sR0FBTkEsTUFBTTtRQUVOQyxLQUFLLEdBQUxBLEtBQUs7UUFFTEMsTUFBTSxHQUFOQSxNQUFNO1FBRU5DLEtBQUssR0FBTEEsS0FBSztRQUVMQyxTQUFTLEdBQVRBLFNBQVM7UUFFVEMsVUFBVSxHQUFWQSxVQUFVO1FBRVZDLFNBQVMsR0FBVEEsU0FBUztRQUVUQyxVQUFVLEdBQVZBLFVBQVU7UUFFVkMsU0FBUyxHQUFUQSxTQUFTO1FBRVRDLElBQUksR0FBSkEsSUFBSTtRQUVKQyxJQUFJLEdBQUpBLElBQUk7UUFFSkMsSUFBSSxHQUFKQSxJQUFJO1FBRUpDLElBQUksR0FBSkEsSUFBSTtRQUVKQyxLQUFLLEdBQUxBLEtBQUs7UUFFTEMsSUFBSSxHQUFKQSxJQUFJ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
|
|
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
exports.default = void 0;
|
|
6
6
|
var _array = require("../utilities/array");
|
|
7
7
|
var _defaults = require("../defaults");
|
|
8
|
+
var _constants = require("../constants");
|
|
8
9
|
var _fileSystem = require("../utilities/fileSystem");
|
|
9
10
|
function _instanceof(left, right) {
|
|
10
11
|
if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
|
|
@@ -13,6 +14,9 @@ function _instanceof(left, right) {
|
|
|
13
14
|
return left instanceof right;
|
|
14
15
|
}
|
|
15
16
|
}
|
|
17
|
+
var _typeof = function(obj) {
|
|
18
|
+
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
19
|
+
};
|
|
16
20
|
if (!globalThis.rc) {
|
|
17
21
|
globalThis.rc = _rc;
|
|
18
22
|
}
|
|
@@ -22,28 +26,13 @@ var _default = {
|
|
|
22
26
|
};
|
|
23
27
|
exports.default = _default;
|
|
24
28
|
var baseExtension = _defaults.DEFAULT_RC_BASE_EXTENSION;
|
|
25
|
-
function _rc(
|
|
26
|
-
|
|
27
|
-
var
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
environmentName = environmentNameOrArgv; ///
|
|
33
|
-
}
|
|
34
|
-
var json = readRCFile(), environments = json.environments;
|
|
35
|
-
if (environmentName === null) {
|
|
36
|
-
var firstEnvironment = (0, _array).first(environments);
|
|
37
|
-
environment1 = firstEnvironment; ///
|
|
38
|
-
} else {
|
|
39
|
-
environment1 = environments.find(function(environment) {
|
|
40
|
-
var name = environment.name, found = name === environmentName;
|
|
41
|
-
return found;
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
delete environment1.name;
|
|
45
|
-
Object.assign(rc, environment1);
|
|
46
|
-
return environment1;
|
|
29
|
+
function _rc(environmentName) {
|
|
30
|
+
environmentName = environmentName || environmentNameFromArgv() || environmentNameFromEnv(); ///
|
|
31
|
+
var json = readRCFile();
|
|
32
|
+
var environment = findEnvironment(json, environmentName);
|
|
33
|
+
json = environment; ///
|
|
34
|
+
replaceEnvironmentVariables(json);
|
|
35
|
+
Object.assign(rc, environment);
|
|
47
36
|
}
|
|
48
37
|
function readRCFile() {
|
|
49
38
|
var rcFilePath = rcFilePathFromNothing(), rcFileContent = (0, _fileSystem).readFile(rcFilePath), json = JSON.parse(rcFileContent);
|
|
@@ -90,9 +79,34 @@ Object.assign(_rc, {
|
|
|
90
79
|
createVacuousRCFile: createVacuousRCFile,
|
|
91
80
|
setRCBaseExtension: setRCBaseExtension
|
|
92
81
|
});
|
|
93
|
-
function
|
|
82
|
+
function findEnvironment(json, environmentName) {
|
|
83
|
+
var environment1;
|
|
84
|
+
var environments = json.environments;
|
|
85
|
+
if (environmentName === null) {
|
|
86
|
+
var firstEnvironment = (0, _array).first(environments);
|
|
87
|
+
environment1 = firstEnvironment; ///
|
|
88
|
+
} else {
|
|
89
|
+
environment1 = environments.find(function(environment) {
|
|
90
|
+
var name = environment.name;
|
|
91
|
+
if (name === environmentName) {
|
|
92
|
+
return true;
|
|
93
|
+
}
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
delete environment1.name;
|
|
97
|
+
return environment1;
|
|
98
|
+
}
|
|
99
|
+
function rcFilePathFromNothing() {
|
|
100
|
+
var rcFilePath = "./.".concat(baseExtension, "rc");
|
|
101
|
+
return rcFilePath;
|
|
102
|
+
}
|
|
103
|
+
function environmentNameFromEnv() {
|
|
104
|
+
var environmentName = process.env[_constants.ENVIRONMENT] || null;
|
|
105
|
+
return environmentName;
|
|
106
|
+
}
|
|
107
|
+
function environmentNameFromArgv() {
|
|
94
108
|
var environmentName = null;
|
|
95
|
-
argv.find(function(argument) {
|
|
109
|
+
process.argv.find(function(argument) {
|
|
96
110
|
var matches = argument.match(/--environment=(.+)/), found = matches !== null;
|
|
97
111
|
if (found) {
|
|
98
112
|
var secondMatch = (0, _array).second(matches);
|
|
@@ -102,9 +116,73 @@ function environmentNameFromArgv(argv) {
|
|
|
102
116
|
});
|
|
103
117
|
return environmentName;
|
|
104
118
|
}
|
|
105
|
-
function
|
|
106
|
-
var
|
|
107
|
-
|
|
119
|
+
function replaceEnvironmentVariable(string) {
|
|
120
|
+
var value = null;
|
|
121
|
+
var stringUpperCase = isStringUpperCase(string);
|
|
122
|
+
if (stringUpperCase) {
|
|
123
|
+
var name = string; ///
|
|
124
|
+
value = process.env[name] || null;
|
|
125
|
+
}
|
|
126
|
+
return value;
|
|
127
|
+
}
|
|
128
|
+
function replaceEnvironmentVariables(environment) {
|
|
129
|
+
var json = environment;
|
|
130
|
+
var jsonArray = isJSONArray(json), jsonObject = isJSONObject(json);
|
|
131
|
+
if (false) {
|
|
132
|
+
///
|
|
133
|
+
} else if (jsonArray) {
|
|
134
|
+
var array = json, length = array.length;
|
|
135
|
+
for(var index = 0; index < length; index++){
|
|
136
|
+
var json1 = array[index], jsonString = isJSONString(json1);
|
|
137
|
+
if (jsonString) {
|
|
138
|
+
var string = json1, value = replaceEnvironmentVariable(string);
|
|
139
|
+
if (value !== null) {
|
|
140
|
+
array[index] = value;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
} else if (jsonObject) {
|
|
145
|
+
var object = json; ///
|
|
146
|
+
for(var name in object){
|
|
147
|
+
var json2 = object[name], jsonString1 = isJSONString(json2);
|
|
148
|
+
if (jsonString1) {
|
|
149
|
+
var string1 = json2, value1 = replaceEnvironmentVariable(string1); ///
|
|
150
|
+
if (value1 !== null) {
|
|
151
|
+
object[name] = value1;
|
|
152
|
+
}
|
|
153
|
+
} else {
|
|
154
|
+
replaceEnvironmentVariables(json2);
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
function isJSONArray(json) {
|
|
160
|
+
var jsonArray = _instanceof(json, Array);
|
|
161
|
+
return jsonArray;
|
|
162
|
+
}
|
|
163
|
+
function isJSONObject(json) {
|
|
164
|
+
var jsonArray = isJSONArray(json), jsonPrimitive = isJSONPrimitive(json), jsonObject = !jsonArray && !jsonPrimitive;
|
|
165
|
+
return jsonObject;
|
|
166
|
+
}
|
|
167
|
+
function isJSONString(json) {
|
|
168
|
+
var jsonString = (typeof json === "undefined" ? "undefined" : _typeof(json)) === _constants.STRING;
|
|
169
|
+
return jsonString;
|
|
170
|
+
}
|
|
171
|
+
function isJSONNumber(json) {
|
|
172
|
+
var jsonNumber = (typeof json === "undefined" ? "undefined" : _typeof(json)) === _constants.NUMBER;
|
|
173
|
+
return jsonNumber;
|
|
174
|
+
}
|
|
175
|
+
function isJSONBoolean(json) {
|
|
176
|
+
var jsonBoolean = (typeof json === "undefined" ? "undefined" : _typeof(json)) === _constants.BOOLEAN;
|
|
177
|
+
return jsonBoolean;
|
|
178
|
+
}
|
|
179
|
+
function isJSONPrimitive(json) {
|
|
180
|
+
var jsonString = isJSONString(json), jsonNumber = isJSONNumber(json), jsonBoolean = isJSONBoolean(json), jsonPrimitive = jsonString || jsonNumber || jsonBoolean;
|
|
181
|
+
return jsonPrimitive;
|
|
182
|
+
}
|
|
183
|
+
function isStringUpperCase(string) {
|
|
184
|
+
var upperCaseString = string.toUpperCase(), stringUpperCase = string === upperCaseString;
|
|
185
|
+
return stringUpperCase;
|
|
108
186
|
}
|
|
109
187
|
|
|
110
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvY29uZmlndXJhdGlvbi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgZmlyc3QsIHNlY29uZCB9IGZyb20gXCIuLi91dGlsaXRpZXMvYXJyYXlcIjtcbmltcG9ydCB7IERFRkFVTFRfUkNfQkFTRV9FWFRFTlNJT04gfSBmcm9tIFwiLi4vZGVmYXVsdHNcIjtcbmltcG9ydCB7IHJlYWRGaWxlLCB3cml0ZUZpbGUsIGNoZWNrRmlsZUV4aXN0cyB9IGZyb20gXCIuLi91dGlsaXRpZXMvZmlsZVN5c3RlbVwiO1xuXG5pZiAoIWdsb2JhbFRoaXMucmMpIHtcbiAgZ2xvYmFsVGhpcy5yYyA9IF9yYztcbn1cblxuY29uc3QgeyByYyB9ID0gZ2xvYmFsVGhpcztcblxuZXhwb3J0IGRlZmF1bHQge1xuICByY1xufTtcblxubGV0IGJhc2VFeHRlbnNpb24gPSBERUZBVUxUX1JDX0JBU0VfRVhURU5TSU9OO1xuXG5mdW5jdGlvbiBfcmMoZW52aXJvbm1lbnROYW1lT3JBcmd2ID0gbnVsbCkge1xuICBsZXQgZW52aXJvbm1lbnQsXG4gICAgICBlbnZpcm9ubWVudE5hbWUsXG4gICAgICBlbnZpcm9ubWVudE5hbWVPckFyZ3ZBcmd2ID0gKGVudmlyb25tZW50TmFtZU9yQXJndiBpbnN0YW5jZW9mIEFycmF5KTtcblxuICBpZiAoZW52aXJvbm1lbnROYW1lT3JBcmd2QXJndikge1xuICAgIGNvbnN0IGFyZ3YgPSBlbnZpcm9ubWVudE5hbWVPckFyZ3Y7IC8vL1xuXG4gICAgZW52aXJvbm1lbnROYW1lID0gZW52aXJvbm1lbnROYW1lRnJvbUFyZ3YoYXJndik7XG4gIH0gZWxzZSB7XG4gICAgZW52aXJvbm1lbnROYW1lID0gZW52aXJvbm1lbnROYW1lT3JBcmd2OyAgLy8vXG4gIH1cblxuICBjb25zdCBqc29uID0gcmVhZFJDRmlsZSgpLFxuICAgICAgICB7IGVudmlyb25tZW50cyB9ID0ganNvbjtcblxuICBpZiAoZW52aXJvbm1lbnROYW1lID09PSBudWxsKSB7XG4gICAgY29uc3QgZmlyc3RFbnZpcm9ubWVudCA9IGZpcnN0KGVudmlyb25tZW50cyk7XG5cbiAgICBlbnZpcm9ubWVudCA9IGZpcnN0RW52aXJvbm1lbnQ7IC8vL1xuICB9IGVsc2Uge1xuICAgIGVudmlyb25tZW50ID0gZW52aXJvbm1lbnRzLmZpbmQoKGVudmlyb25tZW50KSA9PiB7XG4gICAgICBjb25zdCB7IG5hbWUgfSA9IGVudmlyb25tZW50LFxuICAgICAgICAgICAgZm91bmQgPSAobmFtZSA9PT0gZW52aXJvbm1lbnROYW1lKTtcblxuICAgICAgcmV0dXJuIGZvdW5kO1xuICAgIH0pO1xuICB9XG5cbiAgZGVsZXRlIGVudmlyb25tZW50Lm5hbWU7XG5cbiAgT2JqZWN0LmFzc2lnbihyYywgZW52aXJvbm1lbnQpO1xuXG4gIHJldHVybiBlbnZpcm9ubWVudDtcbn1cblxuZnVuY3Rpb24gcmVhZFJDRmlsZSgpIHtcbiAgY29uc3QgcmNGaWxlUGF0aCA9IHJjRmlsZVBhdGhGcm9tTm90aGluZygpLFxuICAgICAgICByY0ZpbGVDb250ZW50ID0gcmVhZEZpbGUocmNGaWxlUGF0aCksXG4gICAgICAgIGpzb24gPSBKU09OLnBhcnNlKHJjRmlsZUNvbnRlbnQpO1xuXG4gIHJldHVybiBqc29uOyAgICAgIFxufVxuXG5mdW5jdGlvbiB3cml0ZVJDRmlsZShqc29uKSB7XG4gIGNvbnN0IHJjRmlsZVBhdGggPSByY0ZpbGVQYXRoRnJvbU5vdGhpbmcoKSxcbiAgICAgICAgcmRGaWxlQ29udGVudCA9IEpTT04uc3RyaW5naWZ5KGpzb24sIG51bGwsIFwiICBcIik7XG5cbiAgd3JpdGVGaWxlKHJjRmlsZVBhdGgsIHJkRmlsZUNvbnRlbnQpO1xufVxuXG5mdW5jdGlvbiB1cGRhdGVSQ0ZpbGUoYWRkZWRQcm9wZXJ0aWVzLCAuLi5kZWxldGVkUHJvcGVydHlOYW1lcykge1xuICBsZXQganNvbiA9IHJlYWRSQ0ZpbGUoKTtcblxuICBpZiAoYWRkZWRQcm9wZXJ0aWVzKSB7XG4gICAgT2JqZWN0LmFzc2lnbihqc29uLCBhZGRlZFByb3BlcnRpZXMpO1xuICB9XG5cbiAgZGVsZXRlZFByb3BlcnR5TmFtZXMuZm9yRWFjaCgoZGVsZXRlZFByb3BlcnR5TmFtZSkgPT4ge1xuICAgIGRlbGV0ZSBqc29uW2RlbGV0ZWRQcm9wZXJ0eU5hbWVdO1xuICB9KTtcblxuICB3cml0ZVJDRmlsZShqc29uKTsgICAgICBcbn1cblxuZnVuY3Rpb24gY2hlY2tSQ0ZpbGVFeGlzdHMoKSB7XG4gIGNvbnN0IHJjRmlsZVBhdGggPSByY0ZpbGVQYXRoRnJvbU5vdGhpbmcoKSxcbiAgICAgICAgcmNGaWxlRXhpc3RzID0gY2hlY2tGaWxlRXhpc3RzKHJjRmlsZVBhdGgpO1xuXG4gIHJldHVybiByY0ZpbGVFeGlzdHM7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZVZhY3VvdXNSQ0ZpbGUoKSB7XG4gIGNvbnN0IGpzb24gPSB7XG4gICAgXCJlbnZpcm9ubWVudHNcIjogW1xuICAgICAge31cbiAgICBdXG4gIH07XG5cbiAgd3JpdGVSQ0ZpbGUoanNvbik7XG59XG5cbmZ1bmN0aW9uIHNldFJDQmFzZUV4dGVuc2lvbihyY0Jhc2VFeHRlbnNpb24pIHsgYmFzZUV4dGVuc2lvbiA9IHJjQmFzZUV4dGVuc2lvbjsgfVxuXG5PYmplY3QuYXNzaWduKF9yYywge1xuICByZWFkUkNGaWxlLFxuICB3cml0ZVJDRmlsZSxcbiAgdXBkYXRlUkNGaWxlLFxuICBjaGVja1JDRmlsZUV4aXN0cyxcbiAgY3JlYXRlVmFjdW91c1JDRmlsZSxcbiAgc2V0UkNCYXNlRXh0ZW5zaW9uXG59KTtcblxuZnVuY3Rpb24gZW52aXJvbm1lbnROYW1lRnJvbUFyZ3YoYXJndikge1xuICBsZXQgZW52aXJvbm1lbnROYW1lID0gbnVsbDtcblxuICBhcmd2LmZpbmQoKGFyZ3VtZW50KSA9PiB7ICAvLy9cbiAgICBjb25zdCBtYXRjaGVzID0gYXJndW1lbnQubWF0Y2goLy0tZW52aXJvbm1lbnQ9KC4rKS8pLFxuICAgICAgICAgIGZvdW5kID0gKG1hdGNoZXMgIT09IG51bGwpO1xuXG4gICAgaWYgKGZvdW5kKSB7XG4gICAgICBjb25zdCBzZWNvbmRNYXRjaCA9IHNlY29uZChtYXRjaGVzKTtcblxuICAgICAgZW52aXJvbm1lbnROYW1lID0gc2Vjb25kTWF0Y2g7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZvdW5kO1xuICB9KTtcblxuICByZXR1cm4gZW52aXJvbm1lbnROYW1lO1xufVxuXG5mdW5jdGlvbiByY0ZpbGVQYXRoRnJvbU5vdGhpbmcoKSB7XG4gIGNvbnN0IHJjRmlsZVBhdGggPSBgLi8uJHtiYXNlRXh0ZW5zaW9ufXJjYDtcblxuICByZXR1cm4gcmNGaWxlUGF0aDtcbn1cbiJdLCJuYW1lcyI6WyJnbG9iYWxUaGlzIiwicmMiLCJfcmMiLCJiYXNlRXh0ZW5zaW9uIiwiZW52aXJvbm1lbnROYW1lT3JBcmd2IiwiZW52aXJvbm1lbnQiLCJlbnZpcm9ubWVudE5hbWUiLCJlbnZpcm9ubWVudE5hbWVPckFyZ3ZBcmd2IiwiQXJyYXkiLCJhcmd2IiwiZW52aXJvbm1lbnROYW1lRnJvbUFyZ3YiLCJqc29uIiwicmVhZFJDRmlsZSIsImVudmlyb25tZW50cyIsImZpcnN0RW52aXJvbm1lbnQiLCJmaW5kIiwibmFtZSIsImZvdW5kIiwiT2JqZWN0IiwiYXNzaWduIiwicmNGaWxlUGF0aCIsInJjRmlsZVBhdGhGcm9tTm90aGluZyIsInJjRmlsZUNvbnRlbnQiLCJKU09OIiwicGFyc2UiLCJ3cml0ZVJDRmlsZSIsInJkRmlsZUNvbnRlbnQiLCJzdHJpbmdpZnkiLCJ1cGRhdGVSQ0ZpbGUiLCJhZGRlZFByb3BlcnRpZXMiLCJkZWxldGVkUHJvcGVydHlOYW1lcyIsImZvckVhY2giLCJkZWxldGVkUHJvcGVydHlOYW1lIiwiY2hlY2tSQ0ZpbGVFeGlzdHMiLCJyY0ZpbGVFeGlzdHMiLCJjcmVhdGVWYWN1b3VzUkNGaWxlIiwic2V0UkNCYXNlRXh0ZW5zaW9uIiwicmNCYXNlRXh0ZW5zaW9uIiwiYXJndW1lbnQi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
|
|
188
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvY29uZmlndXJhdGlvbi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgZmlyc3QsIHNlY29uZCB9IGZyb20gXCIuLi91dGlsaXRpZXMvYXJyYXlcIjtcbmltcG9ydCB7IERFRkFVTFRfUkNfQkFTRV9FWFRFTlNJT04gfSBmcm9tIFwiLi4vZGVmYXVsdHNcIjtcbmltcG9ydCB7IFNUUklORywgTlVNQkVSLCBCT09MRUFOLCBFTlZJUk9OTUVOVCB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IHJlYWRGaWxlLCB3cml0ZUZpbGUsIGNoZWNrRmlsZUV4aXN0cyB9IGZyb20gXCIuLi91dGlsaXRpZXMvZmlsZVN5c3RlbVwiO1xuXG5pZiAoIWdsb2JhbFRoaXMucmMpIHtcbiAgZ2xvYmFsVGhpcy5yYyA9IF9yYztcbn1cblxuY29uc3QgeyByYyB9ID0gZ2xvYmFsVGhpcztcblxuZXhwb3J0IGRlZmF1bHQge1xuICByY1xufTtcblxubGV0IGJhc2VFeHRlbnNpb24gPSBERUZBVUxUX1JDX0JBU0VfRVhURU5TSU9OO1xuXG5mdW5jdGlvbiBfcmMoZW52aXJvbm1lbnROYW1lKSB7XG4gIGVudmlyb25tZW50TmFtZSA9IGVudmlyb25tZW50TmFtZSB8fCBlbnZpcm9ubWVudE5hbWVGcm9tQXJndigpIHx8IGVudmlyb25tZW50TmFtZUZyb21FbnYoKTsgLy8vXG5cbiAgbGV0IGpzb24gPSByZWFkUkNGaWxlKCk7XG5cbiAgY29uc3QgZW52aXJvbm1lbnQgPSBmaW5kRW52aXJvbm1lbnQoanNvbiwgZW52aXJvbm1lbnROYW1lKTtcblxuICBqc29uID0gZW52aXJvbm1lbnQ7IC8vL1xuXG4gIHJlcGxhY2VFbnZpcm9ubWVudFZhcmlhYmxlcyhqc29uKTtcblxuICBPYmplY3QuYXNzaWduKHJjLCBlbnZpcm9ubWVudCk7XG59XG5cbmZ1bmN0aW9uIHJlYWRSQ0ZpbGUoKSB7XG4gIGNvbnN0IHJjRmlsZVBhdGggPSByY0ZpbGVQYXRoRnJvbU5vdGhpbmcoKSxcbiAgICAgICAgcmNGaWxlQ29udGVudCA9IHJlYWRGaWxlKHJjRmlsZVBhdGgpLFxuICAgICAgICBqc29uID0gSlNPTi5wYXJzZShyY0ZpbGVDb250ZW50KTtcblxuICByZXR1cm4ganNvbjsgICAgICBcbn1cblxuZnVuY3Rpb24gd3JpdGVSQ0ZpbGUoanNvbikge1xuICBjb25zdCByY0ZpbGVQYXRoID0gcmNGaWxlUGF0aEZyb21Ob3RoaW5nKCksXG4gICAgICAgIHJkRmlsZUNvbnRlbnQgPSBKU09OLnN0cmluZ2lmeShqc29uLCBudWxsLCBcIiAgXCIpO1xuXG4gIHdyaXRlRmlsZShyY0ZpbGVQYXRoLCByZEZpbGVDb250ZW50KTtcbn1cblxuZnVuY3Rpb24gdXBkYXRlUkNGaWxlKGFkZGVkUHJvcGVydGllcywgLi4uZGVsZXRlZFByb3BlcnR5TmFtZXMpIHtcbiAgbGV0IGpzb24gPSByZWFkUkNGaWxlKCk7XG5cbiAgaWYgKGFkZGVkUHJvcGVydGllcykge1xuICAgIE9iamVjdC5hc3NpZ24oanNvbiwgYWRkZWRQcm9wZXJ0aWVzKTtcbiAgfVxuXG4gIGRlbGV0ZWRQcm9wZXJ0eU5hbWVzLmZvckVhY2goKGRlbGV0ZWRQcm9wZXJ0eU5hbWUpID0+IHtcbiAgICBkZWxldGUganNvbltkZWxldGVkUHJvcGVydHlOYW1lXTtcbiAgfSk7XG5cbiAgd3JpdGVSQ0ZpbGUoanNvbik7ICAgICAgXG59XG5cbmZ1bmN0aW9uIGNoZWNrUkNGaWxlRXhpc3RzKCkge1xuICBjb25zdCByY0ZpbGVQYXRoID0gcmNGaWxlUGF0aEZyb21Ob3RoaW5nKCksXG4gICAgICAgIHJjRmlsZUV4aXN0cyA9IGNoZWNrRmlsZUV4aXN0cyhyY0ZpbGVQYXRoKTtcblxuICByZXR1cm4gcmNGaWxlRXhpc3RzO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVWYWN1b3VzUkNGaWxlKCkge1xuICBjb25zdCBqc29uID0ge1xuICAgIFwiZW52aXJvbm1lbnRzXCI6IFtcbiAgICAgIHt9XG4gICAgXVxuICB9O1xuXG4gIHdyaXRlUkNGaWxlKGpzb24pO1xufVxuXG5mdW5jdGlvbiBzZXRSQ0Jhc2VFeHRlbnNpb24ocmNCYXNlRXh0ZW5zaW9uKSB7IGJhc2VFeHRlbnNpb24gPSByY0Jhc2VFeHRlbnNpb247IH1cblxuT2JqZWN0LmFzc2lnbihfcmMsIHtcbiAgcmVhZFJDRmlsZSxcbiAgd3JpdGVSQ0ZpbGUsXG4gIHVwZGF0ZVJDRmlsZSxcbiAgY2hlY2tSQ0ZpbGVFeGlzdHMsXG4gIGNyZWF0ZVZhY3VvdXNSQ0ZpbGUsXG4gIHNldFJDQmFzZUV4dGVuc2lvblxufSk7XG5cbmZ1bmN0aW9uIGZpbmRFbnZpcm9ubWVudChqc29uLCBlbnZpcm9ubWVudE5hbWUpIHtcbiAgbGV0IGVudmlyb25tZW50O1xuICBjb25zdCB7IGVudmlyb25tZW50cyB9ID0ganNvbjtcblxuICBpZiAoZW52aXJvbm1lbnROYW1lID09PSBudWxsKSB7XG4gICAgY29uc3QgZmlyc3RFbnZpcm9ubWVudCA9IGZpcnN0KGVudmlyb25tZW50cyk7XG5cbiAgICBlbnZpcm9ubWVudCA9IGZpcnN0RW52aXJvbm1lbnQ7IC8vL1xuICB9IGVsc2Uge1xuICAgIGVudmlyb25tZW50ID0gZW52aXJvbm1lbnRzLmZpbmQoKGVudmlyb25tZW50KSA9PiB7XG4gICAgICBjb25zdCB7IG5hbWUgfSA9IGVudmlyb25tZW50O1xuXG4gICAgICBpZihuYW1lID09PSBlbnZpcm9ubWVudE5hbWUpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBkZWxldGUgZW52aXJvbm1lbnQubmFtZVxuXG4gIHJldHVybiBlbnZpcm9ubWVudDtcbn1cblxuZnVuY3Rpb24gcmNGaWxlUGF0aEZyb21Ob3RoaW5nKCkge1xuICBjb25zdCByY0ZpbGVQYXRoID0gYC4vLiR7YmFzZUV4dGVuc2lvbn1yY2A7XG5cbiAgcmV0dXJuIHJjRmlsZVBhdGg7XG59XG5cbmZ1bmN0aW9uIGVudmlyb25tZW50TmFtZUZyb21FbnYoKSB7XG4gIGNvbnN0IGVudmlyb25tZW50TmFtZSA9IHByb2Nlc3MuZW52W0VOVklST05NRU5UXSB8fCBudWxsO1xuXG4gIHJldHVybiBlbnZpcm9ubWVudE5hbWU7XG59XG5cbmZ1bmN0aW9uIGVudmlyb25tZW50TmFtZUZyb21Bcmd2KCkge1xuICBsZXQgZW52aXJvbm1lbnROYW1lID0gbnVsbDtcblxuICBwcm9jZXNzLmFyZ3YuZmluZCgoYXJndW1lbnQpID0+IHsgIC8vL1xuICAgIGNvbnN0IG1hdGNoZXMgPSBhcmd1bWVudC5tYXRjaCgvLS1lbnZpcm9ubWVudD0oLispLyksXG4gICAgICAgICAgZm91bmQgPSAobWF0Y2hlcyAhPT0gbnVsbCk7XG5cbiAgICBpZiAoZm91bmQpIHtcbiAgICAgIGNvbnN0IHNlY29uZE1hdGNoID0gc2Vjb25kKG1hdGNoZXMpO1xuXG4gICAgICBlbnZpcm9ubWVudE5hbWUgPSBzZWNvbmRNYXRjaDtcbiAgICB9XG5cbiAgICByZXR1cm4gZm91bmQ7XG4gIH0pO1xuXG4gIHJldHVybiBlbnZpcm9ubWVudE5hbWU7XG59XG5cbmZ1bmN0aW9uIHJlcGxhY2VFbnZpcm9ubWVudFZhcmlhYmxlKHN0cmluZykge1xuICBsZXQgdmFsdWUgPSBudWxsO1xuXG4gIGNvbnN0IHN0cmluZ1VwcGVyQ2FzZSA9IGlzU3RyaW5nVXBwZXJDYXNlKHN0cmluZyk7XG5cbiAgaWYgKHN0cmluZ1VwcGVyQ2FzZSkge1xuICAgIGNvbnN0IG5hbWUgPSBzdHJpbmc7ICAvLy9cblxuICAgIHZhbHVlID0gcHJvY2Vzcy5lbnZbbmFtZV0gfHwgbnVsbDtcbiAgfVxuXG4gIHJldHVybiB2YWx1ZTtcbn1cblxuZnVuY3Rpb24gcmVwbGFjZUVudmlyb25tZW50VmFyaWFibGVzKGVudmlyb25tZW50KSB7XG4gIGxldCBqc29uID0gZW52aXJvbm1lbnQ7XG5cbiAgY29uc3QganNvbkFycmF5ID0gaXNKU09OQXJyYXkoanNvbiksXG4gICAgICAgIGpzb25PYmplY3QgPSBpc0pTT05PYmplY3QoanNvbik7XG5cbiAgaWYgKGZhbHNlKSB7XG4gICAgLy8vXG4gIH0gZWxzZSBpZiAoanNvbkFycmF5KSB7XG4gICAgY29uc3QgYXJyYXkgPSBqc29uLFxuICAgICAgICAgIGxlbmd0aCA9IGFycmF5Lmxlbmd0aDtcblxuICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBsZW5ndGg7IGluZGV4KyspIHtcbiAgICAgIGNvbnN0IGpzb24gPSBhcnJheVtpbmRleF0sXG4gICAgICAgICAgICBqc29uU3RyaW5nID0gaXNKU09OU3RyaW5nKGpzb24pO1xuXG4gICAgICBpZiAoanNvblN0cmluZykge1xuICAgICAgICBjb25zdCBzdHJpbmcgPSBqc29uLFxuICAgICAgICAgICAgICB2YWx1ZSA9IHJlcGxhY2VFbnZpcm9ubWVudFZhcmlhYmxlKHN0cmluZyk7XG5cbiAgICAgICAgaWYgKHZhbHVlICE9PSBudWxsKSB7XG4gICAgICAgICAgYXJyYXlbaW5kZXhdID0gdmFsdWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH0gZWxzZSBpZiAoanNvbk9iamVjdCkge1xuICAgIGNvbnN0IG9iamVjdCA9IGpzb247ICAvLy9cblxuICAgIGZvciAobGV0IG5hbWUgaW4gb2JqZWN0KSB7XG4gICAgICBjb25zdCBqc29uID0gb2JqZWN0W25hbWVdLFxuICAgICAgICAgICAganNvblN0cmluZyA9IGlzSlNPTlN0cmluZyhqc29uKTtcblxuICAgICAgaWYgKGpzb25TdHJpbmcpIHtcbiAgICAgICAgY29uc3Qgc3RyaW5nID0ganNvbiwgIC8vL1xuICAgICAgICAgICAgICB2YWx1ZSA9IHJlcGxhY2VFbnZpcm9ubWVudFZhcmlhYmxlKHN0cmluZyk7ICAvLy9cblxuICAgICAgICBpZiAodmFsdWUgIT09IG51bGwpIHtcbiAgICAgICAgICBvYmplY3RbbmFtZV0gPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlICB7XG4gICAgICAgIHJlcGxhY2VFbnZpcm9ubWVudFZhcmlhYmxlcyhqc29uKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gaXNKU09OQXJyYXkoanNvbikge1xuICBjb25zdCBqc29uQXJyYXkgPSAoanNvbiBpbnN0YW5jZW9mIEFycmF5KTtcblxuICByZXR1cm4ganNvbkFycmF5O1xufVxuXG5mdW5jdGlvbiBpc0pTT05PYmplY3QoanNvbikge1xuICBjb25zdCBqc29uQXJyYXkgPSBpc0pTT05BcnJheShqc29uKSxcbiAgICAgICAganNvblByaW1pdGl2ZSA9IGlzSlNPTlByaW1pdGl2ZShqc29uKSxcbiAgICAgICAganNvbk9iamVjdCA9ICghanNvbkFycmF5ICYmICEganNvblByaW1pdGl2ZSk7XG5cbiAgcmV0dXJuIGpzb25PYmplY3Q7XG59XG5cbmZ1bmN0aW9uIGlzSlNPTlN0cmluZyhqc29uKSB7XG4gIGNvbnN0IGpzb25TdHJpbmcgPSAodHlwZW9mIGpzb24gPT09IFNUUklORyk7XG5cbiAgcmV0dXJuIGpzb25TdHJpbmc7XG59XG5cbmZ1bmN0aW9uIGlzSlNPTk51bWJlcihqc29uKSB7XG4gIGNvbnN0IGpzb25OdW1iZXIgPSAodHlwZW9mIGpzb24gPT09IE5VTUJFUik7XG5cbiAgcmV0dXJuIGpzb25OdW1iZXI7XG59XG5cbmZ1bmN0aW9uIGlzSlNPTkJvb2xlYW4oanNvbikge1xuICBjb25zdCBqc29uQm9vbGVhbiA9ICh0eXBlb2YganNvbiA9PT0gQk9PTEVBTik7XG5cbiAgcmV0dXJuIGpzb25Cb29sZWFuO1xufVxuXG5mdW5jdGlvbiBpc0pTT05QcmltaXRpdmUoanNvbikge1xuICBjb25zdCBqc29uU3RyaW5nID0gaXNKU09OU3RyaW5nKGpzb24pLFxuICAgICAgICBqc29uTnVtYmVyID0gaXNKU09OTnVtYmVyKGpzb24pLFxuICAgICAgICBqc29uQm9vbGVhbiA9IGlzSlNPTkJvb2xlYW4oanNvbiksXG4gICAgICAgIGpzb25QcmltaXRpdmUgPSAoanNvblN0cmluZyB8fCBqc29uTnVtYmVyIHx8IGpzb25Cb29sZWFuKTtcblxuICByZXR1cm4ganNvblByaW1pdGl2ZTtcbn1cblxuZnVuY3Rpb24gaXNTdHJpbmdVcHBlckNhc2Uoc3RyaW5nKSB7XG4gIGNvbnN0IHVwcGVyQ2FzZVN0cmluZyA9IHN0cmluZy50b1VwcGVyQ2FzZSgpLFxuICAgICAgICBzdHJpbmdVcHBlckNhc2UgPSAoc3RyaW5nID09PSB1cHBlckNhc2VTdHJpbmcpO1xuXG4gIHJldHVybiBzdHJpbmdVcHBlckNhc2U7XG59XG4iXSwibmFtZXMiOlsiZ2xvYmFsVGhpcyIsInJjIiwiX3JjIiwiYmFzZUV4dGVuc2lvbiIsImVudmlyb25tZW50TmFtZSIsImVudmlyb25tZW50TmFtZUZyb21Bcmd2IiwiZW52aXJvbm1lbnROYW1lRnJvbUVudiIsImpzb24iLCJyZWFkUkNGaWxlIiwiZW52aXJvbm1lbnQiLCJmaW5kRW52aXJvbm1lbnQiLCJyZXBsYWNlRW52aXJvbm1lbnRWYXJpYWJsZXMiLCJPYmplY3QiLCJhc3NpZ24iLCJyY0ZpbGVQYXRoIiwicmNGaWxlUGF0aEZyb21Ob3RoaW5nIiwicmNGaWxlQ29udGVudCIsIkpTT04iLCJwYXJzZSIsIndyaXRlUkNGaWxlIiwicmRGaWxlQ29udGVudCIsInN0cmluZ2lmeSIsInVwZGF0ZVJDRmlsZSIsImFkZGVkUHJvcGVydGllcyIsImRlbGV0ZWRQcm9wZXJ0eU5hbWVzIiwiZm9yRWFjaCIsImRlbGV0ZWRQcm9wZXJ0eU5hbWUiLCJjaGVja1JDRmlsZUV4aXN0cyIsInJjRmlsZUV4aXN0cyIsImNyZWF0ZVZhY3VvdXNSQ0ZpbGUiLCJzZXRSQ0Jhc2VFeHRlbnNpb24iLCJyY0Jhc2VFeHRlbnNpb24iLCJlbnZpcm9ubWVudHMiLCJmaXJzdEVudmlyb25tZW50IiwiZmluZCIsIm5hbWUiLCJwcm9jZXNzIiwiZW52IiwiYXJndiIsImFyZ3VtZW50IiwibWF0Y2hlcyIsIm1hdGNoIiwiZm91bmQiLCJzZWNvbmRNYXRjaCIsInJlcGxhY2VFbnZpcm9ubWVudFZhcmlhYmxlIiwic3RyaW5nIiwidmFsdWUiLCJzdHJpbmdVcHBlckNhc2UiLCJpc1N0cmluZ1VwcGVyQ2FzZSIsImpzb25BcnJheSIsImlzSlNPTkFycmF5IiwianNvbk9iamVjdCIsImlzSlNPTk9iamVjdCIsImFycmF5IiwibGVuZ3RoIiwiaW5kZXgiLCJqc29uU3RyaW5nIiwiaXNKU09OU3RyaW5nIiwib2JqZWN0IiwiQXJyYXkiLCJqc29uUHJpbWl0aXZlIiwiaXNKU09OUHJpbWl0aXZlIiwiaXNKU09OTnVtYmVyIiwianNvbk51bWJlciIsImlzSlNPTkJvb2xlYW4iLCJqc29uQm9vbGVhbiIsInVwcGVyQ2FzZVN0cmluZyIsInRvVXBwZXJDYXNlIl0sIm1hcHBpbmdzIjoiQUFBQSxDQUFZOzs7OztBQUVrQixHQUFvQixDQUFwQixNQUFvQjtBQUNSLEdBQWEsQ0FBYixTQUFhO0FBQ0YsR0FBYyxDQUFkLFVBQWM7QUFDZCxHQUF5QixDQUF6QixXQUF5Qjs7Ozs7Ozs7Ozs7QUFFOUUsRUFBRSxHQUFHQSxVQUFVLENBQUNDLEVBQUUsRUFBRSxDQUFDO0lBQ25CRCxVQUFVLENBQUNDLEVBQUUsR0FBR0MsR0FBRztBQUNyQixDQUFDO0FBRUQsR0FBSyxDQUFHRCxFQUFFLEdBQUtELFVBQVUsQ0FBakJDLEVBQUU7ZUFFSyxDQUFDO0lBQ2RBLEVBQUUsRUFBRkEsRUFBRTtBQUNKLENBQUM7O0FBRUQsR0FBRyxDQUFDRSxhQUFhLEdBZHlCLFNBQWE7U0FnQjlDRCxHQUFHLENBQUNFLGVBQWUsRUFBRSxDQUFDO0lBQzdCQSxlQUFlLEdBQUdBLGVBQWUsSUFBSUMsdUJBQXVCLE1BQU1DLHNCQUFzQixHQUFJLENBQUcsQUFBSCxFQUFHLEFBQUgsQ0FBRztJQUUvRixHQUFHLENBQUNDLElBQUksR0FBR0MsVUFBVTtJQUVyQixHQUFLLENBQUNDLFdBQVcsR0FBR0MsZUFBZSxDQUFDSCxJQUFJLEVBQUVILGVBQWU7SUFFekRHLElBQUksR0FBR0UsV0FBVyxDQUFFLENBQUcsQUFBSCxFQUFHLEFBQUgsQ0FBRztJQUV2QkUsMkJBQTJCLENBQUNKLElBQUk7SUFFaENLLE1BQU0s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
|
|
@@ -65,8 +65,8 @@ function readDirectory(directoryPath) {
|
|
|
65
65
|
var subEntryNames = _fs.default.readdirSync(directoryPath);
|
|
66
66
|
return subEntryNames;
|
|
67
67
|
}
|
|
68
|
-
function readFile(filePath
|
|
69
|
-
var encoding =
|
|
68
|
+
function readFile(filePath) {
|
|
69
|
+
var encoding = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : _defaults.DEFAULT_ENCODING;
|
|
70
70
|
var options = {
|
|
71
71
|
encoding: encoding
|
|
72
72
|
}, content = _fs.default.readFileSync(filePath, options);
|
|
@@ -107,4 +107,4 @@ var _default = {
|
|
|
107
107
|
};
|
|
108
108
|
exports.default = _default;
|
|
109
109
|
|
|
110
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
110
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvZmlsZVN5c3RlbS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IGZzIGZyb20gXCJmc1wiO1xuXG5pbXBvcnQgeyBERUZBVUxUX0VOQ09ESU5HIH0gZnJvbSBcIi4uL2RlZmF1bHRzXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBjaGVja0VudHJ5RXhpc3RzKGVudHJ5UGF0aCkge1xuICBjb25zdCBlbnRyeUV4aXN0cyA9IGZzLmV4aXN0c1N5bmMoZW50cnlQYXRoKTtcblxuICByZXR1cm4gZW50cnlFeGlzdHM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjaGVja0ZpbGVFeGlzdHMoZmlsZVBhdGgpIHtcbiAgbGV0IGZpbGVFeGlzdHMgPSBmYWxzZTtcbiAgXG4gIGNvbnN0IGVudHJ5UGF0aCA9IGZpbGVQYXRoLCAvLy9cbiAgICAgICAgZW50cnlFeGlzdHMgPSBjaGVja0VudHJ5RXhpc3RzKGVudHJ5UGF0aCk7XG4gIFxuICBpZiAoZW50cnlFeGlzdHMpIHtcbiAgICBjb25zdCBlbnRyeUZpbGUgPSBpc0VudHJ5RmlsZShlbnRyeVBhdGgpO1xuICAgIFxuICAgIGlmIChlbnRyeUZpbGUpIHtcbiAgICAgIGZpbGVFeGlzdHMgPSB0cnVlO1xuICAgIH1cbiAgfVxuICBcbiAgcmV0dXJuIGZpbGVFeGlzdHM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjaGVja0RpcmVjdG9yeUV4aXN0cyhkaXJlY3RvcnlQYXRoKSB7XG4gIGxldCBkaXJlY3RvcnlFeGlzdHMgPSBmYWxzZTtcblxuICBjb25zdCBlbnRyeVBhdGggPSBkaXJlY3RvcnlQYXRoLCAvLy9cbiAgICAgICAgZW50cnlFeGlzdHMgPSBjaGVja0VudHJ5RXhpc3RzKGVudHJ5UGF0aCk7XG5cbiAgaWYgKGVudHJ5RXhpc3RzKSB7XG4gICAgY29uc3QgZW50cnlEaXJlY3RvcnkgPSBpc0VudHJ5RGlyZWN0b3J5KGVudHJ5UGF0aCk7XG5cbiAgICBpZiAoZW50cnlEaXJlY3RvcnkpIHtcbiAgICAgIGRpcmVjdG9yeUV4aXN0cyA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGRpcmVjdG9yeUV4aXN0cztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzRW50cnlGaWxlKGVudHJ5UGF0aCkge1xuICBjb25zdCBzdGF0ID0gZnMuc3RhdFN5bmMoZW50cnlQYXRoKSxcbiAgICAgICAgZW50cnlEaXJlY3RvcnkgPSBzdGF0LmlzRGlyZWN0b3J5KCksXG4gICAgICAgIGVudHJ5RmlsZSA9ICFlbnRyeURpcmVjdG9yeTtcblxuICByZXR1cm4gZW50cnlGaWxlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNFbnRyeURpcmVjdG9yeShlbnRyeVBhdGgpIHtcbiAgY29uc3Qgc3RhdCA9IGZzLnN0YXRTeW5jKGVudHJ5UGF0aCksXG4gICAgICAgIGVudHJ5RGlyZWN0b3J5ID0gc3RhdC5pc0RpcmVjdG9yeSgpO1xuXG4gIHJldHVybiBlbnRyeURpcmVjdG9yeTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzRGlyZWN0b3J5RW1wdHkoZGlyZWN0b3J5UGF0aCkge1xuICBjb25zdCBzdWJFbnRyeU5hbWVzID0gcmVhZERpcmVjdG9yeShkaXJlY3RvcnlQYXRoKSxcbiAgICAgICAgc3ViRW50cnlOYW1lc0xlbmd0aCA9IHN1YkVudHJ5TmFtZXMubGVuZ3RoLFxuICAgICAgICBkaXJlY3RvcnlFbXB0eSA9IChzdWJFbnRyeU5hbWVzTGVuZ3RoID09PSAwKTtcblxuICByZXR1cm4gZGlyZWN0b3J5RW1wdHk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZWFkRGlyZWN0b3J5KGRpcmVjdG9yeVBhdGgpIHtcbiAgY29uc3Qgc3ViRW50cnlOYW1lcyA9IGZzLnJlYWRkaXJTeW5jKGRpcmVjdG9yeVBhdGgpO1xuXG4gIHJldHVybiBzdWJFbnRyeU5hbWVzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVhZEZpbGUoZmlsZVBhdGgsIGVuY29kaW5nID0gREVGQVVMVF9FTkNPRElORykge1xuICBjb25zdCBvcHRpb25zID0ge1xuICAgICAgICAgIGVuY29kaW5nXG4gICAgICAgIH0sXG4gICAgICAgIGNvbnRlbnQgPSBmcy5yZWFkRmlsZVN5bmMoZmlsZVBhdGgsIG9wdGlvbnMpO1xuXG4gIHJldHVybiBjb250ZW50O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gd3JpdGVGaWxlKGZpbGVQYXRoLCBjb250ZW50KSB7XG4gIGZzLndyaXRlRmlsZVN5bmMoZmlsZVBhdGgsIGNvbnRlbnQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYXBwZW5kVG9GaWxlKGZpbGVQYXRoLCBjb250ZW50KSB7XG4gIGZzLmFwcGVuZEZpbGVTeW5jKGZpbGVQYXRoLCBjb250ZW50KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZURpcmVjdG9yeShkaXJlY3RvcnlQYXRoKSB7XG4gIGNvbnN0IHJlY3Vyc2l2ZSA9IHRydWUsXG4gICAgICAgIG9wdGlvbnMgPSB7XG4gICAgICAgICAgcmVjdXJzaXZlXG4gICAgICAgIH07XG5cbiAgZnMubWtkaXJTeW5jKGRpcmVjdG9yeVBhdGgsIG9wdGlvbnMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVuYW1lRmlsZShvbGRGaWxlUGF0aCwgbmV3RmlsZVBhdGgpIHtcbiAgZnMucmVuYW1lU3luYyhvbGRGaWxlUGF0aCwgbmV3RmlsZVBhdGgpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U3RhdHMoZmlsZVBhdGgpIHtcbiAgcmV0dXJuIGZzLnN0YXRTeW5jKGZpbGVQYXRoKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQge1xuICBjaGVja0VudHJ5RXhpc3RzLFxuICBjaGVja0ZpbGVFeGlzdHMsXG4gIGNoZWNrRGlyZWN0b3J5RXhpc3RzLFxuICBpc0VudHJ5RmlsZSxcbiAgaXNFbnRyeURpcmVjdG9yeSxcbiAgaXNEaXJlY3RvcnlFbXB0eSxcbiAgcmVhZERpcmVjdG9yeSxcbiAgcmVhZEZpbGUsXG4gIHdyaXRlRmlsZSxcbiAgYXBwZW5kVG9GaWxlLFxuICBjcmVhdGVEaXJlY3RvcnksXG4gIHJlbmFtZUZpbGUsXG4gIGdldFN0YXRzXG59O1xuIl0sIm5hbWVzIjpbImNoZWNrRW50cnlFeGlzdHMiLCJjaGVja0ZpbGVFeGlzdHMiLCJjaGVja0RpcmVjdG9yeUV4aXN0cyIsImlzRW50cnlGaWxlIiwiaXNFbnRyeURpcmVjdG9yeSIsImlzRGlyZWN0b3J5RW1wdHkiLCJyZWFkRGlyZWN0b3J5IiwicmVhZEZpbGUiLCJ3cml0ZUZpbGUiLCJhcHBlbmRUb0ZpbGUiLCJjcmVhdGVEaXJlY3RvcnkiLCJyZW5hbWVGaWxlIiwiZ2V0U3RhdHMiLCJlbnRyeVBhdGgiLCJlbnRyeUV4aXN0cyIsImV4aXN0c1N5bmMiLCJmaWxlUGF0aCIsImZpbGVFeGlzdHMiLCJlbnRyeUZpbGUiLCJkaXJlY3RvcnlQYXRoIiwiZGlyZWN0b3J5RXhpc3RzIiwiZW50cnlEaXJlY3RvcnkiLCJzdGF0Iiwic3RhdFN5bmMiLCJpc0RpcmVjdG9yeSIsInN1YkVudHJ5TmFtZXMiLCJzdWJFbnRyeU5hbWVzTGVuZ3RoIiwibGVuZ3RoIiwiZGlyZWN0b3J5RW1wdHkiLCJyZWFkZGlyU3luYyIsImVuY29kaW5nIiwib3B0aW9ucyIsImNvbnRlbnQiLCJyZWFkRmlsZVN5bmMiLCJ3cml0ZUZpbGVTeW5jIiwiYXBwZW5kRmlsZVN5bmMiLCJyZWN1cnNpdmUiLCJta2RpclN5bmMiLCJvbGRGaWxlUGF0aCIsIm5ld0ZpbGVQYXRoIiwicmVuYW1lU3luYyJdLCJtYXBwaW5ncyI6IkFBQUEsQ0FBWTs7OztRQU1JQSxnQkFBZ0IsR0FBaEJBLGdCQUFnQjtRQU1oQkMsZUFBZSxHQUFmQSxlQUFlO1FBaUJmQyxvQkFBb0IsR0FBcEJBLG9CQUFvQjtRQWlCcEJDLFdBQVcsR0FBWEEsV0FBVztRQVFYQyxnQkFBZ0IsR0FBaEJBLGdCQUFnQjtRQU9oQkMsZ0JBQWdCLEdBQWhCQSxnQkFBZ0I7UUFRaEJDLGFBQWEsR0FBYkEsYUFBYTtRQU1iQyxRQUFRLEdBQVJBLFFBQVE7UUFTUkMsU0FBUyxHQUFUQSxTQUFTO1FBSVRDLFlBQVksR0FBWkEsWUFBWTtRQUlaQyxlQUFlLEdBQWZBLGVBQWU7UUFTZkMsVUFBVSxHQUFWQSxVQUFVO1FBSVZDLFFBQVEsR0FBUkEsUUFBUTs7QUF2R1QsR0FBSSxDQUFKLEdBQUk7QUFFYyxHQUFhLENBQWIsU0FBYTs7Ozs7O1NBRTlCWixnQkFBZ0IsQ0FBQ2EsU0FBUyxFQUFFLENBQUM7SUFDM0MsR0FBSyxDQUFDQyxXQUFXLEdBTEosR0FBSSxTQUtNQyxVQUFVLENBQUNGLFNBQVM7SUFFM0MsTUFBTSxDQUFDQyxXQUFXO0FBQ3BCLENBQUM7U0FFZWIsZUFBZSxDQUFDZSxRQUFRLEVBQUUsQ0FBQztJQUN6QyxHQUFHLENBQUNDLFVBQVUsR0FBRyxLQUFLO0lBRXRCLEdBQUssQ0FBQ0osU0FBUyxHQUFHRyxRQUFRLEVBQ3BCRixXQUFXLEdBQUdkLGdCQUFnQixDQUFDYSxTQUFTO0lBRTlDLEVBQUUsRUFBRUMsV0FBVyxFQUFFLENBQUM7UUFDaEIsR0FBSyxDQUFDSSxTQUFTLEdBQUdmLFdBQVcsQ0FBQ1UsU0FBUztRQUV2QyxFQUFFLEVBQUVLLFNBQVMsRUFBRSxDQUFDO1lBQ2RELFVBQVUsR0FBRyxJQUFJO1FBQ25CLENBQUM7SUFDSCxDQUFDO0lBRUQsTUFBTSxDQUFDQSxVQUFVO0FBQ25CLENBQUM7U0FFZWYsb0JBQW9CLENBQUNpQixhQUFhLEVBQUUsQ0FBQztJQUNuRCxHQUFHLENBQUNDLGVBQWUsR0FBRyxLQUFLO0lBRTNCLEdBQUssQ0FBQ1AsU0FBUyxHQUFHTSxhQUFhLEVBQ3pCTCxXQUFXLEdBQUdkLGdCQUFnQixDQUFDYSxTQUFTO0lBRTlDLEVBQUUsRUFBRUMsV0FBVyxFQUFFLENBQUM7UUFDaEIsR0FBSyxDQUFDTyxjQUFjLEdBQUdqQixnQkFBZ0IsQ0FBQ1MsU0FBUztRQUVqRCxFQUFFLEVBQUVRLGNBQWMsRUFBRSxDQUFDO1lBQ25CRCxlQUFlLEdBQUcsSUFBSTtRQUN4QixDQUFDO0lBQ0gsQ0FBQztJQUVELE1BQU0sQ0FBQ0EsZUFBZTtBQUN4QixDQUFDO1NBRWVqQixXQUFXLENBQUNVLFNBQVMsRUFBRSxDQUFDO0lBQ3RDLEdBQUssQ0FBQ1MsSUFBSSxHQTdDRyxHQUFJLFNBNkNEQyxRQUFRLENBQUNWLFNBQVMsR0FDNUJRLGNBQWMsR0FBR0MsSUFBSSxDQUFDRSxXQUFXLElBQ2pDTixTQUFTLElBQUlHLGNBQWM7SUFFakMsTUFBTSxDQUFDSCxTQUFTO0FBQ2xCLENBQUM7U0FFZWQsZ0JBQWdCLENBQUNTLFNBQVMsRUFBRSxDQUFDO0lBQzNDLEdBQUssQ0FBQ1MsSUFBSSxHQXJERyxHQUFJLFNBcUREQyxRQUFRLENBQUNWLFNBQVMsR0FDNUJRLGNBQWMsR0FBR0MsSUFBSSxDQUFDRSxXQUFXO0lBRXZDLE1BQU0sQ0FBQ0gsY0FBYztBQUN2QixDQUFDO1NBRWVoQixnQkFBZ0IsQ0FBQ2MsYUFBYSxFQUFFLENBQUM7SUFDL0MsR0FBSyxDQUFDTSxhQUFhLEdBQUduQixhQUFhLENBQUNhLGFBQWEsR0FDM0NPLG1CQUFtQixHQUFHRCxhQUFhLENBQUNFLE1BQU0sRUFDMUNDLGNBQWMsR0FBSUYsbUJBQW1CLEtBQUssQ0FBQztJQUVqRCxNQUFNLENBQUNFLGNBQWM7QUFDdkIsQ0FBQztTQUVldEIsYUFBYSxDQUFDYSxhQUFhLEVBQUUsQ0FBQztJQUM1QyxHQUFLLENBQUNNLGFBQWEsR0FwRU4sR0FBSSxTQW9FUUksV0FBVyxDQUFDVixhQUFhO0lBRWxELE1BQU0sQ0FBQ00sYUFBYTtBQUN0QixDQUFDO1NBRWVsQixRQUFRLENBQUNTLFFBQVEsRUFBK0IsQ0FBQztRQUE5QmMsUUFBUSxvRUF2RVYsU0FBYTtJQXdFNUMsR0FBSyxDQUFDQyxPQUFPLEdBQUcsQ0FBQztRQUNURCxRQUFRLEVBQVJBLFFBQVE7SUFDVixDQUFDLEVBQ0RFLE9BQU8sR0E3RUEsR0FBSSxTQTZFRUMsWUFBWSxDQUFDakIsUUFBUSxFQUFFZSxPQUFPO0lBRWpELE1BQU0sQ0FBQ0MsT0FBTztBQUNoQixDQUFDO1NBRWV4QixTQUFTLENBQUNRLFFBQVEsRUFBRWdCLE9BQU8sRUFBRSxDQUFDO0lBbEYvQixHQUFJLFNBbUZkRSxhQUFhLENBQUNsQixRQUFRLEVBQUVnQixPQUFPO0FBQ3BDLENBQUM7U0FFZXZCLFlBQVksQ0FBQ08sUUFBUSxFQUFFZ0IsT0FBTyxFQUFFLENBQUM7SUF0RmxDLEdBQUksU0F1RmRHLGNBQWMsQ0FBQ25CLFFBQVEsRUFBRWdCLE9BQU87QUFDckMsQ0FBQztTQUVldEIsZUFBZSxDQUFDUyxhQUFhLEVBQUUsQ0FBQztJQUM5QyxHQUFLLENBQUNpQixTQUFTLEdBQUcsSUFBSSxFQUNoQkwsT0FBTyxHQUFHLENBQUM7UUFDVEssU0FBUyxFQUFUQSxTQUFTO0lBQ1gsQ0FBQztJQTlGTSxHQUFJLFNBZ0dkQyxTQUFTLENBQUNsQixhQUFhLEVBQUVZLE9BQU87QUFDckMsQ0FBQztTQUVlcEIsVUFBVSxDQUFDMkIsV0FBVyxFQUFFQyxXQUFXLEVBQUUsQ0FBQztJQW5HdkMsR0FBSSxTQW9HZEMsVUFBVSxDQUFDRixXQUFXLEVBQUVDLFdBQVc7QUFDeEMsQ0FBQztTQUVlM0IsUUFBUSxDQUFDSSxRQUFRLEVBQUUsQ0FBQztJQUNsQyxNQUFNLENBeEdPLEdBQUksU0F3R1BPLFFBQVEsQ0FBQ1AsUUFBUTtBQUM3QixDQUFDO2VBRWMsQ0FBQztJQUNkaEIsZ0JBQWdCLEVBQWhCQSxnQkFBZ0I7SUFDaEJDLGVBQWUsRUFBZkEsZUFBZTtJQUNmQyxvQkFBb0IsRUFBcEJBLG9CQUFvQjtJQUNwQkMsV0FBVyxFQUFYQSxXQUFXO0lBQ1hDLGdCQUFnQixFQUFoQkEsZ0JBQWdCO0lBQ2hCQyxnQkFBZ0IsRUFBaEJBLGdCQUFnQjtJQUNoQkMsYUFBYSxFQUFiQSxhQUFhO0lBQ2JDLFFBQVEsRUFBUkEsUUFBUTtJQUNSQyxTQUFTLEVBQVRBLFNBQVM7SUFDVEMsWUFBWSxFQUFaQSxZQUFZO0lBQ1pDLGVBQWUsRUFBZkEsZUFBZTtJQUNmQyxVQUFVLEVBQVZBLFVBQVU7SUFDVkMsUUFBUSxFQUFSQSxRQUFRO0FBQ1YsQ0FBQyJ9
|
package/lib/utilities/logging.js
CHANGED
|
@@ -32,8 +32,8 @@ var levels = [
|
|
|
32
32
|
_levels.FATAL_LEVEL,
|
|
33
33
|
];
|
|
34
34
|
var logLevel = _defaults.DEFAULT_LOG_LEVEL, logFileBaseName = _defaults.DEFAULT_LOG_FILE_BASE_NAME, logDirectoryPath = _defaults.DEFAULT_LOG_DIRECTORY_PATH;
|
|
35
|
-
function log(messageOrError
|
|
36
|
-
var level =
|
|
35
|
+
function log(messageOrError) {
|
|
36
|
+
var level = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : _constants.EMPTY_STRING;
|
|
37
37
|
var salientStackMessageIndex = 1;
|
|
38
38
|
if (level !== _constants.EMPTY_STRING) {
|
|
39
39
|
var levelIndex = levels.indexOf(level), logLevelIndex = levels.indexOf(logLevel);
|
|
@@ -43,15 +43,15 @@ function log(messageOrError, param) {
|
|
|
43
43
|
salientStackMessageIndex += 1;
|
|
44
44
|
level = "".concat(level, " "); ///
|
|
45
45
|
}
|
|
46
|
-
var
|
|
46
|
+
var error1, message;
|
|
47
47
|
if (_instanceof(messageOrError, Error)) {
|
|
48
|
-
|
|
49
|
-
message =
|
|
48
|
+
error1 = messageOrError; ///
|
|
49
|
+
message = error1.message;
|
|
50
50
|
} else {
|
|
51
51
|
message = messageOrError; ///
|
|
52
|
-
|
|
52
|
+
error1 = new Error(message);
|
|
53
53
|
}
|
|
54
|
-
var stack =
|
|
54
|
+
var stack = error1.stack, stackMessages = stackMessagesFromStack(stack), pertinentStackMessage = stackMessages[salientStackMessageIndex], stackMessage = pertinentStackMessage, currentDateAndTimeString = getCurrentDateAndTimeString(), filePath = filePathFromStackMessage(stackMessage), lineNumber = lineNumberFromStackMessage(stackMessage), logMessage = "".concat(level).concat(currentDateAndTimeString, " ").concat(filePath, "(").concat(lineNumber, ") ").concat(message);
|
|
55
55
|
console.log(logMessage);
|
|
56
56
|
if (logDirectoryPath !== null) {
|
|
57
57
|
rollOverLogFile();
|
|
@@ -76,7 +76,7 @@ function info(message) {
|
|
|
76
76
|
function warning(message) {
|
|
77
77
|
return log(message, _levels.WARNING_LEVEL);
|
|
78
78
|
}
|
|
79
|
-
function
|
|
79
|
+
function error(message) {
|
|
80
80
|
return log(message, _levels.ERROR_LEVEL);
|
|
81
81
|
}
|
|
82
82
|
function fatal(message) {
|
|
@@ -112,7 +112,7 @@ Object.assign(log, {
|
|
|
112
112
|
debug: debug,
|
|
113
113
|
info: info,
|
|
114
114
|
warning: warning,
|
|
115
|
-
error:
|
|
115
|
+
error: error,
|
|
116
116
|
fatal: fatal,
|
|
117
117
|
setLogLevel: setLogLevel,
|
|
118
118
|
setLogFileBaseName: setLogFileBaseName,
|
|
@@ -189,4 +189,4 @@ function padStart(string, targetLength, padString) {
|
|
|
189
189
|
return paddedString;
|
|
190
190
|
}
|
|
191
191
|
|
|
192
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvbG9nZ2luZy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHBhdGggZnJvbSBcInBhdGhcIjtcblxuaW1wb3J0IHsgc2Vjb25kIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9hcnJheVwiO1xuaW1wb3J0IHsgRU1QVFlfU1RSSU5HIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgY29uY2F0ZW5hdGVQYXRocyB9IGZyb20gXCIuLi91dGlsaXRpZXMvcGF0aFwiO1xuaW1wb3J0IHsgY2hlY2tGaWxlRXhpc3RzLCByZWFkRmlsZSwgYXBwZW5kVG9GaWxlLCByZW5hbWVGaWxlLCBnZXRTdGF0cyB9IGZyb20gXCIuLi91dGlsaXRpZXMvZmlsZVN5c3RlbVwiO1xuaW1wb3J0IHsgREVGQVVMVF9MT0dfTEVWRUwsIERFRkFVTFRfTE9HX0ZJTEVfQkFTRV9OQU1FLCBERUZBVUxUX0xPR19ESVJFQ1RPUllfUEFUSCB9IGZyb20gXCIuLi9kZWZhdWx0c1wiO1xuaW1wb3J0IHsgVFJBQ0VfTEVWRUwsIERFQlVHX0xFVkVMLCBJTkZPX0xFVkVMLCBXQVJOSU5HX0xFVkVMLCBFUlJPUl9MRVZFTCwgRkFUQUxfTEVWRUwgfSBmcm9tIFwiLi4vbGV2ZWxzXCI7XG5cbmNvbnN0IGxldmVscyA9IFtcbiAgVFJBQ0VfTEVWRUwsXG4gIERFQlVHX0xFVkVMLFxuICBJTkZPX0xFVkVMLFxuICBXQVJOSU5HX0xFVkVMLFxuICBFUlJPUl9MRVZFTCxcbiAgRkFUQUxfTEVWRUwsXG5dO1xuXG5sZXQgbG9nTGV2ZWwgPSBERUZBVUxUX0xPR19MRVZFTCxcbiAgICBsb2dGaWxlQmFzZU5hbWUgPSBERUZBVUxUX0xPR19GSUxFX0JBU0VfTkFNRSxcbiAgICBsb2dEaXJlY3RvcnlQYXRoID0gREVGQVVMVF9MT0dfRElSRUNUT1JZX1BBVEg7XG5cbmV4cG9ydCBmdW5jdGlvbiBsb2cobWVzc2FnZU9yRXJyb3IsIGxldmVsID0gRU1QVFlfU1RSSU5HKSB7XG4gIGxldCBzYWxpZW50U3RhY2tNZXNzYWdlSW5kZXggPSAxO1xuXG4gIGlmIChsZXZlbCAhPT0gRU1QVFlfU1RSSU5HKSB7XG4gICAgY29uc3QgbGV2ZWxJbmRleCA9IGxldmVscy5pbmRleE9mKGxldmVsKSxcbiAgICAgICAgICBsb2dMZXZlbEluZGV4ID0gbGV2ZWxzLmluZGV4T2YobG9nTGV2ZWwpO1xuXG4gICAgaWYgKGxldmVsSW5kZXggPCBsb2dMZXZlbEluZGV4KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgc2FsaWVudFN0YWNrTWVzc2FnZUluZGV4ICs9IDE7XG5cbiAgICBsZXZlbCA9IGAke2xldmVsfSBgOyAgLy8vXG4gIH1cblxuICBsZXQgZXJyb3IsXG4gICAgICBtZXNzYWdlO1xuXG4gIGlmIChtZXNzYWdlT3JFcnJvciBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgZXJyb3IgPSBtZXNzYWdlT3JFcnJvcjsgLy8vXG5cbiAgICAoeyBtZXNzYWdlIH0gPSBlcnJvcik7XG4gIH0gZWxzZSB7XG4gICAgbWVzc2FnZSA9IG1lc3NhZ2VPckVycm9yOyAvLy9cblxuICAgIGVycm9yID0gbmV3IEVycm9yKG1lc3NhZ2UpO1xuICB9XG5cbiAgY29uc3QgeyBzdGFjayB9ID0gZXJyb3IsXG4gICAgICAgIHN0YWNrTWVzc2FnZXMgPSBzdGFja01lc3NhZ2VzRnJvbVN0YWNrKHN0YWNrKSxcbiAgICAgICAgcGVydGluZW50U3RhY2tNZXNzYWdlID0gc3RhY2tNZXNzYWdlc1tzYWxpZW50U3RhY2tNZXNzYWdlSW5kZXhdLFxuICAgICAgICBzdGFja01lc3NhZ2UgPSBwZXJ0aW5lbnRTdGFja01lc3NhZ2UsIC8vL1xuICAgICAgICBjdXJyZW50RGF0ZUFuZFRpbWVTdHJpbmcgPSBnZXRDdXJyZW50RGF0ZUFuZFRpbWVTdHJpbmcoKSxcbiAgICAgICAgZmlsZVBhdGggPSBmaWxlUGF0aEZyb21TdGFja01lc3NhZ2Uoc3RhY2tNZXNzYWdlKSxcbiAgICAgICAgbGluZU51bWJlciA9IGxpbmVOdW1iZXJGcm9tU3RhY2tNZXNzYWdlKHN0YWNrTWVzc2FnZSksXG4gICAgICAgIGxvZ01lc3NhZ2UgPSBgJHtsZXZlbH0ke2N1cnJlbnREYXRlQW5kVGltZVN0cmluZ30gJHtmaWxlUGF0aH0oJHtsaW5lTnVtYmVyfSkgJHttZXNzYWdlfWA7XG5cbiAgY29uc29sZS5sb2cobG9nTWVzc2FnZSk7XG5cbiAgaWYgKGxvZ0RpcmVjdG9yeVBhdGggIT09IG51bGwpIHtcbiAgICByb2xsT3ZlckxvZ0ZpbGUoKTtcblxuICAgIGNvbnN0IGxvZ0ZpbGVQYXRoID0gZ2V0TG9nRmlsZVBhdGgoKSxcbiAgICAgICAgICBsb2dGaWxlQ29udGVudCA9IGAke2xvZ01lc3NhZ2V9XFxuYDtcblxuICAgIGFwcGVuZFRvRmlsZShsb2dGaWxlUGF0aCwgbG9nRmlsZUNvbnRlbnQpO1xuICB9XG5cbiAgcmV0dXJuIGxvZ01lc3NhZ2U7XG59XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgbG9nXG59XG5cbmZ1bmN0aW9uIHRyYWNlKG1lc3NhZ2UpIHsgcmV0dXJuIGxvZyhtZXNzYWdlLCBUUkFDRV9MRVZFTCk7IH1cblxuZnVuY3Rpb24gZGVidWcobWVzc2FnZSkgeyByZXR1cm4gbG9nKG1lc3NhZ2UsIERFQlVHX0xFVkVMKTsgfVxuXG5mdW5jdGlvbiBpbmZvKG1lc3NhZ2UpIHsgcmV0dXJuIGxvZyhtZXNzYWdlLCBJTkZPX0xFVkVMKTsgfVxuXG5mdW5jdGlvbiB3YXJuaW5nKG1lc3NhZ2UpIHsgcmV0dXJuIGxvZyhtZXNzYWdlLCBXQVJOSU5HX0xFVkVMKTsgfVxuXG5mdW5jdGlvbiBlcnJvcihtZXNzYWdlKSB7IHJldHVybiBsb2cobWVzc2FnZSwgRVJST1JfTEVWRUwpOyB9XG5cbmZ1bmN0aW9uIGZhdGFsKG1lc3NhZ2UpIHsgcmV0dXJuIGxvZyhtZXNzYWdlLCBGQVRBTF9MRVZFTCk7IH1cblxuZnVuY3Rpb24gc2V0TG9nTGV2ZWwobGV2ZWwpIHsgbG9nTGV2ZWwgPSBsZXZlbDsgfVxuXG5mdW5jdGlvbiBzZXRMb2dGaWxlQmFzZU5hbWUoZmlsZUJhc2VOYW1lKSB7IGxvZ0ZpbGVCYXNlTmFtZSA9IGZpbGVCYXNlTmFtZTsgfVxuXG5mdW5jdGlvbiBzZXRMb2dEaXJlY3RvcnlQYXRoKGRpcmVjdG9yeVBhdGgpIHsgbG9nRGlyZWN0b3J5UGF0aCA9IGRpcmVjdG9yeVBhdGg7IH1cblxuZnVuY3Rpb24gc2V0TG9nT3B0aW9ucyhsb2dPcHRpb25zKSB7XG4gIGNvbnN0IHsgbGV2ZWwsIGZpbGVCYXNlTmFtZSwgZGlyZWN0b3J5UGF0aCB9ID0gbG9nT3B0aW9ucztcblxuICBzZXRMb2dMZXZlbChsZXZlbCk7XG5cbiAgc2V0TG9nRmlsZUJhc2VOYW1lKGZpbGVCYXNlTmFtZSk7XG5cbiAgc2V0TG9nRGlyZWN0b3J5UGF0aChkaXJlY3RvcnlQYXRoKTtcbn1cblxuZnVuY3Rpb24gZ2V0TG9nRmlsZUNvbnRlbnQoKSB7XG4gIGNvbnN0IGxvZ0ZpbGVQYXRoID0gZ2V0TG9nRmlsZVBhdGgoKSxcbiAgICAgICAgbG9nRmlsZUNvbnRlbnQgPSByZWFkRmlsZShsb2dGaWxlUGF0aCk7XG5cbiAgcmV0dXJuIGxvZ0ZpbGVDb250ZW50O1xufVxuXG5PYmplY3QuYXNzaWduKGxvZywge1xuICBUUkFDRV9MRVZFTCxcbiAgREVCVUdfTEVWRUwsXG4gIElORk9fTEVWRUwsXG4gIFdBUk5JTkdfTEVWRUwsXG4gIEVSUk9SX0xFVkVMLFxuICBGQVRBTF9MRVZFTCxcbiAgdHJhY2UsXG4gIGRlYnVnLFxuICBpbmZvLFxuICB3YXJuaW5nLFxuICBlcnJvcixcbiAgZmF0YWwsXG4gIHNldExvZ0xldmVsLFxuICBzZXRMb2dGaWxlQmFzZU5hbWUsXG4gIHNldExvZ0RpcmVjdG9yeVBhdGgsXG4gIHNldExvZ09wdGlvbnMsXG4gIGdldExvZ0ZpbGVDb250ZW50XG59KTtcblxuZnVuY3Rpb24gZ2V0TG9nRmlsZVBhdGgoKSB7XG4gIGNvbnN0IGxvZ0ZpbGVOYW1lID0gYCR7bG9nRmlsZUJhc2VOYW1lfS5sb2dgLFxuICAgICAgICBsb2dGaWxlUGF0aCA9IGNvbmNhdGVuYXRlUGF0aHMobG9nRGlyZWN0b3J5UGF0aCwgbG9nRmlsZU5hbWUpO1xuXG4gIHJldHVybiBsb2dGaWxlUGF0aDtcbn1cblxuZnVuY3Rpb24gZ2V0Um9sbGVkT3ZlckxvZ0ZpbGVQYXRoKCkge1xuICBjb25zdCBjdXJyZW50RGF0ZVN0cmluZyA9IGdldEN1cnJlbnREYXRlU3RyaW5nKCksXG4gICAgICAgIHJvbGxlZE92ZXJMb2dGaWxlTmFtZSA9IGAke2xvZ0ZpbGVCYXNlTmFtZX0uJHtjdXJyZW50RGF0ZVN0cmluZ30ubG9nYCxcbiAgICAgICAgcm9sbGVkT3ZlckxvZ0ZpbGVQYXRoID0gY29uY2F0ZW5hdGVQYXRocyhsb2dEaXJlY3RvcnlQYXRoLCByb2xsZWRPdmVyTG9nRmlsZU5hbWUpO1xuXG4gIHJldHVybiByb2xsZWRPdmVyTG9nRmlsZVBhdGg7XG59XG5cbmZ1bmN0aW9uIGdldExvZ0ZpbGVMYXN0TW9kaWZpZWREYXRlKCkge1xuICBjb25zdCBsb2dGaWxlUGF0aCA9IGdldExvZ0ZpbGVQYXRoKCksXG4gICAgICAgIGxvZ0ZpbGVTdGF0cyA9IGdldFN0YXRzKGxvZ0ZpbGVQYXRoKSxcbiAgICAgICAgeyBtdGltZSB9ID0gbG9nRmlsZVN0YXRzLFxuICAgICAgICBsb2dGaWxlTGFzdE1vZGlmaWVkRGF0ZSA9IG5ldyBEYXRlKG10aW1lKTsgIC8vL1xuXG4gIHJldHVybiBsb2dGaWxlTGFzdE1vZGlmaWVkRGF0ZTtcbn1cblxuZnVuY3Rpb24gcm9sbE92ZXJMb2dGaWxlKCkge1xuICBjb25zdCBsb2dGaWxlUGF0aCA9IGdldExvZ0ZpbGVQYXRoKCksXG4gICAgICAgIGxvZ0ZpbGVFeGlzdHMgPSBjaGVja0ZpbGVFeGlzdHMobG9nRmlsZVBhdGgpO1xuXG4gIGlmICghbG9nRmlsZUV4aXN0cykge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IGxvZ0ZpbGVMYXN0TW9kaWZpZWREYXRlID0gZ2V0TG9nRmlsZUxhc3RNb2RpZmllZERhdGUoKSxcbiAgICAgICAgbG9nRmlsZUxhc3RNb2RpZmllZERhdGVDdXJyZW50RGF0ZSA9IGlzRGF0ZUN1cnJlbnREYXRlKGxvZ0ZpbGVMYXN0TW9kaWZpZWREYXRlKTtcblxuICBpZiAoIWxvZ0ZpbGVMYXN0TW9kaWZpZWREYXRlQ3VycmVudERhdGUpIHtcbiAgICBjb25zdCByb2xsZWRPdmVyTG9nRmlsZVBhdGggPSBnZXRSb2xsZWRPdmVyTG9nRmlsZVBhdGgoKTtcblxuICAgIHJlbmFtZUZpbGUobG9nRmlsZVBhdGgsIHJvbGxlZE92ZXJMb2dGaWxlUGF0aCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gaXNEYXRlQ3VycmVudERhdGUoZGF0ZSkge1xuICBjb25zdCBjdXJyZW50RGF0ZSA9IG5ldyBEYXRlKCksXG4gICAgICAgIGRhdGVTdHJpbmcgPSBkYXRlLnRvRGF0ZVN0cmluZygpLFxuICAgICAgICBjdXJyZW50RGF0ZVN0cmluZyA9IGN1cnJlbnREYXRlLnRvRGF0ZVN0cmluZygpLFxuICAgICAgICBkYXRlQ3VycmVudERhdGUgPSAoZGF0ZVN0cmluZyA9PT0gY3VycmVudERhdGVTdHJpbmcpO1xuXG4gIHJldHVybiBkYXRlQ3VycmVudERhdGU7XG59XG5cbmZ1bmN0aW9uIGdldEN1cnJlbnREYXRlU3RyaW5nKCkge1xuICBjb25zdCBkYXRlID0gbmV3IERhdGUoKSxcbiAgICAgICAgZGF5ID0gcGFkU3RhcnRXaXRoWmVyb2VzKGRhdGUuZ2V0RGF0ZSgpLCAyKSwgIC8vL1xuICAgICAgICBtb250aCA9IHBhZFN0YXJ0V2l0aFplcm9lcyhkYXRlLmdldE1vbnRoKCkgKyAxLCAyKSwgLy8vXG4gICAgICAgIHllYXIgPSBkYXRlLmdldEZ1bGxZZWFyKCksXG4gICAgICAgIGN1cnJlbnREYXRlQW5kVGltZVN0cmluZyA9IGAke2RheX0tJHttb250aH0tJHt5ZWFyfWA7XG5cbiAgcmV0dXJuIGN1cnJlbnREYXRlQW5kVGltZVN0cmluZztcbn1cblxuZnVuY3Rpb24gZ2V0Q3VycmVudERhdGVBbmRUaW1lU3RyaW5nKCkge1xuICBjb25zdCBkYXRlID0gbmV3IERhdGUoKSxcbiAgICAgICAgZGF5ID0gcGFkU3RhcnRXaXRoWmVyb2VzKGRhdGUuZ2V0RGF0ZSgpLCAyKSwgIC8vL1xuICAgICAgICBtb250aCA9IHBhZFN0YXJ0V2l0aFplcm9lcyhkYXRlLmdldE1vbnRoKCkgKyAxLCAyKSwgLy8vXG4gICAgICAgIHllYXIgPSBkYXRlLmdldEZ1bGxZZWFyKCksXG4gICAgICAgIGhvdXJzID0gcGFkU3RhcnRXaXRoWmVyb2VzKGRhdGUuZ2V0SG91cnMoKSwgMiksXG4gICAgICAgIG1pbnV0ZXMgPSBwYWRTdGFydFdpdGhaZXJvZXMoZGF0ZS5nZXRNaW51dGVzKCksIDIpLFxuICAgICAgICBzZWNvbmRzID0gcGFkU3RhcnRXaXRoWmVyb2VzKGRhdGUuZ2V0U2Vjb25kcygpLCAyKSxcbiAgICAgICAgbWlsbGlzZWNvbmRzID0gcGFkU3RhcnRXaXRoWmVyb2VzKGRhdGUuZ2V0TWlsbGlzZWNvbmRzKCksIDMpLFxuICAgICAgICBjdXJyZW50RGF0ZUFuZFRpbWVTdHJpbmcgPSBgJHtkYXl9LSR7bW9udGh9LSR7eWVhcn0gJHtob3Vyc306JHttaW51dGVzfToke3NlY29uZHN9LiR7bWlsbGlzZWNvbmRzfWA7XG5cbiAgcmV0dXJuIGN1cnJlbnREYXRlQW5kVGltZVN0cmluZztcbn1cblxuZnVuY3Rpb24gc3RhY2tNZXNzYWdlc0Zyb21TdGFjayhzdGFjaykge1xuICBjb25zdCBzdGFja01lc3NhZ2VzID0gW10sXG4gICAgICAgIHN0YWNrTGluZXMgPSBzdGFjay5zcGxpdCgvXFxyXFxufFxcbi8pO1xuXG4gIGxldCBzdGFja01lc3NhZ2UgPSBFTVBUWV9TVFJJTkc7XG5cbiAgc3RhY2tMaW5lcy5mb3JFYWNoKChzdGFja0xpbmUpID0+IHtcbiAgICBjb25zdCBtYXRjaGVzID0gL15cXHMqYXQuKi8udGVzdChzdGFja0xpbmUpO1xuXG4gICAgc3RhY2tNZXNzYWdlID0gKHN0YWNrTWVzc2FnZSA9PT0gRU1QVFlfU1RSSU5HKSA/XG4gICAgICAgICAgICAgICAgICAgICAgc3RhY2tMaW5lIDpcbiAgICAgICAgICAgICAgICAgICAgICAgIGAke3N0YWNrTWVzc2FnZX1cXG4ke3N0YWNrTGluZX1gO1xuXG4gICAgaWYgKG1hdGNoZXMpIHtcbiAgICAgIHN0YWNrTWVzc2FnZXMucHVzaChzdGFja01lc3NhZ2UpO1xuXG4gICAgICBzdGFja01lc3NhZ2UgPSBFTVBUWV9TVFJJTkc7XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gc3RhY2tNZXNzYWdlcztcbn1cblxuZnVuY3Rpb24gZmlsZVBhdGhGcm9tU3RhY2tNZXNzYWdlKHN0YWNrTWVzc2FnZSkge1xuICBjb25zdCBtYXRjaGVzID0gc3RhY2tNZXNzYWdlLm1hdGNoKC8oXFwvLispOlxcZCs6XFxkKy9tKSxcbiAgICAgICAgc2Vjb25kTWF0Y2ggPSBzZWNvbmQobWF0Y2hlcyksXG4gICAgICAgIGFic29sdXRlRmlsZVBhdGggPSBzZWNvbmRNYXRjaCwgIC8vL1xuICAgICAgICBjdXJyZW50V29ya2luZ0RpcmVjdG9yeVBhdGggPSBwYXRoLnJlc29sdmUoXCIuXCIpLCAgLy8vXG4gICAgICAgIGN1cnJlbnRXb3JraW5nRGlyZWN0b3J5UGF0aExlbmd0aCA9IGN1cnJlbnRXb3JraW5nRGlyZWN0b3J5UGF0aC5sZW5ndGgsXG4gICAgICAgIHN0YXJ0ID0gY3VycmVudFdvcmtpbmdEaXJlY3RvcnlQYXRoTGVuZ3RoICsgMSwgIC8vL1xuICAgICAgICBmaWxlUGF0aCA9IGFic29sdXRlRmlsZVBhdGguc3Vic3RyKHN0YXJ0KTtcblxuICByZXR1cm4gZmlsZVBhdGg7XG59XG5cbmZ1bmN0aW9uIGxpbmVOdW1iZXJGcm9tU3RhY2tNZXNzYWdlKHN0YWNrTWVzc2FnZSkge1xuICBjb25zdCBtYXRjaGVzID0gc3RhY2tNZXNzYWdlLm1hdGNoKC86KFxcZCspL20pLFxuICAgICAgICBzZWNvbmRNYXRjaCA9IHNlY29uZChtYXRjaGVzKSxcbiAgICAgICAgbGluZU51bWJlciA9IHNlY29uZE1hdGNoOyAvLy9cblxuICByZXR1cm4gbGluZU51bWJlcjtcbn1cblxuZnVuY3Rpb24gcGFkU3RhcnRXaXRoWmVyb2VzKHN0cmluZywgdGFyZ2V0TGVuZ3RoKSB7XG4gIGNvbnN0IHBhZFN0cmluZyA9IFwiMFwiLFxuICAgICAgICBwYWRkZWRTdHJpbmcgPSBwYWRTdGFydChzdHJpbmcsIHRhcmdldExlbmd0aCwgcGFkU3RyaW5nKTtcblxuICByZXR1cm4gcGFkZGVkU3RyaW5nO1xufVxuXG5mdW5jdGlvbiBwYWRTdGFydChzdHJpbmcsIHRhcmdldExlbmd0aCwgcGFkU3RyaW5nKSB7XG4gIGxldCBwYWRkaW5nID0gRU1QVFlfU1RSSU5HO1xuXG4gIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCB0YXJnZXRMZW5ndGg7IGluZGV4KyspIHtcbiAgICBwYWRkaW5nICs9IHBhZFN0cmluZztcbiAgfVxuXG4gIGNvbnN0IHBhZGRlZFN0cmluZyA9IGAke3BhZGRpbmd9JHtzdHJpbmd9YC5zdWJzdHIoLXRhcmdldExlbmd0aCk7XG5cbiAgcmV0dXJuIHBhZGRlZFN0cmluZztcbn1cbiJdLCJuYW1lcyI6WyJsb2ciLCJsZXZlbHMiLCJsb2dMZXZlbCIsImxvZ0ZpbGVCYXNlTmFtZSIsImxvZ0RpcmVjdG9yeVBhdGgiLCJtZXNzYWdlT3JFcnJvciIsImxldmVsIiwic2FsaWVudFN0YWNrTWVzc2FnZUluZGV4IiwibGV2ZWxJbmRleCIsImluZGV4T2YiLCJsb2dMZXZlbEluZGV4IiwiZXJyb3IiLCJtZXNzYWdlIiwiRXJyb3IiLCJzdGFjayIsInN0YWNrTWVzc2FnZXMiLCJzdGFja01lc3NhZ2VzRnJvbVN0YWNrIiwicGVydGluZW50U3RhY2tNZXNzYWdlIiwic3RhY2tNZXNzYWdlIiwiY3VycmVudERhdGVBbmRUaW1lU3RyaW5nIiwiZ2V0Q3VycmVudERhdGVBbmRUaW1lU3RyaW5nIiwiZmlsZVBhdGgiLCJmaWxlUGF0aEZyb21TdGFja01lc3NhZ2UiLCJsaW5lTnVtYmVyIiwibGluZU51bWJlckZyb21TdGFja01lc3NhZ2UiLCJsb2dNZXNzYWdlIiwiY29uc29sZSIsInJvbGxPdmVyTG9nRmlsZSIsImxvZ0ZpbGVQYXRoIiwiZ2V0TG9nRmlsZVBhdGgiLCJsb2dGaWxlQ29udGVudCIsInRyYWNlIiwiZGVidWciLCJpbmZvIiwid2FybmluZyIsImZhdGFsIiwic2V0TG9nTGV2ZWwiLCJzZXRMb2dGaWxlQmFzZU5hbWUiLCJmaWxlQmFzZU5hbWUiLCJzZXRMb2dEaXJlY3RvcnlQYXRoIiwiZGlyZWN0b3J5UGF0aCIsInNldExvZ09wdGlvbnMiLCJsb2dPcHRpb25zIiwiZ2V0TG9nRmlsZUNvbnRlbnQiLCJPYmplY3QiLCJhc3NpZ24iLCJUUkFDRV9MRVZFTCIsIkRFQlVHX0xFVkVMIiwiSU5GT19MRVZFTCIsIldBUk5JTkdfTEVWRUwiLCJFUlJPUl9MRVZFTCIsIkZBVEFMX0xFVkVMIiwibG9nRmlsZU5hbWUiLCJnZXRSb2xsZWRPdmVyTG9nRmlsZVBhdGgiLCJjdXJyZW50RGF0ZVN0cmluZyIsImdldEN1cnJlbnREYXRlU3RyaW5nIiwicm9sbGVkT3ZlckxvZ0ZpbGVOYW1lIiwicm9sbGVkT3ZlckxvZ0ZpbGVQYXRoIiwiZ2V0TG9nRmlsZUxhc3RNb2RpZmllZERhdGUiLCJsb2dGaWxlU3RhdHMiLCJtdGltZSIsImxvZ0ZpbGVMYXN0TW9kaWZpZWREYXRlIiwiRGF0ZSIsImxvZ0ZpbGVFeGlzdHMiLCJsb2dGaWxlTGFzdE1vZGlmaWVkRGF0ZUN1cnJlbnREYXRlIiwiaXNEYXRlQ3VycmVudERhdGUiLCJkYXRlIiwiY3VycmVudERhdGUiLCJkYXRlU3RyaW5nIiwidG9EYXRlU3RyaW5nIiwiZGF0ZUN1cnJlbnREYXRlIiwiZGF5IiwicGFkU3RhcnRXaXRoWmVyb2VzIiwiZ2V0RGF0ZSIsIm1vbnRoIiwiZ2V0TW9udGgiLCJ5ZWFyIiwiZ2V0RnVsbFllYXIiLCJob3VycyIsImdldEhvdXJzIiwibWludXRlcyIsImdldE1pbnV0ZXMiLCJzZWNvbmRzIiwiZ2V0U2Vjb25kcyIsIm1pbGxpc2Vjb25kcyIsImdldE1pbGxpc2Vjb25kcyIsInN0YWNrTGluZXMiLCJzcGxpdCIsImZvckVhY2giLCJzdGFja0xpbmUiLCJtYXRjaGVzIiwidGVzdCIsInB1c2giLCJtYXRjaCIsInNlY29uZE1hdGNoIiwiYWJzb2x1dGVGaWxlUGF0aCIsImN1cnJlbnRXb3JraW5nRGlyZWN0b3J5UGF0aCIsInJlc29sdmUiLCJjdXJyZW50V29ya2luZ0RpcmVjdG9yeVBhdGhMZW5ndGgiLCJsZW5ndGgiLCJzdGFydCIsInN1YnN0ciIsInN0cmluZyIsInRhcmdldExlbmd0aCIsInBhZFN0cmluZyIsInBhZGRlZFN0cmluZyIsInBhZFN0YXJ0IiwicGFkZGluZyIsImluZGV4Il0sIm1hcHBpbmdzIjoiQUFBQSxDQUFZOzs7O1FBd0JJQSxHQUFHLEdBQUhBLEdBQUc7O0FBdEJGLEdBQU0sQ0FBTixLQUFNO0FBRUEsR0FBb0IsQ0FBcEIsTUFBb0I7QUFDZCxHQUFjLENBQWQsVUFBYztBQUNWLEdBQW1CLENBQW5CLE1BQW1CO0FBQzBCLEdBQXlCLENBQXpCLFdBQXlCO0FBQ2IsR0FBYSxDQUFiLFNBQWE7QUFDVCxHQUFXLENBQVgsT0FBVzs7Ozs7Ozs7Ozs7OztBQUV6RyxHQUFLLENBQUNDLE1BQU0sR0FBRyxDQUFDO0lBRjhFLE9BQVc7SUFBWCxPQUFXO0lBQVgsT0FBVztJQUFYLE9BQVc7SUFBWCxPQUFXO0lBQVgsT0FBVztBQVN6RyxDQUFDO0FBRUQsR0FBRyxDQUFDQyxRQUFRLEdBWjhFLFNBQWEsb0JBYW5HQyxlQUFlLEdBYnVFLFNBQWEsNkJBY25HQyxnQkFBZ0IsR0Fkc0UsU0FBYTtTQWdCdkZKLEdBQUcsQ0FBQ0ssY0FBYyxFQUFFQyxLQUFvQixFQUFFLENBQUM7UUFBdkJBLEtBQUssR0FBTEEsS0FBb0IsY0FuQjNCLFVBQWMsZ0JBbUJQQSxLQUFvQjtJQUN0RCxHQUFHLENBQUNDLHdCQUF3QixHQUFHLENBQUM7SUFFaEMsRUFBRSxFQUFFRCxLQUFLLEtBdEJrQixVQUFjLGVBc0JiLENBQUM7UUFDM0IsR0FB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
|
|
192
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvbG9nZ2luZy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHBhdGggZnJvbSBcInBhdGhcIjtcblxuaW1wb3J0IHsgc2Vjb25kIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9hcnJheVwiO1xuaW1wb3J0IHsgRU1QVFlfU1RSSU5HIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgY29uY2F0ZW5hdGVQYXRocyB9IGZyb20gXCIuLi91dGlsaXRpZXMvcGF0aFwiO1xuaW1wb3J0IHsgY2hlY2tGaWxlRXhpc3RzLCByZWFkRmlsZSwgYXBwZW5kVG9GaWxlLCByZW5hbWVGaWxlLCBnZXRTdGF0cyB9IGZyb20gXCIuLi91dGlsaXRpZXMvZmlsZVN5c3RlbVwiO1xuaW1wb3J0IHsgREVGQVVMVF9MT0dfTEVWRUwsIERFRkFVTFRfTE9HX0ZJTEVfQkFTRV9OQU1FLCBERUZBVUxUX0xPR19ESVJFQ1RPUllfUEFUSCB9IGZyb20gXCIuLi9kZWZhdWx0c1wiO1xuaW1wb3J0IHsgVFJBQ0VfTEVWRUwsIERFQlVHX0xFVkVMLCBJTkZPX0xFVkVMLCBXQVJOSU5HX0xFVkVMLCBFUlJPUl9MRVZFTCwgRkFUQUxfTEVWRUwgfSBmcm9tIFwiLi4vbGV2ZWxzXCI7XG5cbmNvbnN0IGxldmVscyA9IFtcbiAgVFJBQ0VfTEVWRUwsXG4gIERFQlVHX0xFVkVMLFxuICBJTkZPX0xFVkVMLFxuICBXQVJOSU5HX0xFVkVMLFxuICBFUlJPUl9MRVZFTCxcbiAgRkFUQUxfTEVWRUwsXG5dO1xuXG5sZXQgbG9nTGV2ZWwgPSBERUZBVUxUX0xPR19MRVZFTCxcbiAgICBsb2dGaWxlQmFzZU5hbWUgPSBERUZBVUxUX0xPR19GSUxFX0JBU0VfTkFNRSxcbiAgICBsb2dEaXJlY3RvcnlQYXRoID0gREVGQVVMVF9MT0dfRElSRUNUT1JZX1BBVEg7XG5cbmV4cG9ydCBmdW5jdGlvbiBsb2cobWVzc2FnZU9yRXJyb3IsIGxldmVsID0gRU1QVFlfU1RSSU5HKSB7XG4gIGxldCBzYWxpZW50U3RhY2tNZXNzYWdlSW5kZXggPSAxO1xuXG4gIGlmIChsZXZlbCAhPT0gRU1QVFlfU1RSSU5HKSB7XG4gICAgY29uc3QgbGV2ZWxJbmRleCA9IGxldmVscy5pbmRleE9mKGxldmVsKSxcbiAgICAgICAgICBsb2dMZXZlbEluZGV4ID0gbGV2ZWxzLmluZGV4T2YobG9nTGV2ZWwpO1xuXG4gICAgaWYgKGxldmVsSW5kZXggPCBsb2dMZXZlbEluZGV4KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgc2FsaWVudFN0YWNrTWVzc2FnZUluZGV4ICs9IDE7XG5cbiAgICBsZXZlbCA9IGAke2xldmVsfSBgOyAgLy8vXG4gIH1cblxuICBsZXQgZXJyb3IsXG4gICAgICBtZXNzYWdlO1xuXG4gIGlmIChtZXNzYWdlT3JFcnJvciBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgZXJyb3IgPSBtZXNzYWdlT3JFcnJvcjsgLy8vXG5cbiAgICAoeyBtZXNzYWdlIH0gPSBlcnJvcik7XG4gIH0gZWxzZSB7XG4gICAgbWVzc2FnZSA9IG1lc3NhZ2VPckVycm9yOyAvLy9cblxuICAgIGVycm9yID0gbmV3IEVycm9yKG1lc3NhZ2UpO1xuICB9XG5cbiAgY29uc3QgeyBzdGFjayB9ID0gZXJyb3IsXG4gICAgICAgIHN0YWNrTWVzc2FnZXMgPSBzdGFja01lc3NhZ2VzRnJvbVN0YWNrKHN0YWNrKSxcbiAgICAgICAgcGVydGluZW50U3RhY2tNZXNzYWdlID0gc3RhY2tNZXNzYWdlc1tzYWxpZW50U3RhY2tNZXNzYWdlSW5kZXhdLFxuICAgICAgICBzdGFja01lc3NhZ2UgPSBwZXJ0aW5lbnRTdGFja01lc3NhZ2UsIC8vL1xuICAgICAgICBjdXJyZW50RGF0ZUFuZFRpbWVTdHJpbmcgPSBnZXRDdXJyZW50RGF0ZUFuZFRpbWVTdHJpbmcoKSxcbiAgICAgICAgZmlsZVBhdGggPSBmaWxlUGF0aEZyb21TdGFja01lc3NhZ2Uoc3RhY2tNZXNzYWdlKSxcbiAgICAgICAgbGluZU51bWJlciA9IGxpbmVOdW1iZXJGcm9tU3RhY2tNZXNzYWdlKHN0YWNrTWVzc2FnZSksXG4gICAgICAgIGxvZ01lc3NhZ2UgPSBgJHtsZXZlbH0ke2N1cnJlbnREYXRlQW5kVGltZVN0cmluZ30gJHtmaWxlUGF0aH0oJHtsaW5lTnVtYmVyfSkgJHttZXNzYWdlfWA7XG5cbiAgY29uc29sZS5sb2cobG9nTWVzc2FnZSk7XG5cbiAgaWYgKGxvZ0RpcmVjdG9yeVBhdGggIT09IG51bGwpIHtcbiAgICByb2xsT3ZlckxvZ0ZpbGUoKTtcblxuICAgIGNvbnN0IGxvZ0ZpbGVQYXRoID0gZ2V0TG9nRmlsZVBhdGgoKSxcbiAgICAgICAgICBsb2dGaWxlQ29udGVudCA9IGAke2xvZ01lc3NhZ2V9XFxuYDtcblxuICAgIGFwcGVuZFRvRmlsZShsb2dGaWxlUGF0aCwgbG9nRmlsZUNvbnRlbnQpO1xuICB9XG5cbiAgcmV0dXJuIGxvZ01lc3NhZ2U7XG59XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgbG9nXG59XG5cbmZ1bmN0aW9uIHRyYWNlKG1lc3NhZ2UpIHsgcmV0dXJuIGxvZyhtZXNzYWdlLCBUUkFDRV9MRVZFTCk7IH1cblxuZnVuY3Rpb24gZGVidWcobWVzc2FnZSkgeyByZXR1cm4gbG9nKG1lc3NhZ2UsIERFQlVHX0xFVkVMKTsgfVxuXG5mdW5jdGlvbiBpbmZvKG1lc3NhZ2UpIHsgcmV0dXJuIGxvZyhtZXNzYWdlLCBJTkZPX0xFVkVMKTsgfVxuXG5mdW5jdGlvbiB3YXJuaW5nKG1lc3NhZ2UpIHsgcmV0dXJuIGxvZyhtZXNzYWdlLCBXQVJOSU5HX0xFVkVMKTsgfVxuXG5mdW5jdGlvbiBlcnJvcihtZXNzYWdlKSB7IHJldHVybiBsb2cobWVzc2FnZSwgRVJST1JfTEVWRUwpOyB9XG5cbmZ1bmN0aW9uIGZhdGFsKG1lc3NhZ2UpIHsgcmV0dXJuIGxvZyhtZXNzYWdlLCBGQVRBTF9MRVZFTCk7IH1cblxuZnVuY3Rpb24gc2V0TG9nTGV2ZWwobGV2ZWwpIHsgbG9nTGV2ZWwgPSBsZXZlbDsgfVxuXG5mdW5jdGlvbiBzZXRMb2dGaWxlQmFzZU5hbWUoZmlsZUJhc2VOYW1lKSB7IGxvZ0ZpbGVCYXNlTmFtZSA9IGZpbGVCYXNlTmFtZTsgfVxuXG5mdW5jdGlvbiBzZXRMb2dEaXJlY3RvcnlQYXRoKGRpcmVjdG9yeVBhdGgpIHsgbG9nRGlyZWN0b3J5UGF0aCA9IGRpcmVjdG9yeVBhdGg7IH1cblxuZnVuY3Rpb24gc2V0TG9nT3B0aW9ucyhsb2dPcHRpb25zKSB7XG4gIGNvbnN0IHsgbGV2ZWwsIGZpbGVCYXNlTmFtZSwgZGlyZWN0b3J5UGF0aCB9ID0gbG9nT3B0aW9ucztcblxuICBzZXRMb2dMZXZlbChsZXZlbCk7XG5cbiAgc2V0TG9nRmlsZUJhc2VOYW1lKGZpbGVCYXNlTmFtZSk7XG5cbiAgc2V0TG9nRGlyZWN0b3J5UGF0aChkaXJlY3RvcnlQYXRoKTtcbn1cblxuZnVuY3Rpb24gZ2V0TG9nRmlsZUNvbnRlbnQoKSB7XG4gIGNvbnN0IGxvZ0ZpbGVQYXRoID0gZ2V0TG9nRmlsZVBhdGgoKSxcbiAgICAgICAgbG9nRmlsZUNvbnRlbnQgPSByZWFkRmlsZShsb2dGaWxlUGF0aCk7XG5cbiAgcmV0dXJuIGxvZ0ZpbGVDb250ZW50O1xufVxuXG5PYmplY3QuYXNzaWduKGxvZywge1xuICBUUkFDRV9MRVZFTCxcbiAgREVCVUdfTEVWRUwsXG4gIElORk9fTEVWRUwsXG4gIFdBUk5JTkdfTEVWRUwsXG4gIEVSUk9SX0xFVkVMLFxuICBGQVRBTF9MRVZFTCxcbiAgdHJhY2UsXG4gIGRlYnVnLFxuICBpbmZvLFxuICB3YXJuaW5nLFxuICBlcnJvcixcbiAgZmF0YWwsXG4gIHNldExvZ0xldmVsLFxuICBzZXRMb2dGaWxlQmFzZU5hbWUsXG4gIHNldExvZ0RpcmVjdG9yeVBhdGgsXG4gIHNldExvZ09wdGlvbnMsXG4gIGdldExvZ0ZpbGVDb250ZW50XG59KTtcblxuZnVuY3Rpb24gZ2V0TG9nRmlsZVBhdGgoKSB7XG4gIGNvbnN0IGxvZ0ZpbGVOYW1lID0gYCR7bG9nRmlsZUJhc2VOYW1lfS5sb2dgLFxuICAgICAgICBsb2dGaWxlUGF0aCA9IGNvbmNhdGVuYXRlUGF0aHMobG9nRGlyZWN0b3J5UGF0aCwgbG9nRmlsZU5hbWUpO1xuXG4gIHJldHVybiBsb2dGaWxlUGF0aDtcbn1cblxuZnVuY3Rpb24gZ2V0Um9sbGVkT3ZlckxvZ0ZpbGVQYXRoKCkge1xuICBjb25zdCBjdXJyZW50RGF0ZVN0cmluZyA9IGdldEN1cnJlbnREYXRlU3RyaW5nKCksXG4gICAgICAgIHJvbGxlZE92ZXJMb2dGaWxlTmFtZSA9IGAke2xvZ0ZpbGVCYXNlTmFtZX0uJHtjdXJyZW50RGF0ZVN0cmluZ30ubG9nYCxcbiAgICAgICAgcm9sbGVkT3ZlckxvZ0ZpbGVQYXRoID0gY29uY2F0ZW5hdGVQYXRocyhsb2dEaXJlY3RvcnlQYXRoLCByb2xsZWRPdmVyTG9nRmlsZU5hbWUpO1xuXG4gIHJldHVybiByb2xsZWRPdmVyTG9nRmlsZVBhdGg7XG59XG5cbmZ1bmN0aW9uIGdldExvZ0ZpbGVMYXN0TW9kaWZpZWREYXRlKCkge1xuICBjb25zdCBsb2dGaWxlUGF0aCA9IGdldExvZ0ZpbGVQYXRoKCksXG4gICAgICAgIGxvZ0ZpbGVTdGF0cyA9IGdldFN0YXRzKGxvZ0ZpbGVQYXRoKSxcbiAgICAgICAgeyBtdGltZSB9ID0gbG9nRmlsZVN0YXRzLFxuICAgICAgICBsb2dGaWxlTGFzdE1vZGlmaWVkRGF0ZSA9IG5ldyBEYXRlKG10aW1lKTsgIC8vL1xuXG4gIHJldHVybiBsb2dGaWxlTGFzdE1vZGlmaWVkRGF0ZTtcbn1cblxuZnVuY3Rpb24gcm9sbE92ZXJMb2dGaWxlKCkge1xuICBjb25zdCBsb2dGaWxlUGF0aCA9IGdldExvZ0ZpbGVQYXRoKCksXG4gICAgICAgIGxvZ0ZpbGVFeGlzdHMgPSBjaGVja0ZpbGVFeGlzdHMobG9nRmlsZVBhdGgpO1xuXG4gIGlmICghbG9nRmlsZUV4aXN0cykge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IGxvZ0ZpbGVMYXN0TW9kaWZpZWREYXRlID0gZ2V0TG9nRmlsZUxhc3RNb2RpZmllZERhdGUoKSxcbiAgICAgICAgbG9nRmlsZUxhc3RNb2RpZmllZERhdGVDdXJyZW50RGF0ZSA9IGlzRGF0ZUN1cnJlbnREYXRlKGxvZ0ZpbGVMYXN0TW9kaWZpZWREYXRlKTtcblxuICBpZiAoIWxvZ0ZpbGVMYXN0TW9kaWZpZWREYXRlQ3VycmVudERhdGUpIHtcbiAgICBjb25zdCByb2xsZWRPdmVyTG9nRmlsZVBhdGggPSBnZXRSb2xsZWRPdmVyTG9nRmlsZVBhdGgoKTtcblxuICAgIHJlbmFtZUZpbGUobG9nRmlsZVBhdGgsIHJvbGxlZE92ZXJMb2dGaWxlUGF0aCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gaXNEYXRlQ3VycmVudERhdGUoZGF0ZSkge1xuICBjb25zdCBjdXJyZW50RGF0ZSA9IG5ldyBEYXRlKCksXG4gICAgICAgIGRhdGVTdHJpbmcgPSBkYXRlLnRvRGF0ZVN0cmluZygpLFxuICAgICAgICBjdXJyZW50RGF0ZVN0cmluZyA9IGN1cnJlbnREYXRlLnRvRGF0ZVN0cmluZygpLFxuICAgICAgICBkYXRlQ3VycmVudERhdGUgPSAoZGF0ZVN0cmluZyA9PT0gY3VycmVudERhdGVTdHJpbmcpO1xuXG4gIHJldHVybiBkYXRlQ3VycmVudERhdGU7XG59XG5cbmZ1bmN0aW9uIGdldEN1cnJlbnREYXRlU3RyaW5nKCkge1xuICBjb25zdCBkYXRlID0gbmV3IERhdGUoKSxcbiAgICAgICAgZGF5ID0gcGFkU3RhcnRXaXRoWmVyb2VzKGRhdGUuZ2V0RGF0ZSgpLCAyKSwgIC8vL1xuICAgICAgICBtb250aCA9IHBhZFN0YXJ0V2l0aFplcm9lcyhkYXRlLmdldE1vbnRoKCkgKyAxLCAyKSwgLy8vXG4gICAgICAgIHllYXIgPSBkYXRlLmdldEZ1bGxZZWFyKCksXG4gICAgICAgIGN1cnJlbnREYXRlQW5kVGltZVN0cmluZyA9IGAke2RheX0tJHttb250aH0tJHt5ZWFyfWA7XG5cbiAgcmV0dXJuIGN1cnJlbnREYXRlQW5kVGltZVN0cmluZztcbn1cblxuZnVuY3Rpb24gZ2V0Q3VycmVudERhdGVBbmRUaW1lU3RyaW5nKCkge1xuICBjb25zdCBkYXRlID0gbmV3IERhdGUoKSxcbiAgICAgICAgZGF5ID0gcGFkU3RhcnRXaXRoWmVyb2VzKGRhdGUuZ2V0RGF0ZSgpLCAyKSwgIC8vL1xuICAgICAgICBtb250aCA9IHBhZFN0YXJ0V2l0aFplcm9lcyhkYXRlLmdldE1vbnRoKCkgKyAxLCAyKSwgLy8vXG4gICAgICAgIHllYXIgPSBkYXRlLmdldEZ1bGxZZWFyKCksXG4gICAgICAgIGhvdXJzID0gcGFkU3RhcnRXaXRoWmVyb2VzKGRhdGUuZ2V0SG91cnMoKSwgMiksXG4gICAgICAgIG1pbnV0ZXMgPSBwYWRTdGFydFdpdGhaZXJvZXMoZGF0ZS5nZXRNaW51dGVzKCksIDIpLFxuICAgICAgICBzZWNvbmRzID0gcGFkU3RhcnRXaXRoWmVyb2VzKGRhdGUuZ2V0U2Vjb25kcygpLCAyKSxcbiAgICAgICAgbWlsbGlzZWNvbmRzID0gcGFkU3RhcnRXaXRoWmVyb2VzKGRhdGUuZ2V0TWlsbGlzZWNvbmRzKCksIDMpLFxuICAgICAgICBjdXJyZW50RGF0ZUFuZFRpbWVTdHJpbmcgPSBgJHtkYXl9LSR7bW9udGh9LSR7eWVhcn0gJHtob3Vyc306JHttaW51dGVzfToke3NlY29uZHN9LiR7bWlsbGlzZWNvbmRzfWA7XG5cbiAgcmV0dXJuIGN1cnJlbnREYXRlQW5kVGltZVN0cmluZztcbn1cblxuZnVuY3Rpb24gc3RhY2tNZXNzYWdlc0Zyb21TdGFjayhzdGFjaykge1xuICBjb25zdCBzdGFja01lc3NhZ2VzID0gW10sXG4gICAgICAgIHN0YWNrTGluZXMgPSBzdGFjay5zcGxpdCgvXFxyXFxufFxcbi8pO1xuXG4gIGxldCBzdGFja01lc3NhZ2UgPSBFTVBUWV9TVFJJTkc7XG5cbiAgc3RhY2tMaW5lcy5mb3JFYWNoKChzdGFja0xpbmUpID0+IHtcbiAgICBjb25zdCBtYXRjaGVzID0gL15cXHMqYXQuKi8udGVzdChzdGFja0xpbmUpO1xuXG4gICAgc3RhY2tNZXNzYWdlID0gKHN0YWNrTWVzc2FnZSA9PT0gRU1QVFlfU1RSSU5HKSA/XG4gICAgICAgICAgICAgICAgICAgICAgc3RhY2tMaW5lIDpcbiAgICAgICAgICAgICAgICAgICAgICAgIGAke3N0YWNrTWVzc2FnZX1cXG4ke3N0YWNrTGluZX1gO1xuXG4gICAgaWYgKG1hdGNoZXMpIHtcbiAgICAgIHN0YWNrTWVzc2FnZXMucHVzaChzdGFja01lc3NhZ2UpO1xuXG4gICAgICBzdGFja01lc3NhZ2UgPSBFTVBUWV9TVFJJTkc7XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gc3RhY2tNZXNzYWdlcztcbn1cblxuZnVuY3Rpb24gZmlsZVBhdGhGcm9tU3RhY2tNZXNzYWdlKHN0YWNrTWVzc2FnZSkge1xuICBjb25zdCBtYXRjaGVzID0gc3RhY2tNZXNzYWdlLm1hdGNoKC8oXFwvLispOlxcZCs6XFxkKy9tKSxcbiAgICAgICAgc2Vjb25kTWF0Y2ggPSBzZWNvbmQobWF0Y2hlcyksXG4gICAgICAgIGFic29sdXRlRmlsZVBhdGggPSBzZWNvbmRNYXRjaCwgIC8vL1xuICAgICAgICBjdXJyZW50V29ya2luZ0RpcmVjdG9yeVBhdGggPSBwYXRoLnJlc29sdmUoXCIuXCIpLCAgLy8vXG4gICAgICAgIGN1cnJlbnRXb3JraW5nRGlyZWN0b3J5UGF0aExlbmd0aCA9IGN1cnJlbnRXb3JraW5nRGlyZWN0b3J5UGF0aC5sZW5ndGgsXG4gICAgICAgIHN0YXJ0ID0gY3VycmVudFdvcmtpbmdEaXJlY3RvcnlQYXRoTGVuZ3RoICsgMSwgIC8vL1xuICAgICAgICBmaWxlUGF0aCA9IGFic29sdXRlRmlsZVBhdGguc3Vic3RyKHN0YXJ0KTtcblxuICByZXR1cm4gZmlsZVBhdGg7XG59XG5cbmZ1bmN0aW9uIGxpbmVOdW1iZXJGcm9tU3RhY2tNZXNzYWdlKHN0YWNrTWVzc2FnZSkge1xuICBjb25zdCBtYXRjaGVzID0gc3RhY2tNZXNzYWdlLm1hdGNoKC86KFxcZCspL20pLFxuICAgICAgICBzZWNvbmRNYXRjaCA9IHNlY29uZChtYXRjaGVzKSxcbiAgICAgICAgbGluZU51bWJlciA9IHNlY29uZE1hdGNoOyAvLy9cblxuICByZXR1cm4gbGluZU51bWJlcjtcbn1cblxuZnVuY3Rpb24gcGFkU3RhcnRXaXRoWmVyb2VzKHN0cmluZywgdGFyZ2V0TGVuZ3RoKSB7XG4gIGNvbnN0IHBhZFN0cmluZyA9IFwiMFwiLFxuICAgICAgICBwYWRkZWRTdHJpbmcgPSBwYWRTdGFydChzdHJpbmcsIHRhcmdldExlbmd0aCwgcGFkU3RyaW5nKTtcblxuICByZXR1cm4gcGFkZGVkU3RyaW5nO1xufVxuXG5mdW5jdGlvbiBwYWRTdGFydChzdHJpbmcsIHRhcmdldExlbmd0aCwgcGFkU3RyaW5nKSB7XG4gIGxldCBwYWRkaW5nID0gRU1QVFlfU1RSSU5HO1xuXG4gIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCB0YXJnZXRMZW5ndGg7IGluZGV4KyspIHtcbiAgICBwYWRkaW5nICs9IHBhZFN0cmluZztcbiAgfVxuXG4gIGNvbnN0IHBhZGRlZFN0cmluZyA9IGAke3BhZGRpbmd9JHtzdHJpbmd9YC5zdWJzdHIoLXRhcmdldExlbmd0aCk7XG5cbiAgcmV0dXJuIHBhZGRlZFN0cmluZztcbn1cbiJdLCJuYW1lcyI6WyJsb2ciLCJsZXZlbHMiLCJsb2dMZXZlbCIsImxvZ0ZpbGVCYXNlTmFtZSIsImxvZ0RpcmVjdG9yeVBhdGgiLCJtZXNzYWdlT3JFcnJvciIsImxldmVsIiwic2FsaWVudFN0YWNrTWVzc2FnZUluZGV4IiwibGV2ZWxJbmRleCIsImluZGV4T2YiLCJsb2dMZXZlbEluZGV4IiwiZXJyb3IiLCJtZXNzYWdlIiwiRXJyb3IiLCJzdGFjayIsInN0YWNrTWVzc2FnZXMiLCJzdGFja01lc3NhZ2VzRnJvbVN0YWNrIiwicGVydGluZW50U3RhY2tNZXNzYWdlIiwic3RhY2tNZXNzYWdlIiwiY3VycmVudERhdGVBbmRUaW1lU3RyaW5nIiwiZ2V0Q3VycmVudERhdGVBbmRUaW1lU3RyaW5nIiwiZmlsZVBhdGgiLCJmaWxlUGF0aEZyb21TdGFja01lc3NhZ2UiLCJsaW5lTnVtYmVyIiwibGluZU51bWJlckZyb21TdGFja01lc3NhZ2UiLCJsb2dNZXNzYWdlIiwiY29uc29sZSIsInJvbGxPdmVyTG9nRmlsZSIsImxvZ0ZpbGVQYXRoIiwiZ2V0TG9nRmlsZVBhdGgiLCJsb2dGaWxlQ29udGVudCIsInRyYWNlIiwiZGVidWciLCJpbmZvIiwid2FybmluZyIsImZhdGFsIiwic2V0TG9nTGV2ZWwiLCJzZXRMb2dGaWxlQmFzZU5hbWUiLCJmaWxlQmFzZU5hbWUiLCJzZXRMb2dEaXJlY3RvcnlQYXRoIiwiZGlyZWN0b3J5UGF0aCIsInNldExvZ09wdGlvbnMiLCJsb2dPcHRpb25zIiwiZ2V0TG9nRmlsZUNvbnRlbnQiLCJPYmplY3QiLCJhc3NpZ24iLCJUUkFDRV9MRVZFTCIsIkRFQlVHX0xFVkVMIiwiSU5GT19MRVZFTCIsIldBUk5JTkdfTEVWRUwiLCJFUlJPUl9MRVZFTCIsIkZBVEFMX0xFVkVMIiwibG9nRmlsZU5hbWUiLCJnZXRSb2xsZWRPdmVyTG9nRmlsZVBhdGgiLCJjdXJyZW50RGF0ZVN0cmluZyIsImdldEN1cnJlbnREYXRlU3RyaW5nIiwicm9sbGVkT3ZlckxvZ0ZpbGVOYW1lIiwicm9sbGVkT3ZlckxvZ0ZpbGVQYXRoIiwiZ2V0TG9nRmlsZUxhc3RNb2RpZmllZERhdGUiLCJsb2dGaWxlU3RhdHMiLCJtdGltZSIsImxvZ0ZpbGVMYXN0TW9kaWZpZWREYXRlIiwiRGF0ZSIsImxvZ0ZpbGVFeGlzdHMiLCJsb2dGaWxlTGFzdE1vZGlmaWVkRGF0ZUN1cnJlbnREYXRlIiwiaXNEYXRlQ3VycmVudERhdGUiLCJkYXRlIiwiY3VycmVudERhdGUiLCJkYXRlU3RyaW5nIiwidG9EYXRlU3RyaW5nIiwiZGF0ZUN1cnJlbnREYXRlIiwiZGF5IiwicGFkU3RhcnRXaXRoWmVyb2VzIiwiZ2V0RGF0ZSIsIm1vbnRoIiwiZ2V0TW9udGgiLCJ5ZWFyIiwiZ2V0RnVsbFllYXIiLCJob3VycyIsImdldEhvdXJzIiwibWludXRlcyIsImdldE1pbnV0ZXMiLCJzZWNvbmRzIiwiZ2V0U2Vjb25kcyIsIm1pbGxpc2Vjb25kcyIsImdldE1pbGxpc2Vjb25kcyIsInN0YWNrTGluZXMiLCJzcGxpdCIsImZvckVhY2giLCJzdGFja0xpbmUiLCJtYXRjaGVzIiwidGVzdCIsInB1c2giLCJtYXRjaCIsInNlY29uZE1hdGNoIiwiYWJzb2x1dGVGaWxlUGF0aCIsImN1cnJlbnRXb3JraW5nRGlyZWN0b3J5UGF0aCIsInJlc29sdmUiLCJjdXJyZW50V29ya2luZ0RpcmVjdG9yeVBhdGhMZW5ndGgiLCJsZW5ndGgiLCJzdGFydCIsInN1YnN0ciIsInN0cmluZyIsInRhcmdldExlbmd0aCIsInBhZFN0cmluZyIsInBhZGRlZFN0cmluZyIsInBhZFN0YXJ0IiwicGFkZGluZyIsImluZGV4Il0sIm1hcHBpbmdzIjoiQUFBQSxDQUFZOzs7O1FBd0JJQSxHQUFHLEdBQUhBLEdBQUc7O0FBdEJGLEdBQU0sQ0FBTixLQUFNO0FBRUEsR0FBb0IsQ0FBcEIsTUFBb0I7QUFDZCxHQUFjLENBQWQsVUFBYztBQUNWLEdBQW1CLENBQW5CLE1BQW1CO0FBQzBCLEdBQXlCLENBQXpCLFdBQXlCO0FBQ2IsR0FBYSxDQUFiLFNBQWE7QUFDVCxHQUFXLENBQVgsT0FBVzs7Ozs7Ozs7Ozs7OztBQUV6RyxHQUFLLENBQUNDLE1BQU0sR0FBRyxDQUFDO0lBRjhFLE9BQVc7SUFBWCxPQUFXO0lBQVgsT0FBVztJQUFYLE9BQVc7SUFBWCxPQUFXO0lBQVgsT0FBVztBQVN6RyxDQUFDO0FBRUQsR0FBRyxDQUFDQyxRQUFRLEdBWjhFLFNBQWEsb0JBYW5HQyxlQUFlLEdBYnVFLFNBQWEsNkJBY25HQyxnQkFBZ0IsR0Fkc0UsU0FBYTtTQWdCdkZKLEdBQUcsQ0FBQ0ssY0FBYyxFQUF3QixDQUFDO1FBQXZCQyxLQUFLLG9FQW5CWixVQUFjO0lBb0J6QyxHQUFHLENBQUNDLHdCQUF3QixHQUFHLENBQUM7SUFFaEMsRUFBRSxFQUFFRCxLQUFLLEtBdEJrQixVQUFjLGVBc0JiLENBQUM7UUFDM0IsR0FBSyxDQUFDRSxVQUFVLEdBQUdQLE1BQU0sQ0FBQ1EsT0FBTyxD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
|
package/lib/utilities/request.js
CHANGED
|
@@ -7,15 +7,15 @@ var _constants = require("../constants");
|
|
|
7
7
|
var _methods = require("../methods");
|
|
8
8
|
var _http = require("../utilities/http");
|
|
9
9
|
var http = require("http"), https = require("https");
|
|
10
|
-
function
|
|
10
|
+
function createRequest(host, uri, query, method, headers, callback) {
|
|
11
11
|
var port = (0, _http).portFromHost(host), secure = (0, _http).secureFromHost(host), hostname = (0, _http).hostnameFromHost(host), queryString = (0, _http).queryStringFromQuery(query), path = queryString === _constants.EMPTY_STRING ? uri : "".concat(uri, "?").concat(queryString), options = {
|
|
12
12
|
hostname: hostname,
|
|
13
13
|
headers: headers,
|
|
14
14
|
method: method,
|
|
15
15
|
port: port,
|
|
16
16
|
path: path
|
|
17
|
-
},
|
|
18
|
-
var request =
|
|
17
|
+
}, createRequest1 = secure ? https.request : http.request; ///
|
|
18
|
+
var request = createRequest1(options, function(response) {
|
|
19
19
|
var error = null;
|
|
20
20
|
callback(error, response);
|
|
21
21
|
});
|
|
@@ -31,7 +31,7 @@ function createGetRequest(host, uri, query, headers, callback) {
|
|
|
31
31
|
headers = {
|
|
32
32
|
};
|
|
33
33
|
}
|
|
34
|
-
var method = _methods.GET_METHOD, getRequest =
|
|
34
|
+
var method = _methods.GET_METHOD, getRequest = createRequest(host, uri, query, method, headers, callback);
|
|
35
35
|
return getRequest;
|
|
36
36
|
}
|
|
37
37
|
function createPostRequest(host, uri, query, headers, callback) {
|
|
@@ -40,14 +40,14 @@ function createPostRequest(host, uri, query, headers, callback) {
|
|
|
40
40
|
headers = {
|
|
41
41
|
};
|
|
42
42
|
}
|
|
43
|
-
var method = _methods.POST_METHOD, postRequest =
|
|
43
|
+
var method = _methods.POST_METHOD, postRequest = createRequest(host, uri, query, method, headers, callback);
|
|
44
44
|
return postRequest;
|
|
45
45
|
}
|
|
46
46
|
var _default = {
|
|
47
|
-
createRequest:
|
|
47
|
+
createRequest: createRequest,
|
|
48
48
|
createGetRequest: createGetRequest,
|
|
49
49
|
createPostRequest: createPostRequest
|
|
50
50
|
};
|
|
51
51
|
exports.default = _default;
|
|
52
52
|
|
|
53
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvcmVxdWVzdC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuY29uc3QgaHR0cCA9IHJlcXVpcmUoXCJodHRwXCIpLFxuICAgICAgaHR0cHMgPSByZXF1aXJlKFwiaHR0cHNcIik7XG5cbmltcG9ydCB7IEVSUk9SLCBFTVBUWV9TVFJJTkcgfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBHRVRfTUVUSE9ELCBQT1NUX01FVEhPRCB9IGZyb20gXCIuLi9tZXRob2RzXCI7XG5pbXBvcnQgeyBwb3J0RnJvbUhvc3QsIHNlY3VyZUZyb21Ib3N0LCBob3N0bmFtZUZyb21Ib3N0LCBxdWVyeVN0cmluZ0Zyb21RdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvaHR0cFwiO1xuXG5mdW5jdGlvbiBjcmVhdGVSZXF1ZXN0KGhvc3QsIHVyaSwgcXVlcnksIG1ldGhvZCwgaGVhZGVycywgY2FsbGJhY2spIHtcbiAgY29uc3QgcG9ydCA9IHBvcnRGcm9tSG9zdChob3N0KSxcbiAgICAgICAgc2VjdXJlID0gc2VjdXJlRnJvbUhvc3QoaG9zdCksXG4gICAgICAgIGhvc3RuYW1lID0gaG9zdG5hbWVGcm9tSG9zdChob3N0KSxcbiAgICAgICAgcXVlcnlTdHJpbmcgPSBxdWVyeVN0cmluZ0Zyb21RdWVyeShxdWVyeSksXG4gICAgICAgIHBhdGggPSAocXVlcnlTdHJpbmcgPT09IEVNUFRZX1NUUklORykgP1xuICAgICAgICAgICAgICAgICB1cmkgOlxuICAgICAgICAgICAgICAgICAgYCR7dXJpfT8ke3F1ZXJ5U3RyaW5nfWAsXG4gICAgICAgIG9wdGlvbnMgPSB7XG4gICAgICAgICAgaG9zdG5hbWUsXG4gICAgICAgICAgaGVhZGVycyxcbiAgICAgICAgICBtZXRob2QsXG4gICAgICAgICAgcG9ydCxcbiAgICAgICAgICBwYXRoXG4gICAgICAgIH0sXG4gICAgICAgIGNyZWF0ZVJlcXVlc3QgPSBzZWN1cmUgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwcy5yZXF1ZXN0IDogLy8vXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaHR0cC5yZXF1ZXN0OyAvLy9cblxuICBjb25zdCByZXF1ZXN0ID0gY3JlYXRlUmVxdWVzdChvcHRpb25zLCAocmVzcG9uc2UpID0+IHtcbiAgICBjb25zdCBlcnJvciA9IG51bGw7XG5cbiAgICBjYWxsYmFjayhlcnJvciwgcmVzcG9uc2UpO1xuICB9KTtcblxuICByZXF1ZXN0Lm9uKEVSUk9SLCAoZXJyb3IpID0+
|
|
53
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvcmVxdWVzdC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuY29uc3QgaHR0cCA9IHJlcXVpcmUoXCJodHRwXCIpLFxuICAgICAgaHR0cHMgPSByZXF1aXJlKFwiaHR0cHNcIik7XG5cbmltcG9ydCB7IEVSUk9SLCBFTVBUWV9TVFJJTkcgfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBHRVRfTUVUSE9ELCBQT1NUX01FVEhPRCB9IGZyb20gXCIuLi9tZXRob2RzXCI7XG5pbXBvcnQgeyBwb3J0RnJvbUhvc3QsIHNlY3VyZUZyb21Ib3N0LCBob3N0bmFtZUZyb21Ib3N0LCBxdWVyeVN0cmluZ0Zyb21RdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvaHR0cFwiO1xuXG5mdW5jdGlvbiBjcmVhdGVSZXF1ZXN0KGhvc3QsIHVyaSwgcXVlcnksIG1ldGhvZCwgaGVhZGVycywgY2FsbGJhY2spIHtcbiAgY29uc3QgcG9ydCA9IHBvcnRGcm9tSG9zdChob3N0KSxcbiAgICAgICAgc2VjdXJlID0gc2VjdXJlRnJvbUhvc3QoaG9zdCksXG4gICAgICAgIGhvc3RuYW1lID0gaG9zdG5hbWVGcm9tSG9zdChob3N0KSxcbiAgICAgICAgcXVlcnlTdHJpbmcgPSBxdWVyeVN0cmluZ0Zyb21RdWVyeShxdWVyeSksXG4gICAgICAgIHBhdGggPSAocXVlcnlTdHJpbmcgPT09IEVNUFRZX1NUUklORykgP1xuICAgICAgICAgICAgICAgICB1cmkgOlxuICAgICAgICAgICAgICAgICAgYCR7dXJpfT8ke3F1ZXJ5U3RyaW5nfWAsXG4gICAgICAgIG9wdGlvbnMgPSB7XG4gICAgICAgICAgaG9zdG5hbWUsXG4gICAgICAgICAgaGVhZGVycyxcbiAgICAgICAgICBtZXRob2QsXG4gICAgICAgICAgcG9ydCxcbiAgICAgICAgICBwYXRoXG4gICAgICAgIH0sXG4gICAgICAgIGNyZWF0ZVJlcXVlc3QgPSBzZWN1cmUgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwcy5yZXF1ZXN0IDogLy8vXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaHR0cC5yZXF1ZXN0OyAvLy9cblxuICBjb25zdCByZXF1ZXN0ID0gY3JlYXRlUmVxdWVzdChvcHRpb25zLCAocmVzcG9uc2UpID0+IHtcbiAgICBjb25zdCBlcnJvciA9IG51bGw7XG5cbiAgICBjYWxsYmFjayhlcnJvciwgcmVzcG9uc2UpO1xuICB9KTtcblxuICByZXF1ZXN0Lm9uKEVSUk9SLCAoZXJyb3IpID0+IHtcbiAgICBjb25zdCByZXNwb25zZSA9IG51bGw7XG5cbiAgICBjYWxsYmFjayhlcnJvciwgcmVzcG9uc2UpO1xuICB9KTtcblxuICByZXR1cm4gcmVxdWVzdDtcbn1cblxuZnVuY3Rpb24gY3JlYXRlR2V0UmVxdWVzdChob3N0LCB1cmksIHF1ZXJ5LCBoZWFkZXJzLCBjYWxsYmFjaykge1xuICBpZiAoY2FsbGJhY2sgPT09IHVuZGVmaW5lZCkge1xuICAgIGNhbGxiYWNrID0gaGVhZGVyczsgLy8vXG4gICAgaGVhZGVycyA9IHt9O1xuICB9XG5cbiAgY29uc3QgbWV0aG9kID0gR0VUX01FVEhPRCxcbiAgICAgICAgZ2V0UmVxdWVzdCA9IGNyZWF0ZVJlcXVlc3QoaG9zdCwgdXJpLCBxdWVyeSwgbWV0aG9kLCBoZWFkZXJzLCBjYWxsYmFjayk7XG5cbiAgcmV0dXJuIGdldFJlcXVlc3Q7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZVBvc3RSZXF1ZXN0KGhvc3QsIHVyaSwgcXVlcnksIGhlYWRlcnMsIGNhbGxiYWNrKSB7XG4gIGlmIChjYWxsYmFjayA9PT0gdW5kZWZpbmVkKSB7XG4gICAgY2FsbGJhY2sgPSBoZWFkZXJzOyAvLy9cbiAgICBoZWFkZXJzID0ge307XG4gIH1cblxuICBjb25zdCBtZXRob2QgPSBQT1NUX01FVEhPRCxcbiAgICAgICAgcG9zdFJlcXVlc3QgPSBjcmVhdGVSZXF1ZXN0KGhvc3QsIHVyaSwgcXVlcnksIG1ldGhvZCwgaGVhZGVycywgY2FsbGJhY2spO1xuXG4gIHJldHVybiBwb3N0UmVxdWVzdDtcbn1cblxuZXhwb3J0IGRlZmF1bHQge1xuICBjcmVhdGVSZXF1ZXN0LFxuICBjcmVhdGVHZXRSZXF1ZXN0LFxuICBjcmVhdGVQb3N0UmVxdWVzdFxufTtcbiJdLCJuYW1lcyI6WyJodHRwIiwicmVxdWlyZSIsImh0dHBzIiwiY3JlYXRlUmVxdWVzdCIsImhvc3QiLCJ1cmkiLCJxdWVyeSIsIm1ldGhvZCIsImhlYWRlcnMiLCJjYWxsYmFjayIsInBvcnQiLCJzZWN1cmUiLCJob3N0bmFtZSIsInF1ZXJ5U3RyaW5nIiwicGF0aCIsIm9wdGlvbnMiLCJyZXF1ZXN0IiwicmVzcG9uc2UiLCJlcnJvciIsIm9uIiwiY3JlYXRlR2V0UmVxdWVzdCIsInVuZGVmaW5lZCIsImdldFJlcXVlc3QiLCJjcmVhdGVQb3N0UmVxdWVzdCIsInBvc3RSZXF1ZXN0Il0sIm1hcHBpbmdzIjoiQUFBQSxDQUFZOzs7OztBQUt3QixHQUFjLENBQWQsVUFBYztBQUNWLEdBQVksQ0FBWixRQUFZO0FBQ2lDLEdBQW1CLENBQW5CLEtBQW1CO0FBTHhHLEdBQUssQ0FBQ0EsSUFBSSxHQUFHQyxPQUFPLENBQUMsQ0FBTSxRQUNyQkMsS0FBSyxHQUFHRCxPQUFPLENBQUMsQ0FBTztTQU1wQkUsYUFBYSxDQUFDQyxJQUFJLEVBQUVDLEdBQUcsRUFBRUMsS0FBSyxFQUFFQyxNQUFNLEVBQUVDLE9BQU8sRUFBRUMsUUFBUSxFQUFFLENBQUM7SUFDbkUsR0FBSyxDQUFDQyxJQUFJLE9BSHlFLEtBQW1CLGVBRzVFTixJQUFJLEdBQ3hCTyxNQUFNLE9BSnVFLEtBQW1CLGlCQUl4RVAsSUFBSSxHQUM1QlEsUUFBUSxPQUxxRSxLQUFtQixtQkFLcEVSLElBQUksR0FDaENTLFdBQVcsT0FOa0UsS0FBbUIsdUJBTTdEUCxLQUFLLEdBQ3hDUSxJQUFJLEdBQUlELFdBQVcsS0FUUyxVQUFjLGdCQVVqQ1IsR0FBRyxHQUNELENBQUEsRUFBU1EsTUFBVyxDQUFsQlIsR0FBRyxFQUFDLENBQUMsSUFBYyxNQUFBLENBQVpRLFdBQVcsR0FDL0JFLE9BQU8sR0FBRyxDQUFDO1FBQ1RILFFBQVEsRUFBUkEsUUFBUTtRQUNSSixPQUFPLEVBQVBBLE9BQU87UUFDUEQsTUFBTSxFQUFOQSxNQUFNO1FBQ05HLElBQUksRUFBSkEsSUFBSTtRQUNKSSxJQUFJLEVBQUpBLElBQUk7SUFDTixDQUFDLEVBQ0RYLGNBQWEsR0FBR1EsTUFBTSxHQUNKVCxLQUFLLENBQUNjLE9BQU8sR0FDWGhCLElBQUksQ0FBQ2dCLE9BQU8sQ0FBRSxDQUFHLEFBQUgsRUFBRyxBQUFILENBQUc7SUFFM0MsR0FBSyxDQUFDQSxPQUFPLEdBQUdiLGNBQWEsQ0FBQ1ksT0FBTyxFQUFFLFFBQVEsQ0FBUEUsUUFBUSxFQUFLLENBQUM7UUFDcEQsR0FBSyxDQUFDQyxLQUFLLEdBQUcsSUFBSTtRQUVsQlQsUUFBUSxDQUFDUyxLQUFLLEVBQUVELFFBQVE7SUFDMUIsQ0FBQztJQUVERCxPQUFPLENBQUNHLEVBQUUsQ0E3QndCLFVBQWMsUUE2QjlCLFFBQVEsQ0FBUEQsS0FBSyxFQUFLLENBQUM7UUFDNUIsR0FBSyxDQUFDRCxRQUFRLEdBQUcsSUFBSTtRQUVyQlIsUUFBUSxDQUFDUyxLQUFLLEVBQUVELFFBQVE7SUFDMUIsQ0FBQztJQUVELE1BQU0sQ0FBQ0QsT0FBTztBQUNoQixDQUFDO1NBRVFJLGdCQUFnQixDQUFDaEIsSUFBSSxFQUFFQyxHQUFHLEVBQUVDLEtBQUssRUFBRUUsT0FBTyxFQUFFQyxRQUFRLEVBQUUsQ0FBQztJQUM5RCxFQUFFLEVBQUVBLFFBQVEsS0FBS1ksU0FBUyxFQUFFLENBQUM7UUFDM0JaLFFBQVEsR0FBR0QsT0FBTyxDQUFFLENBQUcsQUFBSCxFQUFHLEFBQUgsQ0FBRztRQUN2QkEsT0FBTyxHQUFHLENBQUM7UUFBQSxDQUFDO0lBQ2QsQ0FBQztJQUVELEdBQUssQ0FBQ0QsTUFBTSxHQTNDMEIsUUFBWSxhQTRDNUNlLFVBQVUsR0FBR25CLGFBQWEsQ0FBQ0MsSUFBSSxFQUFFQyxHQUFHLEVBQUVDLEtBQUssRUFBRUMsTUFBTSxFQUFFQyxPQUFPLEVBQUVDLFFBQVE7SUFFNUUsTUFBTSxDQUFDYSxVQUFVO0FBQ25CLENBQUM7U0FFUUMsaUJBQWlCLENBQUNuQixJQUFJLEVBQUVDLEdBQUcsRUFBRUMsS0FBSyxFQUFFRSxPQUFPLEVBQUVDLFFBQVEsRUFBRSxDQUFDO0lBQy9ELEVBQUUsRUFBRUEsUUFBUSxLQUFLWSxTQUFTLEVBQUUsQ0FBQztRQUMzQlosUUFBUSxHQUFHRCxPQUFPLENBQUUsQ0FBRyxBQUFILEVBQUcsQUFBSCxDQUFHO1FBQ3ZCQSxPQUFPLEdBQUcsQ0FBQztRQUFBLENBQUM7SUFDZCxDQUFDO0lBRUQsR0FBSyxDQUFDRCxNQUFNLEdBdkQwQixRQUFZLGNBd0Q1Q2lCLFdBQVcsR0FBR3JCLGFBQWEsQ0FBQ0MsSUFBSSxFQUFFQyxHQUFHLEVBQUVDLEtBQUssRUFBRUMsTUFBTSxFQUFFQyxPQUFPLEVBQUVDLFFBQVE7SUFFN0UsTUFBTSxDQUFDZSxXQUFXO0FBQ3BCLENBQUM7ZUFFYyxDQUFDO0lBQ2RyQixhQUFhLEVBQWJBLGFBQWE7SUFDYmlCLGdCQUFnQixFQUFoQkEsZ0JBQWdCO0lBQ2hCRyxpQkFBaUIsRUFBakJBLGlCQUFpQjtBQUNuQixDQUFDIn0=
|
|
@@ -16,8 +16,8 @@ function parseContent(content, args, regex) {
|
|
|
16
16
|
var lines = content.split("\n"), parsedLines = parseLines(lines, args, regex), parsedContent = parsedLines.join("\n");
|
|
17
17
|
return parsedContent;
|
|
18
18
|
}
|
|
19
|
-
function parseLine(line, args
|
|
20
|
-
var regex =
|
|
19
|
+
function parseLine(line, args) {
|
|
20
|
+
var regex = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : /\${(.+?)}/g;
|
|
21
21
|
var parsedLine = line.replace(regex, function(match, token) {
|
|
22
22
|
var parsedToken = parseToken(token, args);
|
|
23
23
|
return parsedToken;
|
|
@@ -45,4 +45,4 @@ function parseToken(token, args) {
|
|
|
45
45
|
return parsedToken;
|
|
46
46
|
}
|
|
47
47
|
|
|
48
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvdGVtcGxhdGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IHJlYWRGaWxlIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9maWxlU3lzdGVtXCI7XG5pbXBvcnQgeyBFTVBUWV9TVFJJTkcgfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUZpbGUoZmlsZVBhdGgsIGFyZ3MsIHJlZ2V4KSB7XG4gIGNvbnN0IGNvbnRlbnQgPSByZWFkRmlsZShmaWxlUGF0aCksXG4gICAgICAgIHBhcnNlZENvbnRlbnQgPSBwYXJzZUNvbnRlbnQoY29udGVudCwgYXJncywgcmVnZXgpO1xuXG4gIHJldHVybiBwYXJzZWRDb250ZW50O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VDb250ZW50KGNvbnRlbnQsIGFyZ3MsIHJlZ2V4KSB7XG4gIGNvbnN0IGxpbmVzID0gY29udGVudC5zcGxpdChcIlxcblwiKSxcbiAgICAgICAgcGFyc2VkTGluZXMgPSBwYXJzZUxpbmVzKGxpbmVzLCBhcmdzLCByZWdleCksXG4gICAgICAgIHBhcnNlZENvbnRlbnQgPSBwYXJzZWRMaW5lcy5qb2luKFwiXFxuXCIpO1xuXG4gIHJldHVybiBwYXJzZWRDb250ZW50O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VMaW5lKGxpbmUsIGFyZ3MsIHJlZ2V4ID0gL1xcJHsoLis/KX0vZykge1xuICBjb25zdCBwYXJzZWRMaW5lID0gbGluZS5yZXBsYWNlKHJlZ2V4LCAobWF0Y2gsIHRva2VuKSA9PiB7XG4gICAgY29uc3QgcGFyc2VkVG9rZW4gPSBwYXJzZVRva2VuKHRva2VuLCBhcmdzKTtcblxuICAgIHJldHVybiBwYXJzZWRUb2tlbjtcbiAgfSk7XG5cbiAgcmV0dXJuIHBhcnNlZExpbmU7XG59XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgcGFyc2VGaWxlLFxuICBwYXJzZUNvbnRlbnQsXG4gIHBhcnNlTGluZVxufTtcblxuZnVuY3Rpb24gcGFyc2VMaW5lcyhsaW5lcywgYXJncywgcmVnZXgpIHtcbiAgY29uc3QgcGFyc2VkTGluZXMgPSBsaW5lcy5tYXAoKGxpbmUpID0+
|
|
48
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvdGVtcGxhdGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IHJlYWRGaWxlIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9maWxlU3lzdGVtXCI7XG5pbXBvcnQgeyBFTVBUWV9TVFJJTkcgfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUZpbGUoZmlsZVBhdGgsIGFyZ3MsIHJlZ2V4KSB7XG4gIGNvbnN0IGNvbnRlbnQgPSByZWFkRmlsZShmaWxlUGF0aCksXG4gICAgICAgIHBhcnNlZENvbnRlbnQgPSBwYXJzZUNvbnRlbnQoY29udGVudCwgYXJncywgcmVnZXgpO1xuXG4gIHJldHVybiBwYXJzZWRDb250ZW50O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VDb250ZW50KGNvbnRlbnQsIGFyZ3MsIHJlZ2V4KSB7XG4gIGNvbnN0IGxpbmVzID0gY29udGVudC5zcGxpdChcIlxcblwiKSxcbiAgICAgICAgcGFyc2VkTGluZXMgPSBwYXJzZUxpbmVzKGxpbmVzLCBhcmdzLCByZWdleCksXG4gICAgICAgIHBhcnNlZENvbnRlbnQgPSBwYXJzZWRMaW5lcy5qb2luKFwiXFxuXCIpO1xuXG4gIHJldHVybiBwYXJzZWRDb250ZW50O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VMaW5lKGxpbmUsIGFyZ3MsIHJlZ2V4ID0gL1xcJHsoLis/KX0vZykge1xuICBjb25zdCBwYXJzZWRMaW5lID0gbGluZS5yZXBsYWNlKHJlZ2V4LCAobWF0Y2gsIHRva2VuKSA9PiB7XG4gICAgY29uc3QgcGFyc2VkVG9rZW4gPSBwYXJzZVRva2VuKHRva2VuLCBhcmdzKTtcblxuICAgIHJldHVybiBwYXJzZWRUb2tlbjtcbiAgfSk7XG5cbiAgcmV0dXJuIHBhcnNlZExpbmU7XG59XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgcGFyc2VGaWxlLFxuICBwYXJzZUNvbnRlbnQsXG4gIHBhcnNlTGluZVxufTtcblxuZnVuY3Rpb24gcGFyc2VMaW5lcyhsaW5lcywgYXJncywgcmVnZXgpIHtcbiAgY29uc3QgcGFyc2VkTGluZXMgPSBsaW5lcy5tYXAoKGxpbmUpID0+IHtcbiAgICBjb25zdCBwYXJzZWRMaW5lID0gcGFyc2VMaW5lKGxpbmUsIGFyZ3MsIHJlZ2V4KTtcblxuICAgIHJldHVybiBwYXJzZWRMaW5lO1xuICB9KTtcblxuICByZXR1cm4gcGFyc2VkTGluZXM7XG59XG5cbmZ1bmN0aW9uIHBhcnNlVG9rZW4odG9rZW4sIGFyZ3MpIHtcbiAgbGV0IHBhcnNlZFRva2VuID0gRU1QVFlfU1RSSU5HO1xuXG4gIGlmIChhcmdzLmhhc093blByb3BlcnR5KHRva2VuKSkge1xuICAgIHBhcnNlZFRva2VuID0gYXJnc1t0b2tlbl07XG4gIH1cblxuICByZXR1cm4gcGFyc2VkVG9rZW47XG59XG4iXSwibmFtZXMiOlsicGFyc2VGaWxlIiwicGFyc2VDb250ZW50IiwicGFyc2VMaW5lIiwiZmlsZVBhdGgiLCJhcmdzIiwicmVnZXgiLCJjb250ZW50IiwicGFyc2VkQ29udGVudCIsImxpbmVzIiwic3BsaXQiLCJwYXJzZWRMaW5lcyIsInBhcnNlTGluZXMiLCJqb2luIiwibGluZSIsInBhcnNlZExpbmUiLCJyZXBsYWNlIiwidG9rZW4iLCJtYXRjaCIsInBhcnNlZFRva2VuIiwicGFyc2VUb2tlbiIsIm1hcCIsImhhc093blByb3BlcnR5Il0sIm1hcHBpbmdzIjoiQUFBQSxDQUFZOzs7O1FBS0lBLFNBQVMsR0FBVEEsU0FBUztRQU9UQyxZQUFZLEdBQVpBLFlBQVk7UUFRWkMsU0FBUyxHQUFUQSxTQUFTOztBQWxCQSxHQUF5QixDQUF6QixXQUF5QjtBQUNyQixHQUFjLENBQWQsVUFBYztTQUUzQkYsU0FBUyxDQUFDRyxRQUFRLEVBQUVDLElBQUksRUFBRUMsS0FBSyxFQUFFLENBQUM7SUFDaEQsR0FBSyxDQUFDQyxPQUFPLE9BSlUsV0FBeUIsV0FJdkJILFFBQVEsR0FDM0JJLGFBQWEsR0FBR04sWUFBWSxDQUFDSyxPQUFPLEVBQUVGLElBQUksRUFBRUMsS0FBSztJQUV2RCxNQUFNLENBQUNFLGFBQWE7QUFDdEIsQ0FBQztTQUVlTixZQUFZLENBQUNLLE9BQU8sRUFBRUYsSUFBSSxFQUFFQyxLQUFLLEVBQUUsQ0FBQztJQUNsRCxHQUFLLENBQUNHLEtBQUssR0FBR0YsT0FBTyxDQUFDRyxLQUFLLENBQUMsQ0FBSSxNQUMxQkMsV0FBVyxHQUFHQyxVQUFVLENBQUNILEtBQUssRUFBRUosSUFBSSxFQUFFQyxLQUFLLEdBQzNDRSxhQUFhLEdBQUdHLFdBQVcsQ0FBQ0UsSUFBSSxDQUFDLENBQUk7SUFFM0MsTUFBTSxDQUFDTCxhQUFhO0FBQ3RCLENBQUM7U0FFZUwsU0FBUyxDQUFDVyxJQUFJLEVBQUVULElBQUksRUFBd0IsQ0FBQztRQUF2QkMsS0FBSztJQUN6QyxHQUFLLENBQUNTLFVBQVUsR0FBR0QsSUFBSSxDQUFDRSxPQUFPLENBQUNWLEtBQUssRUFBRSxRQUFRVyxDQUFQQyxLQUFLLEVBQUVELEtBQUssRUFBSyxDQUFDO1FBQ3hELEdBQUssQ0FBQ0UsV0FBVyxHQUFHQyxVQUFVLENBQUNILEtBQUssRUFBRVosSUFBSTtRQUUxQyxNQUFNLENBQUNjLFdBQVc7SUFDcEIsQ0FBQztJQUVELE1BQU0sQ0FBQ0osVUFBVTtBQUNuQixDQUFDO2VBRWMsQ0FBQztJQUNkZCxTQUFTLEVBQVRBLFNBQVM7SUFDVEMsWUFBWSxFQUFaQSxZQUFZO0lBQ1pDLFNBQVMsRUFBVEEsU0FBUztBQUNYLENBQUM7O1NBRVFTLFVBQVUsQ0FBQ0gsS0FBSyxFQUFFSixJQUFJLEVBQUVDLEtBQUssRUFBRSxDQUFDO0lBQ3ZDLEdBQUssQ0FBQ0ssV0FBVyxHQUFHRixLQUFLLENBQUNZLEdBQUcsQ0FBQyxRQUFRLENBQVBQLElBQUksRUFBSyxDQUFDO1FBQ3ZDLEdBQUssQ0FBQ0MsVUFBVSxHQUFHWixTQUFTLENBQUNXLElBQUksRUFBRVQsSUFBSSxFQUFFQyxLQUFLO1FBRTlDLE1BQU0sQ0FBQ1MsVUFBVTtJQUNuQixDQUFDO0lBRUQsTUFBTSxDQUFDSixXQUFXO0FBQ3BCLENBQUM7U0FFUVMsVUFBVSxDQUFDSCxLQUFLLEVBQUVaLElBQUksRUFBRSxDQUFDO0lBQ2hDLEdBQUcsQ0FBQ2MsV0FBVyxHQTVDWSxVQUFjO0lBOEN6QyxFQUFFLEVBQUVkLElBQUksQ0FBQ2lCLGNBQWMsQ0FBQ0wsS0FBSyxHQUFHLENBQUM7UUFDL0JFLFdBQVcsR0FBR2QsSUFBSSxDQUFDWSxLQUFLO0lBQzFCLENBQUM7SUFFRCxNQUFNLENBQUNFLFdBQVc7QUFDcEIsQ0FBQyJ9
|
package/package.json
CHANGED
package/src/constants.js
CHANGED
|
@@ -3,6 +3,10 @@
|
|
|
3
3
|
export const UTF8 = "utf8";
|
|
4
4
|
export const ERROR = "error";
|
|
5
5
|
export const CTRL_C = "^C";
|
|
6
|
+
export const STRING = "string";
|
|
6
7
|
export const ACCEPT = "accept";
|
|
8
|
+
export const NUMBER = "number";
|
|
9
|
+
export const BOOLEAN = "boolean";
|
|
10
|
+
export const ENVIRONMENT = "ENVIRONMENT";
|
|
7
11
|
export const EMPTY_STRING = "";
|
|
8
12
|
export const CONTENT_TYPE = "content-type";
|
package/src/utilities/ajax.js
CHANGED
|
@@ -52,11 +52,11 @@ export function request(host, uri, query, method, headers, content, callback) {
|
|
|
52
52
|
}
|
|
53
53
|
|
|
54
54
|
xmlHttpRequest.onreadystatechange = () => {
|
|
55
|
-
const { readyState, status,
|
|
55
|
+
const { readyState, status, response } = xmlHttpRequest,
|
|
56
56
|
statusCode = status;
|
|
57
57
|
|
|
58
58
|
if (readyState == 4) {
|
|
59
|
-
let content =
|
|
59
|
+
let content = response;
|
|
60
60
|
|
|
61
61
|
if (accept === APPLICATION_JSON_CONTENT_TYPE) {
|
|
62
62
|
try {
|
|
@@ -67,9 +67,9 @@ export function request(host, uri, query, method, headers, content, callback) {
|
|
|
67
67
|
} catch (error) {
|
|
68
68
|
content = null;
|
|
69
69
|
}
|
|
70
|
-
|
|
71
|
-
callback(content, statusCode);
|
|
72
70
|
}
|
|
71
|
+
|
|
72
|
+
callback(content, statusCode);
|
|
73
73
|
}
|
|
74
74
|
};
|
|
75
75
|
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import { first, second } from "../utilities/array";
|
|
4
4
|
import { DEFAULT_RC_BASE_EXTENSION } from "../defaults";
|
|
5
|
+
import { STRING, NUMBER, BOOLEAN, ENVIRONMENT } from "../constants";
|
|
5
6
|
import { readFile, writeFile, checkFileExists } from "../utilities/fileSystem";
|
|
6
7
|
|
|
7
8
|
if (!globalThis.rc) {
|
|
@@ -16,40 +17,18 @@ export default {
|
|
|
16
17
|
|
|
17
18
|
let baseExtension = DEFAULT_RC_BASE_EXTENSION;
|
|
18
19
|
|
|
19
|
-
function _rc(
|
|
20
|
-
|
|
21
|
-
environmentName,
|
|
22
|
-
environmentNameOrArgvArgv = (environmentNameOrArgv instanceof Array);
|
|
20
|
+
function _rc(environmentName) {
|
|
21
|
+
environmentName = environmentName || environmentNameFromArgv() || environmentNameFromEnv(); ///
|
|
23
22
|
|
|
24
|
-
|
|
25
|
-
const argv = environmentNameOrArgv; ///
|
|
26
|
-
|
|
27
|
-
environmentName = environmentNameFromArgv(argv);
|
|
28
|
-
} else {
|
|
29
|
-
environmentName = environmentNameOrArgv; ///
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
const json = readRCFile(),
|
|
33
|
-
{ environments } = json;
|
|
34
|
-
|
|
35
|
-
if (environmentName === null) {
|
|
36
|
-
const firstEnvironment = first(environments);
|
|
23
|
+
let json = readRCFile();
|
|
37
24
|
|
|
38
|
-
|
|
39
|
-
} else {
|
|
40
|
-
environment = environments.find((environment) => {
|
|
41
|
-
const { name } = environment,
|
|
42
|
-
found = (name === environmentName);
|
|
25
|
+
const environment = findEnvironment(json, environmentName);
|
|
43
26
|
|
|
44
|
-
|
|
45
|
-
});
|
|
46
|
-
}
|
|
27
|
+
json = environment; ///
|
|
47
28
|
|
|
48
|
-
|
|
29
|
+
replaceEnvironmentVariables(json);
|
|
49
30
|
|
|
50
31
|
Object.assign(rc, environment);
|
|
51
|
-
|
|
52
|
-
return environment;
|
|
53
32
|
}
|
|
54
33
|
|
|
55
34
|
function readRCFile() {
|
|
@@ -109,10 +88,45 @@ Object.assign(_rc, {
|
|
|
109
88
|
setRCBaseExtension
|
|
110
89
|
});
|
|
111
90
|
|
|
112
|
-
function
|
|
91
|
+
function findEnvironment(json, environmentName) {
|
|
92
|
+
let environment;
|
|
93
|
+
const { environments } = json;
|
|
94
|
+
|
|
95
|
+
if (environmentName === null) {
|
|
96
|
+
const firstEnvironment = first(environments);
|
|
97
|
+
|
|
98
|
+
environment = firstEnvironment; ///
|
|
99
|
+
} else {
|
|
100
|
+
environment = environments.find((environment) => {
|
|
101
|
+
const { name } = environment;
|
|
102
|
+
|
|
103
|
+
if(name === environmentName) {
|
|
104
|
+
return true;
|
|
105
|
+
}
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
delete environment.name
|
|
110
|
+
|
|
111
|
+
return environment;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
function rcFilePathFromNothing() {
|
|
115
|
+
const rcFilePath = `./.${baseExtension}rc`;
|
|
116
|
+
|
|
117
|
+
return rcFilePath;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
function environmentNameFromEnv() {
|
|
121
|
+
const environmentName = process.env[ENVIRONMENT] || null;
|
|
122
|
+
|
|
123
|
+
return environmentName;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
function environmentNameFromArgv() {
|
|
113
127
|
let environmentName = null;
|
|
114
128
|
|
|
115
|
-
argv.find((argument) => { ///
|
|
129
|
+
process.argv.find((argument) => { ///
|
|
116
130
|
const matches = argument.match(/--environment=(.+)/),
|
|
117
131
|
found = (matches !== null);
|
|
118
132
|
|
|
@@ -128,8 +142,110 @@ function environmentNameFromArgv(argv) {
|
|
|
128
142
|
return environmentName;
|
|
129
143
|
}
|
|
130
144
|
|
|
131
|
-
function
|
|
132
|
-
|
|
145
|
+
function replaceEnvironmentVariable(string) {
|
|
146
|
+
let value = null;
|
|
133
147
|
|
|
134
|
-
|
|
148
|
+
const stringUpperCase = isStringUpperCase(string);
|
|
149
|
+
|
|
150
|
+
if (stringUpperCase) {
|
|
151
|
+
const name = string; ///
|
|
152
|
+
|
|
153
|
+
value = process.env[name] || null;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
return value;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
function replaceEnvironmentVariables(environment) {
|
|
160
|
+
let json = environment;
|
|
161
|
+
|
|
162
|
+
const jsonArray = isJSONArray(json),
|
|
163
|
+
jsonObject = isJSONObject(json);
|
|
164
|
+
|
|
165
|
+
if (false) {
|
|
166
|
+
///
|
|
167
|
+
} else if (jsonArray) {
|
|
168
|
+
const array = json,
|
|
169
|
+
length = array.length;
|
|
170
|
+
|
|
171
|
+
for (let index = 0; index < length; index++) {
|
|
172
|
+
const json = array[index],
|
|
173
|
+
jsonString = isJSONString(json);
|
|
174
|
+
|
|
175
|
+
if (jsonString) {
|
|
176
|
+
const string = json,
|
|
177
|
+
value = replaceEnvironmentVariable(string);
|
|
178
|
+
|
|
179
|
+
if (value !== null) {
|
|
180
|
+
array[index] = value;
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
} else if (jsonObject) {
|
|
185
|
+
const object = json; ///
|
|
186
|
+
|
|
187
|
+
for (let name in object) {
|
|
188
|
+
const json = object[name],
|
|
189
|
+
jsonString = isJSONString(json);
|
|
190
|
+
|
|
191
|
+
if (jsonString) {
|
|
192
|
+
const string = json, ///
|
|
193
|
+
value = replaceEnvironmentVariable(string); ///
|
|
194
|
+
|
|
195
|
+
if (value !== null) {
|
|
196
|
+
object[name] = value;
|
|
197
|
+
}
|
|
198
|
+
} else {
|
|
199
|
+
replaceEnvironmentVariables(json);
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
function isJSONArray(json) {
|
|
206
|
+
const jsonArray = (json instanceof Array);
|
|
207
|
+
|
|
208
|
+
return jsonArray;
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
function isJSONObject(json) {
|
|
212
|
+
const jsonArray = isJSONArray(json),
|
|
213
|
+
jsonPrimitive = isJSONPrimitive(json),
|
|
214
|
+
jsonObject = (!jsonArray && ! jsonPrimitive);
|
|
215
|
+
|
|
216
|
+
return jsonObject;
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
function isJSONString(json) {
|
|
220
|
+
const jsonString = (typeof json === STRING);
|
|
221
|
+
|
|
222
|
+
return jsonString;
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
function isJSONNumber(json) {
|
|
226
|
+
const jsonNumber = (typeof json === NUMBER);
|
|
227
|
+
|
|
228
|
+
return jsonNumber;
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
function isJSONBoolean(json) {
|
|
232
|
+
const jsonBoolean = (typeof json === BOOLEAN);
|
|
233
|
+
|
|
234
|
+
return jsonBoolean;
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
function isJSONPrimitive(json) {
|
|
238
|
+
const jsonString = isJSONString(json),
|
|
239
|
+
jsonNumber = isJSONNumber(json),
|
|
240
|
+
jsonBoolean = isJSONBoolean(json),
|
|
241
|
+
jsonPrimitive = (jsonString || jsonNumber || jsonBoolean);
|
|
242
|
+
|
|
243
|
+
return jsonPrimitive;
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
function isStringUpperCase(string) {
|
|
247
|
+
const upperCaseString = string.toUpperCase(),
|
|
248
|
+
stringUpperCase = (string === upperCaseString);
|
|
249
|
+
|
|
250
|
+
return stringUpperCase;
|
|
135
251
|
}
|