necessary 10.0.6 → 11.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -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); // Expects a plain old JavaScript object of the form { level,
448
- // fileBaseName,
449
- // directoryPath }
447
+ setLogOptions(logOptions);
450
448
  ```
451
449
 
452
- By default it will parse a file called `.rc` in the current working directory. This file should have the following format:
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
- In the absence of being passed an environment name, it will parse and return the first element of the `enviromnents` array. It will not try to assign the `name` property of the chosen environment to itself, by the way, because functions already have a `name` property. It can be instructed to a chose a specific environment thus:
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
- rc("production"); // Provides the 'production' environment
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
- Or you can pass `process.argv` if the command line arguments include something of the form `--environment=...`:
472
+ If neither of these checks are successful then it will return the first element of the `enviromnents` array.
476
473
 
477
- ```
478
- rc(process.argv); // Provides the 'development' if given '--environment=development'
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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb25zdGFudHMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBjb25zdCBVVEY4ID0gXCJ1dGY4XCI7XG5leHBvcnQgY29uc3QgRVJST1IgPSBcImVycm9yXCI7XG5leHBvcnQgY29uc3QgQ1RSTF9DID0gXCJeQ1wiO1xuZXhwb3J0IGNvbnN0IEFDQ0VQVCA9IFwiYWNjZXB0XCI7XG5leHBvcnQgY29uc3QgRU1QVFlfU1RSSU5HID0gXCJcIjtcbmV4cG9ydCBjb25zdCBDT05URU5UX1RZUEUgPSBcImNvbnRlbnQtdHlwZVwiO1xuIl0sIm5hbWVzIjpbIlVURjgiLCJFUlJPUiIsIkNUUkxfQyIsIkFDQ0VQVCIsIkVNUFRZX1NUUklORyIsIkNPTlRFTlRfVFlQRSJdLCJtYXBwaW5ncyI6IkFBQUEsQ0FBWTs7Ozs7QUFFTCxHQUFLLENBQUNBLElBQUksR0FBRyxDQUFNO1FBQWJBLElBQUksR0FBSkEsSUFBSTtBQUNWLEdBQUssQ0FBQ0MsS0FBSyxHQUFHLENBQU87UUFBZkEsS0FBSyxHQUFMQSxLQUFLO0FBQ1gsR0FBSyxDQUFDQyxNQUFNLEdBQUcsQ0FBSTtRQUFiQSxNQUFNLEdBQU5BLE1BQU07QUFDWixHQUFLLENBQUNDLE1BQU0sR0FBRyxDQUFRO1FBQWpCQSxNQUFNLEdBQU5BLE1BQU07QUFDWixHQUFLLENBQUNDLFlBQVksR0FBRyxDQUFFO1FBQWpCQSxZQUFZLEdBQVpBLFlBQVk7QUFDbEIsR0FBSyxDQUFDQyxZQUFZLEdBQUcsQ0FBYztRQUE3QkEsWUFBWSxHQUFaQSxZQUFZIn0=
27
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb25zdGFudHMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBjb25zdCBVVEY4ID0gXCJ1dGY4XCI7XG5leHBvcnQgY29uc3QgRVJST1IgPSBcImVycm9yXCI7XG5leHBvcnQgY29uc3QgQ1RSTF9DID0gXCJeQ1wiO1xuZXhwb3J0IGNvbnN0IFNUUklORyA9IFwic3RyaW5nXCI7XG5leHBvcnQgY29uc3QgQUNDRVBUID0gXCJhY2NlcHRcIjtcbmV4cG9ydCBjb25zdCBOVU1CRVIgPSBcIm51bWJlclwiO1xuZXhwb3J0IGNvbnN0IEJPT0xFQU4gPSBcImJvb2xlYW5cIjtcbmV4cG9ydCBjb25zdCBFTlZJUk9OTUVOVCA9IFwiRU5WSVJPTk1FTlRcIjtcbmV4cG9ydCBjb25zdCBFTVBUWV9TVFJJTkcgPSBcIlwiO1xuZXhwb3J0IGNvbnN0IENPTlRFTlRfVFlQRSA9IFwiY29udGVudC10eXBlXCI7XG4iXSwibmFtZXMiOlsiVVRGOCIsIkVSUk9SIiwiQ1RSTF9DIiwiU1RSSU5HIiwiQUNDRVBUIiwiTlVNQkVSIiwiQk9PTEVBTiIsIkVOVklST05NRU5UIiwiRU1QVFlfU1RSSU5HIiwiQ09OVEVOVF9UWVBFIl0sIm1hcHBpbmdzIjoiQUFBQSxDQUFZOzs7OztBQUVMLEdBQUssQ0FBQ0EsSUFBSSxHQUFHLENBQU07UUFBYkEsSUFBSSxHQUFKQSxJQUFJO0FBQ1YsR0FBSyxDQUFDQyxLQUFLLEdBQUcsQ0FBTztRQUFmQSxLQUFLLEdBQUxBLEtBQUs7QUFDWCxHQUFLLENBQUNDLE1BQU0sR0FBRyxDQUFJO1FBQWJBLE1BQU0sR0FBTkEsTUFBTTtBQUNaLEdBQUssQ0FBQ0MsTUFBTSxHQUFHLENBQVE7UUFBakJBLE1BQU0sR0FBTkEsTUFBTTtBQUNaLEdBQUssQ0FBQ0MsTUFBTSxHQUFHLENBQVE7UUFBakJBLE1BQU0sR0FBTkEsTUFBTTtBQUNaLEdBQUssQ0FBQ0MsTUFBTSxHQUFHLENBQVE7UUFBakJBLE1BQU0sR0FBTkEsTUFBTTtBQUNaLEdBQUssQ0FBQ0MsT0FBTyxHQUFHLENBQVM7UUFBbkJBLE9BQU8sR0FBUEEsT0FBTztBQUNiLEdBQUssQ0FBQ0MsV0FBVyxHQUFHLENBQWE7UUFBM0JBLFdBQVcsR0FBWEEsV0FBVztBQUNqQixHQUFLLENBQUNDLFlBQVksR0FBRyxDQUFFO1FBQWpCQSxZQUFZLEdBQVpBLFlBQVk7QUFDbEIsR0FBSyxDQUFDQyxZQUFZLEdBQUcsQ0FBYztRQUE3QkEsWUFBWSxHQUFaQSxZQUFZIn0=
@@ -13,8 +13,7 @@ var _http = require("../utilities/http");
13
13
  function get(host, uri, query, headers, callback) {
14
14
  if (callback === undefined) {
15
15
  callback = headers; ///
16
- headers = {
17
- };
16
+ headers = {};
18
17
  }
19
18
  var method = _methods.GET_METHOD, accept = _contentTypes.APPLICATION_JSON_CONTENT_TYPE, content = null;
20
19
  underwriteAccept(headers, accept);
@@ -24,8 +23,7 @@ function post(host, uri, query, headers, content, callback) {
24
23
  if (callback === undefined) {
25
24
  callback = content;
26
25
  content = headers;
27
- headers = {
28
- };
26
+ headers = {};
29
27
  }
30
28
  var method = _methods.POST_METHOD, accept = _contentTypes.APPLICATION_JSON_CONTENT_TYPE, contentType = _contentTypes.APPLICATION_JSON_CONTENT_TYPE;
31
29
  underwriteAccept(headers, accept);
@@ -77,4 +75,4 @@ function underwriteContentType(headers, contentTYpe) {
77
75
  (0, _http).underwrite(headers, name, value);
78
76
  }
79
77
 
80
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvYWpheC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgQUNDRVBULCBDT05URU5UX1RZUEUgfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBHRVRfTUVUSE9ELCBQT1NUX01FVEhPRCB9IGZyb20gXCIuLi9tZXRob2RzXCI7XG5pbXBvcnQgeyBBUFBMSUNBVElPTl9KU09OX0NPTlRFTlRfVFlQRSB9IGZyb20gXCIuLi9jb250ZW50VHlwZXNcIjtcbmltcG9ydCB7IHVuZGVyd3JpdGUsIHVybEZyb21Ib3N0VVJJQW5kUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2h0dHBcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldChob3N0LCB1cmksIHF1ZXJ5LCBoZWFkZXJzLCBjYWxsYmFjaykge1xuICBpZiAoY2FsbGJhY2sgPT09IHVuZGVmaW5lZCkge1xuICAgIGNhbGxiYWNrID0gaGVhZGVyczsgLy8vXG4gICAgaGVhZGVycyA9IHt9O1xuICB9XG5cbiAgY29uc3QgbWV0aG9kID0gR0VUX01FVEhPRCxcbiAgICAgICAgYWNjZXB0ID0gQVBQTElDQVRJT05fSlNPTl9DT05URU5UX1RZUEUsXG4gICAgICAgIGNvbnRlbnQgPSBudWxsO1xuXG4gIHVuZGVyd3JpdGVBY2NlcHQoaGVhZGVycywgYWNjZXB0KTtcblxuICByZXF1ZXN0KGhvc3QsIHVyaSwgcXVlcnksIG1ldGhvZCwgaGVhZGVycywgY29udGVudCwgY2FsbGJhY2spO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcG9zdChob3N0LCB1cmksIHF1ZXJ5LCBoZWFkZXJzLCBjb250ZW50LCBjYWxsYmFjaykge1xuICBpZiAoY2FsbGJhY2sgPT09IHVuZGVmaW5lZCkge1xuICAgIGNhbGxiYWNrID0gY29udGVudDtcbiAgICBjb250ZW50ID0gaGVhZGVycztcbiAgICBoZWFkZXJzID0ge307XG4gIH1cblxuICBjb25zdCBtZXRob2QgPSBQT1NUX01FVEhPRCxcbiAgICAgICAgYWNjZXB0ID0gQVBQTElDQVRJT05fSlNPTl9DT05URU5UX1RZUEUsXG4gICAgICAgIGNvbnRlbnRUeXBlID0gQVBQTElDQVRJT05fSlNPTl9DT05URU5UX1RZUEU7XG5cbiAgdW5kZXJ3cml0ZUFjY2VwdChoZWFkZXJzLCBhY2NlcHQpO1xuXG4gIHVuZGVyd3JpdGVDb250ZW50VHlwZShoZWFkZXJzLCBjb250ZW50VHlwZSk7XG5cbiAgcmVxdWVzdChob3N0LCB1cmksIHF1ZXJ5LCBtZXRob2QsIGhlYWRlcnMsIGNvbnRlbnQsIGNhbGxiYWNrKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlcXVlc3QoaG9zdCwgdXJpLCBxdWVyeSwgbWV0aG9kLCBoZWFkZXJzLCBjb250ZW50LCBjYWxsYmFjaykge1xuICBjb25zdCB1cmwgPSB1cmxGcm9tSG9zdFVSSUFuZFF1ZXJ5KGhvc3QsIHVyaSwgcXVlcnkpLFxuICAgICAgICBhY2NlcHQgPSBoZWFkZXJzW0FDQ0VQVF0gfHwgbnVsbCxcbiAgICAgICAgY29udGVudFR5cGUgPSBoZWFkZXJzW0NPTlRFTlRfVFlQRV0gfHwgbnVsbCxcbiAgICAgICAgeG1sSHR0cFJlcXVlc3QgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTtcblxuICBpZiAoY29udGVudFR5cGUgPT09IEFQUExJQ0FUSU9OX0pTT05fQ09OVEVOVF9UWVBFKSB7XG4gICAgY29uc3QganNvbiA9IGNvbnRlbnQsICAvLy9cbiAgICAgICAgICBqc29uU3RyaW5nID0gSlNPTi5zdHJpbmdpZnkoanNvbik7XG5cbiAgICBjb250ZW50ID0ganNvblN0cmluZzsgIC8vL1xuICB9XG5cbiAgeG1sSHR0cFJlcXVlc3Qub25yZWFkeXN0YXRlY2hhbmdlID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgcmVhZHlTdGF0ZSwgc3RhdHVzLCByZXNwb25zZSB9ID0geG1sSHR0cFJlcXVlc3QsXG4gICAgICAgICAgc3RhdHVzQ29kZSA9IHN0YXR1cztcblxuICAgIGlmIChyZWFkeVN0YXRlID09IDQpIHtcbiAgICAgIGxldCBjb250ZW50ID0gcmVzcG9uc2U7XG5cbiAgICAgIGlmIChhY2NlcHQgPT09IEFQUExJQ0FUSU9OX0pTT05fQ09OVEVOVF9UWVBFKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgY29uc3QganNvblN0cmluZyA9IGNvbnRlbnQsICAvLy9cbiAgICAgICAgICAgICAgICBqc29uID0gSlNPTi5wYXJzZShqc29uU3RyaW5nKTtcblxuICAgICAgICAgIGNvbnRlbnQgPSBqc29uOyAgLy8vXG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgY29udGVudCA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgY2FsbGJhY2soY29udGVudCwgc3RhdHVzQ29kZSk7XG4gICAgfVxuICB9O1xuXG4gIHhtbEh0dHBSZXF1ZXN0Lm9wZW4obWV0aG9kLCB1cmwpO1xuXG4gIGlmIChhY2NlcHQgIT09IG51bGwpIHtcbiAgICB4bWxIdHRwUmVxdWVzdC5zZXRSZXF1ZXN0SGVhZGVyKEFDQ0VQVCwgYWNjZXB0KTtcbiAgfVxuXG4gIGlmIChjb250ZW50VHlwZSAhPT0gbnVsbCkge1xuICAgIHhtbEh0dHBSZXF1ZXN0LnNldFJlcXVlc3RIZWFkZXIoQ09OVEVOVF9UWVBFLCBjb250ZW50VHlwZSk7XG4gIH1cblxuICAoY29udGVudCAhPT0gbnVsbCkgP1xuICAgIHhtbEh0dHBSZXF1ZXN0LnNlbmQoY29udGVudCkgOlxuICAgICAgeG1sSHR0cFJlcXVlc3Quc2VuZCgpO1xufVxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIGdldCxcbiAgcG9zdCxcbiAgcmVxdWVzdFxufVxuXG5mdW5jdGlvbiB1bmRlcndyaXRlQWNjZXB0KGhlYWRlcnMsIGFjY2VwdCkge1xuICBjb25zdCBuYW1lID0gQUNDRVBULCAgLy8vXG4gICAgICAgIHZhbHVlID0gYWNjZXB0OyAvLy9cblxuICB1bmRlcndyaXRlKGhlYWRlcnMsIG5hbWUsIHZhbHVlKTtcbn1cblxuZnVuY3Rpb24gdW5kZXJ3cml0ZUNvbnRlbnRUeXBlKGhlYWRlcnMsIGNvbnRlbnRUWXBlKSB7XG4gIGNvbnN0IG5hbWUgPSBDT05URU5UX1RZUEUsICAvLy9cbiAgICAgICAgdmFsdWUgPSBjb250ZW50VFlwZTsgLy8vXG5cbiAgdW5kZXJ3cml0ZShoZWFkZXJzLCBuYW1lLCB2YWx1ZSk7XG59XG4iXSwibmFtZXMiOlsiZ2V0IiwicG9zdCIsInJlcXVlc3QiLCJob3N0IiwidXJpIiwicXVlcnkiLCJoZWFkZXJzIiwiY2FsbGJhY2siLCJ1bmRlZmluZWQiLCJtZXRob2QiLCJhY2NlcHQiLCJjb250ZW50IiwidW5kZXJ3cml0ZUFjY2VwdCIsImNvbnRlbnRUeXBlIiwidW5kZXJ3cml0ZUNvbnRlbnRUeXBlIiwidXJsIiwieG1sSHR0cFJlcXVlc3QiLCJYTUxIdHRwUmVxdWVzdCIsImpzb24iLCJqc29uU3RyaW5nIiwiSlNPTiIsInN0cmluZ2lmeSIsIm9ucmVhZHlzdGF0ZWNoYW5nZSIsInJlYWR5U3RhdGUiLCJzdGF0dXMiLCJyZXNwb25zZSIsInN0YXR1c0NvZGUiLCJwYXJzZSIsImVycm9yIiwib3BlbiIsInNldFJlcXVlc3RIZWFkZXIiLCJzZW5kIiwibmFtZSIsInZhbHVlIiwiY29udGVudFRZcGUiXSwibWFwcGluZ3MiOiJBQUFBLENBQVk7Ozs7UUFPSUEsR0FBRyxHQUFIQSxHQUFHO1FBZUhDLElBQUksR0FBSkEsSUFBSTtRQWtCSkMsT0FBTyxHQUFQQSxPQUFPOztBQXRDYyxHQUFjLENBQWQsVUFBYztBQUNYLEdBQVksQ0FBWixRQUFZO0FBQ04sR0FBaUIsQ0FBakIsYUFBaUI7QUFDWixHQUFtQixDQUFuQixLQUFtQjtTQUV0REYsR0FBRyxDQUFDRyxJQUFJLEVBQUVDLEdBQUcsRUFBRUMsS0FBSyxFQUFFQyxPQUFPLEVBQUVDLFFBQVEsRUFBRSxDQUFDO0lBQ3hELEVBQUUsRUFBRUEsUUFBUSxLQUFLQyxTQUFTLEVBQUUsQ0FBQztRQUMzQkQsUUFBUSxHQUFHRCxPQUFPLENBQUUsQ0FB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
78
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvYWpheC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgQUNDRVBULCBDT05URU5UX1RZUEUgfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBHRVRfTUVUSE9ELCBQT1NUX01FVEhPRCB9IGZyb20gXCIuLi9tZXRob2RzXCI7XG5pbXBvcnQgeyBBUFBMSUNBVElPTl9KU09OX0NPTlRFTlRfVFlQRSB9IGZyb20gXCIuLi9jb250ZW50VHlwZXNcIjtcbmltcG9ydCB7IHVuZGVyd3JpdGUsIHVybEZyb21Ib3N0VVJJQW5kUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2h0dHBcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldChob3N0LCB1cmksIHF1ZXJ5LCBoZWFkZXJzLCBjYWxsYmFjaykge1xuICBpZiAoY2FsbGJhY2sgPT09IHVuZGVmaW5lZCkge1xuICAgIGNhbGxiYWNrID0gaGVhZGVyczsgLy8vXG4gICAgaGVhZGVycyA9IHt9O1xuICB9XG5cbiAgY29uc3QgbWV0aG9kID0gR0VUX01FVEhPRCxcbiAgICAgICAgYWNjZXB0ID0gQVBQTElDQVRJT05fSlNPTl9DT05URU5UX1RZUEUsXG4gICAgICAgIGNvbnRlbnQgPSBudWxsO1xuXG4gIHVuZGVyd3JpdGVBY2NlcHQoaGVhZGVycywgYWNjZXB0KTtcblxuICByZXF1ZXN0KGhvc3QsIHVyaSwgcXVlcnksIG1ldGhvZCwgaGVhZGVycywgY29udGVudCwgY2FsbGJhY2spO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcG9zdChob3N0LCB1cmksIHF1ZXJ5LCBoZWFkZXJzLCBjb250ZW50LCBjYWxsYmFjaykge1xuICBpZiAoY2FsbGJhY2sgPT09IHVuZGVmaW5lZCkge1xuICAgIGNhbGxiYWNrID0gY29udGVudDtcbiAgICBjb250ZW50ID0gaGVhZGVycztcbiAgICBoZWFkZXJzID0ge307XG4gIH1cblxuICBjb25zdCBtZXRob2QgPSBQT1NUX01FVEhPRCxcbiAgICAgICAgYWNjZXB0ID0gQVBQTElDQVRJT05fSlNPTl9DT05URU5UX1RZUEUsXG4gICAgICAgIGNvbnRlbnRUeXBlID0gQVBQTElDQVRJT05fSlNPTl9DT05URU5UX1RZUEU7XG5cbiAgdW5kZXJ3cml0ZUFjY2VwdChoZWFkZXJzLCBhY2NlcHQpO1xuXG4gIHVuZGVyd3JpdGVDb250ZW50VHlwZShoZWFkZXJzLCBjb250ZW50VHlwZSk7XG5cbiAgcmVxdWVzdChob3N0LCB1cmksIHF1ZXJ5LCBtZXRob2QsIGhlYWRlcnMsIGNvbnRlbnQsIGNhbGxiYWNrKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlcXVlc3QoaG9zdCwgdXJpLCBxdWVyeSwgbWV0aG9kLCBoZWFkZXJzLCBjb250ZW50LCBjYWxsYmFjaykge1xuICBjb25zdCB1cmwgPSB1cmxGcm9tSG9zdFVSSUFuZFF1ZXJ5KGhvc3QsIHVyaSwgcXVlcnkpLFxuICAgICAgICBhY2NlcHQgPSBoZWFkZXJzW0FDQ0VQVF0gfHwgbnVsbCxcbiAgICAgICAgY29udGVudFR5cGUgPSBoZWFkZXJzW0NPTlRFTlRfVFlQRV0gfHwgbnVsbCxcbiAgICAgICAgeG1sSHR0cFJlcXVlc3QgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTtcblxuICBpZiAoY29udGVudFR5cGUgPT09IEFQUExJQ0FUSU9OX0pTT05fQ09OVEVOVF9UWVBFKSB7XG4gICAgY29uc3QganNvbiA9IGNvbnRlbnQsICAvLy9cbiAgICAgICAgICBqc29uU3RyaW5nID0gSlNPTi5zdHJpbmdpZnkoanNvbik7XG5cbiAgICBjb250ZW50ID0ganNvblN0cmluZzsgIC8vL1xuICB9XG5cbiAgeG1sSHR0cFJlcXVlc3Qub25yZWFkeXN0YXRlY2hhbmdlID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgcmVhZHlTdGF0ZSwgc3RhdHVzLCByZXNwb25zZSB9ID0geG1sSHR0cFJlcXVlc3QsXG4gICAgICAgICAgc3RhdHVzQ29kZSA9IHN0YXR1cztcblxuICAgIGlmIChyZWFkeVN0YXRlID09IDQpIHtcbiAgICAgIGxldCBjb250ZW50ID0gcmVzcG9uc2U7XG5cbiAgICAgIGlmIChhY2NlcHQgPT09IEFQUExJQ0FUSU9OX0pTT05fQ09OVEVOVF9UWVBFKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgY29uc3QganNvblN0cmluZyA9IGNvbnRlbnQsICAvLy9cbiAgICAgICAgICAgICAgICBqc29uID0gSlNPTi5wYXJzZShqc29uU3RyaW5nKTtcblxuICAgICAgICAgIGNvbnRlbnQgPSBqc29uOyAgLy8vXG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgY29udGVudCA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgY2FsbGJhY2soY29udGVudCwgc3RhdHVzQ29kZSk7XG4gICAgfVxuICB9O1xuXG4gIHhtbEh0dHBSZXF1ZXN0Lm9wZW4obWV0aG9kLCB1cmwpO1xuXG4gIGlmIChhY2NlcHQgIT09IG51bGwpIHtcbiAgICB4bWxIdHRwUmVxdWVzdC5zZXRSZXF1ZXN0SGVhZGVyKEFDQ0VQVCwgYWNjZXB0KTtcbiAgfVxuXG4gIGlmIChjb250ZW50VHlwZSAhPT0gbnVsbCkge1xuICAgIHhtbEh0dHBSZXF1ZXN0LnNldFJlcXVlc3RIZWFkZXIoQ09OVEVOVF9UWVBFLCBjb250ZW50VHlwZSk7XG4gIH1cblxuICAoY29udGVudCAhPT0gbnVsbCkgP1xuICAgIHhtbEh0dHBSZXF1ZXN0LnNlbmQoY29udGVudCkgOlxuICAgICAgeG1sSHR0cFJlcXVlc3Quc2VuZCgpO1xufVxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIGdldCxcbiAgcG9zdCxcbiAgcmVxdWVzdFxufVxuXG5mdW5jdGlvbiB1bmRlcndyaXRlQWNjZXB0KGhlYWRlcnMsIGFjY2VwdCkge1xuICBjb25zdCBuYW1lID0gQUNDRVBULCAgLy8vXG4gICAgICAgIHZhbHVlID0gYWNjZXB0OyAvLy9cblxuICB1bmRlcndyaXRlKGhlYWRlcnMsIG5hbWUsIHZhbHVlKTtcbn1cblxuZnVuY3Rpb24gdW5kZXJ3cml0ZUNvbnRlbnRUeXBlKGhlYWRlcnMsIGNvbnRlbnRUWXBlKSB7XG4gIGNvbnN0IG5hbWUgPSBDT05URU5UX1RZUEUsICAvLy9cbiAgICAgICAgdmFsdWUgPSBjb250ZW50VFlwZTsgLy8vXG5cbiAgdW5kZXJ3cml0ZShoZWFkZXJzLCBuYW1lLCB2YWx1ZSk7XG59XG4iXSwibmFtZXMiOlsiZ2V0IiwicG9zdCIsInJlcXVlc3QiLCJob3N0IiwidXJpIiwicXVlcnkiLCJoZWFkZXJzIiwiY2FsbGJhY2siLCJ1bmRlZmluZWQiLCJtZXRob2QiLCJhY2NlcHQiLCJjb250ZW50IiwidW5kZXJ3cml0ZUFjY2VwdCIsImNvbnRlbnRUeXBlIiwidW5kZXJ3cml0ZUNvbnRlbnRUeXBlIiwidXJsIiwieG1sSHR0cFJlcXVlc3QiLCJYTUxIdHRwUmVxdWVzdCIsImpzb24iLCJqc29uU3RyaW5nIiwiSlNPTiIsInN0cmluZ2lmeSIsIm9ucmVhZHlzdGF0ZWNoYW5nZSIsInJlYWR5U3RhdGUiLCJzdGF0dXMiLCJyZXNwb25zZSIsInN0YXR1c0NvZGUiLCJwYXJzZSIsImVycm9yIiwib3BlbiIsInNldFJlcXVlc3RIZWFkZXIiLCJzZW5kIiwibmFtZSIsInZhbHVlIiwiY29udGVudFRZcGUiXSwibWFwcGluZ3MiOiJBQUFBLENBQVk7Ozs7UUFPSUEsR0FBRyxHQUFIQSxHQUFHO1FBZUhDLElBQUksR0FBSkEsSUFBSTtRQWtCSkMsT0FBTyxHQUFQQSxPQUFPOztBQXRDYyxHQUFjLENBQWQsVUFBYztBQUNYLEdBQVksQ0FBWixRQUFZO0FBQ04sR0FBaUIsQ0FBakIsYUFBaUI7QUFDWixHQUFtQixDQUFuQixLQUFtQjtTQUV0REYsR0FBRyxDQUFDRyxJQUFJLEVBQUVDLEdBQUcsRUFBRUMsS0FBSyxFQUFFQyxPQUFPLEVBQUVDLFFBQVEsRUFBRSxDQUFDO0lBQ3hELEVBQUUsRUFBRUEsUUFBUSxLQUFLQyxTQUFTLEVBQUUsQ0FBQztRQUMzQkQsUUFBUSxHQUFHRCxPQUFPLENBQUUsQ0FB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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,10 @@ function _instanceof(left, right) {
13
14
  return left instanceof right;
14
15
  }
15
16
  }
17
+ var _typeof = function(obj) {
18
+ "@swc/helpers - typeof";
19
+ return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
20
+ };
16
21
  if (!globalThis.rc) {
17
22
  globalThis.rc = _rc;
18
23
  }
@@ -22,28 +27,13 @@ var _default = {
22
27
  };
23
28
  exports.default = _default;
24
29
  var baseExtension = _defaults.DEFAULT_RC_BASE_EXTENSION;
25
- function _rc() {
26
- var environmentNameOrArgv = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : null;
27
- var environment1, environmentName, environmentNameOrArgvArgv = _instanceof(environmentNameOrArgv, Array);
28
- if (environmentNameOrArgvArgv) {
29
- var argv = environmentNameOrArgv; ///
30
- environmentName = environmentNameFromArgv(argv);
31
- } else {
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;
30
+ function _rc(environmentName) {
31
+ environmentName = environmentName || environmentNameFromArgv() || environmentNameFromEnv(); ///
32
+ var json = readRCFile();
33
+ var environment = findEnvironment(json, environmentName);
34
+ json = environment; ///
35
+ replaceEnvironmentVariables(json);
36
+ Object.assign(rc, environment);
47
37
  }
48
38
  function readRCFile() {
49
39
  var rcFilePath = rcFilePathFromNothing(), rcFileContent = (0, _fileSystem).readFile(rcFilePath), json = JSON.parse(rcFileContent);
@@ -73,8 +63,7 @@ function checkRCFileExists() {
73
63
  function createVacuousRCFile() {
74
64
  var json = {
75
65
  "environments": [
76
- {
77
- }
66
+ {}
78
67
  ]
79
68
  };
80
69
  writeRCFile(json);
@@ -90,9 +79,34 @@ Object.assign(_rc, {
90
79
  createVacuousRCFile: createVacuousRCFile,
91
80
  setRCBaseExtension: setRCBaseExtension
92
81
  });
93
- function environmentNameFromArgv(argv) {
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 rcFilePathFromNothing() {
106
- var rcFilePath = "./.".concat(baseExtension, "rc");
107
- return rcFilePath;
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+IHsgIC8vL1xuICAgIGNvbnN0IG1hdGNoZXMgPSBhcmd1bWVudC5tYXRjaCgvLS1lbnZpcm9ubWVudD0oLispLyksXG4gICAgICAgICAgZm91bmQgPSAobWF0Y2hlcyAhPT0gbnVsbCk7XG5cbiAgICBpZiAoZm91bmQpIHtcbiAgICAgIGNvbnN0IHNlY29uZE1hdGNoID0gc2Vjb25kKG1hdGNoZXMpO1xuXG4gICAgICBlbnZpcm9ubWVudE5hbWUgPSBzZWNvbmRNYXRjaDtcbiAgICB9XG5cbiAgICByZXR1cm4gZm91bmQ7XG4gIH0pO1xuXG4gIHJldHVybiBlbnZpcm9ubWVudE5hbWU7XG59XG5cbmZ1bmN0aW9uIHJlcGxhY2VFbnZpcm9ubWVudFZhcmlhYmxlKHN0cmluZykge1xuICBsZXQgdmFsdWUgPSBudWxsO1xuXG4gIGNvbnN0IHN0cmluZ1VwcGVyQ2FzZSA9IGlzU3RyaW5nVXBwZXJDYXNlKHN0cmluZyk7XG5cbiAgaWYgKHN0cmluZ1VwcGVyQ2FzZSkge1xuICAgIGNvbnN0IG5hbWUgPSBzdHJpbmc7ICAvLy9cblxuICAgIHZhbHVlID0gcHJvY2Vzcy5lbnZbbmFtZV0gfHwgbnVsbDtcbiAgfVxuXG4gIHJldHVybiB2YWx1ZTtcbn1cblxuZnVuY3Rpb24gcmVwbGFjZUVudmlyb25tZW50VmFyaWFibGVzKGVudmlyb25tZW50KSB7XG4gIGxldCBqc29uID0gZW52aXJvbm1lbnQ7XG5cbiAgY29uc3QganNvbkFycmF5ID0gaXNKU09OQXJyYXkoanNvbiksXG4gICAgICAgIGpzb25PYmplY3QgPSBpc0pTT05PYmplY3QoanNvbik7XG5cbiAgaWYgKGZhbHNlKSB7XG4gICAgLy8vXG4gIH0gZWxzZSBpZiAoanNvbkFycmF5KSB7XG4gICAgY29uc3QgYXJyYXkgPSBqc29uLFxuICAgICAgICAgIGxlbmd0aCA9IGFycmF5Lmxlbmd0aDtcblxuICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBsZW5ndGg7IGluZGV4KyspIHtcbiAgICAgIGNvbnN0IGpzb24gPSBhcnJheVtpbmRleF0sXG4gICAgICAgICAgICBqc29uU3RyaW5nID0gaXNKU09OU3RyaW5nKGpzb24pO1xuXG4gICAgICBpZiAoanNvblN0cmluZykge1xuICAgICAgICBjb25zdCBzdHJpbmcgPSBqc29uLFxuICAgICAgICAgICAgICB2YWx1ZSA9IHJlcGxhY2VFbnZpcm9ubWVudFZhcmlhYmxlKHN0cmluZyk7XG5cbiAgICAgICAgaWYgKHZhbHVlICE9PSBudWxsKSB7XG4gICAgICAgICAgYXJyYXlbaW5kZXhdID0gdmFsdWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH0gZWxzZSBpZiAoanNvbk9iamVjdCkge1xuICAgIGNvbnN0IG9iamVjdCA9IGpzb247ICAvLy9cblxuICAgIGZvciAobGV0IG5hbWUgaW4gb2JqZWN0KSB7XG4gICAgICBjb25zdCBqc29uID0gb2JqZWN0W25hbWVdLFxuICAgICAgICAgICAganNvblN0cmluZyA9IGlzSlNPTlN0cmluZyhqc29uKTtcblxuICAgICAgaWYgKGpzb25TdHJpbmcpIHtcbiAgICAgICAgY29uc3Qgc3RyaW5nID0ganNvbiwgIC8vL1xuICAgICAgICAgICAgICB2YWx1ZSA9IHJlcGxhY2VFbnZpcm9ubWVudFZhcmlhYmxlKHN0cmluZyk7ICAvLy9cblxuICAgICAgICBpZiAodmFsdWUgIT09IG51bGwpIHtcbiAgICAgICAgICBvYmplY3RbbmFtZV0gPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlICB7XG4gICAgICAgIHJlcGxhY2VFbnZpcm9ubWVudFZhcmlhYmxlcyhqc29uKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gaXNKU09OQXJyYXkoanNvbikge1xuICBjb25zdCBqc29uQXJyYXkgPSAoanNvbiBpbnN0YW5jZW9mIEFycmF5KTtcblxuICByZXR1cm4ganNvbkFycmF5O1xufVxuXG5mdW5jdGlvbiBpc0pTT05PYmplY3QoanNvbikge1xuICBjb25zdCBqc29uQXJyYXkgPSBpc0pTT05BcnJheShqc29uKSxcbiAgICAgICAganNvblByaW1pdGl2ZSA9IGlzSlNPTlByaW1pdGl2ZShqc29uKSxcbiAgICAgICAganNvbk9iamVjdCA9ICghanNvbkFycmF5ICYmICEganNvblByaW1pdGl2ZSk7XG5cbiAgcmV0dXJuIGpzb25PYmplY3Q7XG59XG5cbmZ1bmN0aW9uIGlzSlNPTlN0cmluZyhqc29uKSB7XG4gIGNvbnN0IGpzb25TdHJpbmcgPSAodHlwZW9mIGpzb24gPT09IFNUUklORyk7XG5cbiAgcmV0dXJuIGpzb25TdHJpbmc7XG59XG5cbmZ1bmN0aW9uIGlzSlNPTk51bWJlcihqc29uKSB7XG4gIGNvbnN0IGpzb25OdW1iZXIgPSAodHlwZW9mIGpzb24gPT09IE5VTUJFUik7XG5cbiAgcmV0dXJuIGpzb25OdW1iZXI7XG59XG5cbmZ1bmN0aW9uIGlzSlNPTkJvb2xlYW4oanNvbikge1xuICBjb25zdCBqc29uQm9vbGVhbiA9ICh0eXBlb2YganNvbiA9PT0gQk9PTEVBTik7XG5cbiAgcmV0dXJuIGpzb25Cb29sZWFuO1xufVxuXG5mdW5jdGlvbiBpc0pTT05QcmltaXRpdmUoanNvbikge1xuICBjb25zdCBqc29uU3RyaW5nID0gaXNKU09OU3RyaW5nKGpzb24pLFxuICAgICAgICBqc29uTnVtYmVyID0gaXNKU09OTnVtYmVyKGpzb24pLFxuICAgICAgICBqc29uQm9vbGVhbiA9IGlzSlNPTkJvb2xlYW4oanNvbiksXG4gICAgICAgIGpzb25QcmltaXRpdmUgPSAoanNvblN0cmluZyB8fCBqc29uTnVtYmVyIHx8IGpzb25Cb29sZWFuKTtcblxuICByZXR1cm4ganNvblByaW1pdGl2ZTtcbn1cblxuZnVuY3Rpb24gaXNTdHJpbmdVcHBlckNhc2Uoc3RyaW5nKSB7XG4gIGNvbnN0IHVwcGVyQ2FzZVN0cmluZyA9IHN0cmluZy50b1VwcGVyQ2FzZSgpLFxuICAgICAgICBzdHJpbmdVcHBlckNhc2UgPSAoc3RyaW5nID09PSB1cHBlckNhc2VTdHJpbmcpO1xuXG4gIHJldHVybiBzdHJpbmdVcHBlckNhc2U7XG59XG4iXSwibmFtZXMiOlsiZ2xvYmFsVGhpcyIsInJjIiwiX3JjIiwiYmFzZUV4dGVuc2lvbiIsImVudmlyb25tZW50TmFtZSIsImVudmlyb25tZW50TmFtZUZyb21Bcmd2IiwiZW52aXJvbm1lbnROYW1lRnJvbUVudiIsImpzb24iLCJyZWFkUkNGaWxlIiwiZW52aXJvbm1lbnQiLCJmaW5kRW52aXJvbm1lbnQiLCJyZXBsYWNlRW52aXJvbm1lbnRWYXJpYWJsZXMiLCJPYmplY3QiLCJhc3NpZ24iLCJyY0ZpbGVQYXRoIiwicmNGaWxlUGF0aEZyb21Ob3RoaW5nIiwicmNGaWxlQ29udGVudCIsIkpTT04iLCJwYXJzZSIsIndyaXRlUkNGaWxlIiwicmRGaWxlQ29udGVudCIsInN0cmluZ2lmeSIsInVwZGF0ZVJDRmlsZSIsImFkZGVkUHJvcGVydGllcyIsImRlbGV0ZWRQcm9wZXJ0eU5hbWVzIiwiZm9yRWFjaCIsImRlbGV0ZWRQcm9wZXJ0eU5hbWUiLCJjaGVja1JDRmlsZUV4aXN0cyIsInJjRmlsZUV4aXN0cyIsImNyZWF0ZVZhY3VvdXNSQ0ZpbGUiLCJzZXRSQ0Jhc2VFeHRlbnNpb24iLCJyY0Jhc2VFeHRlbnNpb24iLCJlbnZpcm9ubWVudHMiLCJmaXJzdEVudmlyb25tZW50IiwiZmluZCIsIm5hbWUiLCJwcm9jZXNzIiwiZW52IiwiYXJndiIsImFyZ3VtZW50IiwibWF0Y2hlcyIsIm1hdGNoIiwiZm91bmQiLCJzZWNvbmRNYXRjaCIsInJlcGxhY2VFbnZpcm9ubWVudFZhcmlhYmxlIiwic3RyaW5nIiwidmFsdWUiLCJzdHJpbmdVcHBlckNhc2UiLCJpc1N0cmluZ1VwcGVyQ2FzZSIsImpzb25BcnJheSIsImlzSlNPTkFycmF5IiwianNvbk9iamVjdCIsImlzSlNPTk9iamVjdCIsImFycmF5IiwibGVuZ3RoIiwiaW5kZXgiLCJqc29uU3RyaW5nIiwiaXNKU09OU3RyaW5nIiwib2JqZWN0IiwiQXJyYXkiLCJqc29uUHJpbWl0aXZlIiwiaXNKU09OUHJpbWl0aXZlIiwiaXNKU09OTnVtYmVyIiwianNvbk51bWJlciIsImlzSlNPTkJvb2xlYW4iLCJqc29uQm9vbGVhbiIsInVwcGVyQ2FzZVN0cmluZyIsInRvVXBwZXJDYXNlIl0sIm1hcHBpbmdzIjoiQUFBQSxDQUFZOzs7OztBQUVrQixHQUFvQixDQUFwQixNQUFvQjtBQUNSLEdBQWEsQ0FBYixTQUFhO0FBQ0YsR0FBYyxDQUFkLFVBQWM7QUFDZCxHQUF5QixDQUF6QixXQUF5Qjs7Ozs7Ozs7Ozs7O0FBRTlFLEVBQUUsR0FBR0EsVUFBVSxDQUFDQyxFQUFFLEVBQUUsQ0FBQztJQUNuQkQsVUFBVSxDQUFDQyxFQUFFLEdBQUdDLEdBQUc7QUFDckIsQ0FBQztBQUVELEdBQUssQ0FBR0QsRUFBRSxHQUFLRCxVQUFVLENBQWpCQyxFQUFFO2VBRUssQ0FBQztJQUNkQSxFQUFFLEVBQUZBLEVBQUU7QUFDSixDQUFDOztBQUVELEdBQUcsQ0FBQ0UsYUFBYSxHQWR5QixTQUFhO1NBZ0I5Q0QsR0FBRyxDQUFDRSxlQUFlLEVBQUUsQ0FBQztJQUM3QkEsZUFBZSxHQUFHQSxlQUFlLElBQUlDLHVCQUF1QixNQUFNQyxzQkFBc0IsR0FBSSxDQUFHLEFBQUgsRUFBRyxBQUFILENBQUc7SUFFL0YsR0FBRyxDQUFDQyxJQUFJLEdBQUdDLFVBQVU7SUFFckIsR0FBSyxDQUFDQyxXQUFXLEdBQUdDLGVBQWUsQ0FBQ0gsSUFBSSxFQUFFSCxlQUFlO0lBRXpERyxJQUFJLEdBQUdFLFdBQVcsQ0FBRSxDQUFHLEFBQUgsRUFBRyxBQUFILENBQUc7SUFFdkJFLDJCQUEyQixDQUFDSixJQUFJO0lBRWhDSyxNQUFN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
@@ -28,8 +28,7 @@ function createRequest(host, uri, query, method, headers, callback) {
28
28
  function createGetRequest(host, uri, query, headers, callback) {
29
29
  if (callback === undefined) {
30
30
  callback = headers; ///
31
- headers = {
32
- };
31
+ headers = {};
33
32
  }
34
33
  var method = _methods.GET_METHOD, getRequest = createRequest(host, uri, query, method, headers, callback);
35
34
  return getRequest;
@@ -37,8 +36,7 @@ function createGetRequest(host, uri, query, headers, callback) {
37
36
  function createPostRequest(host, uri, query, headers, callback) {
38
37
  if (callback === undefined) {
39
38
  callback = headers; ///
40
- headers = {
41
- };
39
+ headers = {};
42
40
  }
43
41
  var method = _methods.POST_METHOD, postRequest = createRequest(host, uri, query, method, headers, callback);
44
42
  return postRequest;
@@ -50,4 +48,4 @@ var _default = {
50
48
  };
51
49
  exports.default = _default;
52
50
 
53
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvcmVxdWVzdC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuY29uc3QgaHR0cCA9IHJlcXVpcmUoXCJodHRwXCIpLFxuICAgICAgaHR0cHMgPSByZXF1aXJlKFwiaHR0cHNcIik7XG5cbmltcG9ydCB7IEVSUk9SLCBFTVBUWV9TVFJJTkcgfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBHRVRfTUVUSE9ELCBQT1NUX01FVEhPRCB9IGZyb20gXCIuLi9tZXRob2RzXCI7XG5pbXBvcnQgeyBwb3J0RnJvbUhvc3QsIHNlY3VyZUZyb21Ib3N0LCBob3N0bmFtZUZyb21Ib3N0LCBxdWVyeVN0cmluZ0Zyb21RdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvaHR0cFwiO1xuXG5mdW5jdGlvbiBjcmVhdGVSZXF1ZXN0KGhvc3QsIHVyaSwgcXVlcnksIG1ldGhvZCwgaGVhZGVycywgY2FsbGJhY2spIHtcbiAgY29uc3QgcG9ydCA9IHBvcnRGcm9tSG9zdChob3N0KSxcbiAgICAgICAgc2VjdXJlID0gc2VjdXJlRnJvbUhvc3QoaG9zdCksXG4gICAgICAgIGhvc3RuYW1lID0gaG9zdG5hbWVGcm9tSG9zdChob3N0KSxcbiAgICAgICAgcXVlcnlTdHJpbmcgPSBxdWVyeVN0cmluZ0Zyb21RdWVyeShxdWVyeSksXG4gICAgICAgIHBhdGggPSAocXVlcnlTdHJpbmcgPT09IEVNUFRZX1NUUklORykgP1xuICAgICAgICAgICAgICAgICB1cmkgOlxuICAgICAgICAgICAgICAgICAgYCR7dXJpfT8ke3F1ZXJ5U3RyaW5nfWAsXG4gICAgICAgIG9wdGlvbnMgPSB7XG4gICAgICAgICAgaG9zdG5hbWUsXG4gICAgICAgICAgaGVhZGVycyxcbiAgICAgICAgICBtZXRob2QsXG4gICAgICAgICAgcG9ydCxcbiAgICAgICAgICBwYXRoXG4gICAgICAgIH0sXG4gICAgICAgIGNyZWF0ZVJlcXVlc3QgPSBzZWN1cmUgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwcy5yZXF1ZXN0IDogLy8vXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaHR0cC5yZXF1ZXN0OyAvLy9cblxuICBjb25zdCByZXF1ZXN0ID0gY3JlYXRlUmVxdWVzdChvcHRpb25zLCAocmVzcG9uc2UpID0+IHtcbiAgICBjb25zdCBlcnJvciA9IG51bGw7XG5cbiAgICBjYWxsYmFjayhlcnJvciwgcmVzcG9uc2UpO1xuICB9KTtcblxuICByZXF1ZXN0Lm9uKEVSUk9SLCAoZXJyb3IpID0+IHtcbiAgICBjb25zdCByZXNwb25zZSA9IG51bGw7XG5cbiAgICBjYWxsYmFjayhlcnJvciwgcmVzcG9uc2UpO1xuICB9KTtcblxuICByZXR1cm4gcmVxdWVzdDtcbn1cblxuZnVuY3Rpb24gY3JlYXRlR2V0UmVxdWVzdChob3N0LCB1cmksIHF1ZXJ5LCBoZWFkZXJzLCBjYWxsYmFjaykge1xuICBpZiAoY2FsbGJhY2sgPT09IHVuZGVmaW5lZCkge1xuICAgIGNhbGxiYWNrID0gaGVhZGVyczsgLy8vXG4gICAgaGVhZGVycyA9IHt9O1xuICB9XG5cbiAgY29uc3QgbWV0aG9kID0gR0VUX01FVEhPRCxcbiAgICAgICAgZ2V0UmVxdWVzdCA9IGNyZWF0ZVJlcXVlc3QoaG9zdCwgdXJpLCBxdWVyeSwgbWV0aG9kLCBoZWFkZXJzLCBjYWxsYmFjayk7XG5cbiAgcmV0dXJuIGdldFJlcXVlc3Q7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZVBvc3RSZXF1ZXN0KGhvc3QsIHVyaSwgcXVlcnksIGhlYWRlcnMsIGNhbGxiYWNrKSB7XG4gIGlmIChjYWxsYmFjayA9PT0gdW5kZWZpbmVkKSB7XG4gICAgY2FsbGJhY2sgPSBoZWFkZXJzOyAvLy9cbiAgICBoZWFkZXJzID0ge307XG4gIH1cblxuICBjb25zdCBtZXRob2QgPSBQT1NUX01FVEhPRCxcbiAgICAgICAgcG9zdFJlcXVlc3QgPSBjcmVhdGVSZXF1ZXN0KGhvc3QsIHVyaSwgcXVlcnksIG1ldGhvZCwgaGVhZGVycywgY2FsbGJhY2spO1xuXG4gIHJldHVybiBwb3N0UmVxdWVzdDtcbn1cblxuZXhwb3J0IGRlZmF1bHQge1xuICBjcmVhdGVSZXF1ZXN0LFxuICBjcmVhdGVHZXRSZXF1ZXN0LFxuICBjcmVhdGVQb3N0UmVxdWVzdFxufTtcbiJdLCJuYW1lcyI6WyJodHRwIiwicmVxdWlyZSIsImh0dHBzIiwiY3JlYXRlUmVxdWVzdCIsImhvc3QiLCJ1cmkiLCJxdWVyeSIsIm1ldGhvZCIsImhlYWRlcnMiLCJjYWxsYmFjayIsInBvcnQiLCJzZWN1cmUiLCJob3N0bmFtZSIsInF1ZXJ5U3RyaW5nIiwicGF0aCIsIm9wdGlvbnMiLCJyZXF1ZXN0IiwicmVzcG9uc2UiLCJlcnJvciIsIm9uIiwiY3JlYXRlR2V0UmVxdWVzdCIsInVuZGVmaW5lZCIsImdldFJlcXVlc3QiLCJjcmVhdGVQb3N0UmVxdWVzdCIsInBvc3RSZXF1ZXN0Il0sIm1hcHBpbmdzIjoiQUFBQSxDQUFZOzs7OztBQUt3QixHQUFjLENBQWQsVUFBYztBQUNWLEdBQVksQ0FBWixRQUFZO0FBQ2lDLEdBQW1CLENBQW5CLEtBQW1CO0FBTHhHLEdBQUssQ0FBQ0EsSUFBSSxHQUFHQyxPQUFPLENBQUMsQ0FBTSxRQUNyQkMsS0FBSyxHQUFHRCxPQUFPLENBQUMsQ0FBTztTQU1wQkUsYUFBYSxDQUFDQyxJQUFJLEVBQUVDLEdBQUcsRUFBRUMsS0FBSyxFQUFFQyxNQUFNLEVBQUVDLE9BQU8sRUFBRUMsUUFBUSxFQUFFLENBQUM7SUFDbkUsR0FBSyxDQUFDQyxJQUFJLE9BSHlFLEtBQW1CLGVBRzVFTixJQUFJLEdBQ3hCTyxNQUFNLE9BSnVFLEtBQW1CLGlCQUl4RVAsSUFBSSxHQUM1QlEsUUFBUSxPQUxxRSxLQUFtQixtQkFLcEVSLElBQUksR0FDaENTLFdBQVcsT0FOa0UsS0FBbUIsdUJBTTdEUCxLQUFLLEdBQ3hDUSxJQUFJLEdBQUlELFdBQVcsS0FUUyxVQUFjLGdCQVVqQ1IsR0FBRyxHQUNELENBQUEsRUFBU1EsTUFBVyxDQUFsQlIsR0FBRyxFQUFDLENBQUMsSUFBYyxNQUFBLENBQVpRLFdBQVcsR0FDL0JFLE9BQU8sR0FBRyxDQUFDO1FBQ1RILFFBQVEsRUFBUkEsUUFBUTtRQUNSSixPQUFPLEVBQVBBLE9BQU87UUFDUEQsTUFBTSxFQUFOQSxNQUFNO1FBQ05HLElBQUksRUFBSkEsSUFBSTtRQUNKSSxJQUFJLEVBQUpBLElBQUk7SUFDTixDQUFDLEVBQ0RYLGNBQWEsR0FBR1EsTUFBTSxHQUNKVCxLQUFLLENBQUNjLE9BQU8sR0FDWGhCLElBQUksQ0FBQ2dCLE9BQU8sQ0FBRSxDQUFHLEFBQUgsRUFBRyxBQUFILENBQUc7SUFFM0MsR0FBSyxDQUFDQSxPQUFPLEdBQUdiLGNBQWEsQ0FBQ1ksT0FBTyxFQUFFLFFBQVEsQ0FBUEUsUUFBUSxFQUFLLENBQUM7UUFDcEQsR0FBSyxDQUFDQyxLQUFLLEdBQUcsSUFBSTtRQUVsQlQsUUFBUSxDQUFDUyxLQUFLLEVBQUVELFFBQVE7SUFDMUIsQ0FBQztJQUVERCxPQUFPLENBQUNHLEVBQUUsQ0E3QndCLFVBQWMsUUE2QjlCLFFBQVEsQ0FBUEQsS0FBSyxFQUFLLENBQUM7UUFDNUIsR0FBSyxDQUFDRCxRQUFRLEdBQUcsSUFBSTtRQUVyQlIsUUFBUSxDQUFDUyxLQUFLLEVBQUVELFFBQVE7SUFDMUIsQ0FBQztJQUVELE1BQU0sQ0FBQ0QsT0FBTztBQUNoQixDQUFDO1NBRVFJLGdCQUFnQixDQUFDaEIsSUFBSSxFQUFFQyxHQUFHLEVBQUVDLEtBQUssRUFBRUUsT0FBTyxFQUFFQyxRQUFRLEVBQUUsQ0FBQztJQUM5RCxFQUFFLEVBQUVBLFFBQVEsS0FBS1ksU0FBUyxFQUFFLENBQUM7UUFDM0JaLFFBQVEsR0FBR0QsT0FBTyxDQUFFLENBQUcsQUFBSCxFQUFHLEFBQUgsQ0FBRztRQUN2QkEsT0FBTyxHQUFHLENBQUM7UUFBQSxDQUFDO0lBQ2QsQ0FBQztJQUVELEdBQUssQ0FBQ0QsTUFBTSxHQTNDMEIsUUFBWSxhQTRDNUNlLFVBQVUsR0FBR25CLGFBQWEsQ0FBQ0MsSUFBSSxFQUFFQyxHQUFHLEVBQUVDLEtBQUssRUFBRUMsTUFBTSxFQUFFQyxPQUFPLEVBQUVDLFFBQVE7SUFFNUUsTUFBTSxDQUFDYSxVQUFVO0FBQ25CLENBQUM7U0FFUUMsaUJBQWlCLENBQUNuQixJQUFJLEVBQUVDLEdBQUcsRUFBRUMsS0FBSyxFQUFFRSxPQUFPLEVBQUVDLFFBQVEsRUFBRSxDQUFDO0lBQy9ELEVBQUUsRUFBRUEsUUFBUSxLQUFLWSxTQUFTLEVBQUUsQ0FBQztRQUMzQlosUUFBUSxHQUFHRCxPQUFPLENBQUUsQ0FBRyxBQUFILEVBQUcsQUFBSCxDQUFHO1FBQ3ZCQSxPQUFPLEdBQUcsQ0FBQztRQUFBLENBQUM7SUFDZCxDQUFDO0lBRUQsR0FBSyxDQUFDRCxNQUFNLEdBdkQwQixRQUFZLGNBd0Q1Q2lCLFdBQVcsR0FBR3JCLGFBQWEsQ0FBQ0MsSUFBSSxFQUFFQyxHQUFHLEVBQUVDLEtBQUssRUFBRUMsTUFBTSxFQUFFQyxPQUFPLEVBQUVDLFFBQVE7SUFFN0UsTUFBTSxDQUFDZSxXQUFXO0FBQ3BCLENBQUM7ZUFFYyxDQUFDO0lBQ2RyQixhQUFhLEVBQWJBLGFBQWE7SUFDYmlCLGdCQUFnQixFQUFoQkEsZ0JBQWdCO0lBQ2hCRyxpQkFBaUIsRUFBakJBLGlCQUFpQjtBQUNuQixDQUFDIn0=
51
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvcmVxdWVzdC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuY29uc3QgaHR0cCA9IHJlcXVpcmUoXCJodHRwXCIpLFxuICAgICAgaHR0cHMgPSByZXF1aXJlKFwiaHR0cHNcIik7XG5cbmltcG9ydCB7IEVSUk9SLCBFTVBUWV9TVFJJTkcgfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBHRVRfTUVUSE9ELCBQT1NUX01FVEhPRCB9IGZyb20gXCIuLi9tZXRob2RzXCI7XG5pbXBvcnQgeyBwb3J0RnJvbUhvc3QsIHNlY3VyZUZyb21Ib3N0LCBob3N0bmFtZUZyb21Ib3N0LCBxdWVyeVN0cmluZ0Zyb21RdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvaHR0cFwiO1xuXG5mdW5jdGlvbiBjcmVhdGVSZXF1ZXN0KGhvc3QsIHVyaSwgcXVlcnksIG1ldGhvZCwgaGVhZGVycywgY2FsbGJhY2spIHtcbiAgY29uc3QgcG9ydCA9IHBvcnRGcm9tSG9zdChob3N0KSxcbiAgICAgICAgc2VjdXJlID0gc2VjdXJlRnJvbUhvc3QoaG9zdCksXG4gICAgICAgIGhvc3RuYW1lID0gaG9zdG5hbWVGcm9tSG9zdChob3N0KSxcbiAgICAgICAgcXVlcnlTdHJpbmcgPSBxdWVyeVN0cmluZ0Zyb21RdWVyeShxdWVyeSksXG4gICAgICAgIHBhdGggPSAocXVlcnlTdHJpbmcgPT09IEVNUFRZX1NUUklORykgP1xuICAgICAgICAgICAgICAgICB1cmkgOlxuICAgICAgICAgICAgICAgICAgYCR7dXJpfT8ke3F1ZXJ5U3RyaW5nfWAsXG4gICAgICAgIG9wdGlvbnMgPSB7XG4gICAgICAgICAgaG9zdG5hbWUsXG4gICAgICAgICAgaGVhZGVycyxcbiAgICAgICAgICBtZXRob2QsXG4gICAgICAgICAgcG9ydCxcbiAgICAgICAgICBwYXRoXG4gICAgICAgIH0sXG4gICAgICAgIGNyZWF0ZVJlcXVlc3QgPSBzZWN1cmUgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwcy5yZXF1ZXN0IDogLy8vXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaHR0cC5yZXF1ZXN0OyAvLy9cblxuICBjb25zdCByZXF1ZXN0ID0gY3JlYXRlUmVxdWVzdChvcHRpb25zLCAocmVzcG9uc2UpID0+IHtcbiAgICBjb25zdCBlcnJvciA9IG51bGw7XG5cbiAgICBjYWxsYmFjayhlcnJvciwgcmVzcG9uc2UpO1xuICB9KTtcblxuICByZXF1ZXN0Lm9uKEVSUk9SLCAoZXJyb3IpID0+IHtcbiAgICBjb25zdCByZXNwb25zZSA9IG51bGw7XG5cbiAgICBjYWxsYmFjayhlcnJvciwgcmVzcG9uc2UpO1xuICB9KTtcblxuICByZXR1cm4gcmVxdWVzdDtcbn1cblxuZnVuY3Rpb24gY3JlYXRlR2V0UmVxdWVzdChob3N0LCB1cmksIHF1ZXJ5LCBoZWFkZXJzLCBjYWxsYmFjaykge1xuICBpZiAoY2FsbGJhY2sgPT09IHVuZGVmaW5lZCkge1xuICAgIGNhbGxiYWNrID0gaGVhZGVyczsgLy8vXG4gICAgaGVhZGVycyA9IHt9O1xuICB9XG5cbiAgY29uc3QgbWV0aG9kID0gR0VUX01FVEhPRCxcbiAgICAgICAgZ2V0UmVxdWVzdCA9IGNyZWF0ZVJlcXVlc3QoaG9zdCwgdXJpLCBxdWVyeSwgbWV0aG9kLCBoZWFkZXJzLCBjYWxsYmFjayk7XG5cbiAgcmV0dXJuIGdldFJlcXVlc3Q7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZVBvc3RSZXF1ZXN0KGhvc3QsIHVyaSwgcXVlcnksIGhlYWRlcnMsIGNhbGxiYWNrKSB7XG4gIGlmIChjYWxsYmFjayA9PT0gdW5kZWZpbmVkKSB7XG4gICAgY2FsbGJhY2sgPSBoZWFkZXJzOyAvLy9cbiAgICBoZWFkZXJzID0ge307XG4gIH1cblxuICBjb25zdCBtZXRob2QgPSBQT1NUX01FVEhPRCxcbiAgICAgICAgcG9zdFJlcXVlc3QgPSBjcmVhdGVSZXF1ZXN0KGhvc3QsIHVyaSwgcXVlcnksIG1ldGhvZCwgaGVhZGVycywgY2FsbGJhY2spO1xuXG4gIHJldHVybiBwb3N0UmVxdWVzdDtcbn1cblxuZXhwb3J0IGRlZmF1bHQge1xuICBjcmVhdGVSZXF1ZXN0LFxuICBjcmVhdGVHZXRSZXF1ZXN0LFxuICBjcmVhdGVQb3N0UmVxdWVzdFxufTtcbiJdLCJuYW1lcyI6WyJodHRwIiwicmVxdWlyZSIsImh0dHBzIiwiY3JlYXRlUmVxdWVzdCIsImhvc3QiLCJ1cmkiLCJxdWVyeSIsIm1ldGhvZCIsImhlYWRlcnMiLCJjYWxsYmFjayIsInBvcnQiLCJzZWN1cmUiLCJob3N0bmFtZSIsInF1ZXJ5U3RyaW5nIiwicGF0aCIsIm9wdGlvbnMiLCJyZXF1ZXN0IiwicmVzcG9uc2UiLCJlcnJvciIsIm9uIiwiY3JlYXRlR2V0UmVxdWVzdCIsInVuZGVmaW5lZCIsImdldFJlcXVlc3QiLCJjcmVhdGVQb3N0UmVxdWVzdCIsInBvc3RSZXF1ZXN0Il0sIm1hcHBpbmdzIjoiQUFBQSxDQUFZOzs7OztBQUt3QixHQUFjLENBQWQsVUFBYztBQUNWLEdBQVksQ0FBWixRQUFZO0FBQ2lDLEdBQW1CLENBQW5CLEtBQW1CO0FBTHhHLEdBQUssQ0FBQ0EsSUFBSSxHQUFHQyxPQUFPLENBQUMsQ0FBTSxRQUNyQkMsS0FBSyxHQUFHRCxPQUFPLENBQUMsQ0FBTztTQU1wQkUsYUFBYSxDQUFDQyxJQUFJLEVBQUVDLEdBQUcsRUFBRUMsS0FBSyxFQUFFQyxNQUFNLEVBQUVDLE9BQU8sRUFBRUMsUUFBUSxFQUFFLENBQUM7SUFDbkUsR0FBSyxDQUFDQyxJQUFJLE9BSHlFLEtBQW1CLGVBRzVFTixJQUFJLEdBQ3hCTyxNQUFNLE9BSnVFLEtBQW1CLGlCQUl4RVAsSUFBSSxHQUM1QlEsUUFBUSxPQUxxRSxLQUFtQixtQkFLcEVSLElBQUksR0FDaENTLFdBQVcsT0FOa0UsS0FBbUIsdUJBTTdEUCxLQUFLLEdBQ3hDUSxJQUFJLEdBQUlELFdBQVcsS0FUUyxVQUFjLGdCQVVqQ1IsR0FBRyxHQUNELENBQUEsRUFBU1EsTUFBVyxDQUFsQlIsR0FBRyxFQUFDLENBQUMsSUFBYyxNQUFBLENBQVpRLFdBQVcsR0FDL0JFLE9BQU8sR0FBRyxDQUFDO1FBQ1RILFFBQVEsRUFBUkEsUUFBUTtRQUNSSixPQUFPLEVBQVBBLE9BQU87UUFDUEQsTUFBTSxFQUFOQSxNQUFNO1FBQ05HLElBQUksRUFBSkEsSUFBSTtRQUNKSSxJQUFJLEVBQUpBLElBQUk7SUFDTixDQUFDLEVBQ0RYLGNBQWEsR0FBR1EsTUFBTSxHQUNKVCxLQUFLLENBQUNjLE9BQU8sR0FDWGhCLElBQUksQ0FBQ2dCLE9BQU8sQ0FBRSxDQUFHLEFBQUgsRUFBRyxBQUFILENBQUc7SUFFM0MsR0FBSyxDQUFDQSxPQUFPLEdBQUdiLGNBQWEsQ0FBQ1ksT0FBTyxFQUFFLFFBQVEsQ0FBUEUsUUFBUSxFQUFLLENBQUM7UUFDcEQsR0FBSyxDQUFDQyxLQUFLLEdBQUcsSUFBSTtRQUVsQlQsUUFBUSxDQUFDUyxLQUFLLEVBQUVELFFBQVE7SUFDMUIsQ0FBQztJQUVERCxPQUFPLENBQUNHLEVBQUUsQ0E3QndCLFVBQWMsUUE2QjlCLFFBQVEsQ0FBUEQsS0FBSyxFQUFLLENBQUM7UUFDNUIsR0FBSyxDQUFDRCxRQUFRLEdBQUcsSUFBSTtRQUVyQlIsUUFBUSxDQUFDUyxLQUFLLEVBQUVELFFBQVE7SUFDMUIsQ0FBQztJQUVELE1BQU0sQ0FBQ0QsT0FBTztBQUNoQixDQUFDO1NBRVFJLGdCQUFnQixDQUFDaEIsSUFBSSxFQUFFQyxHQUFHLEVBQUVDLEtBQUssRUFBRUUsT0FBTyxFQUFFQyxRQUFRLEVBQUUsQ0FBQztJQUM5RCxFQUFFLEVBQUVBLFFBQVEsS0FBS1ksU0FBUyxFQUFFLENBQUM7UUFDM0JaLFFBQVEsR0FBR0QsT0FBTyxDQUFFLENBQUcsQUFBSCxFQUFHLEFBQUgsQ0FBRztRQUN2QkEsT0FBTyxHQUFHLENBQUMsQ0FBQztJQUNkLENBQUM7SUFFRCxHQUFLLENBQUNELE1BQU0sR0EzQzBCLFFBQVksYUE0QzVDZSxVQUFVLEdBQUduQixhQUFhLENBQUNDLElBQUksRUFBRUMsR0FBRyxFQUFFQyxLQUFLLEVBQUVDLE1BQU0sRUFBRUMsT0FBTyxFQUFFQyxRQUFRO0lBRTVFLE1BQU0sQ0FBQ2EsVUFBVTtBQUNuQixDQUFDO1NBRVFDLGlCQUFpQixDQUFDbkIsSUFBSSxFQUFFQyxHQUFHLEVBQUVDLEtBQUssRUFBRUUsT0FBTyxFQUFFQyxRQUFRLEVBQUUsQ0FBQztJQUMvRCxFQUFFLEVBQUVBLFFBQVEsS0FBS1ksU0FBUyxFQUFFLENBQUM7UUFDM0JaLFFBQVEsR0FBR0QsT0FBTyxDQUFFLENBQUcsQUFBSCxFQUFHLEFBQUgsQ0FBRztRQUN2QkEsT0FBTyxHQUFHLENBQUMsQ0FBQztJQUNkLENBQUM7SUFFRCxHQUFLLENBQUNELE1BQU0sR0F2RDBCLFFBQVksY0F3RDVDaUIsV0FBVyxHQUFHckIsYUFBYSxDQUFDQyxJQUFJLEVBQUVDLEdBQUcsRUFBRUMsS0FBSyxFQUFFQyxNQUFNLEVBQUVDLE9BQU8sRUFBRUMsUUFBUTtJQUU3RSxNQUFNLENBQUNlLFdBQVc7QUFDcEIsQ0FBQztlQUVjLENBQUM7SUFDZHJCLGFBQWEsRUFBYkEsYUFBYTtJQUNiaUIsZ0JBQWdCLEVBQWhCQSxnQkFBZ0I7SUFDaEJHLGlCQUFpQixFQUFqQkEsaUJBQWlCO0FBQ25CLENBQUMifQ==
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "necessary",
3
3
  "author": "James Smith",
4
- "version": "10.0.6",
4
+ "version": "11.0.2",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/necessary",
7
7
  "description": "A collection of utility functions.",
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";
@@ -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(environmentNameOrArgv = null) {
20
- let environment,
21
- environmentName,
22
- environmentNameOrArgvArgv = (environmentNameOrArgv instanceof Array);
20
+ function _rc(environmentName) {
21
+ environmentName = environmentName || environmentNameFromArgv() || environmentNameFromEnv(); ///
23
22
 
24
- if (environmentNameOrArgvArgv) {
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
- environment = firstEnvironment; ///
39
- } else {
40
- environment = environments.find((environment) => {
41
- const { name } = environment,
42
- found = (name === environmentName);
25
+ const environment = findEnvironment(json, environmentName);
43
26
 
44
- return found;
45
- });
46
- }
27
+ json = environment; ///
47
28
 
48
- delete environment.name;
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 environmentNameFromArgv(argv) {
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 rcFilePathFromNothing() {
132
- const rcFilePath = `./.${baseExtension}rc`;
145
+ function replaceEnvironmentVariable(string) {
146
+ let value = null;
133
147
 
134
- return rcFilePath;
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
  }