@appium/support 2.61.1 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/lib/console.d.ts +1 -1
- package/build/lib/console.js +169 -105
- package/build/lib/console.js.map +1 -1
- package/build/lib/env.js +142 -117
- package/build/lib/env.js.map +1 -1
- package/build/lib/fs.d.ts +9 -2
- package/build/lib/fs.d.ts.map +1 -1
- package/build/lib/fs.js +358 -246
- package/build/lib/fs.js.map +1 -1
- package/build/lib/image-util.js +139 -124
- package/build/lib/image-util.js.map +1 -1
- package/build/lib/index.js +64 -103
- package/build/lib/index.js.map +1 -1
- package/build/lib/log-internal.d.ts +4 -27
- package/build/lib/log-internal.d.ts.map +1 -1
- package/build/lib/log-internal.js +141 -123
- package/build/lib/log-internal.js.map +1 -1
- package/build/lib/logger.d.ts +1 -1
- package/build/lib/logger.d.ts.map +1 -1
- package/build/lib/logger.js +5 -14
- package/build/lib/logger.js.map +1 -1
- package/build/lib/logging.d.ts +3 -4
- package/build/lib/logging.d.ts.map +1 -1
- package/build/lib/logging.js +139 -110
- package/build/lib/logging.js.map +1 -1
- package/build/lib/mjpeg.js +169 -141
- package/build/lib/mjpeg.js.map +1 -1
- package/build/lib/mkdirp.js +7 -13
- package/build/lib/mkdirp.js.map +1 -1
- package/build/lib/net.d.ts.map +1 -1
- package/build/lib/net.js +278 -254
- package/build/lib/net.js.map +1 -1
- package/build/lib/node.js +203 -192
- package/build/lib/node.js.map +1 -1
- package/build/lib/npm.d.ts +19 -4
- package/build/lib/npm.d.ts.map +1 -1
- package/build/lib/npm.js +277 -228
- package/build/lib/npm.js.map +1 -1
- package/build/lib/plist.js +145 -136
- package/build/lib/plist.js.map +1 -1
- package/build/lib/process.js +41 -42
- package/build/lib/process.js.map +1 -1
- package/build/lib/system.js +39 -56
- package/build/lib/system.js.map +1 -1
- package/build/lib/tempdir.js +112 -73
- package/build/lib/tempdir.js.map +1 -1
- package/build/lib/timing.js +99 -84
- package/build/lib/timing.js.map +1 -1
- package/build/lib/util.js +454 -356
- package/build/lib/util.js.map +1 -1
- package/build/lib/zip.js +469 -423
- package/build/lib/zip.js.map +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/lib/fs.js +15 -1
- package/lib/log-internal.js +12 -16
- package/lib/logging.js +2 -3
- package/lib/net.js +15 -6
- package/lib/npm.js +28 -18
- package/package.json +19 -18
package/build/lib/logging.js
CHANGED
|
@@ -1,128 +1,157 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
}
|
|
6
|
-
exports
|
|
7
|
-
exports.getLogger =
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
require("
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
var _lodash = _interopRequireDefault(require("lodash"));
|
|
17
|
-
|
|
18
|
-
var _util = require("./util");
|
|
19
|
-
|
|
20
|
-
var _moment = _interopRequireDefault(require("moment"));
|
|
21
|
-
|
|
22
|
-
var _logInternal = _interopRequireDefault(require("./log-internal"));
|
|
23
|
-
|
|
24
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
25
|
-
|
|
26
|
-
const LEVELS = ['silly', 'verbose', 'debug', 'info', 'http', 'warn', 'error'];
|
|
27
|
-
exports.LEVELS = LEVELS;
|
|
2
|
+
// @ts-check
|
|
3
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
5
|
+
};
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.loadSecureValuesPreprocessingRules = exports.getLogger = exports.patchLogger = exports.log = exports.LEVELS = void 0;
|
|
8
|
+
const npmlog_1 = __importDefault(require("npmlog"));
|
|
9
|
+
const lodash_1 = __importDefault(require("lodash"));
|
|
10
|
+
const util_1 = require("./util");
|
|
11
|
+
const moment_1 = __importDefault(require("moment"));
|
|
12
|
+
const log_internal_1 = __importDefault(require("./log-internal"));
|
|
13
|
+
/** @type {import('@appium/types').AppiumLoggerLevel[]} */
|
|
14
|
+
exports.LEVELS = ['silly', 'verbose', 'debug', 'info', 'http', 'warn', 'error'];
|
|
28
15
|
const MAX_LOG_RECORDS_COUNT = 3000;
|
|
29
16
|
const PREFIX_TIMESTAMP_FORMAT = 'HH-mm-ss:SSS';
|
|
17
|
+
// mock log object used in testing mode
|
|
30
18
|
let mockLog = {};
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
mockLog[level] = () => {};
|
|
19
|
+
for (let level of exports.LEVELS) {
|
|
20
|
+
mockLog[level] = () => { };
|
|
34
21
|
}
|
|
35
|
-
|
|
22
|
+
/**
|
|
23
|
+
*
|
|
24
|
+
* @param {import('npmlog').Logger} logger
|
|
25
|
+
*/
|
|
36
26
|
function patchLogger(logger) {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
bg: 'black'
|
|
41
|
-
}, 'dbug');
|
|
42
|
-
}
|
|
27
|
+
if (!logger.debug) {
|
|
28
|
+
logger.addLevel('debug', 1000, { fg: 'blue', bg: 'black' }, 'dbug');
|
|
29
|
+
}
|
|
43
30
|
}
|
|
44
|
-
|
|
31
|
+
exports.patchLogger = patchLogger;
|
|
32
|
+
/**
|
|
33
|
+
*
|
|
34
|
+
* @returns {[import('npmlog').Logger, boolean]}
|
|
35
|
+
*/
|
|
45
36
|
function _getLogger() {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
logger
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
37
|
+
// check if the user set the `_TESTING` or `_FORCE_LOGS` flag
|
|
38
|
+
const testingMode = process.env._TESTING === '1';
|
|
39
|
+
const forceLogMode = process.env._FORCE_LOGS === '1';
|
|
40
|
+
// if is possible that there is a logger instance that is already around,
|
|
41
|
+
// in which case we want t o use that
|
|
42
|
+
const usingGlobalLog = !!global._global_npmlog;
|
|
43
|
+
let logger;
|
|
44
|
+
if (testingMode && !forceLogMode) {
|
|
45
|
+
// in testing mode, use a mock logger object that we can query
|
|
46
|
+
logger = mockLog;
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
// otherwise, either use the global, or a new `npmlog` object
|
|
50
|
+
logger = global._global_npmlog || npmlog_1.default;
|
|
51
|
+
// The default value is 10000, which causes excessive memory usage
|
|
52
|
+
logger.maxRecordSize = MAX_LOG_RECORDS_COUNT;
|
|
53
|
+
}
|
|
54
|
+
patchLogger(logger);
|
|
55
|
+
return [logger, usingGlobalLog];
|
|
60
56
|
}
|
|
61
|
-
|
|
57
|
+
/**
|
|
58
|
+
* @param {AppiumLoggerPrefix?} prefix
|
|
59
|
+
* @param {boolean} logTimestamp whether to include timestamps into log prefixes
|
|
60
|
+
* @returns {string}
|
|
61
|
+
*/
|
|
62
62
|
function getActualPrefix(prefix, logTimestamp = false) {
|
|
63
|
-
|
|
64
|
-
|
|
63
|
+
const result = (lodash_1.default.isFunction(prefix) ? prefix() : prefix) ?? '';
|
|
64
|
+
return logTimestamp ? `[${(0, moment_1.default)().format(PREFIX_TIMESTAMP_FORMAT)}] ${result}` : result;
|
|
65
65
|
}
|
|
66
|
-
|
|
66
|
+
/**
|
|
67
|
+
*
|
|
68
|
+
* @param {AppiumLoggerPrefix?} prefix
|
|
69
|
+
* @returns {AppiumLogger}
|
|
70
|
+
*/
|
|
67
71
|
function getLogger(prefix = null) {
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
};
|
|
75
|
-
Object.defineProperty(wrappedLogger, 'level', {
|
|
76
|
-
get() {
|
|
77
|
-
return logger.level;
|
|
78
|
-
},
|
|
79
|
-
|
|
80
|
-
set(newValue) {
|
|
81
|
-
logger.level = newValue;
|
|
82
|
-
},
|
|
83
|
-
|
|
84
|
-
enumerable: true,
|
|
85
|
-
configurable: true
|
|
86
|
-
});
|
|
87
|
-
const logTimestamp = process.env._LOG_TIMESTAMP === '1';
|
|
88
|
-
|
|
89
|
-
for (const level of LEVELS) {
|
|
90
|
-
wrappedLogger[level] = function (...args) {
|
|
91
|
-
const actualPrefix = getActualPrefix(this.prefix, logTimestamp);
|
|
92
|
-
|
|
93
|
-
for (const arg of args) {
|
|
94
|
-
const out = _lodash.default.isError(arg) && arg.stack ? arg.stack : `${arg}`;
|
|
95
|
-
|
|
96
|
-
for (const line of out.split('\n')) {
|
|
97
|
-
const unleakedLine = (0, _util.unleakString)(line);
|
|
98
|
-
logger[level](actualPrefix, _logInternal.default.preprocess(unleakedLine));
|
|
99
|
-
}
|
|
100
|
-
}
|
|
72
|
+
let [logger, usingGlobalLog] = _getLogger();
|
|
73
|
+
// wrap the logger so that we can catch and modify any logging
|
|
74
|
+
let wrappedLogger = {
|
|
75
|
+
unwrap: () => logger,
|
|
76
|
+
levels: exports.LEVELS,
|
|
77
|
+
prefix,
|
|
101
78
|
};
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
79
|
+
// allow access to the level of the underlying logger
|
|
80
|
+
Object.defineProperty(wrappedLogger, 'level', {
|
|
81
|
+
get() {
|
|
82
|
+
return logger.level;
|
|
83
|
+
},
|
|
84
|
+
set(newValue) {
|
|
85
|
+
logger.level = newValue;
|
|
86
|
+
},
|
|
87
|
+
enumerable: true,
|
|
88
|
+
configurable: true,
|
|
89
|
+
});
|
|
90
|
+
const logTimestamp = process.env._LOG_TIMESTAMP === '1';
|
|
91
|
+
// add all the levels from `npmlog`, and map to the underlying logger
|
|
92
|
+
for (const level of exports.LEVELS) {
|
|
93
|
+
wrappedLogger[level] = /** @param {...any} args */ function (...args) {
|
|
94
|
+
const actualPrefix = getActualPrefix(this.prefix, logTimestamp);
|
|
95
|
+
for (const arg of args) {
|
|
96
|
+
const out = lodash_1.default.isError(arg) && arg.stack ? arg.stack : `${arg}`;
|
|
97
|
+
for (const line of out.split('\n')) {
|
|
98
|
+
// it is necessary to unleak each line because `split` call
|
|
99
|
+
// creates "views" to the original string as well as the `substring` one
|
|
100
|
+
const unleakedLine = (0, util_1.unleakString)(line);
|
|
101
|
+
logger[level](actualPrefix, log_internal_1.default.preprocess(unleakedLine));
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
// add method to log an error, and throw it, for convenience
|
|
107
|
+
wrappedLogger.errorAndThrow = function (err) {
|
|
108
|
+
this.error(err);
|
|
109
|
+
// make sure we have an `Error` object. Wrap if necessary
|
|
110
|
+
throw lodash_1.default.isError(err) ? err : new Error((0, util_1.unleakString)(err));
|
|
111
|
+
};
|
|
112
|
+
if (!usingGlobalLog) {
|
|
113
|
+
// if we're not using a global log specified from some top-level package,
|
|
114
|
+
// set the log level to a default of verbose. Otherwise, let the top-level
|
|
115
|
+
// package set the log level
|
|
116
|
+
wrappedLogger.level = 'verbose';
|
|
117
|
+
}
|
|
118
|
+
return /** @type {AppiumLogger} */ (wrappedLogger);
|
|
114
119
|
}
|
|
115
|
-
|
|
120
|
+
exports.getLogger = getLogger;
|
|
121
|
+
/**
|
|
122
|
+
* @typedef LoadResult
|
|
123
|
+
* @property {string[]} issues The list of rule parsing issues (one item per rule).
|
|
124
|
+
* Rules with issues are skipped. An empty list is returned if no parsing issues exist.
|
|
125
|
+
* @property {import('./log-internal').SecureValuePreprocessingRule[]} rules The list of successfully loaded
|
|
126
|
+
* replacement rules. The list could be empty if no rules were loaded.
|
|
127
|
+
*/
|
|
128
|
+
/**
|
|
129
|
+
* Loads the JSON file containing secure values replacement rules.
|
|
130
|
+
* This might be necessary to hide sensitive values that may possibly
|
|
131
|
+
* appear in Appium logs.
|
|
132
|
+
* Each call to this method replaces the previously loaded rules if any existed.
|
|
133
|
+
*
|
|
134
|
+
* @param {string|string[]|import('@appium/types').LogFiltersConfig} rulesJsonPath The full path to the JSON file containing
|
|
135
|
+
* the replacement rules. Each rule could either be a string to be replaced
|
|
136
|
+
* or an object with predefined properties.
|
|
137
|
+
* @throws {Error} If the given file cannot be loaded
|
|
138
|
+
* @returns {Promise<LoadResult>}
|
|
139
|
+
*/
|
|
116
140
|
async function loadSecureValuesPreprocessingRules(rulesJsonPath) {
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
141
|
+
const issues = await log_internal_1.default.loadRules(rulesJsonPath);
|
|
142
|
+
return {
|
|
143
|
+
issues,
|
|
144
|
+
rules: lodash_1.default.cloneDeep(log_internal_1.default.rules),
|
|
145
|
+
};
|
|
122
146
|
}
|
|
123
|
-
|
|
147
|
+
exports.loadSecureValuesPreprocessingRules = loadSecureValuesPreprocessingRules;
|
|
148
|
+
// export a default logger with no prefix
|
|
124
149
|
const log = getLogger();
|
|
125
150
|
exports.log = log;
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJMRVZFTFMiLCJNQVhfTE9HX1JFQ09SRFNfQ09VTlQiLCJQUkVGSVhfVElNRVNUQU1QX0ZPUk1BVCIsIm1vY2tMb2ciLCJsZXZlbCIsInBhdGNoTG9nZ2VyIiwibG9nZ2VyIiwiZGVidWciLCJhZGRMZXZlbCIsImZnIiwiYmciLCJfZ2V0TG9nZ2VyIiwidGVzdGluZ01vZGUiLCJwcm9jZXNzIiwiZW52IiwiX1RFU1RJTkciLCJmb3JjZUxvZ01vZGUiLCJfRk9SQ0VfTE9HUyIsInVzaW5nR2xvYmFsTG9nIiwiZ2xvYmFsIiwiX2dsb2JhbF9ucG1sb2ciLCJucG1sb2ciLCJtYXhSZWNvcmRTaXplIiwiZ2V0QWN0dWFsUHJlZml4IiwicHJlZml4IiwibG9nVGltZXN0YW1wIiwicmVzdWx0IiwiXyIsImlzRnVuY3Rpb24iLCJtb21lbnQiLCJmb3JtYXQiLCJnZXRMb2dnZXIiLCJ3cmFwcGVkTG9nZ2VyIiwidW53cmFwIiwibGV2ZWxzIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXQiLCJzZXQiLCJuZXdWYWx1ZSIsImVudW1lcmFibGUiLCJjb25maWd1cmFibGUiLCJfTE9HX1RJTUVTVEFNUCIsImFyZ3MiLCJhY3R1YWxQcmVmaXgiLCJhcmciLCJvdXQiLCJpc0Vycm9yIiwic3RhY2siLCJsaW5lIiwic3BsaXQiLCJ1bmxlYWtlZExpbmUiLCJ1bmxlYWtTdHJpbmciLCJTRUNVUkVfVkFMVUVTX1BSRVBST0NFU1NPUiIsInByZXByb2Nlc3MiLCJlcnJvckFuZFRocm93IiwiZXJyIiwiZXJyb3IiLCJFcnJvciIsImxvYWRTZWN1cmVWYWx1ZXNQcmVwcm9jZXNzaW5nUnVsZXMiLCJydWxlc0pzb25QYXRoIiwiaXNzdWVzIiwibG9hZFJ1bGVzIiwicnVsZXMiLCJjbG9uZURlZXAiLCJsb2ciXSwic291cmNlcyI6WyIuLi8uLi9saWIvbG9nZ2luZy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtY2hlY2tcblxuaW1wb3J0IG5wbWxvZyBmcm9tICducG1sb2cnO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7dW5sZWFrU3RyaW5nfSBmcm9tICcuL3V0aWwnO1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xuaW1wb3J0IFNFQ1VSRV9WQUxVRVNfUFJFUFJPQ0VTU09SIGZyb20gJy4vbG9nLWludGVybmFsJztcblxuLyoqIEB0eXBlIHtpbXBvcnQoJ0BhcHBpdW0vdHlwZXMnKS5BcHBpdW1Mb2dnZXJMZXZlbFtdfSAqL1xuZXhwb3J0IGNvbnN0IExFVkVMUyA9IFsnc2lsbHknLCAndmVyYm9zZScsICdkZWJ1ZycsICdpbmZvJywgJ2h0dHAnLCAnd2FybicsICdlcnJvciddO1xuY29uc3QgTUFYX0xPR19SRUNPUkRTX0NPVU5UID0gMzAwMDtcblxuY29uc3QgUFJFRklYX1RJTUVTVEFNUF9GT1JNQVQgPSAnSEgtbW0tc3M6U1NTJztcblxuLy8gbW9jayBsb2cgb2JqZWN0IHVzZWQgaW4gdGVzdGluZyBtb2RlXG5sZXQgbW9ja0xvZyA9IHt9O1xuZm9yIChsZXQgbGV2ZWwgb2YgTEVWRUxTKSB7XG4gIG1vY2tMb2dbbGV2ZWxdID0gKCkgPT4ge307XG59XG5cbi8qKlxuICpcbiAqIEBwYXJhbSB7aW1wb3J0KCducG1sb2cnKS5Mb2dnZXJ9IGxvZ2dlclxuICovXG5mdW5jdGlvbiBwYXRjaExvZ2dlcihsb2dnZXIpIHtcbiAgaWYgKCFsb2dnZXIuZGVidWcpIHtcbiAgICBsb2dnZXIuYWRkTGV2ZWwoJ2RlYnVnJywgMTAwMCwge2ZnOiAnYmx1ZScsIGJnOiAnYmxhY2snfSwgJ2RidWcnKTtcbiAgfVxufVxuXG4vKipcbiAqXG4gKiBAcmV0dXJucyB7W2ltcG9ydCgnbnBtbG9nJykuTG9nZ2VyLCBib29sZWFuXX1cbiAqL1xuZnVuY3Rpb24gX2dldExvZ2dlcigpIHtcbiAgLy8gY2hlY2sgaWYgdGhlIHVzZXIgc2V0IHRoZSBgX1RFU1RJTkdgIG9yIGBfRk9SQ0VfTE9HU2AgZmxhZ1xuICBjb25zdCB0ZXN0aW5nTW9kZSA9IHByb2Nlc3MuZW52Ll9URVNUSU5HID09PSAnMSc7XG4gIGNvbnN0IGZvcmNlTG9nTW9kZSA9IHByb2Nlc3MuZW52Ll9GT1JDRV9MT0dTID09PSAnMSc7XG5cbiAgLy8gaWYgaXMgcG9zc2libGUgdGhhdCB0aGVyZSBpcyBhIGxvZ2dlciBpbnN0YW5jZSB0aGF0IGlzIGFscmVhZHkgYXJvdW5kLFxuICAvLyBpbiB3aGljaCBjYXNlIHdlIHdhbnQgdCBvIHVzZSB0aGF0XG4gIGNvbnN0IHVzaW5nR2xvYmFsTG9nID0gISFnbG9iYWwuX2dsb2JhbF9ucG1sb2c7XG4gIGxldCBsb2dnZXI7XG4gIGlmICh0ZXN0aW5nTW9kZSAmJiAhZm9yY2VMb2dNb2RlKSB7XG4gICAgLy8gaW4gdGVzdGluZyBtb2RlLCB1c2UgYSBtb2NrIGxvZ2dlciBvYmplY3QgdGhhdCB3ZSBjYW4gcXVlcnlcbiAgICBsb2dnZXIgPSBtb2NrTG9nO1xuICB9IGVsc2Uge1xuICAgIC8vIG90aGVyd2lzZSwgZWl0aGVyIHVzZSB0aGUgZ2xvYmFsLCBvciBhIG5ldyBgbnBtbG9nYCBvYmplY3RcbiAgICBsb2dnZXIgPSBnbG9iYWwuX2dsb2JhbF9ucG1sb2cgfHwgbnBtbG9nO1xuICAgIC8vIFRoZSBkZWZhdWx0IHZhbHVlIGlzIDEwMDAwLCB3aGljaCBjYXVzZXMgZXhjZXNzaXZlIG1lbW9yeSB1c2FnZVxuICAgIGxvZ2dlci5tYXhSZWNvcmRTaXplID0gTUFYX0xPR19SRUNPUkRTX0NPVU5UO1xuICB9XG4gIHBhdGNoTG9nZ2VyKGxvZ2dlcik7XG4gIHJldHVybiBbbG9nZ2VyLCB1c2luZ0dsb2JhbExvZ107XG59XG5cbi8qKlxuICogQHBhcmFtIHtBcHBpdW1Mb2dnZXJQcmVmaXg/fSBwcmVmaXhcbiAqIEBwYXJhbSB7Ym9vbGVhbn0gbG9nVGltZXN0YW1wIHdoZXRoZXIgdG8gaW5jbHVkZSB0aW1lc3RhbXBzIGludG8gbG9nIHByZWZpeGVzXG4gKiBAcmV0dXJucyB7c3RyaW5nfVxuICovXG5mdW5jdGlvbiBnZXRBY3R1YWxQcmVmaXgocHJlZml4LCBsb2dUaW1lc3RhbXAgPSBmYWxzZSkge1xuICBjb25zdCByZXN1bHQgPSAoXy5pc0Z1bmN0aW9uKHByZWZpeCkgPyBwcmVmaXgoKSA6IHByZWZpeCkgPz8gJyc7XG4gIHJldHVybiBsb2dUaW1lc3RhbXAgPyBgWyR7bW9tZW50KCkuZm9ybWF0KFBSRUZJWF9USU1FU1RBTVBfRk9STUFUKX1dICR7cmVzdWx0fWAgOiByZXN1bHQ7XG59XG5cbi8qKlxuICpcbiAqIEBwYXJhbSB7QXBwaXVtTG9nZ2VyUHJlZml4P30gcHJlZml4XG4gKiBAcmV0dXJucyB7QXBwaXVtTG9nZ2VyfVxuICovXG5mdW5jdGlvbiBnZXRMb2dnZXIocHJlZml4ID0gbnVsbCkge1xuICBsZXQgW2xvZ2dlciwgdXNpbmdHbG9iYWxMb2ddID0gX2dldExvZ2dlcigpO1xuXG4gIC8vIHdyYXAgdGhlIGxvZ2dlciBzbyB0aGF0IHdlIGNhbiBjYXRjaCBhbmQgbW9kaWZ5IGFueSBsb2dnaW5nXG4gIGxldCB3cmFwcGVkTG9nZ2VyID0ge1xuICAgIHVud3JhcDogKCkgPT4gbG9nZ2VyLFxuICAgIGxldmVsczogTEVWRUxTLFxuICAgIHByZWZpeCxcbiAgfTtcblxuICAvLyBhbGxvdyBhY2Nlc3MgdG8gdGhlIGxldmVsIG9mIHRoZSB1bmRlcmx5aW5nIGxvZ2dlclxuICBPYmplY3QuZGVmaW5lUHJvcGVydHkod3JhcHBlZExvZ2dlciwgJ2xldmVsJywge1xuICAgIGdldCgpIHtcbiAgICAgIHJldHVybiBsb2dnZXIubGV2ZWw7XG4gICAgfSxcbiAgICBzZXQobmV3VmFsdWUpIHtcbiAgICAgIGxvZ2dlci5sZXZlbCA9IG5ld1ZhbHVlO1xuICAgIH0sXG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBjb25maWd1cmFibGU6IHRydWUsXG4gIH0pO1xuXG4gIGNvbnN0IGxvZ1RpbWVzdGFtcCA9IHByb2Nlc3MuZW52Ll9MT0dfVElNRVNUQU1QID09PSAnMSc7XG5cbiAgLy8gYWRkIGFsbCB0aGUgbGV2ZWxzIGZyb20gYG5wbWxvZ2AsIGFuZCBtYXAgdG8gdGhlIHVuZGVybHlpbmcgbG9nZ2VyXG4gIGZvciAoY29uc3QgbGV2ZWwgb2YgTEVWRUxTKSB7XG4gICAgd3JhcHBlZExvZ2dlcltsZXZlbF0gPSAvKiogQHBhcmFtIHsuLi5hbnl9IGFyZ3MgKi8gZnVuY3Rpb24gKC4uLmFyZ3MpIHtcbiAgICAgIGNvbnN0IGFjdHVhbFByZWZpeCA9IGdldEFjdHVhbFByZWZpeCh0aGlzLnByZWZpeCwgbG9nVGltZXN0YW1wKTtcbiAgICAgIGZvciAoY29uc3QgYXJnIG9mIGFyZ3MpIHtcbiAgICAgICAgY29uc3Qgb3V0ID0gXy5pc0Vycm9yKGFyZykgJiYgYXJnLnN0YWNrID8gYXJnLnN0YWNrIDogYCR7YXJnfWA7XG4gICAgICAgIGZvciAoY29uc3QgbGluZSBvZiBvdXQuc3BsaXQoJ1xcbicpKSB7XG4gICAgICAgICAgLy8gaXQgaXMgbmVjZXNzYXJ5IHRvIHVubGVhayBlYWNoIGxpbmUgYmVjYXVzZSBgc3BsaXRgIGNhbGxcbiAgICAgICAgICAvLyBjcmVhdGVzIFwidmlld3NcIiB0byB0aGUgb3JpZ2luYWwgc3RyaW5nIGFzIHdlbGwgYXMgdGhlIGBzdWJzdHJpbmdgIG9uZVxuICAgICAgICAgIGNvbnN0IHVubGVha2VkTGluZSA9IHVubGVha1N0cmluZyhsaW5lKTtcbiAgICAgICAgICBsb2dnZXJbbGV2ZWxdKGFjdHVhbFByZWZpeCwgU0VDVVJFX1ZBTFVFU19QUkVQUk9DRVNTT1IucHJlcHJvY2Vzcyh1bmxlYWtlZExpbmUpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH07XG4gIH1cbiAgLy8gYWRkIG1ldGhvZCB0byBsb2cgYW4gZXJyb3IsIGFuZCB0aHJvdyBpdCwgZm9yIGNvbnZlbmllbmNlXG4gIHdyYXBwZWRMb2dnZXIuZXJyb3JBbmRUaHJvdyA9IGZ1bmN0aW9uIChlcnIpIHtcbiAgICB0aGlzLmVycm9yKGVycik7XG4gICAgLy8gbWFrZSBzdXJlIHdlIGhhdmUgYW4gYEVycm9yYCBvYmplY3QuIFdyYXAgaWYgbmVjZXNzYXJ5XG4gICAgdGhyb3cgXy5pc0Vycm9yKGVycikgPyBlcnIgOiBuZXcgRXJyb3IodW5sZWFrU3RyaW5nKGVycikpO1xuICB9O1xuICBpZiAoIXVzaW5nR2xvYmFsTG9nKSB7XG4gICAgLy8gaWYgd2UncmUgbm90IHVzaW5nIGEgZ2xvYmFsIGxvZyBzcGVjaWZpZWQgZnJvbSBzb21lIHRvcC1sZXZlbCBwYWNrYWdlLFxuICAgIC8vIHNldCB0aGUgbG9nIGxldmVsIHRvIGEgZGVmYXVsdCBvZiB2ZXJib3NlLiBPdGhlcndpc2UsIGxldCB0aGUgdG9wLWxldmVsXG4gICAgLy8gcGFja2FnZSBzZXQgdGhlIGxvZyBsZXZlbFxuICAgIHdyYXBwZWRMb2dnZXIubGV2ZWwgPSAndmVyYm9zZSc7XG4gIH1cbiAgcmV0dXJuIC8qKiBAdHlwZSB7QXBwaXVtTG9nZ2VyfSAqLyAod3JhcHBlZExvZ2dlcik7XG59XG5cbi8qKlxuICogQHR5cGVkZWYgTG9hZFJlc3VsdFxuICogQHByb3BlcnR5IHtzdHJpbmdbXX0gaXNzdWVzIFRoZSBsaXN0IG9mIHJ1bGUgcGFyc2luZyBpc3N1ZXMgKG9uZSBpdGVtIHBlciBydWxlKS5cbiAqIFJ1bGVzIHdpdGggaXNzdWVzIGFyZSBza2lwcGVkLiBBbiBlbXB0eSBsaXN0IGlzIHJldHVybmVkIGlmIG5vIHBhcnNpbmcgaXNzdWVzIGV4aXN0LlxuICogQHByb3BlcnR5IHtpbXBvcnQoJy4vbG9nLWludGVybmFsJykuU2VjdXJlVmFsdWVQcmVwcm9jZXNzaW5nUnVsZVtdfSBydWxlcyBUaGUgbGlzdCBvZiBzdWNjZXNzZnVsbHkgbG9hZGVkXG4gKiByZXBsYWNlbWVudCBydWxlcy4gVGhlIGxpc3QgY291bGQgYmUgZW1wdHkgaWYgbm8gcnVsZXMgd2VyZSBsb2FkZWQuXG4gKi9cblxuLyoqXG4gKiBMb2FkcyB0aGUgSlNPTiBmaWxlIGNvbnRhaW5pbmcgc2VjdXJlIHZhbHVlcyByZXBsYWNlbWVudCBydWxlcy5cbiAqIFRoaXMgbWlnaHQgYmUgbmVjZXNzYXJ5IHRvIGhpZGUgc2Vuc2l0aXZlIHZhbHVlcyB0aGF0IG1heSBwb3NzaWJseVxuICogYXBwZWFyIGluIEFwcGl1bSBsb2dzLlxuICogRWFjaCBjYWxsIHRvIHRoaXMgbWV0aG9kIHJlcGxhY2VzIHRoZSBwcmV2aW91c2x5IGxvYWRlZCBydWxlcyBpZiBhbnkgZXhpc3RlZC5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ3xzdHJpbmdbXXxpbXBvcnQoJy4vbG9nLWludGVybmFsJykuUnVsZVtdfSBydWxlc0pzb25QYXRoIFRoZSBmdWxsIHBhdGggdG8gdGhlIEpTT04gZmlsZSBjb250YWluaW5nXG4gKiB0aGUgcmVwbGFjZW1lbnQgcnVsZXMuIEVhY2ggcnVsZSBjb3VsZCBlaXRoZXIgYmUgYSBzdHJpbmcgdG8gYmUgcmVwbGFjZWRcbiAqIG9yIGFuIG9iamVjdCB3aXRoIHByZWRlZmluZWQgcHJvcGVydGllcy4gU2VlIHRoZSBgUnVsZWAgdHlwZSBkZWZpbml0aW9uIGluXG4gKiBgbG9nLWludGVybmFscy5qc2AgdG8gZ2V0IG1vcmUgZGV0YWlscyBvbiBpdHMgZm9ybWF0LlxuICogQHRocm93cyB7RXJyb3J9IElmIHRoZSBnaXZlbiBmaWxlIGNhbm5vdCBiZSBsb2FkZWRcbiAqIEByZXR1cm5zIHtQcm9taXNlPExvYWRSZXN1bHQ+fVxuICovXG5hc3luYyBmdW5jdGlvbiBsb2FkU2VjdXJlVmFsdWVzUHJlcHJvY2Vzc2luZ1J1bGVzKHJ1bGVzSnNvblBhdGgpIHtcbiAgY29uc3QgaXNzdWVzID0gYXdhaXQgU0VDVVJFX1ZBTFVFU19QUkVQUk9DRVNTT1IubG9hZFJ1bGVzKHJ1bGVzSnNvblBhdGgpO1xuICByZXR1cm4ge1xuICAgIGlzc3VlcyxcbiAgICBydWxlczogXy5jbG9uZURlZXAoU0VDVVJFX1ZBTFVFU19QUkVQUk9DRVNTT1IucnVsZXMpLFxuICB9O1xufVxuXG4vLyBleHBvcnQgYSBkZWZhdWx0IGxvZ2dlciB3aXRoIG5vIHByZWZpeFxuY29uc3QgbG9nID0gZ2V0TG9nZ2VyKCk7XG5cbmV4cG9ydCB7bG9nLCBwYXRjaExvZ2dlciwgZ2V0TG9nZ2VyLCBsb2FkU2VjdXJlVmFsdWVzUHJlcHJvY2Vzc2luZ1J1bGVzfTtcbmV4cG9ydCBkZWZhdWx0IGxvZztcblxuLyoqXG4gKiBAdHlwZWRlZiB7aW1wb3J0KCdAYXBwaXVtL3R5cGVzJykuQXBwaXVtTG9nZ2VyUHJlZml4fSBBcHBpdW1Mb2dnZXJQcmVmaXhcbiAqIEB0eXBlZGVmIHtpbXBvcnQoJ0BhcHBpdW0vdHlwZXMnKS5BcHBpdW1Mb2dnZXJ9IEFwcGl1bUxvZ2dlclxuICogQHR5cGVkZWYge2ltcG9ydCgnQGFwcGl1bS90eXBlcycpLkFwcGl1bUxvZ2dlckxldmVsfSBBcHBpdW1Mb2dnZXJMZXZlbFxuICovXG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7OztBQUdPLE1BQU1BLE1BQU0sR0FBRyxDQUFDLE9BQUQsRUFBVSxTQUFWLEVBQXFCLE9BQXJCLEVBQThCLE1BQTlCLEVBQXNDLE1BQXRDLEVBQThDLE1BQTlDLEVBQXNELE9BQXRELENBQWY7O0FBQ1AsTUFBTUMscUJBQXFCLEdBQUcsSUFBOUI7QUFFQSxNQUFNQyx1QkFBdUIsR0FBRyxjQUFoQztBQUdBLElBQUlDLE9BQU8sR0FBRyxFQUFkOztBQUNBLEtBQUssSUFBSUMsS0FBVCxJQUFrQkosTUFBbEIsRUFBMEI7RUFDeEJHLE9BQU8sQ0FBQ0MsS0FBRCxDQUFQLEdBQWlCLE1BQU0sQ0FBRSxDQUF6QjtBQUNEOztBQU1ELFNBQVNDLFdBQVQsQ0FBcUJDLE1BQXJCLEVBQTZCO0VBQzNCLElBQUksQ0FBQ0EsTUFBTSxDQUFDQyxLQUFaLEVBQW1CO0lBQ2pCRCxNQUFNLENBQUNFLFFBQVAsQ0FBZ0IsT0FBaEIsRUFBeUIsSUFBekIsRUFBK0I7TUFBQ0MsRUFBRSxFQUFFLE1BQUw7TUFBYUMsRUFBRSxFQUFFO0lBQWpCLENBQS9CLEVBQTBELE1BQTFEO0VBQ0Q7QUFDRjs7QUFNRCxTQUFTQyxVQUFULEdBQXNCO0VBRXBCLE1BQU1DLFdBQVcsR0FBR0MsT0FB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
|
|
151
|
+
exports.default = log;
|
|
152
|
+
/**
|
|
153
|
+
* @typedef {import('@appium/types').AppiumLoggerPrefix} AppiumLoggerPrefix
|
|
154
|
+
* @typedef {import('@appium/types').AppiumLogger} AppiumLogger
|
|
155
|
+
* @typedef {import('@appium/types').AppiumLoggerLevel} AppiumLoggerLevel
|
|
156
|
+
*/
|
|
157
|
+
//# sourceMappingURL=logging.js.map
|
package/build/lib/logging.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logging.js","
|
|
1
|
+
{"version":3,"file":"logging.js","sourceRoot":"","sources":["../../lib/logging.js"],"names":[],"mappings":"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"}
|