appium 2.0.0-beta.3 → 2.0.0-beta.34
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 +10 -11
- package/build/lib/appium.d.ts +215 -0
- package/build/lib/appium.d.ts.map +1 -0
- package/build/lib/appium.js +241 -132
- package/build/lib/cli/args.d.ts +20 -0
- package/build/lib/cli/args.d.ts.map +1 -0
- package/build/lib/cli/args.js +96 -282
- package/build/lib/cli/driver-command.d.ts +36 -0
- package/build/lib/cli/driver-command.d.ts.map +1 -0
- package/build/lib/cli/driver-command.js +19 -12
- package/build/lib/cli/extension-command.d.ts +345 -0
- package/build/lib/cli/extension-command.d.ts.map +1 -0
- package/build/lib/cli/extension-command.js +171 -96
- package/build/lib/cli/extension.d.ts +14 -0
- package/build/lib/cli/extension.d.ts.map +1 -0
- package/build/lib/cli/extension.js +31 -16
- package/build/lib/cli/parser.d.ts +80 -0
- package/build/lib/cli/parser.d.ts.map +1 -0
- package/build/lib/cli/parser.js +152 -95
- package/build/lib/cli/plugin-command.d.ts +39 -0
- package/build/lib/cli/plugin-command.d.ts.map +1 -0
- package/build/lib/cli/plugin-command.js +18 -13
- package/build/lib/cli/utils.d.ts +29 -0
- package/build/lib/cli/utils.d.ts.map +1 -0
- package/build/lib/cli/utils.js +27 -3
- package/build/lib/config-file.d.ts +100 -0
- package/build/lib/config-file.d.ts.map +1 -0
- package/build/lib/config-file.js +136 -0
- package/build/lib/config.d.ts +41 -0
- package/build/lib/config.d.ts.map +1 -0
- package/build/lib/config.js +92 -67
- package/build/lib/constants.d.ts +48 -0
- package/build/lib/constants.d.ts.map +1 -0
- package/build/lib/constants.js +60 -0
- package/build/lib/extension/driver-config.d.ts +84 -0
- package/build/lib/extension/driver-config.d.ts.map +1 -0
- package/build/lib/extension/driver-config.js +190 -0
- package/build/lib/extension/extension-config.d.ts +170 -0
- package/build/lib/extension/extension-config.d.ts.map +1 -0
- package/build/lib/extension/extension-config.js +297 -0
- package/build/lib/extension/index.d.ts +39 -0
- package/build/lib/extension/index.d.ts.map +1 -0
- package/build/lib/extension/index.js +77 -0
- package/build/lib/extension/manifest.d.ts +174 -0
- package/build/lib/extension/manifest.d.ts.map +1 -0
- package/build/lib/extension/manifest.js +246 -0
- package/build/lib/extension/package-changed.d.ts +11 -0
- package/build/lib/extension/package-changed.d.ts.map +1 -0
- package/build/lib/extension/package-changed.js +68 -0
- package/build/lib/extension/plugin-config.d.ts +62 -0
- package/build/lib/extension/plugin-config.d.ts.map +1 -0
- package/build/lib/extension/plugin-config.js +87 -0
- package/build/lib/grid-register.d.ts +10 -0
- package/build/lib/grid-register.d.ts.map +1 -0
- package/build/lib/grid-register.js +21 -25
- package/build/lib/logger.d.ts +3 -0
- package/build/lib/logger.d.ts.map +1 -0
- package/build/lib/logger.js +4 -6
- package/build/lib/logsink.d.ts +4 -0
- package/build/lib/logsink.d.ts.map +1 -0
- package/build/lib/logsink.js +12 -16
- package/build/lib/main.d.ts +54 -0
- package/build/lib/main.d.ts.map +1 -0
- package/build/lib/main.js +189 -90
- package/build/lib/schema/arg-spec.d.ts +143 -0
- package/build/lib/schema/arg-spec.d.ts.map +1 -0
- package/build/lib/schema/arg-spec.js +119 -0
- package/build/lib/schema/cli-args.d.ts +19 -0
- package/build/lib/schema/cli-args.d.ts.map +1 -0
- package/build/lib/schema/cli-args.js +180 -0
- package/build/lib/schema/cli-transformers.d.ts +5 -0
- package/build/lib/schema/cli-transformers.d.ts.map +1 -0
- package/build/lib/schema/cli-transformers.js +74 -0
- package/build/lib/schema/index.d.ts +3 -0
- package/build/lib/schema/index.d.ts.map +1 -0
- package/build/lib/schema/index.js +34 -0
- package/build/lib/schema/keywords.d.ts +24 -0
- package/build/lib/schema/keywords.d.ts.map +1 -0
- package/build/lib/schema/keywords.js +70 -0
- package/build/lib/schema/schema.d.ts +259 -0
- package/build/lib/schema/schema.d.ts.map +1 -0
- package/build/lib/schema/schema.js +452 -0
- package/build/lib/utils.d.ts +66 -0
- package/build/lib/utils.d.ts.map +1 -0
- package/build/lib/utils.js +35 -139
- package/build/tsconfig.tsbuildinfo +1 -0
- package/build/types/appium-manifest.d.ts +40 -0
- package/build/types/appium-manifest.d.ts.map +1 -0
- package/build/types/cli.d.ts +112 -0
- package/build/types/cli.d.ts.map +1 -0
- package/build/types/extension.d.ts +43 -0
- package/build/types/extension.d.ts.map +1 -0
- package/build/types/external-manifest.d.ts +47 -0
- package/build/types/external-manifest.d.ts.map +1 -0
- package/build/types/index.d.ts +15 -0
- package/build/types/index.d.ts.map +1 -0
- package/index.js +11 -0
- package/lib/appium-config.schema.json +278 -0
- package/lib/appium.js +402 -155
- package/lib/cli/args.js +174 -377
- package/lib/cli/driver-command.js +22 -7
- package/lib/cli/extension-command.js +372 -177
- package/lib/cli/extension.js +32 -10
- package/lib/cli/parser.js +253 -83
- package/lib/cli/plugin-command.js +19 -6
- package/lib/cli/utils.js +22 -2
- package/lib/config-file.js +223 -0
- package/lib/config.js +170 -69
- package/lib/constants.js +78 -0
- package/lib/extension/driver-config.js +249 -0
- package/lib/extension/extension-config.js +458 -0
- package/lib/extension/index.js +102 -0
- package/lib/extension/manifest.js +484 -0
- package/lib/extension/package-changed.js +63 -0
- package/lib/extension/plugin-config.js +113 -0
- package/lib/grid-register.js +25 -22
- package/lib/logger.js +1 -1
- package/lib/logsink.js +14 -7
- package/lib/main.js +255 -90
- package/lib/schema/arg-spec.js +232 -0
- package/lib/schema/cli-args.js +261 -0
- package/lib/schema/cli-transformers.js +122 -0
- package/lib/schema/index.js +2 -0
- package/lib/schema/keywords.js +134 -0
- package/lib/schema/schema.js +734 -0
- package/lib/utils.js +85 -129
- package/package.json +68 -85
- package/scripts/postinstall.js +71 -0
- package/types/appium-manifest.ts +61 -0
- package/types/cli.ts +153 -0
- package/types/extension.ts +56 -0
- package/types/external-manifest.ts +58 -0
- package/types/index.ts +14 -0
- package/CHANGELOG.md +0 -3515
- package/bin/ios-webkit-debug-proxy-launcher.js +0 -71
- package/build/lib/cli/npm.js +0 -206
- package/build/lib/cli/parser-helpers.js +0 -82
- package/build/lib/driver-config.js +0 -77
- package/build/lib/drivers.js +0 -96
- package/build/lib/extension-config.js +0 -251
- package/build/lib/plugin-config.js +0 -59
- package/build/lib/plugins.js +0 -14
- package/lib/cli/npm.js +0 -183
- package/lib/cli/parser-helpers.js +0 -79
- package/lib/driver-config.js +0 -46
- package/lib/drivers.js +0 -81
- package/lib/extension-config.js +0 -208
- package/lib/plugin-config.js +0 -34
- package/lib/plugins.js +0 -10
|
@@ -11,7 +11,7 @@ require("source-map-support/register");
|
|
|
11
11
|
|
|
12
12
|
var _axios = _interopRequireDefault(require("axios"));
|
|
13
13
|
|
|
14
|
-
var
|
|
14
|
+
var _support = require("@appium/support");
|
|
15
15
|
|
|
16
16
|
var _logger = _interopRequireDefault(require("./logger"));
|
|
17
17
|
|
|
@@ -22,21 +22,27 @@ const hubUri = config => {
|
|
|
22
22
|
return `${protocol}://${config.hubHost}:${config.hubPort}`;
|
|
23
23
|
};
|
|
24
24
|
|
|
25
|
-
async function registerNode(
|
|
26
|
-
let
|
|
25
|
+
async function registerNode(data, addr, port, basePath) {
|
|
26
|
+
let configFilePath;
|
|
27
27
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
} catch (err) {
|
|
31
|
-
_logger.default.error(`Unable to load node configuration file to register with grid: ${err.message}`);
|
|
28
|
+
if (_lodash.default.isString(data)) {
|
|
29
|
+
configFilePath = data;
|
|
32
30
|
|
|
33
|
-
|
|
34
|
-
|
|
31
|
+
try {
|
|
32
|
+
data = await _support.fs.readFile(data, 'utf-8');
|
|
33
|
+
} catch (err) {
|
|
34
|
+
_logger.default.error(`Unable to load node configuration file ${configFilePath} to register with grid: ${err.message}`);
|
|
35
35
|
|
|
36
|
-
|
|
37
|
-
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
38
|
|
|
39
|
-
|
|
39
|
+
try {
|
|
40
|
+
data = JSON.parse(data);
|
|
41
|
+
} catch (err) {
|
|
42
|
+
_logger.default.errorAndThrow(`Syntax error in node configuration file ${configFilePath}: ${err.message}`);
|
|
43
|
+
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
40
46
|
}
|
|
41
47
|
|
|
42
48
|
postRequest(data, addr, port, basePath);
|
|
@@ -58,15 +64,7 @@ async function registerToGrid(postOptions, configHolder) {
|
|
|
58
64
|
}
|
|
59
65
|
}
|
|
60
66
|
|
|
61
|
-
function postRequest(
|
|
62
|
-
let configHolder;
|
|
63
|
-
|
|
64
|
-
try {
|
|
65
|
-
configHolder = JSON.parse(data);
|
|
66
|
-
} catch (err) {
|
|
67
|
-
_logger.default.errorAndThrow(`Syntax error in node configuration file: ${err.message}`);
|
|
68
|
-
}
|
|
69
|
-
|
|
67
|
+
function postRequest(configHolder, addr, port, basePath) {
|
|
70
68
|
if (!_lodash.default.has(configHolder, 'configuration')) {
|
|
71
69
|
let configuration = {};
|
|
72
70
|
|
|
@@ -151,7 +149,5 @@ async function isAlreadyRegistered(configHolder) {
|
|
|
151
149
|
}
|
|
152
150
|
|
|
153
151
|
var _default = registerNode;
|
|
154
|
-
exports.default = _default;
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9ncmlkLXJlZ2lzdGVyLmpzIl0sIm5hbWVzIjpbImh1YlVyaSIsImNvbmZpZyIsInByb3RvY29sIiwiaHViUHJvdG9jb2wiLCJodWJIb3N0IiwiaHViUG9ydCIsInJlZ2lzdGVyTm9kZSIsImNvbmZpZ0ZpbGUiLCJhZGRyIiwicG9ydCIsImJhc2VQYXRoIiwiZGF0YSIsImZzIiwicmVhZEZpbGUiLCJlcnIiLCJsb2dnZXIiLCJlcnJvciIsIm1lc3NhZ2UiLCJwb3N0UmVxdWVzdCIsInJlZ2lzdGVyVG9HcmlkIiwicG9zdE9wdGlvbnMiLCJjb25maWdIb2xkZXIiLCJzdGF0dXMiLCJFcnJvciIsImRlYnVnIiwiY29uZmlndXJhdGlvbiIsIkpTT04iLCJwYXJzZSIsImVycm9yQW5kVGhyb3ciLCJfIiwiaGFzIiwicHJvcGVydHkiLCJ1cmwiLCJob3N0IiwiaWQiLCJyZWdSZXF1ZXN0IiwibWV0aG9kIiwicmVnaXN0ZXIiLCJyZWdpc3RlckN5Y2xlSW50ZXJ2YWwiLCJyZWdpc3RlckN5Y2xlIiwiaXNOYU4iLCJ3YXJuIiwiZmlyc3QiLCJzZXRJbnRlcnZhbCIsInJlZ2lzdGVyUmV0cnkiLCJpc0FscmVhZHlSZWdpc3RlcmVkIiwidGltZW91dCIsInN1Y2Nlc3MiLCJtc2ciXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBR0EsTUFBTUEsTUFBTSxHQUFJQyxNQUFELElBQVk7QUFDekIsUUFBTUMsUUFBUSxHQUFHRCxNQUFNLENBQUNFLFdBQVAsSUFBc0IsTUFBdkM7QUFDQSxTQUFRLEdBQUVELFFBQVMsTUFBS0QsTUFBTSxDQUFDRyxPQUFRLElBQUdILE1BQU0sQ0FBQ0ksT0FBUSxFQUF6RDtBQUNELENBSEQ7O0FBS0EsZUFBZUMsWUFBZixDQUE2QkMsVUFBN0IsRUFBeUNDLElBQXpDLEVBQStDQyxJQUEvQyxFQUFxREMsUUFBckQsRUFBK0Q7QUFDN0QsTUFBSUMsSUFBSjs7QUFDQSxNQUFJO0FBQ0ZBLElBQUFB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SSxhQUFiLENBQTJCUyxFQUF0Qzs7QUFDQSxNQUFJO0FBQ0YsVUFBTTtBQUFDdkIsTUFBQUEsSUFBRDtBQUFPVyxNQUFBQTtBQUFQLFFBQWlCLE1BQU0sb0JBQU07QUFDakNVLE1BQUFBLEdBQUcsRUFBRyxHQUFFaEMsTUFBTSxDQUFDcUIsWUFBWSxDQUFDSSxhQUFkLENBQTZCLHNCQUFxQlMsRUFBRyxFQURsQztBQUVqQ1ksTUFBQUEsT0FBTyxFQUFFO0FBRndCLEtBQU4sQ0FBN0I7O0FBSUEsUUFBSXhCLE1BQU0sS0FBSyxHQUFmLEVBQW9CO0FBQ2xCLFlBQU0sSUFBSUMsS0FBSixDQUFXLDRCQUEyQkQsTUFBTyxFQUE3QyxDQUFOO0FBQ0Q7O0FBQ0QsUUFBSSxDQUFDWCxJQUFJLENBQUNvQyxPQUFWLEVBQW1CO0FBRWpCaEMsc0JBQU9TLEtBQVAsQ0FBYyw0QkFBMkJiLElBQUksQ0FBQ3FDLEdBQUksRUFBbEQ7QUFDRDs7QUFDRCxXQUFPckMsSUFBSSxDQUFDb0MsT0FBWjtBQUNELEdBYkQsQ0FhRSxPQUFPakMsR0FBUCxFQUFZO0FBQ1pDLG9CQUFPUyxLQUFQLENBQWMsK0JBQThCVixHQUFHLENBQUNHLE9BQVEsRUFBeEQ7QUFDRDtBQUNGOztlQUdjWCxZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGF4aW9zIGZyb20gJ2F4aW9zJztcbmltcG9ydCB7IGZzIH0gZnJvbSAnYXBwaXVtLXN1cHBvcnQnO1xuaW1wb3J0IGxvZ2dlciBmcm9tICcuL2xvZ2dlcic7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuXG5cbmNvbnN0IGh1YlVyaSA9IChjb25maWcpID0+IHtcbiAgY29uc3QgcHJvdG9jb2wgPSBjb25maWcuaHViUHJvdG9jb2wgfHwgJ2h0dHAnO1xuICByZXR1cm4gYCR7cHJvdG9jb2x9Oi8vJHtjb25maWcuaHViSG9zdH06JHtjb25maWcuaHViUG9ydH1gO1xufTtcblxuYXN5bmMgZnVuY3Rpb24gcmVnaXN0ZXJOb2RlIChjb25maWdGaWxlLCBhZGRyLCBwb3J0LCBiYXNlUGF0aCkge1xuICBsZXQgZGF0YTtcbiAgdHJ5IHtcbiAgICBkYXRhID0gYXdhaXQgZnMucmVhZEZpbGUoY29uZmlnRmlsZSwgJ3V0Zi04Jyk7XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIGxvZ2dlci5lcnJvcihgVW5hYmxlIHRvIGxvYWQgbm9kZSBjb25maWd1cmF0aW9uIGZpbGUgdG8gcmVnaXN0ZXIgd2l0aCBncmlkOiAke2Vyci5tZXNzYWdlfWApO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIC8vIENoZWNrIHByZXNlbmNlIG9mIGRhdGEgYmVmb3JlIHBvc3RpbmcgIGl0IHRvIHRoZSBzZWxlbml1bSBncmlkXG4gIGlmICghZGF0YSkge1xuICAgIGxvZ2dlci5lcnJvcignTm8gZGF0YSBmb3VuZCBpbiB0aGUgbm9kZSBjb25maWd1cmF0aW9uIGZpbGUgdG8gc2VuZCB0byB0aGUgZ3JpZCcpO1xuICAgIHJldHVybjtcbiAgfVxuICBwb3N0UmVxdWVzdChkYXRhLCBhZGRyLCBwb3J0LCBiYXNlUGF0aCk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHJlZ2lzdGVyVG9HcmlkIChwb3N0T3B0aW9ucywgY29uZmlnSG9sZGVyKSB7XG4gIHRyeSB7XG4gICAgY29uc3Qge3N0YXR1c30gPSBhd2FpdCBheGlvcyhwb3N0T3B0aW9ucyk7XG4gICAgaWYgKHN0YXR1cyAhPT0gMjAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFJlcXVlc3QgZmFpbGVkIHdpdGggY29kZSAke3N0YXR1c31gKTtcbiAgICB9XG4gICAgbG9nZ2VyLmRlYnVnKGBBcHBpdW0gc3VjY2Vzc2Z1bGx5IHJlZ2lzdGVyZWQgd2l0aCB0aGUgdGhlIGdyaWQgb24gYCArXG4gICAgICBodWJVcmkoY29uZmlnSG9sZGVyLmNvbmZpZ3VyYXRpb24pKTtcbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgbG9nZ2VyLmVycm9yKGBBbiBhdHRlbXB0IHRvIHJlZ2lzdGVyIHdpdGggdGhlIGdyaWQgd2FzIHVuc3VjY2Vzc2Z1bDogJHtlcnIubWVzc2FnZX1gKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBwb3N0UmVxdWVzdCAoZGF0YSwgYWRkciwgcG9ydCwgYmFzZVBhdGgpIHtcbiAgLy8gcGFyc2UganNvbiB0byBnZXQgaHViIGhvc3QgYW5kIHBvcnRcbiAgbGV0IGNvbmZpZ0hvbGRlcjtcbiAgdHJ5IHtcbiAgICBjb25maWdIb2xkZXIgPSBKU09OLnBhcnNlKGRhdGEpO1xuICB9IGNhdGNoIChlcnIpIHtcbiAgICBsb2dnZXIuZXJyb3JBbmRUaHJvdyhgU3ludGF4IGVycm9yIGluIG5vZGUgY29uZmlndXJhdGlvbiBmaWxlOiAke2Vyci5tZXNzYWdlfWApO1xuICB9XG5cbiAgLy8gTW92ZSBTZWxlbml1bSAzIGNvbmZpZ3VyYXRpb24gcHJvcGVydGllcyB0byBjb25maWd1cmF0aW9uIG9iamVjdFxuICBpZiAoIV8uaGFzKGNvbmZpZ0hvbGRlciwgJ2NvbmZpZ3VyYXRpb24nKSkge1xuICAgIGxldCBjb25maWd1cmF0aW9uID0ge307XG4gICAgZm9yIChjb25zdCBwcm9wZXJ0eSBpbiBjb25maWdIb2xkZXIpIHtcbiAgICAgIGlmIChfLmhhcyhjb25maWdIb2xkZXIsIHByb3BlcnR5KSAmJiBwcm9wZXJ0eSAhPT0gJ2NhcGFiaWxpdGllcycpIHtcbiAgICAgICAgY29uZmlndXJhdGlvbltwcm9wZXJ0eV0gPSBjb25maWdIb2xkZXJbcHJvcGVydHldO1xuICAgICAgICBkZWxldGUgY29uZmlnSG9sZGVyW3Byb3BlcnR5XTtcbiAgICAgIH1cbiAgICB9XG4gICAgY29uZmlnSG9sZGVyLmNvbmZpZ3VyYXRpb24gPSBjb25maWd1cmF0aW9uO1xuICB9XG5cbiAgLy8gaWYgdGhlIG5vZGUgY29uZmlnIGRvZXMgbm90IGhhdmUgdGhlIGFwcGl1bS93ZWJkcml2ZXIgdXJsLCBob3N0LCBhbmQgcG9ydCxcbiAgLy8gYXV0b21hdGljYWxseSBhZGQgaXQgYmFzZWQgb24gaG93IGFwcGl1bSB3YXMgaW5pdGlhbGl6ZWRcbiAgLy8gb3RoZXJ3aXNlLCB3ZSB3aWxsIHRha2Ugd2hhdGV2ZXIgdGhlIHVzZXIgc2V0dXBcbiAgLy8gYmVjYXVzZSB3ZSB3aWxsIGFsd2F5cyBzZXQgbG9jYWxob3N0LzEyNy4wLjAuMS4gdGhpcyB3b24ndCB3b3JrIGlmIHlvdXJcbiAgLy8gbm9kZSBhbmQgZ3JpZCBhcmVuJ3QgaW4gdGhlIHNhbWUgcGxhY2VcbiAgaWYgKCFjb25maWdIb2xkZXIuY29uZmlndXJhdGlvbi51cmwgfHwgIWNvbmZpZ0hvbGRlci5jb25maWd1cmF0aW9uLmhvc3QgfHwgIWNvbmZpZ0hvbGRlci5jb25maWd1cmF0aW9uLnBvcnQpIHtcbiAgICBjb25maWdIb2xkZXIuY29uZmlndXJhdGlvbi51cmwgPSBgaHR0cDovLyR7YWRkcn06JHtwb3J0fSR7YmFzZVBhdGh9YDtcbiAgICBjb25maWdIb2xkZXIuY29uZmlndXJhdGlvbi5ob3N0ID0gYWRkcjtcbiAgICBjb25maWdIb2xkZXIuY29uZmlndXJhdGlvbi5wb3J0ID0gcG9ydDtcbiAgfVxuICAvLyBpZiB0aGUgbm9kZSBjb25maWcgZG9lcyBub3QgaGF2ZSBpZCBhdXRvbWF0aWNhbGx5IGFkZCBpdFxuICBpZiAoIWNvbmZpZ0hvbGRlci5jb25maWd1cmF0aW9uLmlkKSB7XG4gICAgY29uZmlnSG9sZGVyLmNvbmZpZ3VyYXRpb24uaWQgPSBgaHR0cDovLyR7Y29uZmlnSG9sZGVyLmNvbmZpZ3VyYXRpb24uaG9zdH06JHtjb25maWdIb2xkZXIuY29uZmlndXJhdGlvbi5wb3J0fWA7XG4gIH1cblxuICAvLyB0aGUgcG9zdCBvcHRpb25zXG4gIGNvbnN0IHJlZ1JlcXVlc3QgPSB7XG4gICAgdXJsOiBgJHtodWJVcmkoY29uZmlnSG9sZGVyLmNvbmZpZ3VyYXRpb24pfS9ncmlkL3JlZ2lzdGVyYCxcbiAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICBkYXRhOiBjb25maWdIb2xkZXIsXG4gIH07XG5cbiAgaWYgKGNvbmZpZ0hvbGRlci5jb25maWd1cmF0aW9uLnJlZ2lzdGVyICE9PSB0cnVlKSB7XG4gICAgbG9nZ2VyLmRlYnVnKGBObyByZWdpc3RyYXRpb24gc2VudCAoJHtjb25maWdIb2xkZXIuY29uZmlndXJhdGlvbi5yZWdpc3Rlcn0gPSBmYWxzZSlgKTtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCByZWdpc3RlckN5Y2xlSW50ZXJ2YWwgPSBjb25maWdIb2xkZXIuY29uZmlndXJhdGlvbi5yZWdpc3RlckN5Y2xlO1xuICBpZiAoaXNOYU4ocmVnaXN0ZXJDeWNsZUludGVydmFsKSB8fCByZWdpc3RlckN5Y2xlSW50ZXJ2YWwgPD0gMCkge1xuICAgIGxvZ2dlci53YXJuKGAncmVnaXN0ZXJDeWNsZScgaXMgbm90IGEgdmFsaWQgcG9zaXRpdmUgbnVtYmVyLiBgICtcbiAgICAgIGBObyByZWdpc3RyYXRpb24gcmVxdWVzdCB3aWxsIGJlIHNlbnQgdG8gdGhlIGdyaWQuYCk7XG4gICAgcmV0dXJuO1xuICB9XG4gIC8vIGluaXRpYXRlIGEgbmV3IFRocmVhZFxuICBsZXQgZmlyc3QgPSB0cnVlO1xuICBsb2dnZXIuZGVidWcoYFN0YXJ0aW5nIGF1dG8gcmVnaXN0ZXIgdGhyZWFkIGZvciB0aGUgZ3JpZC4gYCArXG4gICAgYFdpbGwgdHJ5IHRvIHJlZ2lzdGVyIGV2ZXJ5ICR7cmVnaXN0ZXJDeWNsZUludGVydmFsfSBtcy5gKTtcbiAgc2V0SW50ZXJ2YWwoYXN5bmMgZnVuY3Rpb24gcmVnaXN0ZXJSZXRyeSAoKSB7XG4gICAgaWYgKGZpcnN0KSB7XG4gICAgICBmaXJzdCA9IGZhbHNlO1xuICAgICAgYXdhaXQgcmVnaXN0ZXJUb0dyaWQocmVnUmVxdWVzdCwgY29uZmlnSG9sZGVyKTtcbiAgICB9IGVsc2UgaWYgKCFhd2FpdCBpc0FscmVhZHlSZWdpc3RlcmVkKGNvbmZpZ0hvbGRlcikpIHtcbiAgICAgIC8vIG1ha2UgdGhlIGh0dHAgUE9TVCB0byB0aGUgZ3JpZCBmb3IgcmVnaXN0cmF0aW9uXG4gICAgICBhd2FpdCByZWdpc3RlclRvR3JpZChyZWdSZXF1ZXN0LCBjb25maWdIb2xkZXIpO1xuICAgIH1cbiAgfSwgcmVnaXN0ZXJDeWNsZUludGVydmFsKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gaXNBbHJlYWR5UmVnaXN0ZXJlZCAoY29uZmlnSG9sZGVyKSB7XG4gIC8vY2hlY2sgaWYgbm9kZSBpcyBhbHJlYWR5IHJlZ2lzdGVyZWRcbiAgY29uc3QgaWQgPSBjb25maWdIb2xkZXIuY29uZmlndXJhdGlvbi5pZDtcbiAgdHJ5IHtcbiAgICBjb25zdCB7ZGF0YSwgc3RhdHVzfSA9IGF3YWl0IGF4aW9zKHtcbiAgICAgIHVybDogYCR7aHViVXJpKGNvbmZpZ0hvbGRlci5jb25maWd1cmF0aW9uKX0vZ3JpZC9hcGkvcHJveHk/aWQ9JHtpZH1gLFxuICAgICAgdGltZW91dDogMTAwMDAsXG4gICAgfSk7XG4gICAgaWYgKHN0YXR1cyAhPT0gMjAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFJlcXVlc3QgZmFpbGVkIHdpdGggY29kZSAke3N0YXR1c31gKTtcbiAgICB9XG4gICAgaWYgKCFkYXRhLnN1Y2Nlc3MpIHtcbiAgICAgIC8vIGlmIHJlZ2lzdGVyIGZhaWwsIHByaW50IHRoZSBkZWJ1ZyBtc2dcbiAgICAgIGxvZ2dlci5kZWJ1ZyhgR3JpZCByZWdpc3RyYXRpb24gZXJyb3I6ICR7ZGF0YS5tc2d9YCk7XG4gICAgfVxuICAgIHJldHVybiBkYXRhLnN1Y2Nlc3M7XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIGxvZ2dlci5kZWJ1ZyhgSHViIGRvd24gb3Igbm90IHJlc3BvbmRpbmc6ICR7ZXJyLm1lc3NhZ2V9YCk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVmYXVsdCByZWdpc3Rlck5vZGU7XG4iXSwiZmlsZSI6ImxpYi9ncmlkLXJlZ2lzdGVyLmpzIiwic291cmNlUm9vdCI6Ii4uLy4uIn0=
|
|
152
|
+
exports.default = _default;
|
|
153
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJodWJVcmkiLCJjb25maWciLCJwcm90b2NvbCIsImh1YlByb3RvY29sIiwiaHViSG9zdCIsImh1YlBvcnQiLCJyZWdpc3Rlck5vZGUiLCJkYXRhIiwiYWRkciIsInBvcnQiLCJiYXNlUGF0aCIsImNvbmZpZ0ZpbGVQYXRoIiwiXyIsImlzU3RyaW5nIiwiZnMiLCJyZWFkRmlsZSIsImVyciIsImxvZ2dlciIsImVycm9yIiwibWVzc2FnZSIsIkpTT04iLCJwYXJzZSIsImVycm9yQW5kVGhyb3ciLCJwb3N0UmVxdWVzdCIsInJlZ2lzdGVyVG9HcmlkIiwicG9zdE9wdGlvbnMiLCJjb25maWdIb2xkZXIiLCJzdGF0dXMiLCJFcnJvciIsImRlYnVnIiwiY29uZmlndXJhdGlvbiIsImhhcyIsInByb3BlcnR5IiwidXJsIiwiaG9zdCIsImlkIiwicmVnUmVxdWVzdCIsIm1ldGhvZCIsInJlZ2lzdGVyIiwicmVnaXN0ZXJDeWNsZUludGVydmFsIiwicmVnaXN0ZXJDeWNsZSIsImlzTmFOIiwid2FybiIsImZpcnN0Iiwic2V0SW50ZXJ2YWwiLCJyZWdpc3RlclJldHJ5IiwiaXNBbHJlYWR5UmVnaXN0ZXJlZCIsInRpbWVvdXQiLCJzdWNjZXNzIiwibXNnIl0sInNvdXJjZXMiOlsiLi4vLi4vbGliL2dyaWQtcmVnaXN0ZXIuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGF4aW9zIGZyb20gJ2F4aW9zJztcbmltcG9ydCB7IGZzIH0gZnJvbSAnQGFwcGl1bS9zdXBwb3J0JztcbmltcG9ydCBsb2dnZXIgZnJvbSAnLi9sb2dnZXInO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcblxuXG5jb25zdCBodWJVcmkgPSAoY29uZmlnKSA9PiB7XG4gIGNvbnN0IHByb3RvY29sID0gY29uZmlnLmh1YlByb3RvY29sIHx8ICdodHRwJztcbiAgcmV0dXJuIGAke3Byb3RvY29sfTovLyR7Y29uZmlnLmh1Ykhvc3R9OiR7Y29uZmlnLmh1YlBvcnR9YDtcbn07XG5cbi8qKlxuICogUmVnaXN0ZXJzIGEgbmV3IG5vZGUgd2l0aCBhIHNlbGVuaXVtIGdyaWRcbiAqIEBwYXJhbSB7c3RyaW5nfG9iamVjdH0gZGF0YSAtIFBhdGggb3Igb2JqZWN0IHJlcHJlc2VudGluZyBzZWxlbml1bSBncmlkIG5vZGUgY29uZmlnIGZpbGUuIElmIGEgYHN0cmluZ2AsIGFsbCBzdWJzZXF1ZW50IGFyZ3VtZW50cyBhcmUgcmVxdWlyZWQhXG4gKiBAcGFyYW0ge3N0cmluZ30gW2FkZHJdIC0gQmluZCB0byB0aGlzIGFkZHJlc3NcbiAqIEBwYXJhbSB7bnVtYmVyfSBbcG9ydF0gLSBCaW5kIHRvIHRoaXMgcG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IFtiYXNlUGF0aF0gLSBCYXNlIHBhdGggZm9yIHRoZSBncmlkXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIHJlZ2lzdGVyTm9kZSAoZGF0YSwgYWRkciwgcG9ydCwgYmFzZVBhdGgpIHtcbiAgbGV0IGNvbmZpZ0ZpbGVQYXRoO1xuICBpZiAoXy5pc1N0cmluZyhkYXRhKSkge1xuICAgIGNvbmZpZ0ZpbGVQYXRoID0gZGF0YTtcbiAgICB0cnkge1xuICAgICAgZGF0YSA9IGF3YWl0IGZzLnJlYWRGaWxlKGRhdGEsICd1dGYtOCcpO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgbG9nZ2VyLmVycm9yKGBVbmFibGUgdG8gbG9hZCBub2RlIGNvbmZpZ3VyYXRpb24gZmlsZSAke2NvbmZpZ0ZpbGVQYXRofSB0byByZWdpc3RlciB3aXRoIGdyaWQ6ICR7ZXJyLm1lc3NhZ2V9YCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICBkYXRhID0gSlNPTi5wYXJzZShkYXRhKTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGxvZ2dlci5lcnJvckFuZFRocm93KGBTeW50YXggZXJyb3IgaW4gbm9kZSBjb25maWd1cmF0aW9uIGZpbGUgJHtjb25maWdGaWxlUGF0aH06ICR7ZXJyLm1lc3NhZ2V9YCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICB9XG5cbiAgcG9zdFJlcXVlc3QoZGF0YSwgYWRkciwgcG9ydCwgYmFzZVBhdGgpO1xufVxuXG5hc3luYyBmdW5jdGlvbiByZWdpc3RlclRvR3JpZCAocG9zdE9wdGlvbnMsIGNvbmZpZ0hvbGRlcikge1xuICB0cnkge1xuICAgIGNvbnN0IHtzdGF0dXN9ID0gYXdhaXQgYXhpb3MocG9zdE9wdGlvbnMpO1xuICAgIGlmIChzdGF0dXMgIT09IDIwMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBSZXF1ZXN0IGZhaWxlZCB3aXRoIGNvZGUgJHtzdGF0dXN9YCk7XG4gICAgfVxuICAgIGxvZ2dlci5kZWJ1ZyhgQXBwaXVtIHN1Y2Nlc3NmdWxseSByZWdpc3RlcmVkIHdpdGggdGhlIHRoZSBncmlkIG9uIGAgK1xuICAgICAgaHViVXJpKGNvbmZpZ0hvbGRlci5jb25maWd1cmF0aW9uKSk7XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIGxvZ2dlci5lcnJvcihgQW4gYXR0ZW1wdCB0byByZWdpc3RlciB3aXRoIHRoZSBncmlkIHdhcyB1bnN1Y2Nlc3NmdWw6ICR7ZXJyLm1lc3NhZ2V9YCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gcG9zdFJlcXVlc3QgKGNvbmZpZ0hvbGRlciwgYWRkciwgcG9ydCwgYmFzZVBhdGgpIHtcbiAgLy8gTW92ZSBTZWxlbml1bSAzIGNvbmZpZ3VyYXRpb24gcHJvcGVydGllcyB0byBjb25maWd1cmF0aW9uIG9iamVjdFxuICBpZiAoIV8uaGFzKGNvbmZpZ0hvbGRlciwgJ2NvbmZpZ3VyYXRpb24nKSkge1xuICAgIGxldCBjb25maWd1cmF0aW9uID0ge307XG4gICAgZm9yIChjb25zdCBwcm9wZXJ0eSBpbiBjb25maWdIb2xkZXIpIHtcbiAgICAgIGlmIChfLmhhcyhjb25maWdIb2xkZXIsIHByb3BlcnR5KSAmJiBwcm9wZXJ0eSAhPT0gJ2NhcGFiaWxpdGllcycpIHtcbiAgICAgICAgY29uZmlndXJhdGlvbltwcm9wZXJ0eV0gPSBjb25maWdIb2xkZXJbcHJvcGVydHldO1xuICAgICAgICBkZWxldGUgY29uZmlnSG9sZGVyW3Byb3BlcnR5XTtcbiAgICAgIH1cbiAgICB9XG4gICAgY29uZmlnSG9sZGVyLmNvbmZpZ3VyYXRpb24gPSBjb25maWd1cmF0aW9uO1xuICB9XG5cbiAgLy8gaWYgdGhlIG5vZGUgY29uZmlnIGRvZXMgbm90IGhhdmUgdGhlIGFwcGl1bS93ZWJkcml2ZXIgdXJsLCBob3N0LCBhbmQgcG9ydCxcbiAgLy8gYXV0b21hdGljYWxseSBhZGQgaXQgYmFzZWQgb24gaG93IGFwcGl1bSB3YXMgaW5pdGlhbGl6ZWRcbiAgLy8gb3RoZXJ3aXNlLCB3ZSB3aWxsIHRha2Ugd2hhdGV2ZXIgdGhlIHVzZXIgc2V0dXBcbiAgLy8gYmVjYXVzZSB3ZSB3aWxsIGFsd2F5cyBzZXQgbG9jYWxob3N0LzEyNy4wLjAuMS4gdGhpcyB3b24ndCB3b3JrIGlmIHlvdXJcbiAgLy8gbm9kZSBhbmQgZ3JpZCBhcmVuJ3QgaW4gdGhlIHNhbWUgcGxhY2VcbiAgaWYgKCFjb25maWdIb2xkZXIuY29uZmlndXJhdGlvbi51cmwgfHwgIWNvbmZpZ0hvbGRlci5jb25maWd1cmF0aW9uLmhvc3QgfHwgIWNvbmZpZ0hvbGRlci5jb25maWd1cmF0aW9uLnBvcnQpIHtcbiAgICBjb25maWdIb2xkZXIuY29uZmlndXJhdGlvbi51cmwgPSBgaHR0cDovLyR7YWRkcn06JHtwb3J0fSR7YmFzZVBhdGh9YDtcbiAgICBjb25maWdIb2xkZXIuY29uZmlndXJhdGlvbi5ob3N0ID0gYWRkcjtcbiAgICBjb25maWdIb2xkZXIuY29uZmlndXJhdGlvbi5wb3J0ID0gcG9ydDtcbiAgfVxuICAvLyBpZiB0aGUgbm9kZSBjb25maWcgZG9lcyBub3QgaGF2ZSBpZCBhdXRvbWF0aWNhbGx5IGFkZCBpdFxuICBpZiAoIWNvbmZpZ0hvbGRlci5jb25maWd1cmF0aW9uLmlkKSB7XG4gICAgY29uZmlnSG9sZGVyLmNvbmZpZ3VyYXRpb24uaWQgPSBgaHR0cDovLyR7Y29uZmlnSG9sZGVyLmNvbmZpZ3VyYXRpb24uaG9zdH06JHtjb25maWdIb2xkZXIuY29uZmlndXJhdGlvbi5wb3J0fWA7XG4gIH1cblxuICAvLyB0aGUgcG9zdCBvcHRpb25zXG4gIGNvbnN0IHJlZ1JlcXVlc3QgPSB7XG4gICAgdXJsOiBgJHtodWJVcmkoY29uZmlnSG9sZGVyLmNvbmZpZ3VyYXRpb24pfS9ncmlkL3JlZ2lzdGVyYCxcbiAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICBkYXRhOiBjb25maWdIb2xkZXIsXG4gIH07XG5cbiAgaWYgKGNvbmZpZ0hvbGRlci5jb25maWd1cmF0aW9uLnJlZ2lzdGVyICE9PSB0cnVlKSB7XG4gICAgbG9nZ2VyLmRlYnVnKGBObyByZWdpc3RyYXRpb24gc2VudCAoJHtjb25maWdIb2xkZXIuY29uZmlndXJhdGlvbi5yZWdpc3Rlcn0gPSBmYWxzZSlgKTtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCByZWdpc3RlckN5Y2xlSW50ZXJ2YWwgPSBjb25maWdIb2xkZXIuY29uZmlndXJhdGlvbi5yZWdpc3RlckN5Y2xlO1xuICBpZiAoaXNOYU4ocmVnaXN0ZXJDeWNsZUludGVydmFsKSB8fCByZWdpc3RlckN5Y2xlSW50ZXJ2YWwgPD0gMCkge1xuICAgIGxvZ2dlci53YXJuKGAncmVnaXN0ZXJDeWNsZScgaXMgbm90IGEgdmFsaWQgcG9zaXRpdmUgbnVtYmVyLiBgICtcbiAgICAgIGBObyByZWdpc3RyYXRpb24gcmVxdWVzdCB3aWxsIGJlIHNlbnQgdG8gdGhlIGdyaWQuYCk7XG4gICAgcmV0dXJuO1xuICB9XG4gIC8vIGluaXRpYXRlIGEgbmV3IFRocmVhZFxuICBsZXQgZmlyc3QgPSB0cnVlO1xuICBsb2dnZXIuZGVidWcoYFN0YXJ0aW5nIGF1dG8gcmVnaXN0ZXIgdGhyZWFkIGZvciB0aGUgZ3JpZC4gYCArXG4gICAgYFdpbGwgdHJ5IHRvIHJlZ2lzdGVyIGV2ZXJ5ICR7cmVnaXN0ZXJDeWNsZUludGVydmFsfSBtcy5gKTtcbiAgc2V0SW50ZXJ2YWwoYXN5bmMgZnVuY3Rpb24gcmVnaXN0ZXJSZXRyeSAoKSB7XG4gICAgaWYgKGZpcnN0KSB7XG4gICAgICBmaXJzdCA9IGZhbHNlO1xuICAgICAgYXdhaXQgcmVnaXN0ZXJUb0dyaWQocmVnUmVxdWVzdCwgY29uZmlnSG9sZGVyKTtcbiAgICB9IGVsc2UgaWYgKCFhd2FpdCBpc0FscmVhZHlSZWdpc3RlcmVkKGNvbmZpZ0hvbGRlcikpIHtcbiAgICAgIC8vIG1ha2UgdGhlIGh0dHAgUE9TVCB0byB0aGUgZ3JpZCBmb3IgcmVnaXN0cmF0aW9uXG4gICAgICBhd2FpdCByZWdpc3RlclRvR3JpZChyZWdSZXF1ZXN0LCBjb25maWdIb2xkZXIpO1xuICAgIH1cbiAgfSwgcmVnaXN0ZXJDeWNsZUludGVydmFsKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gaXNBbHJlYWR5UmVnaXN0ZXJlZCAoY29uZmlnSG9sZGVyKSB7XG4gIC8vY2hlY2sgaWYgbm9kZSBpcyBhbHJlYWR5IHJlZ2lzdGVyZWRcbiAgY29uc3QgaWQgPSBjb25maWdIb2xkZXIuY29uZmlndXJhdGlvbi5pZDtcbiAgdHJ5IHtcbiAgICBjb25zdCB7ZGF0YSwgc3RhdHVzfSA9IGF3YWl0IGF4aW9zKHtcbiAgICAgIHVybDogYCR7aHViVXJpKGNvbmZpZ0hvbGRlci5jb25maWd1cmF0aW9uKX0vZ3JpZC9hcGkvcHJveHk/aWQ9JHtpZH1gLFxuICAgICAgdGltZW91dDogMTAwMDAsXG4gICAgfSk7XG4gICAgaWYgKHN0YXR1cyAhPT0gMjAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFJlcXVlc3QgZmFpbGVkIHdpdGggY29kZSAke3N0YXR1c31gKTtcbiAgICB9XG4gICAgaWYgKCFkYXRhLnN1Y2Nlc3MpIHtcbiAgICAgIC8vIGlmIHJlZ2lzdGVyIGZhaWwsIHByaW50IHRoZSBkZWJ1ZyBtc2dcbiAgICAgIGxvZ2dlci5kZWJ1ZyhgR3JpZCByZWdpc3RyYXRpb24gZXJyb3I6ICR7ZGF0YS5tc2d9YCk7XG4gICAgfVxuICAgIHJldHVybiBkYXRhLnN1Y2Nlc3M7XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIGxvZ2dlci5kZWJ1ZyhgSHViIGRvd24gb3Igbm90IHJlc3BvbmRpbmc6ICR7ZXJyLm1lc3NhZ2V9YCk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVmYXVsdCByZWdpc3Rlck5vZGU7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBR0EsTUFBTUEsTUFBTSxHQUFJQyxNQUFELElBQVk7RUFDekIsTUFBTUMsUUFBUSxHQUFHRCxNQUFNLENBQUNFLFdBQVAsSUFBc0IsTUFBdkM7RUFDQSxPQUFRLEdBQUVELFFBQVMsTUFBS0QsTUFBTSxDQUFDRyxPQUFRLElBQUdILE1BQU0sQ0FBQ0ksT0FBUSxFQUF6RDtBQUNELENBSEQ7O0FBWUEsZUFBZUMsWUFBZixDQUE2QkMsSUFBN0IsRUFBbUNDLElBQW5DLEVBQXlDQyxJQUF6QyxFQUErQ0MsUUFBL0MsRUFBeUQ7RUFDdkQsSUFBSUMsY0FBSjs7RUFDQSxJQUFJQyxnQkFBRUMsUUFBRixDQUFXTixJQUFYLENBQUosRUFBc0I7SUFDcEJJLGNBQWMsR0FBR0osSUFBakI7O0lBQ0EsSUFBSTtNQUNGQSxJQUFJLEdBQUcsTUFBTU8sWUFBR0MsUUFBSCxDQUFZUixJQUFaLEVBQWtCLE9BQWxCLENBQWI7SUFDRCxDQUZELENBRUUsT0FBT1MsR0FBUCxFQUFZO01BQ1pDLGdCQUFPQyxLQUFQLENBQWMsMENBQXlDUCxjQUFlLDJCQUEwQkssR0FBRyxDQUFDRyxPQUFRLEVBQTVHOztNQUNBO0lBQ0Q7O0lBQ0QsSUFBSTtNQUNGWixJQUFJLEdBQUdhLElBQUksQ0FBQ0MsS0FBTCxDQUFXZCxJQUFYLENBQVA7SUFDRCxDQUZELENBRUUsT0FBT1MsR0FBUCxFQUFZO01BQ1pDLGdCQUFPSyxhQUFQLENBQXNCLDJDQUEwQ1gsY0FBZSxLQUFJSyxHQUFHLENBQUNHLE9BQVEsRUFBL0Y7O01BQ0E7SUFDRDtFQUNGOztFQUVESSxXQUFXLENBQUNoQixJQUFELEVBQU9DLElBQVAsRUFBYUMsSUFBYixFQUFtQkMsUUFBbkIsQ0FBWDtBQUNEOztBQUVELGVB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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../lib/logger.js"],"names":[],"mappings":";AAGA,sDAAqC"}
|
package/build/lib/logger.js
CHANGED
|
@@ -7,12 +7,10 @@ exports.default = void 0;
|
|
|
7
7
|
|
|
8
8
|
require("source-map-support/register");
|
|
9
9
|
|
|
10
|
-
var
|
|
10
|
+
var _support = require("@appium/support");
|
|
11
11
|
|
|
12
|
-
let log =
|
|
12
|
+
let log = _support.logger.getLogger('Appium');
|
|
13
13
|
|
|
14
14
|
var _default = log;
|
|
15
|
-
exports.default = _default;
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9sb2dnZXIuanMiXSwibmFtZXMiOlsibG9nIiwibG9nZ2VyIiwiZ2V0TG9nZ2VyIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTs7QUFHQSxJQUFJQSxHQUFHLEdBQUdDLHNCQUFPQyxTQUFQLENBQWlCLFFBQWpCLENBQVY7O2VBRWVGLEciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBsb2dnZXIgfSBmcm9tICdhcHBpdW0tc3VwcG9ydCc7XG5cblxubGV0IGxvZyA9IGxvZ2dlci5nZXRMb2dnZXIoJ0FwcGl1bScpO1xuXG5leHBvcnQgZGVmYXVsdCBsb2c7XG4iXSwiZmlsZSI6ImxpYi9sb2dnZXIuanMiLCJzb3VyY2VSb290IjoiLi4vLi4ifQ==
|
|
15
|
+
exports.default = _default;
|
|
16
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJsb2ciLCJsb2dnZXIiLCJnZXRMb2dnZXIiXSwic291cmNlcyI6WyIuLi8uLi9saWIvbG9nZ2VyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGxvZ2dlciB9IGZyb20gJ0BhcHBpdW0vc3VwcG9ydCc7XG5cblxubGV0IGxvZyA9IGxvZ2dlci5nZXRMb2dnZXIoJ0FwcGl1bScpO1xuXG5leHBvcnQgZGVmYXVsdCBsb2c7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBOztBQUdBLElBQUlBLEdBQUcsR0FBR0MsZ0JBQU9DLFNBQVAsQ0FBaUIsUUFBakIsQ0FBVjs7ZUFFZUYsRyJ9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logsink.d.ts","sourceRoot":"","sources":["../../lib/logsink.js"],"names":[],"mappings":";AA6LA,+CA0BC;AAED,8BAOC"}
|
package/build/lib/logsink.js
CHANGED
|
@@ -5,9 +5,9 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.init = init;
|
|
9
8
|
exports.clear = clear;
|
|
10
9
|
exports.default = void 0;
|
|
10
|
+
exports.init = init;
|
|
11
11
|
|
|
12
12
|
require("source-map-support/register");
|
|
13
13
|
|
|
@@ -15,13 +15,11 @@ var _npmlog = _interopRequireDefault(require("npmlog"));
|
|
|
15
15
|
|
|
16
16
|
var _winston = require("winston");
|
|
17
17
|
|
|
18
|
-
var
|
|
19
|
-
|
|
20
|
-
var _dateformat = _interopRequireDefault(require("dateformat"));
|
|
18
|
+
var _support = require("@appium/support");
|
|
21
19
|
|
|
22
20
|
var _lodash = _interopRequireDefault(require("lodash"));
|
|
23
21
|
|
|
24
|
-
|
|
22
|
+
_support.logger.patchLogger(_npmlog.default);
|
|
25
23
|
|
|
26
24
|
global._global_npmlog = _npmlog.default;
|
|
27
25
|
_npmlog.default.level = 'silent';
|
|
@@ -47,17 +45,17 @@ const npmToWinstonLevels = {
|
|
|
47
45
|
error: 'error'
|
|
48
46
|
};
|
|
49
47
|
let log = null;
|
|
50
|
-
let
|
|
48
|
+
let useLocalTimeZone = false;
|
|
51
49
|
|
|
52
50
|
const timestampFormat = _winston.format.timestamp({
|
|
53
51
|
format() {
|
|
54
52
|
let date = new Date();
|
|
55
53
|
|
|
56
|
-
if (
|
|
57
|
-
date = new Date(date.valueOf()
|
|
54
|
+
if (useLocalTimeZone) {
|
|
55
|
+
date = new Date(date.valueOf() - date.getTimezoneOffset() * 60000);
|
|
58
56
|
}
|
|
59
57
|
|
|
60
|
-
return (
|
|
58
|
+
return date.toISOString().replace(/[TZ]/g, ' ').replace(/\./g, ':').trim();
|
|
61
59
|
}
|
|
62
60
|
|
|
63
61
|
});
|
|
@@ -150,8 +148,8 @@ async function createTransports(args) {
|
|
|
150
148
|
|
|
151
149
|
if (args.logFile) {
|
|
152
150
|
try {
|
|
153
|
-
if (await
|
|
154
|
-
await
|
|
151
|
+
if (await _support.fs.exists(args.logFile)) {
|
|
152
|
+
await _support.fs.unlink(args.logFile);
|
|
155
153
|
}
|
|
156
154
|
|
|
157
155
|
transports.push(createFileTransport(args, fileLogLevel));
|
|
@@ -172,7 +170,7 @@ async function createTransports(args) {
|
|
|
172
170
|
}
|
|
173
171
|
|
|
174
172
|
async function init(args) {
|
|
175
|
-
|
|
173
|
+
useLocalTimeZone = args.localTimezone;
|
|
176
174
|
clear();
|
|
177
175
|
log = (0, _winston.createLogger)({
|
|
178
176
|
transports: await createTransports(args),
|
|
@@ -207,7 +205,5 @@ function clear() {
|
|
|
207
205
|
}
|
|
208
206
|
|
|
209
207
|
var _default = init;
|
|
210
|
-
exports.default = _default;
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9sb2dzaW5rLmpzIl0sIm5hbWVzIjpbImxvZ2dlciIsInBhdGNoTG9nZ2VyIiwibnBtbG9nIiwiZ2xvYmFsIiwiX2dsb2JhbF9ucG1sb2ciLCJsZXZlbCIsImxldmVscyIsImRlYnVnIiwiaW5mbyIsIndhcm4iLCJlcnJvciIsImNvbG9ycyIsIm5wbVRvV2luc3RvbkxldmVscyIsInNpbGx5IiwidmVyYm9zZSIsImh0dHAiLCJsb2ciLCJ0aW1lWm9uZSIsInRpbWVzdGFtcEZvcm1hdCIsImZvcm1hdCIsInRpbWVzdGFtcCIsImRhdGUiLCJEYXRlIiwidmFsdWVPZiIsImdldFRpbWV6b25lT2Zmc2V0IiwiY29sb3JpemVGb3JtYXQiLCJjb2xvcml6ZSIsInN0cmlwQ29sb3JGb3JtYXQiLCJzdHJpcENvbG9yIiwiY29kZSIsIm1lc3NhZ2UiLCJyZXBsYWNlIiwiY3JlYXRlQ29uc29sZVRyYW5zcG9ydCIsImFyZ3MiLCJsb2dMdmwiLCJ0cmFuc3BvcnRzIiwiQ29uc29sZSIsIm5hbWUiLCJoYW5kbGVFeGNlcHRpb25zIiwiZXhpdE9uRXJyb3IiLCJqc29uIiwic3RkZXJyTGV2ZWxzIiwiY29tYmluZSIsImFkanVzdERlYnVnIiwibG9nTm9Db2xvcnMiLCJwcmludGYiLCJwcmludEluZm8iLCJsb2dUaW1lc3RhbXAiLCJjcmVhdGVGaWxlVHJhbnNwb3J0IiwiRmlsZSIsImZpbGVuYW1lIiwibG9nRmlsZSIsIm1heEZpbGVzIiwiY3JlYXRlSHR0cFRyYW5zcG9ydCIsImhvc3QiLCJwb3J0Iiwid2ViaG9vayIsIm1hdGNoIiwiaG9zdEFuZFBvcnQiLCJzcGxpdCIsInBhcnNlSW50IiwiSHR0cCIsInBhdGgiLCJjcmVhdGVUcmFuc3BvcnRzIiwiY29uc29sZUxvZ0xldmVsIiwiZmlsZUxvZ0xldmVsIiwibG9nbGV2ZWwiLCJsdmxQYWlyIiwicHVzaCIsImZzIiwiZXhpc3RzIiwidW5saW5rIiwiZSIsImNvbnNvbGUiLCJpbml0IiwibG9jYWxUaW1lem9uZSIsImNsZWFyIiwib24iLCJsb2dPYmoiLCJ3aW5zdG9uTGV2ZWwiLCJtc2ciLCJwcmVmaXgiLCJtYWdlbnRhIiwibG9nSGFuZGxlciIsIl8iLCJpc0Z1bmN0aW9uIiwidHJhbnNwb3J0Iiwia2V5cyIsInJlbW92ZSIsInJlbW92ZUFsbExpc3RlbmVycyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUlBQSxzQkFBT0MsV0FBUCxDQUFtQkMsZUFBbkI7O0FBQ0FDLE1BQU0sQ0FBQ0MsY0FBUCxHQUF3QkYsZUFBeEI7QUFHQUEsZ0JBQU9HLEtBQVAsR0FBZSxRQUFmO0FBQ0EsTUFBTUMsTUFBTSxHQUFHO0FBQ2JDLEVBQUFBLEtBQUssRUFBRSxDQURNO0FBRWJDLEVBQUFBLElBQUksRUFBRSxDQUZPO0FBR2JDLEVBQUFBLElBQUksRUFBRSxDQUhPO0FBSWJDLEVBQUFBLEtBQUssRUFBRTtBQUpNLENBQWY7QUFPQSxNQUFNQyxNQUFNLEdBQUc7QUFDYkgsRUFBQUEsSUFBSSxFQUFFLE1BRE87QUFFYkQsRUFBQUEsS0FBSyxFQUFFLE1BRk07QUFHYkUsRUFBQUEsSUFBSSxFQUFFLFFBSE87QUFJYkMsRUFBQUEsS0FBSyxFQUFFO0FBSk0sQ0FBZjtBQU9BLE1BQU1FLGtCQUFrQixHQUFHO0FBQ3pCQyxFQUFBQSxLQUFLLEVBQUUsT0FEa0I7QUFFekJDLEVBQUFBLE9BQU8sRUFBRSxPQUZnQjtBQUd6QlAsRUFBQUEsS0FBSyxFQUFFLE9BSGtCO0FBSXpCQyxFQUFBQSxJQUFJLEVBQUUsTUFKbUI7QUFLekJPLEVBQUFBLElBQUksRUFBRSxNQUxtQjtBQU16Qk4sRUFBQUEsSUFBSSxFQUFFLE1BTm1CO0FBT3pCQyxFQUFBQSxLQUFLLEVBQUU7QUFQa0IsQ0FBM0I7QUFVQSxJQUFJTSxHQUFHLEdBQUcsSUFBVjtBQUNBLElBQUlDLFFBQVEsR0FBRyxJQUFmOztBQUdBLE1BQU1DLGVBQWUsR0FBR0MsZ0JBQU9DLFNBQVAsQ0FBaUI7QUFDdkNELEVBQUFBLE1B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bEI7O0FBQ0EsUUFBSS9DLElBQUksQ0FBQ2tELFVBQUwsSUFBbUJDLGdCQUFFQyxVQUFGLENBQWFwRCxJQUFJLENBQUNrRCxVQUFsQixDQUF2QixFQUFzRDtBQUNwRGxELE1BQUFBLElBQUksQ0FBQ2tELFVBQUwsQ0FBZ0JMLE1BQU0sQ0FBQ3pFLEtBQXZCLEVBQThCMkUsR0FBOUI7QUFDRDtBQUVGLEdBWkQ7QUFhRDs7QUFFRCxTQUFTSixLQUFULEdBQWtCO0FBQ2hCLE1BQUk1RCxHQUFKLEVBQVM7QUFDUCxTQUFLLElBQUlzRSxTQUFULElBQXNCRixnQkFBRUcsSUFBRixDQUFPdkUsR0FBRyxDQUFDbUIsVUFBWCxDQUF0QixFQUE4QztBQUM1Q25CLE1BQUFBLEdBQUcsQ0FBQ3dFLE1BQUosQ0FBV0YsU0FBWDtBQUNEO0FBQ0Y7O0FBQ0RwRixrQkFBT3VGLGtCQUFQLENBQTBCLEtBQTFCO0FBQ0Q7O2VBSWNmLEkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbnBtbG9nIGZyb20gJ25wbWxvZyc7XG5pbXBvcnQgeyBjcmVhdGVMb2dnZXIsIGZvcm1hdCwgdHJhbnNwb3J0cyB9IGZyb20gJ3dpbnN0b24nO1xuaW1wb3J0IHsgZnMsIGxvZ2dlciB9IGZyb20gJ2FwcGl1bS1zdXBwb3J0JztcbmltcG9ydCBkYXRlZm9ybWF0IGZyb20gJ2RhdGVmb3JtYXQnO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcblxuXG4vLyBzZXQgdXAgZGlzdHJpYnV0ZWQgbG9nZ2luZyBiZWZvcmUgZXZlcnl0aGluZyBlbHNlXG5sb2dnZXIucGF0Y2hMb2dnZXIobnBtbG9nKTtcbmdsb2JhbC5fZ2xvYmFsX25wbWxvZyA9IG5wbWxvZztcblxuLy8gbnBtbG9nIGlzIHVzZWQgb25seSBmb3IgZW1pdHRpbmcsIHdlIHVzZSB3aW5zdG9uIGZvciBvdXRwdXRcbm5wbWxvZy5sZXZlbCA9ICdzaWxlbnQnO1xuY29uc3QgbGV2ZWxzID0ge1xuICBkZWJ1ZzogNCxcbiAgaW5mbzogMyxcbiAgd2FybjogMixcbiAgZXJyb3I6IDEsXG59O1xuXG5jb25zdCBjb2xvcnMgPSB7XG4gIGluZm86ICdjeWFuJyxcbiAgZGVidWc6ICdncmV5JyxcbiAgd2FybjogJ3llbGxvdycsXG4gIGVycm9yOiAncmVkJyxcbn07XG5cbmNvbnN0IG5wbVRvV2luc3RvbkxldmVscyA9IHtcbiAgc2lsbHk6ICdkZWJ1ZycsXG4gIHZlcmJvc2U6ICdkZWJ1ZycsXG4gIGRlYnVnOiAnZGVidWcnLFxuICBpbmZvOiAnaW5mbycsXG4gIGh0dHA6ICdpbmZvJyxcbiAgd2FybjogJ3dhcm4nLFxuICBlcnJvcjogJ2Vycm9yJyxcbn07XG5cbmxldCBsb2cgPSBudWxsO1xubGV0IHRpbWVab25lID0gbnVsbDtcblxuLy8gYWRkIHRoZSB0aW1lc3RhbXAgaW4gdGhlIGNvcnJlY3QgZm9ybWF0IHRvIHRoZSBsb2cgaW5mbyBvYmplY3RcbmNvbnN0IHRpbWVzdGFtcEZvcm1hdCA9IGZvcm1hdC50aW1lc3RhbXAoe1xuICBmb3JtYXQgKCkge1xuICAgIGxldCBkYXRlID0gbmV3IERhdGUoKTtcbiAgICBpZiAoIXRpbWVab25lKSB7XG4gICAgICBkYXRlID0gbmV3IERhdGUoZGF0ZS52YWx1ZU9mKCkgKyBkYXRlLmdldFRpbWV6b25lT2Zmc2V0KCkgKiA2MDAwMCk7XG4gICAgfVxuICAgIHJldHVybiBkYXRlZm9ybWF0KGRhdGUsICd5eXl5LW1tLWRkIEhIOk1NOnNzOmwnKTtcbiAgfSxcbn0pO1xuXG4vLyBzZXQgdGhlIGN1c3RvbSBjb2xvcnNcbmNvbnN0IGNvbG9yaXplRm9ybWF0ID0gZm9ybWF0LmNvbG9yaXplKHtcbiAgY29sb3JzLFxufSk7XG5cbi8vIFN0cmlwIHRoZSBjb2xvciBtYXJraW5nIHdpdGhpbiBtZXNzYWdlc1xuY29uc3Qgc3RyaXBDb2xvckZvcm1hdCA9IGZvcm1hdChmdW5jdGlvbiBzdHJpcENvbG9yIChpbmZvKSB7XG4gIGNvbnN0IGNvZGUgPSAvXFx1MDAxYlxcWyhcXGQrKDtcXGQrKSopP20vZzsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby1jb250cm9sLXJlZ2V4XG4gIGluZm8ubWVzc2FnZSA9IGluZm8ubWVzc2FnZS5yZXBsYWNlKGNvZGUsICcnKTtcbiAgcmV0dXJuIGluZm87XG59KSgpO1xuXG5mdW5jdGlvbiBjcmVhdGVDb25zb2xlVHJhbnNwb3J0IChhcmdzLCBsb2dMdmwpIHtcbiAgcmV0dXJuIG5ldyAodHJhbnNwb3J0cy5Db25zb2xlKSh7XG4gICAgbmFtZTogJ2NvbnNvbGUnLFxuICAgIGhhbmRsZUV4Y2VwdGlvbnM6IHRydWUsXG4gICAgZXhpdE9uRXJyb3I6IGZhbHNlLFxuICAgIGpzb246IGZhbHNlLFxuICAgIGxldmVsOiBsb2dMdmwsXG4gICAgc3RkZXJyTGV2ZWxzOiBbJ2Vycm9yJ10sXG4gICAgZm9ybWF0OiBmb3JtYXQuY29tYmluZShcbiAgICAgIGZvcm1hdChmdW5jdGlvbiBhZGp1c3REZWJ1ZyAoaW5mbykge1xuICAgICAgICAvLyBwcmVwZW5kIGRlYnVnIG1hcmtlciwgYW5kIHNoaWZ0IHRvIGBpbmZvYCBsb2cgbGV2ZWxcbiAgICAgICAgaWYgKGluZm8ubGV2ZWwgPT09ICdkZWJ1ZycpIHtcbiAgICAgICAgICBpbmZvLmxldmVsID0gJ2luZm8nO1xuICAgICAgICAgIGluZm8ubWVzc2FnZSA9IGBbZGVidWddICR7aW5mby5tZXNzYWdlfWA7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGluZm87XG4gICAgICB9KSgpLFxuICAgICAgdGltZXN0YW1wRm9ybWF0LFxuICAgICAgYXJncy5sb2dOb0NvbG9ycyA/IHN0cmlwQ29sb3JGb3JtYXQgOiBjb2xvcml6ZUZvcm1hdCxcbiAgICAgIGZvcm1hdC5wcmludGYoZnVuY3Rpb24gcHJpbnRJbmZvIChpbmZvKSB7XG4gICAgICAgIHJldHVybiBgJHthcmdzLmxvZ1RpbWVzdGFtcCA/IGAke2luZm8udGltZXN0YW1wfSAtIGAgOiAnJ30ke2luZm8ubWVzc2FnZX1gO1xuICAgICAgfSlcbiAgICApLFxuICB9KTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlRmlsZVRyYW5zcG9ydCAoYXJncywgbG9nTHZsKSB7XG4gIHJldHVybiBuZXcgKHRyYW5zcG9ydHMuRmlsZSkoe1xuICAgIG5hbWU6ICdmaWxlJyxcbiAgICBmaWxlbmFtZTogYXJncy5sb2dGaWxlLFxuICAgIG1heEZpbGVzOiAxLFxuICAgIGhhbmRsZUV4Y2VwdGlvbnM6IHRydWUsXG4gICAgZXhpdE9uRXJyb3I6IGZhbHNlLFxuICAgIGpzb246IGZhbHNlLFxuICAgIGxldmVsOiBsb2dMdmwsXG4gICAgZm9ybWF0OiBmb3JtYXQuY29tYmluZShcbiAgICAgIHN0cmlwQ29sb3JGb3JtYXQsXG4gICAgICB0aW1lc3RhbXBGb3JtYXQsXG4gICAgICBmb3JtYXQucHJpbnRmKGZ1bmN0aW9uIHByaW50SW5mbyAoaW5mbykge1xuICAgICAgICByZXR1cm4gYCR7aW5mby50aW1lc3RhbXB9ICR7aW5mby5tZXNzYWdlfWA7XG4gICAgICB9KVxuICAgIClcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUh0dHBUcmFuc3BvcnQgKGFyZ3MsIGxvZ0x2bCkge1xuICBsZXQgaG9zdCA9ICcxMjcuMC4wLjEnO1xuICBsZXQgcG9ydCA9IDkwMDM7XG5cbiAgaWYgKGFyZ3Mud2ViaG9vay5tYXRjaCgnOicpKSB7XG4gICAgY29uc3QgaG9zdEFuZFBvcnQgPSBhcmdzLndlYmhvb2suc3BsaXQoJzonKTtcbiAgICBob3N0ID0gaG9zdEFuZFBvcnRbMF07XG4gICAgcG9ydCA9IHBhcnNlSW50KGhvc3RBbmRQb3J0WzFdLCAxMCk7XG4gIH1cblxuICByZXR1cm4gbmV3ICh0cmFuc3BvcnRzLkh0dHApKHtcbiAgICBuYW1lOiAnaHR0cCcsXG4gICAgaG9zdCxcbiAgICBwb3J0LFxuICAgIHBhdGg6ICcvJyxcbiAgICBoYW5kbGVFeGNlcHRpb25zOiB0cnVlLFxuICAgIGV4aXRPbkVycm9yOiBmYWxzZSxcbiAgICBqc29uOiBmYWxzZSxcbiAgICBsZXZlbDogbG9nTHZsLFxuICAgIGZvcm1hdDogZm9ybWF0LmNvbWJpbmUoXG4gICAgICBzdHJpcENvbG9yRm9ybWF0LFxuICAgICAgZm9ybWF0LnByaW50ZihmdW5jdGlvbiBwcmludEluZm8gKGluZm8pIHtcbiAgICAgICAgcmV0dXJuIGAke2luZm8udGltZXN0YW1wfSAke2luZm8ubWVzc2FnZX1gO1xuICAgICAgfSlcbiAgICApLFxuICB9KTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gY3JlYXRlVHJhbnNwb3J0cyAoYXJncykge1xuICBsZXQgdHJhbnNwb3J0cyA9IFtdO1xuICBsZXQgY29uc29sZUxvZ0xldmVsID0gbnVsbDtcbiAgbGV0IGZpbGVMb2dMZXZlbCA9IG51bGw7XG5cbiAgaWYgKGFyZ3MubG9nbGV2ZWwgJiYgYXJncy5sb2dsZXZlbC5tYXRjaCgnOicpKSB7XG4gICAgLy8gLS1sb2ctbGV2ZWwgYXJnIGNhbiBvcHRpb25hbGx5IHByb3ZpZGUgZGlmZiBsb2dnaW5nIGxldmVscyBmb3IgY29uc29sZSBhbmQgZmlsZSwgc2VwYXJhdGVkIGJ5IGEgY29sb25cbiAgICBjb25zdCBsdmxQYWlyID0gYXJncy5sb2dsZXZlbC5zcGxpdCgnOicpO1xuICAgIGNvbnNvbGVMb2dMZXZlbCA9IGx2bFBhaXJbMF0gfHwgY29uc29sZUxvZ0xldmVsO1xuICAgIGZpbGVMb2dMZXZlbCA9IGx2bFBhaXJbMV0gfHwgZmlsZUxvZ0xldmVsO1xuICB9IGVsc2Uge1xuICAgIGNvbnNvbGVMb2dMZXZlbCA9IGZpbGVMb2dMZXZlbCA9IGFyZ3MubG9nbGV2ZWw7XG4gIH1cblxuICB0cmFuc3BvcnRzLnB1c2goY3JlYXRlQ29uc29sZVRyYW5zcG9ydChhcmdzLCBjb25zb2xlTG9nTGV2ZWwpKTtcblxuICBpZiAoYXJncy5sb2dGaWxlKSB7XG4gICAgdHJ5IHtcbiAgICAgIC8vIGlmIHdlIGRvbid0IGRlbGV0ZSB0aGUgbG9nIGZpbGUsIHdpbnN0b24gd2lsbCBhbHdheXMgYXBwZW5kIGFuZCBpdCB3aWxsIGdyb3cgaW5maW5pdGVseSBsYXJnZTtcbiAgICAgIC8vIHdpbnN0b24gYWxsb3dzIGZvciBsaW1pdGluZyBsb2cgZmlsZSBzaXplLCBidXQgYXMgb2YgOS4yLjE0IHRoZXJlJ3MgYSBzZXJpb3VzIGJ1ZyB3aGVuIHVzaW5nXG4gICAgICAvLyBtYXhGaWxlcyBhbmQgbWF4U2l6ZSB0b2dldGhlci4gaHR0cHM6Ly9naXRodWIuY29tL2ZsYXRpcm9uL3dpbnN0b24vaXNzdWVzLzM5N1xuICAgICAgaWYgKGF3YWl0IGZzLmV4aXN0cyhhcmdzLmxvZ0ZpbGUpKSB7XG4gICAgICAgIGF3YWl0IGZzLnVubGluayhhcmdzLmxvZ0ZpbGUpO1xuICAgICAgfVxuXG4gICAgICB0cmFuc3BvcnRzLnB1c2goY3JlYXRlRmlsZVRyYW5zcG9ydChhcmdzLCBmaWxlTG9nTGV2ZWwpKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICAgICAgY29uc29sZS5sb2coYFRyaWVkIHRvIGF0dGFjaCBsb2dnaW5nIHRvIGZpbGUgJyR7YXJncy5sb2dGaWxlfScgYnV0IGFuIGVycm9yIGAgK1xuICAgICAgICAgICAgICAgICAgYG9jY3VycmVkOiAke2UubWVzc2FnZX1gKTtcbiAgICB9XG4gIH1cblxuICBpZiAoYXJncy53ZWJob29rKSB7XG4gICAgdHJ5IHtcbiAgICAgIHRyYW5zcG9ydHMucHVzaChjcmVhdGVIdHRwVHJhbnNwb3J0KGFyZ3MsIGZpbGVMb2dMZXZlbCkpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgICBjb25zb2xlLmxvZyhgVHJpZWQgdG8gYXR0YWNoIGxvZ2dpbmcgdG8gSHR0cCBhdCAke2FyZ3Mud2ViaG9va30gYnV0IGAgK1xuICAgICAgICAgICAgICAgICAgYGFuIGVycm9yIG9jY3VycmVkOiAke2UubWVzc2FnZX1gKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gdHJhbnNwb3J0cztcbn1cblxuYXN5bmMgZnVuY3Rpb24gaW5pdCAoYXJncykge1xuICAvLyBzZXQgZGUgZmFjdG8gcGFyYW0gcGFzc2VkIHRvIHRpbWVzdGFtcCBmdW5jdGlvblxuICB0aW1lWm9uZSA9IGFyZ3MubG9jYWxUaW1lem9uZTtcblxuICAvLyBjbGVhbiB1cCBpbiBjYXNlIHdlIGhhdmUgaW5pdGlhdGVkIGJlZm9yZSBzaW5jZSBucG1sb2cgaXMgYSBnbG9iYWwgb2JqZWN0XG4gIGNsZWFyKCk7XG5cbiAgbG9nID0gY3JlYXRlTG9nZ2VyKHtcbiAgICB0cmFuc3BvcnRzOiBhd2FpdCBjcmVhdGVUcmFuc3BvcnRzKGFyZ3MpLFxuICAgIGxldmVscyxcbiAgfSk7XG5cbiAgLy8gQ2FwdHVyZSBsb2dzIGVtaXR0ZWQgdmlhIG5wbWxvZyBhbmQgcGFzcyB0aGVtIHRocm91Z2ggd2luc3RvblxuICBucG1sb2cub24oJ2xvZycsIChsb2dPYmopID0+IHtcbiAgICBjb25zdCB3aW5zdG9uTGV2ZWwgPSBucG1Ub1dpbnN0b25MZXZlbHNbbG9nT2JqLmxldmVsXSB8fCAnaW5mbyc7XG4gICAgbGV0IG1zZyA9IGxvZ09iai5tZXNzYWdlO1xuICAgIGlmIChsb2dPYmoucHJlZml4KSB7XG4gICAgICBjb25zdCBwcmVmaXggPSBgWyR7bG9nT2JqLnByZWZpeH1dYDtcbiAgICAgIG1zZyA9IGAke2FyZ3MubG9nTm9Db2xvcnMgPyBwcmVmaXggOiBwcmVmaXgubWFnZW50YX0gJHttc2d9YDtcbiAgICB9XG4gICAgbG9nW3dpbnN0b25MZXZlbF0obXNnKTtcbiAgICBpZiAoYXJncy5sb2dIYW5kbGVyICYmIF8uaXNGdW5jdGlvbihhcmdzLmxvZ0hhbmRsZXIpKSB7XG4gICAgICBhcmdzLmxvZ0hhbmRsZXIobG9nT2JqLmxldmVsLCBtc2cpO1xuICAgIH1cblxuICB9KTtcbn1cblxuZnVuY3Rpb24gY2xlYXIgKCkge1xuICBpZiAobG9nKSB7XG4gICAgZm9yIChsZXQgdHJhbnNwb3J0IG9mIF8ua2V5cyhsb2cudHJhbnNwb3J0cykpIHtcbiAgICAgIGxvZy5yZW1vdmUodHJhbnNwb3J0KTtcbiAgICB9XG4gIH1cbiAgbnBtbG9nLnJlbW92ZUFsbExpc3RlbmVycygnbG9nJyk7XG59XG5cblxuZXhwb3J0IHsgaW5pdCwgY2xlYXIgfTtcbmV4cG9ydCBkZWZhdWx0IGluaXQ7XG4iXSwiZmlsZSI6ImxpYi9sb2dzaW5rLmpzIiwic291cmNlUm9vdCI6Ii4uLy4uIn0=
|
|
208
|
+
exports.default = _default;
|
|
209
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJsb2dnZXIiLCJwYXRjaExvZ2dlciIsIm5wbWxvZyIsImdsb2JhbCIsIl9nbG9iYWxfbnBtbG9nIiwibGV2ZWwiLCJsZXZlbHMiLCJkZWJ1ZyIsImluZm8iLCJ3YXJuIiwiZXJyb3IiLCJjb2xvcnMiLCJucG1Ub1dpbnN0b25MZXZlbHMiLCJzaWxseSIsInZlcmJvc2UiLCJodHRwIiwibG9nIiwidXNlTG9jYWxUaW1lWm9uZSIsInRpbWVzdGFtcEZvcm1hdCIsImZvcm1hdCIsInRpbWVzdGFtcCIsImRhdGUiLCJEYXRlIiwidmFsdWVPZiIsImdldFRpbWV6b25lT2Zmc2V0IiwidG9JU09TdHJpbmciLCJyZXBsYWNlIiwidHJpbSIsImNvbG9yaXplRm9ybWF0IiwiY29sb3JpemUiLCJzdHJpcENvbG9yRm9ybWF0Iiwic3RyaXBDb2xvciIsImNvZGUiLCJtZXNzYWdlIiwiY3JlYXRlQ29uc29sZVRyYW5zcG9ydCIsImFyZ3MiLCJsb2dMdmwiLCJ0cmFuc3BvcnRzIiwiQ29uc29sZSIsIm5hbWUiLCJoYW5kbGVFeGNlcHRpb25zIiwiZXhpdE9uRXJyb3IiLCJqc29uIiwic3RkZXJyTGV2ZWxzIiwiY29tYmluZSIsImFkanVzdERlYnVnIiwibG9nTm9Db2xvcnMiLCJwcmludGYiLCJwcmludEluZm8iLCJsb2dUaW1lc3RhbXAiLCJjcmVhdGVGaWxlVHJhbnNwb3J0IiwiRmlsZSIsImZpbGVuYW1lIiwibG9nRmlsZSIsIm1heEZpbGVzIiwiY3JlYXRlSHR0cFRyYW5zcG9ydCIsImhvc3QiLCJwb3J0Iiwid2ViaG9vayIsIm1hdGNoIiwiaG9zdEFuZFBvcnQiLCJzcGxpdCIsInBhcnNlSW50IiwiSHR0cCIsInBhdGgiLCJjcmVhdGVUcmFuc3BvcnRzIiwiY29uc29sZUxvZ0xldmVsIiwiZmlsZUxvZ0xldmVsIiwibG9nbGV2ZWwiLCJsdmxQYWlyIiwicHVzaCIsImZzIiwiZXhpc3RzIiwidW5saW5rIiwiZSIsImNvbnNvbGUiLCJpbml0IiwibG9jYWxUaW1lem9uZSIsImNsZWFyIiwib24iLCJsb2dPYmoiLCJ3aW5zdG9uTGV2ZWwiLCJtc2ciLCJwcmVmaXgiLCJtYWdlbnRhIiwibG9nSGFuZGxlciIsIl8iLCJpc0Z1bmN0aW9uIiwidHJhbnNwb3J0Iiwia2V5cyIsInJlbW92ZSIsInJlbW92ZUFsbExpc3RlbmVycyJdLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9sb2dzaW5rLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBucG1sb2cgZnJvbSAnbnBtbG9nJztcbmltcG9ydCB7IGNyZWF0ZUxvZ2dlciwgZm9ybWF0LCB0cmFuc3BvcnRzIH0gZnJvbSAnd2luc3Rvbic7XG5pbXBvcnQgeyBmcywgbG9nZ2VyIH0gZnJvbSAnQGFwcGl1bS9zdXBwb3J0JztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5cblxuLy8gc2V0IHVwIGRpc3RyaWJ1dGVkIGxvZ2dpbmcgYmVmb3JlIGV2ZXJ5dGhpbmcgZWxzZVxubG9nZ2VyLnBhdGNoTG9nZ2VyKG5wbWxvZyk7XG5nbG9iYWwuX2dsb2JhbF9ucG1sb2cgPSBucG1sb2c7XG5cbi8vIG5wbWxvZyBpcyB1c2VkIG9ubHkgZm9yIGVtaXR0aW5nLCB3ZSB1c2Ugd2luc3RvbiBmb3Igb3V0cHV0XG5ucG1sb2cubGV2ZWwgPSAnc2lsZW50JztcbmNvbnN0IGxldmVscyA9IHtcbiAgZGVidWc6IDQsXG4gIGluZm86IDMsXG4gIHdhcm46IDIsXG4gIGVycm9yOiAxLFxufTtcblxuY29uc3QgY29sb3JzID0ge1xuICBpbmZvOiAnY3lhbicsXG4gIGRlYnVnOiAnZ3JleScsXG4gIHdhcm46ICd5ZWxsb3cnLFxuICBlcnJvcjogJ3JlZCcsXG59O1xuXG5jb25zdCBucG1Ub1dpbnN0b25MZXZlbHMgPSB7XG4gIHNpbGx5OiAnZGVidWcnLFxuICB2ZXJib3NlOiAnZGVidWcnLFxuICBkZWJ1ZzogJ2RlYnVnJyxcbiAgaW5mbzogJ2luZm8nLFxuICBodHRwOiAnaW5mbycsXG4gIHdhcm46ICd3YXJuJyxcbiAgZXJyb3I6ICdlcnJvcicsXG59O1xuXG5sZXQgbG9nID0gbnVsbDtcbmxldCB1c2VMb2NhbFRpbWVab25lID0gZmFsc2U7XG5cbi8vIGFkZCB0aGUgdGltZXN0YW1wIGluIHRoZSBjb3JyZWN0IGZvcm1hdCB0byB0aGUgbG9nIGluZm8gb2JqZWN0XG5jb25zdCB0aW1lc3RhbXBGb3JtYXQgPSBmb3JtYXQudGltZXN0YW1wKHtcbiAgZm9ybWF0ICgpIHtcbiAgICBsZXQgZGF0ZSA9IG5ldyBEYXRlKCk7XG4gICAgaWYgKHVzZUxvY2FsVGltZVpvbmUpIHtcbiAgICAgIGRhdGUgPSBuZXcgRGF0ZShkYXRlLnZhbHVlT2YoKSAtIGRhdGUuZ2V0VGltZXpvbmVPZmZzZXQoKSAqIDYwMDAwKTtcbiAgICB9XG4gICAgLy8gJzIwMTItMTEtMDRUMTQ6NTE6MDYuMTU3WicgLT4gJzIwMTItMTEtMDQgMTQ6NTE6MDY6MTU3J1xuICAgIHJldHVybiBkYXRlLnRvSVNPU3RyaW5nKClcbiAgICAgIC5yZXBsYWNlKC9bVFpdL2csICcgJylcbiAgICAgIC5yZXBsYWNlKC9cXC4vZywgJzonKVxuICAgICAgLnRyaW0oKTtcbiAgfSxcbn0pO1xuXG4vLyBzZXQgdGhlIGN1c3RvbSBjb2xvcnNcbmNvbnN0IGNvbG9yaXplRm9ybWF0ID0gZm9ybWF0LmNvbG9yaXplKHtcbiAgY29sb3JzLFxufSk7XG5cbi8vIFN0cmlwIHRoZSBjb2xvciBtYXJraW5nIHdpdGhpbiBtZXNzYWdlc1xuY29uc3Qgc3RyaXBDb2xvckZvcm1hdCA9IGZvcm1hdChmdW5jdGlvbiBzdHJpcENvbG9yIChpbmZvKSB7XG4gIGNvbnN0IGNvZGUgPSAvXFx1MDAxYlxcWyhcXGQrKDtcXGQrKSopP20vZzsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby1jb250cm9sLXJlZ2V4XG4gIGluZm8ubWVzc2FnZSA9IGluZm8ubWVzc2FnZS5yZXBsYWNlKGNvZGUsICcnKTtcbiAgcmV0dXJuIGluZm87XG59KSgpO1xuXG5mdW5jdGlvbiBjcmVhdGVDb25zb2xlVHJhbnNwb3J0IChhcmdzLCBsb2dMdmwpIHtcbiAgcmV0dXJuIG5ldyAodHJhbnNwb3J0cy5Db25zb2xlKSh7XG4gICAgLy8gYG5hbWVgIGlzIHVuc3VwcG9ydGVkIHBlciB3aW5zdG9uJ3MgdHlwZSBkZWNsYXJhdGlvbnNcbiAgICAvLyBAdHMtZXhwZWN0LWVycm9yXG4gICAgbmFtZTogJ2NvbnNvbGUnLFxuICAgIGhhbmRsZUV4Y2VwdGlvbnM6IHRydWUsXG4gICAgZXhpdE9uRXJyb3I6IGZhbHNlLFxuICAgIGpzb246IGZhbHNlLFxuICAgIGxldmVsOiBsb2dMdmwsXG4gICAgc3RkZXJyTGV2ZWxzOiBbJ2Vycm9yJ10sXG4gICAgZm9ybWF0OiBmb3JtYXQuY29tYmluZShcbiAgICAgIGZvcm1hdChmdW5jdGlvbiBhZGp1c3REZWJ1ZyAoaW5mbykge1xuICAgICAgICAvLyBwcmVwZW5kIGRlYnVnIG1hcmtlciwgYW5kIHNoaWZ0IHRvIGBpbmZvYCBsb2cgbGV2ZWxcbiAgICAgICAgaWYgKGluZm8ubGV2ZWwgPT09ICdkZWJ1ZycpIHtcbiAgICAgICAgICBpbmZvLmxldmVsID0gJ2luZm8nO1xuICAgICAgICAgIGluZm8ubWVzc2FnZSA9IGBbZGVidWddICR7aW5mby5tZXNzYWdlfWA7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGluZm87XG4gICAgICB9KSgpLFxuICAgICAgdGltZXN0YW1wRm9ybWF0LFxuICAgICAgYXJncy5sb2dOb0NvbG9ycyA/IHN0cmlwQ29sb3JGb3JtYXQgOiBjb2xvcml6ZUZvcm1hdCxcbiAgICAgIGZvcm1hdC5wcmludGYoZnVuY3Rpb24gcHJpbnRJbmZvIChpbmZvKSB7XG4gICAgICAgIHJldHVybiBgJHthcmdzLmxvZ1RpbWVzdGFtcCA/IGAke2luZm8udGltZXN0YW1wfSAtIGAgOiAnJ30ke2luZm8ubWVzc2FnZX1gO1xuICAgICAgfSlcbiAgICApLFxuICB9KTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlRmlsZVRyYW5zcG9ydCAoYXJncywgbG9nTHZsKSB7XG4gIHJldHVybiBuZXcgKHRyYW5zcG9ydHMuRmlsZSkoe1xuICAgIC8vIEB0cy1leHBlY3QtZXJyb3JcbiAgICBuYW1lOiAnZmlsZScsXG4gICAgZmlsZW5hbWU6IGFyZ3MubG9nRmlsZSxcbiAgICBtYXhGaWxlczogMSxcbiAgICBoYW5kbGVFeGNlcHRpb25zOiB0cnVlLFxuICAgIGV4aXRPbkVycm9yOiBmYWxzZSxcbiAgICBqc29uOiBmYWxzZSxcbiAgICBsZXZlbDogbG9nTHZsLFxuICAgIGZvcm1hdDogZm9ybWF0LmNvbWJpbmUoXG4gICAgICBzdHJpcENvbG9yRm9ybWF0LFxuICAgICAgdGltZXN0YW1wRm9ybWF0LFxuICAgICAgZm9ybWF0LnByaW50ZihmdW5jdGlvbiBwcmludEluZm8gKGluZm8pIHtcbiAgICAgICAgcmV0dXJuIGAke2luZm8udGltZXN0YW1wfSAke2luZm8ubWVzc2FnZX1gO1xuICAgICAgfSlcbiAgICApXG4gIH0pO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVIdHRwVHJhbnNwb3J0IChhcmdzLCBsb2dMdmwpIHtcbiAgbGV0IGhvc3QgPSAnMTI3LjAuMC4xJztcbiAgbGV0IHBvcnQgPSA5MDAzO1xuXG4gIGlmIChhcmdzLndlYmhvb2subWF0Y2goJzonKSkge1xuICAgIGNvbnN0IGhvc3RBbmRQb3J0ID0gYXJncy53ZWJob29rLnNwbGl0KCc6Jyk7XG4gICAgaG9zdCA9IGhvc3RBbmRQb3J0WzBdO1xuICAgIHBvcnQgPSBwYXJzZUludChob3N0QW5kUG9ydFsxXSwgMTApO1xuICB9XG5cbiAgcmV0dXJuIG5ldyAodHJhbnNwb3J0cy5IdHRwKSh7XG4gICAgLy8gQHRzLWV4cGVjdC1lcnJvclxuICAgIG5hbWU6ICdodHRwJyxcbiAgICBob3N0LFxuICAgIHBvcnQsXG4gICAgcGF0aDogJy8nLFxuICAgIGhhbmRsZUV4Y2VwdGlvbnM6IHRydWUsXG4gICAgZXhpdE9uRXJyb3I6IGZhbHNlLFxuICAgIGpzb246IGZhbHNlLFxuICAgIGxldmVsOiBsb2dMdmwsXG4gICAgZm9ybWF0OiBmb3JtYXQuY29tYmluZShcbiAgICAgIHN0cmlwQ29sb3JGb3JtYXQsXG4gICAgICBmb3JtYXQucHJpbnRmKGZ1bmN0aW9uIHByaW50SW5mbyAoaW5mbykge1xuICAgICAgICByZXR1cm4gYCR7aW5mby50aW1lc3RhbXB9ICR7aW5mby5tZXNzYWdlfWA7XG4gICAgICB9KVxuICAgICksXG4gIH0pO1xufVxuXG5hc3luYyBmdW5jdGlvbiBjcmVhdGVUcmFuc3BvcnRzIChhcmdzKSB7XG4gIGxldCB0cmFuc3BvcnRzID0gW107XG4gIGxldCBjb25zb2xlTG9nTGV2ZWwgPSBudWxsO1xuICBsZXQgZmlsZUxvZ0xldmVsID0gbnVsbDtcblxuICBpZiAoYXJncy5sb2dsZXZlbCAmJiBhcmdzLmxvZ2xldmVsLm1hdGNoKCc6JykpIHtcbiAgICAvLyAtLWxvZy1sZXZlbCBhcmcgY2FuIG9wdGlvbmFsbHkgcHJvdmlkZSBkaWZmIGxvZ2dpbmcgbGV2ZWxzIGZvciBjb25zb2xlIGFuZCBmaWxlLCBzZXBhcmF0ZWQgYnkgYSBjb2xvblxuICAgIGNvbnN0IGx2bFBhaXIgPSBhcmdzLmxvZ2xldmVsLnNwbGl0KCc6Jyk7XG4gICAgY29uc29sZUxvZ0xldmVsID0gbHZsUGFpclswXSB8fCBjb25zb2xlTG9nTGV2ZWw7XG4gICAgZmlsZUxvZ0xldmVsID0gbHZsUGFpclsxXSB8fCBmaWxlTG9nTGV2ZWw7XG4gIH0gZWxzZSB7XG4gICAgY29uc29sZUxvZ0xldmVsID0gZmlsZUxvZ0xldmVsID0gYXJncy5sb2dsZXZlbDtcbiAgfVxuXG4gIHRyYW5zcG9ydHMucHVzaChjcmVhdGVDb25zb2xlVHJhbnNwb3J0KGFyZ3MsIGNvbnNvbGVMb2dMZXZlbCkpO1xuXG4gIGlmIChhcmdzLmxvZ0ZpbGUpIHtcbiAgICB0cnkge1xuICAgICAgLy8gaWYgd2UgZG9uJ3QgZGVsZXRlIHRoZSBsb2cgZmlsZSwgd2luc3RvbiB3aWxsIGFsd2F5cyBhcHBlbmQgYW5kIGl0IHdpbGwgZ3JvdyBpbmZpbml0ZWx5IGxhcmdlO1xuICAgICAgLy8gd2luc3RvbiBhbGxvd3MgZm9yIGxpbWl0aW5nIGxvZyBmaWxlIHNpemUsIGJ1dCBhcyBvZiA5LjIuMTQgdGhlcmUncyBhIHNlcmlvdXMgYnVnIHdoZW4gdXNpbmdcbiAgICAgIC8vIG1heEZpbGVzIGFuZCBtYXhTaXplIHRvZ2V0aGVyLiBodHRwczovL2dpdGh1Yi5jb20vZmxhdGlyb24vd2luc3Rvbi9pc3N1ZXMvMzk3XG4gICAgICBpZiAoYXdhaXQgZnMuZXhpc3RzKGFyZ3MubG9nRmlsZSkpIHtcbiAgICAgICAgYXdhaXQgZnMudW5saW5rKGFyZ3MubG9nRmlsZSk7XG4gICAgICB9XG5cbiAgICAgIHRyYW5zcG9ydHMucHVzaChjcmVhdGVGaWxlVHJhbnNwb3J0KGFyZ3MsIGZpbGVMb2dMZXZlbCkpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgICBjb25zb2xlLmxvZyhgVHJpZWQgdG8gYXR0YWNoIGxvZ2dpbmcgdG8gZmlsZSAnJHthcmdzLmxvZ0ZpbGV9JyBidXQgYW4gZXJyb3IgYCArXG4gICAgICAgICAgICAgICAgICBgb2NjdXJyZWQ6ICR7ZS5tZXNzYWdlfWApO1xuICAgIH1cbiAgfVxuXG4gIGlmIChhcmdzLndlYmhvb2spIHtcbiAgICB0cnkge1xuICAgICAgdHJhbnNwb3J0cy5wdXNoKGNyZWF0ZUh0dHBUcmFuc3BvcnQoYXJncywgZmlsZUxvZ0xldmVsKSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgICAgIGNvbnNvbGUubG9nKGBUcmllZCB0byBhdHRhY2ggbG9nZ2luZyB0byBIdHRwIGF0ICR7YXJncy53ZWJob29rfSBidXQgYCArXG4gICAgICAgICAgICAgICAgICBgYW4gZXJyb3Igb2NjdXJyZWQ6ICR7ZS5tZXNzYWdlfWApO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB0cmFuc3BvcnRzO1xufVxuXG5hc3luYyBmdW5jdGlvbiBpbml0IChhcmdzKSB7XG4gIC8vIHNldCBkZSBmYWN0byBwYXJhbSBwYXNzZWQgdG8gdGltZXN0YW1wIGZ1bmN0aW9uXG4gIHVzZUxvY2FsVGltZVpvbmUgPSBhcmdzLmxvY2FsVGltZXpvbmU7XG5cbiAgLy8gY2xlYW4gdXAgaW4gY2FzZSB3ZSBoYXZlIGluaXRpYXRlZCBiZWZvcmUgc2luY2UgbnBtbG9nIGlzIGEgZ2xvYmFsIG9iamVjdFxuICBjbGVhcigpO1xuXG4gIGxvZyA9IGNyZWF0ZUxvZ2dlcih7XG4gICAgdHJhbnNwb3J0czogYXdhaXQgY3JlYXRlVHJhbnNwb3J0cyhhcmdzKSxcbiAgICBsZXZlbHMsXG4gIH0pO1xuXG4gIC8vIENhcHR1cmUgbG9ncyBlbWl0dGVkIHZpYSBucG1sb2cgYW5kIHBhc3MgdGhlbSB0aHJvdWdoIHdpbnN0b25cbiAgbnBtbG9nLm9uKCdsb2cnLCAobG9nT2JqKSA9PiB7XG4gICAgY29uc3Qgd2luc3RvbkxldmVsID0gbnBtVG9XaW5zdG9uTGV2ZWxzW2xvZ09iai5sZXZlbF0gfHwgJ2luZm8nO1xuICAgIGxldCBtc2cgPSBsb2dPYmoubWVzc2FnZTtcbiAgICBpZiAobG9nT2JqLnByZWZpeCkge1xuICAgICAgY29uc3QgcHJlZml4ID0gYFske2xvZ09iai5wcmVmaXh9XWA7XG4gICAgICBtc2cgPSBgJHthcmdzLmxvZ05vQ29sb3JzID8gcHJlZml4IDogcHJlZml4Lm1hZ2VudGF9ICR7bXNnfWA7XG4gICAgfVxuICAgIGxvZ1t3aW5zdG9uTGV2ZWxdKG1zZyk7XG4gICAgaWYgKGFyZ3MubG9nSGFuZGxlciAmJiBfLmlzRnVuY3Rpb24oYXJncy5sb2dIYW5kbGVyKSkge1xuICAgICAgYXJncy5sb2dIYW5kbGVyKGxvZ09iai5sZXZlbCwgbXNnKTtcbiAgICB9XG5cbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGNsZWFyICgpIHtcbiAgaWYgKGxvZykge1xuICAgIGZvciAobGV0IHRyYW5zcG9ydCBvZiBfLmtleXMobG9nLnRyYW5zcG9ydHMpKSB7XG4gICAgICBsb2cucmVtb3ZlKHRyYW5zcG9ydCk7XG4gICAgfVxuICB9XG4gIG5wbWxvZy5yZW1vdmVBbGxMaXN0ZW5lcnMoJ2xvZycpO1xufVxuXG5cbmV4cG9ydCB7IGluaXQsIGNsZWFyIH07XG5leHBvcnQgZGVmYXVsdCBpbml0O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBSUFBLGdCQUFPQyxXQUFQLENBQW1CQyxlQUFuQjs7QUFDQUMsTUFBTSxDQUFDQyxjQUFQLEdBQXdCRixlQUF4QjtBQUdBQSxnQkFBT0csS0FBUCxHQUFlLFFBQWY7QUFDQSxNQUFNQyxNQUFNLEdBQUc7RUFDYkMsS0FBSyxFQUFFLENBRE07RUFFYkMsSUFBSSxFQUFFLENBRk87RUFHYkMsSUFBSSxFQUFFLENBSE87RUFJYkMsS0FBSyxFQUFFO0FBSk0sQ0FBZjtBQU9BLE1BQU1DLE1BQU0sR0FBRztFQUNiSCxJQUFJLEVBQUUsTUFETztFQUViRCxLQUFLLEVBQUUsTUFGTTtFQUdiRSxJQUFJLEVBQUUsUUFITztFQUliQyxLQUFLLEVBQUU7QUFKTSxDQUFmO0FBT0EsTUFBTUUsa0JBQWtCLEdBQUc7RUFDekJDLEtBQUssRUFBRSxPQURrQjtFQUV6QkMsT0FBTyxFQUFFLE9BRmdCO0VBR3pCUCxLQUFLLEVBQUUsT0FIa0I7RUFJekJDLElBQUksRUFBRSxNQUptQjtFQUt6Qk8sSUFBSSxFQUFFLE1BTG1CO0VBTXpCTixJQUFJLEVBQUUsTUFObUI7RUFPekJDLEtBQUssRUFBRTtBQVBrQixDQUEzQjtBQVVBLElBQUlNLEdBQUcsR0FBRyxJQUFWO0FBQ0EsSUFBSUMsZ0JBQWdCLEdBQUcsS0FBdkI7O0FBR0EsTUFBTUMsZUFBZSxHQUFHQyxnQkFBT0MsU0FBUCxDQUFpQjtFQUN2Q0QsTUFBTSxHQUFJO0lBQ1IsSUFBSUUsSUFBSSxHQUFHLElBQUlDLElBQUosRUFBWDs7SUFDQSxJQUFJTCxnQkFBSixFQUFzQjtNQUNwQkksSUFBSSxHQUFHLElBQUlDLElBQUosQ0FBU0QsSUFBSSxDQUFDRSxPQUFMLEtBQWlC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
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
export { readConfigFile } from "./config-file";
|
|
3
|
+
export type DriverType = import('../types').DriverType;
|
|
4
|
+
export type PluginType = import('../types').PluginType;
|
|
5
|
+
export type DriverClass = import('../types').DriverClass;
|
|
6
|
+
export type PluginClass = import('../types').PluginClass;
|
|
7
|
+
export type WithServerSubcommand = import('../types').WithServerSubcommand;
|
|
8
|
+
/**
|
|
9
|
+
* Literally an empty object
|
|
10
|
+
*/
|
|
11
|
+
export type ExtCommandInitResult = {};
|
|
12
|
+
export type ServerInitData = {
|
|
13
|
+
/**
|
|
14
|
+
* - The Appium driver
|
|
15
|
+
*/
|
|
16
|
+
appiumDriver: AppiumDriver;
|
|
17
|
+
/**
|
|
18
|
+
* - The parsed arguments
|
|
19
|
+
*/
|
|
20
|
+
parsedArgs: import('../types').ParsedArgs;
|
|
21
|
+
};
|
|
22
|
+
export type ServerInitResult = ServerInitData & import('./extension').ExtensionConfigs;
|
|
23
|
+
export type Args<T = import("../types").WithServerSubcommand> = import('../types').Args<T>;
|
|
24
|
+
export type ParsedArgs<T = import("../types").WithServerSubcommand> = import('../types').ParsedArgs<T>;
|
|
25
|
+
/**
|
|
26
|
+
* Initializes Appium's config. Starts server if appropriate and resolves the
|
|
27
|
+
* server instance if so; otherwise resolves w/ `undefined`.
|
|
28
|
+
* @template [T=WithServerSubcommand]
|
|
29
|
+
* @param {Args<T>} [args] - Arguments from CLI or otherwise
|
|
30
|
+
* @returns {Promise<import('@appium/types').AppiumServer|undefined>}
|
|
31
|
+
*/
|
|
32
|
+
export function main<T = import("../types").WithServerSubcommand>(args?: Args<T> | undefined): Promise<import('@appium/types').AppiumServer | undefined>;
|
|
33
|
+
/**
|
|
34
|
+
* Initializes Appium, but does not start the server.
|
|
35
|
+
*
|
|
36
|
+
* Use this to get at the configuration schema.
|
|
37
|
+
*
|
|
38
|
+
* If `args` contains a non-empty `subcommand` which is not `server`, this function will return an empty object.
|
|
39
|
+
*
|
|
40
|
+
* @template [T=WithServerSubcommand]
|
|
41
|
+
* @param {Args<T>} [args] - Partial args (progammatic usage only)
|
|
42
|
+
* @returns {Promise<ServerInitResult | ExtCommandInitResult>}
|
|
43
|
+
* @example
|
|
44
|
+
* import {init, getSchema} from 'appium';
|
|
45
|
+
* const options = {}; // config object
|
|
46
|
+
* await init(options);
|
|
47
|
+
* const schema = getSchema(); // entire config schema including plugins and drivers
|
|
48
|
+
*/
|
|
49
|
+
export function init<T = import("../types").WithServerSubcommand>(args?: Args<T> | undefined): Promise<ServerInitResult | ExtCommandInitResult>;
|
|
50
|
+
export const resolveAppiumHome: ((cwd?: string | undefined) => Promise<string>) & _.MemoizedFunction;
|
|
51
|
+
import { AppiumDriver } from "./appium";
|
|
52
|
+
import _ from "lodash";
|
|
53
|
+
export { finalizeSchema, getSchema, validate } from "./schema/schema";
|
|
54
|
+
//# sourceMappingURL=main.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../lib/main.js"],"names":[],"mappings":";;yBA6Va,OAAO,UAAU,EAAE,UAAU;yBAC7B,OAAO,UAAU,EAAE,UAAU;0BAC7B,OAAO,UAAU,EAAE,WAAW;0BAC9B,OAAO,UAAU,EAAE,WAAW;mCAC9B,OAAO,UAAU,EAAE,oBAAoB;;;;mCAKtC,EAAE;;;;;kBAKF,YAAY;;;;gBACZ,OAAO,UAAU,EAAE,UAAU;;+BAI9B,cAAc,GAAG,OAAO,aAAa,EAAE,gBAAgB;gEAKvD,OAAO,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;sEAK1B,OAAO,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;AApI7C;;;;;;GAMG;AACH,+FAFa,QAAQ,OAAO,eAAe,EAAE,YAAY,GAAC,SAAS,CAAC,CAmFnE;AAjMD;;;;;;;;;;;;;;;GAeG;AACH,+FAPa,QAAQ,gBAAgB,GAAG,oBAAoB,CAAC,CA8F5D"}
|