@appium/support 2.61.1 → 3.0.1

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.
Files changed (61) hide show
  1. package/build/lib/console.d.ts +1 -1
  2. package/build/lib/console.js +169 -105
  3. package/build/lib/console.js.map +1 -1
  4. package/build/lib/env.d.ts.map +1 -1
  5. package/build/lib/env.js +144 -117
  6. package/build/lib/env.js.map +1 -1
  7. package/build/lib/fs.d.ts +9 -2
  8. package/build/lib/fs.d.ts.map +1 -1
  9. package/build/lib/fs.js +358 -246
  10. package/build/lib/fs.js.map +1 -1
  11. package/build/lib/image-util.js +139 -124
  12. package/build/lib/image-util.js.map +1 -1
  13. package/build/lib/index.js +64 -103
  14. package/build/lib/index.js.map +1 -1
  15. package/build/lib/log-internal.d.ts +4 -27
  16. package/build/lib/log-internal.d.ts.map +1 -1
  17. package/build/lib/log-internal.js +141 -123
  18. package/build/lib/log-internal.js.map +1 -1
  19. package/build/lib/logger.d.ts +1 -1
  20. package/build/lib/logger.d.ts.map +1 -1
  21. package/build/lib/logger.js +5 -14
  22. package/build/lib/logger.js.map +1 -1
  23. package/build/lib/logging.d.ts +3 -4
  24. package/build/lib/logging.d.ts.map +1 -1
  25. package/build/lib/logging.js +139 -110
  26. package/build/lib/logging.js.map +1 -1
  27. package/build/lib/mjpeg.js +169 -141
  28. package/build/lib/mjpeg.js.map +1 -1
  29. package/build/lib/mkdirp.js +7 -13
  30. package/build/lib/mkdirp.js.map +1 -1
  31. package/build/lib/net.d.ts.map +1 -1
  32. package/build/lib/net.js +278 -254
  33. package/build/lib/net.js.map +1 -1
  34. package/build/lib/node.js +203 -192
  35. package/build/lib/node.js.map +1 -1
  36. package/build/lib/npm.d.ts +19 -4
  37. package/build/lib/npm.d.ts.map +1 -1
  38. package/build/lib/npm.js +277 -228
  39. package/build/lib/npm.js.map +1 -1
  40. package/build/lib/plist.js +145 -136
  41. package/build/lib/plist.js.map +1 -1
  42. package/build/lib/process.js +41 -42
  43. package/build/lib/process.js.map +1 -1
  44. package/build/lib/system.js +39 -56
  45. package/build/lib/system.js.map +1 -1
  46. package/build/lib/tempdir.js +112 -73
  47. package/build/lib/tempdir.js.map +1 -1
  48. package/build/lib/timing.js +99 -84
  49. package/build/lib/timing.js.map +1 -1
  50. package/build/lib/util.js +454 -356
  51. package/build/lib/util.js.map +1 -1
  52. package/build/lib/zip.js +469 -423
  53. package/build/lib/zip.js.map +1 -1
  54. package/build/tsconfig.tsbuildinfo +1 -1
  55. package/lib/env.js +6 -4
  56. package/lib/fs.js +15 -1
  57. package/lib/log-internal.js +12 -16
  58. package/lib/logging.js +2 -3
  59. package/lib/net.js +15 -6
  60. package/lib/npm.js +28 -18
  61. package/package.json +20 -19
@@ -1,27 +1,4 @@
1
1
  export default SECURE_VALUES_PREPROCESSOR;
2
- export type Rule = {
3
- /**
4
- * A valid RegExp pattern to be replaced
5
- */
6
- pattern: string;
7
- /**
8
- * A text match to replace. Either this property or the
9
- * above one must be provided. `pattern` has priority over `text` if both are provided.
10
- */
11
- text: string;
12
- /**
13
- * Regular expression flags for the given pattern.
14
- * Supported flag are the same as for the standard JavaScript RegExp constructor:
15
- * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#Advanced_searching_with_flags_2
16
- * The 'g' (global matching) is always enabled though.
17
- */
18
- flags?: string | undefined;
19
- /**
20
- * The replacer value to use. By default
21
- * equals to `DEFAULT_SECURE_REPLACER`
22
- */
23
- replacer?: string | undefined;
24
- };
25
2
  export type SecureValuePreprocessingRule = {
26
3
  /**
27
4
  * The parsed pattern which is going to be used for replacement
@@ -44,23 +21,23 @@ export class SecureValuesPreprocessor {
44
21
  /**
45
22
  * Parses single rule from the given JSON file
46
23
  *
47
- * @param {string|Rule} rule The rule might either be represented as a single string
24
+ * @param {string|import('@appium/types').LogFilter} rule The rule might either be represented as a single string
48
25
  * or a configuration object
49
26
  * @throws {Error} If there was an error while parsing the rule
50
27
  * @returns {SecureValuePreprocessingRule} The parsed rule
51
28
  */
52
- parseRule(rule: string | Rule): SecureValuePreprocessingRule;
29
+ parseRule(rule: string | import('@appium/types').LogFilter): SecureValuePreprocessingRule;
53
30
  /**
54
31
  * Loads rules from the given JSON file
55
32
  *
56
- * @param {string|string[]|Rule[]} source The full path to the JSON file containing secure
33
+ * @param {string|string[]|import('@appium/types').LogFiltersConfig} source The full path to the JSON file containing secure
57
34
  * values replacement rules or the rules themselves represented as an array
58
35
  * @throws {Error} If the format of the source file is invalid or
59
36
  * it does not exist
60
37
  * @returns {Promise<string[]>} The list of issues found while parsing each rule.
61
38
  * An empty list is returned if no rule parsing issues were found
62
39
  */
63
- loadRules(source: string | string[] | Rule[]): Promise<string[]>;
40
+ loadRules(source: string | string[] | import('@appium/types').LogFiltersConfig): Promise<string[]>;
64
41
  /**
65
42
  * Performs secure values replacement inside the given string
66
43
  * according to the previously loaded rules. No replacement is made
@@ -1 +1 @@
1
- {"version":3,"file":"log-internal.d.ts","sourceRoot":"","sources":["../../lib/log-internal.js"],"names":[],"mappings":";;;;;aAoJc,MAAM;;;;;UACN,MAAM;;;;;;;;;;;;;;;;;;aAYN,MAAM;;;;;;;AApBpB,kEAAkE;AAxIlE;IAEI,cAAgB;IAGlB;;;OAGG;IACH,4CAEC;IAED;;;;;;;OAOG;IACH,gBALW,MAAM,GAAC,IAAI,GAGT,4BAA4B,CAsDxC;IAED;;;;;;;;;OASG;IACH,kBAPW,MAAM,GAAC,MAAM,EAAE,GAAC,IAAI,EAAE,GAIpB,QAAQ,MAAM,EAAE,CAAC,CA+B7B;IAED;;;;;;;OAOG;IACH,gBAHW,MAAM,GACJ,MAAM,CAYlB;CACF"}
1
+ {"version":3,"file":"log-internal.d.ts","sourceRoot":"","sources":["../../lib/log-internal.js"],"names":[],"mappings":";;;;;aA6Jc,MAAM;;;;;;;AAPpB,kEAAkE;AAxIlE;IAEI,cAAgB;IAGlB;;;OAGG;IACH,4CAEC;IAED;;;;;;;OAOG;IACH,gBALW,MAAM,GAAC,OAAO,eAAe,EAAE,SAAS,GAGtC,4BAA4B,CAsDxC;IAED;;;;;;;;;OASG;IACH,kBAPW,MAAM,GAAC,MAAM,EAAE,GAAC,OAAO,eAAe,EAAE,gBAAgB,GAItD,QAAQ,MAAM,EAAE,CAAC,CA+B7B;IAED;;;;;;;OAOG;IACH,gBAHW,MAAM,GACJ,MAAM,CAYlB;CACF"}
@@ -1,136 +1,154 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = exports.SecureValuesPreprocessor = exports.SECURE_VALUES_PREPROCESSOR = void 0;
7
-
8
- require("source-map-support/register");
9
-
10
- var _fs = _interopRequireDefault(require("./fs"));
11
-
12
- var _lodash = _interopRequireDefault(require("lodash"));
13
-
14
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
-
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.SecureValuesPreprocessor = exports.SECURE_VALUES_PREPROCESSOR = void 0;
7
+ const fs_1 = __importDefault(require("./fs"));
8
+ const lodash_1 = __importDefault(require("lodash"));
16
9
  const DEFAULT_REPLACER = '**SECURE**';
17
-
10
+ /**
11
+ * Type guard for log filter type
12
+ * @param {object} value
13
+ * @returns {value is import('@appium/types').LogFilterRegex}
14
+ */
15
+ function isLogFilterRegex(value) {
16
+ return 'pattern' in value;
17
+ }
18
18
  class SecureValuesPreprocessor {
19
- constructor() {
20
- this._rules = [];
21
- }
22
-
23
- get rules() {
24
- return this._rules;
25
- }
26
-
27
- parseRule(rule) {
28
- let pattern;
29
- let replacer = DEFAULT_REPLACER;
30
- let flags = ['g'];
31
-
32
- if (_lodash.default.isString(rule)) {
33
- if (rule.length === 0) {
34
- throw new Error(`${JSON.stringify(rule)} -> The value must not be empty`);
35
- }
36
-
37
- pattern = `\\b${_lodash.default.escapeRegExp(rule)}\\b`;
38
- } else if (_lodash.default.isPlainObject(rule)) {
39
- if (_lodash.default.has(rule, 'pattern')) {
40
- if (!_lodash.default.isString(rule.pattern) || rule.pattern.length === 0) {
41
- throw new Error(`${JSON.stringify(rule)} -> The value of 'pattern' must be a valid non-empty string`);
19
+ constructor() {
20
+ this._rules = [];
21
+ }
22
+ /**
23
+ * @returns {Array<SecureValuePreprocessingRule>} The list of successfully
24
+ * parsed preprocessing rules
25
+ */
26
+ get rules() {
27
+ return this._rules;
28
+ }
29
+ /**
30
+ * Parses single rule from the given JSON file
31
+ *
32
+ * @param {string|import('@appium/types').LogFilter} rule The rule might either be represented as a single string
33
+ * or a configuration object
34
+ * @throws {Error} If there was an error while parsing the rule
35
+ * @returns {SecureValuePreprocessingRule} The parsed rule
36
+ */
37
+ parseRule(rule) {
38
+ let pattern;
39
+ let replacer = DEFAULT_REPLACER;
40
+ let flags = ['g'];
41
+ if (lodash_1.default.isString(rule)) {
42
+ if (rule.length === 0) {
43
+ throw new Error(`${JSON.stringify(rule)} -> The value must not be empty`);
44
+ }
45
+ pattern = `\\b${lodash_1.default.escapeRegExp(rule)}\\b`;
42
46
  }
43
-
44
- pattern = rule.pattern;
45
- } else if (_lodash.default.has(rule, 'text')) {
46
- if (!_lodash.default.isString(rule.text) || rule.text.length === 0) {
47
- throw new Error(`${JSON.stringify(rule)} -> The value of 'text' must be a valid non-empty string`);
47
+ else if (lodash_1.default.isPlainObject(rule)) {
48
+ if (isLogFilterRegex(rule)) {
49
+ if (!lodash_1.default.isString(rule.pattern) || rule.pattern.length === 0) {
50
+ throw new Error(`${JSON.stringify(rule)} -> The value of 'pattern' must be a valid non-empty string`);
51
+ }
52
+ pattern = rule.pattern;
53
+ }
54
+ else if (lodash_1.default.has(rule, 'text')) {
55
+ if (!lodash_1.default.isString(rule.text) || rule.text.length === 0) {
56
+ throw new Error(`${JSON.stringify(rule)} -> The value of 'text' must be a valid non-empty string`);
57
+ }
58
+ pattern = `\\b${lodash_1.default.escapeRegExp(rule.text)}\\b`;
59
+ }
60
+ if (!pattern) {
61
+ throw new Error(`${JSON.stringify(rule)} -> Must either have a field named 'pattern' or 'text'`);
62
+ }
63
+ if (lodash_1.default.has(rule, 'flags')) {
64
+ // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#Advanced_searching_with_flags_2
65
+ for (const flag of ['i', 'g', 'm', 's', 'u', 'y']) {
66
+ if (lodash_1.default.includes(rule.flags, flag)) {
67
+ flags.push(flag);
68
+ }
69
+ }
70
+ flags = lodash_1.default.uniq(flags);
71
+ }
72
+ if (lodash_1.default.isString(rule.replacer)) {
73
+ replacer = rule.replacer;
74
+ }
48
75
  }
49
-
50
- pattern = `\\b${_lodash.default.escapeRegExp(rule.text)}\\b`;
51
- }
52
-
53
- if (!pattern) {
54
- throw new Error(`${JSON.stringify(rule)} -> Must either have a field named 'pattern' or 'text'`);
55
- }
56
-
57
- if (_lodash.default.has(rule, 'flags')) {
58
- for (const flag of ['i', 'g', 'm', 's', 'u', 'y']) {
59
- if (_lodash.default.includes(rule.flags, flag)) {
60
- flags.push(flag);
61
- }
76
+ else {
77
+ throw new Error(`${JSON.stringify(rule)} -> Must either be a string or an object`);
62
78
  }
63
-
64
- flags = _lodash.default.uniq(flags);
65
- }
66
-
67
- if (_lodash.default.isString(rule.replacer)) {
68
- replacer = rule.replacer;
69
- }
70
- } else {
71
- throw new Error(`${JSON.stringify(rule)} -> Must either be a string or an object`);
72
- }
73
-
74
- return {
75
- pattern: new RegExp(pattern, flags.join('')),
76
- replacer
77
- };
78
- }
79
-
80
- async loadRules(source) {
81
- let rules;
82
-
83
- if (_lodash.default.isArray(source)) {
84
- rules = source;
85
- } else {
86
- if (!(await _fs.default.exists(source))) {
87
- throw new Error(`'${source}' does not exist or is not accessible`);
88
- }
89
-
90
- try {
91
- rules = JSON.parse(await _fs.default.readFile(source, 'utf8'));
92
- } catch (e) {
93
- throw new Error(`'${source}' must be a valid JSON file. Original error: ${e.message}`);
94
- }
95
-
96
- if (!_lodash.default.isArray(rules)) {
97
- throw new Error(`'${source}' must contain a valid JSON array`);
98
- }
99
- }
100
-
101
- const issues = [];
102
- this._rules = [];
103
-
104
- for (const rule of rules) {
105
- try {
106
- this._rules.push(this.parseRule(rule));
107
- } catch (e) {
108
- issues.push(e.message);
109
- }
79
+ return {
80
+ pattern: new RegExp(pattern, flags.join('')),
81
+ replacer,
82
+ };
110
83
  }
111
-
112
- return issues;
113
- }
114
-
115
- preprocess(str) {
116
- if (this._rules.length === 0 || !_lodash.default.isString(str)) {
117
- return str;
84
+ /**
85
+ * Loads rules from the given JSON file
86
+ *
87
+ * @param {string|string[]|import('@appium/types').LogFiltersConfig} source The full path to the JSON file containing secure
88
+ * values replacement rules or the rules themselves represented as an array
89
+ * @throws {Error} If the format of the source file is invalid or
90
+ * it does not exist
91
+ * @returns {Promise<string[]>} The list of issues found while parsing each rule.
92
+ * An empty list is returned if no rule parsing issues were found
93
+ */
94
+ async loadRules(source) {
95
+ let rules;
96
+ if (lodash_1.default.isArray(source)) {
97
+ rules = source;
98
+ }
99
+ else {
100
+ if (!(await fs_1.default.exists(source))) {
101
+ throw new Error(`'${source}' does not exist or is not accessible`);
102
+ }
103
+ try {
104
+ rules = JSON.parse(await fs_1.default.readFile(source, 'utf8'));
105
+ }
106
+ catch (e) {
107
+ throw new Error(`'${source}' must be a valid JSON file. Original error: ${e.message}`);
108
+ }
109
+ if (!lodash_1.default.isArray(rules)) {
110
+ throw new Error(`'${source}' must contain a valid JSON array`);
111
+ }
112
+ }
113
+ const issues = [];
114
+ this._rules = [];
115
+ for (const rule of rules) {
116
+ try {
117
+ this._rules.push(this.parseRule(rule));
118
+ }
119
+ catch (e) {
120
+ issues.push(e.message);
121
+ }
122
+ }
123
+ return issues;
118
124
  }
119
-
120
- let result = str;
121
-
122
- for (const rule of this._rules) {
123
- result = result.replace(rule.pattern, rule.replacer);
125
+ /**
126
+ * Performs secure values replacement inside the given string
127
+ * according to the previously loaded rules. No replacement is made
128
+ * if there are no rules or the given value is not a string
129
+ *
130
+ * @param {string} str The string to make replacements in
131
+ * @returns {string} The string with replacements made
132
+ */
133
+ preprocess(str) {
134
+ if (this._rules.length === 0 || !lodash_1.default.isString(str)) {
135
+ return str;
136
+ }
137
+ let result = str;
138
+ for (const rule of this._rules) {
139
+ result = result.replace(rule.pattern, rule.replacer);
140
+ }
141
+ return result;
124
142
  }
125
-
126
- return result;
127
- }
128
-
129
143
  }
130
-
131
144
  exports.SecureValuesPreprocessor = SecureValuesPreprocessor;
132
145
  const SECURE_VALUES_PREPROCESSOR = new SecureValuesPreprocessor();
133
146
  exports.SECURE_VALUES_PREPROCESSOR = SECURE_VALUES_PREPROCESSOR;
134
- var _default = SECURE_VALUES_PREPROCESSOR;
135
- exports.default = _default;
136
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJERUZBVUxUX1JFUExBQ0VSIiwiU2VjdXJlVmFsdWVzUHJlcHJvY2Vzc29yIiwiY29uc3RydWN0b3IiLCJfcnVsZXMiLCJydWxlcyIsInBhcnNlUnVsZSIsInJ1bGUiLCJwYXR0ZXJuIiwicmVwbGFjZXIiLCJmbGFncyIsIl8iLCJpc1N0cmluZyIsImxlbmd0aCIsIkVycm9yIiwiSlNPTiIsInN0cmluZ2lmeSIsImVzY2FwZVJlZ0V4cCIsImlzUGxhaW5PYmplY3QiLCJoYXMiLCJ0ZXh0IiwiZmxhZyIsImluY2x1ZGVzIiwicHVzaCIsInVuaXEiLCJSZWdFeHAiLCJqb2luIiwibG9hZFJ1bGVzIiwic291cmNlIiwiaXNBcnJheSIsImZzIiwiZXhpc3RzIiwicGFyc2UiLCJyZWFkRmlsZSIsImUiLCJtZXNzYWdlIiwiaXNzdWVzIiwicHJlcHJvY2VzcyIsInN0ciIsInJlc3VsdCIsInJlcGxhY2UiLCJTRUNVUkVfVkFMVUVTX1BSRVBST0NFU1NPUiJdLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9sb2ctaW50ZXJuYWwuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGZzIGZyb20gJy4vZnMnO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcblxuY29uc3QgREVGQVVMVF9SRVBMQUNFUiA9ICcqKlNFQ1VSRSoqJztcblxuY2xhc3MgU2VjdXJlVmFsdWVzUHJlcHJvY2Vzc29yIHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5fcnVsZXMgPSBbXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcmV0dXJucyB7QXJyYXk8U2VjdXJlVmFsdWVQcmVwcm9jZXNzaW5nUnVsZT59IFRoZSBsaXN0IG9mIHN1Y2Nlc3NmdWxseVxuICAgKiBwYXJzZWQgcHJlcHJvY2Vzc2luZyBydWxlc1xuICAgKi9cbiAgZ2V0IHJ1bGVzKCkge1xuICAgIHJldHVybiB0aGlzLl9ydWxlcztcbiAgfVxuXG4gIC8qKlxuICAgKiBQYXJzZXMgc2luZ2xlIHJ1bGUgZnJvbSB0aGUgZ2l2ZW4gSlNPTiBmaWxlXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfFJ1bGV9IHJ1bGUgVGhlIHJ1bGUgbWlnaHQgZWl0aGVyIGJlIHJlcHJlc2VudGVkIGFzIGEgc2luZ2xlIHN0cmluZ1xuICAgKiBvciBhIGNvbmZpZ3VyYXRpb24gb2JqZWN0XG4gICAqIEB0aHJvd3Mge0Vycm9yfSBJZiB0aGVyZSB3YXMgYW4gZXJyb3Igd2hpbGUgcGFyc2luZyB0aGUgcnVsZVxuICAgKiBAcmV0dXJucyB7U2VjdXJlVmFsdWVQcmVwcm9jZXNzaW5nUnVsZX0gVGhlIHBhcnNlZCBydWxlXG4gICAqL1xuICBwYXJzZVJ1bGUocnVsZSkge1xuICAgIGxldCBwYXR0ZXJuO1xuICAgIGxldCByZXBsYWNlciA9IERFRkFVTFRfUkVQTEFDRVI7XG4gICAgbGV0IGZsYWdzID0gWydnJ107XG4gICAgaWYgKF8uaXNTdHJpbmcocnVsZSkpIHtcbiAgICAgIGlmIChydWxlLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYCR7SlNPTi5zdHJpbmdpZnkocnVsZSl9IC0+IFRoZSB2YWx1ZSBtdXN0IG5vdCBiZSBlbXB0eWApO1xuICAgICAgfVxuICAgICAgcGF0dGVybiA9IGBcXFxcYiR7Xy5lc2NhcGVSZWdFeHAocnVsZSl9XFxcXGJgO1xuICAgIH0gZWxzZSBpZiAoXy5pc1BsYWluT2JqZWN0KHJ1bGUpKSB7XG4gICAgICBpZiAoXy5oYXMocnVsZSwgJ3BhdHRlcm4nKSkge1xuICAgICAgICBpZiAoIV8uaXNTdHJpbmcocnVsZS5wYXR0ZXJuKSB8fCBydWxlLnBhdHRlcm4ubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgYCR7SlNPTi5zdHJpbmdpZnkocnVsZSl9IC0+IFRoZSB2YWx1ZSBvZiAncGF0dGVybicgbXVzdCBiZSBhIHZhbGlkIG5vbi1lbXB0eSBzdHJpbmdgXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICBwYXR0ZXJuID0gcnVsZS5wYXR0ZXJuO1xuICAgICAgfSBlbHNlIGlmIChfLmhhcyhydWxlLCAndGV4dCcpKSB7XG4gICAgICAgIGlmICghXy5pc1N0cmluZyhydWxlLnRleHQpIHx8IHJ1bGUudGV4dC5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICBgJHtKU09OLnN0cmluZ2lmeShydWxlKX0gLT4gVGhlIHZhbHVlIG9mICd0ZXh0JyBtdXN0IGJlIGEgdmFsaWQgbm9uLWVtcHR5IHN0cmluZ2BcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIHBhdHRlcm4gPSBgXFxcXGIke18uZXNjYXBlUmVnRXhwKHJ1bGUudGV4dCl9XFxcXGJgO1xuICAgICAgfVxuICAgICAgaWYgKCFwYXR0ZXJuKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBgJHtKU09OLnN0cmluZ2lmeShydWxlKX0gLT4gTXVzdCBlaXRoZXIgaGF2ZSBhIGZpZWxkIG5hbWVkICdwYXR0ZXJuJyBvciAndGV4dCdgXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIGlmIChfLmhhcyhydWxlLCAnZmxhZ3MnKSkge1xuICAgICAgICAvLyBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9KYXZhU2NyaXB0L0d1aWRlL1JlZ3VsYXJfRXhwcmVzc2lvbnMjQWR2YW5jZWRfc2VhcmNoaW5nX3dpdGhfZmxhZ3NfMlxuICAgICAgICBmb3IgKGNvbnN0IGZsYWcgb2YgWydpJywgJ2cnLCAnbScsICdzJywgJ3UnLCAneSddKSB7XG4gICAgICAgICAgaWYgKF8uaW5jbHVkZXMocnVsZS5mbGFncywgZmxhZykpIHtcbiAgICAgICAgICAgIGZsYWdzLnB1c2goZmxhZyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGZsYWdzID0gXy51bmlxKGZsYWdzKTtcbiAgICAgIH1cblxuICAgICAgaWYgKF8uaXNTdHJpbmcocnVsZS5yZXBsYWNlcikpIHtcbiAgICAgICAgcmVwbGFjZXIgPSBydWxlLnJlcGxhY2VyO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYCR7SlNPTi5zdHJpbmdpZnkocnVsZSl9IC0+IE11c3QgZWl0aGVyIGJlIGEgc3RyaW5nIG9yIGFuIG9iamVjdGApO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBwYXR0ZXJuOiBuZXcgUmVnRXhwKHBhdHRlcm4sIGZsYWdzLmpvaW4oJycpKSxcbiAgICAgIHJlcGxhY2VyLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogTG9hZHMgcnVsZXMgZnJvbSB0aGUgZ2l2ZW4gSlNPTiBmaWxlXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfHN0cmluZ1tdfFJ1bGVbXX0gc291cmNlIFRoZSBmdWxsIHBhdGggdG8gdGhlIEpTT04gZmlsZSBjb250YWluaW5nIHNlY3VyZVxuICAgKiB2YWx1ZXMgcmVwbGFjZW1lbnQgcnVsZXMgb3IgdGhlIHJ1bGVzIHRoZW1zZWx2ZXMgcmVwcmVzZW50ZWQgYXMgYW4gYXJyYXlcbiAgICogQHRocm93cyB7RXJyb3J9IElmIHRoZSBmb3JtYXQgb2YgdGhlIHNvdXJjZSBmaWxlIGlzIGludmFsaWQgb3JcbiAgICogaXQgZG9lcyBub3QgZXhpc3RcbiAgICogQHJldHVybnMge1Byb21pc2U8c3RyaW5nW10+fSBUaGUgbGlzdCBvZiBpc3N1ZXMgZm91bmQgd2hpbGUgcGFyc2luZyBlYWNoIHJ1bGUuXG4gICAqIEFuIGVtcHR5IGxpc3QgaXMgcmV0dXJuZWQgaWYgbm8gcnVsZSBwYXJzaW5nIGlzc3VlcyB3ZXJlIGZvdW5kXG4gICAqL1xuICBhc3luYyBsb2FkUnVsZXMoc291cmNlKSB7XG4gICAgbGV0IHJ1bGVzO1xuICAgIGlmIChfLmlzQXJyYXkoc291cmNlKSkge1xuICAgICAgcnVsZXMgPSBzb3VyY2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICghKGF3YWl0IGZzLmV4aXN0cyhzb3VyY2UpKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYCcke3NvdXJjZX0nIGRvZXMgbm90IGV4aXN0IG9yIGlzIG5vdCBhY2Nlc3NpYmxlYCk7XG4gICAgICB9XG4gICAgICB0cnkge1xuICAgICAgICBydWxlcyA9IEpTT04ucGFyc2UoYXdhaXQgZnMucmVhZEZpbGUoc291cmNlLCAndXRmOCcpKTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGAnJHtzb3VyY2V9JyBtdXN0IGJlIGEgdmFsaWQgSlNPTiBmaWxlLiBPcmlnaW5hbCBlcnJvcjogJHtlLm1lc3NhZ2V9YCk7XG4gICAgICB9XG4gICAgICBpZiAoIV8uaXNBcnJheShydWxlcykpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGAnJHtzb3VyY2V9JyBtdXN0IGNvbnRhaW4gYSB2YWxpZCBKU09OIGFycmF5YCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgaXNzdWVzID0gW107XG4gICAgdGhpcy5fcnVsZXMgPSBbXTtcbiAgICBmb3IgKGNvbnN0IHJ1bGUgb2YgcnVsZXMpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHRoaXMuX3J1bGVzLnB1c2godGhpcy5wYXJzZVJ1bGUocnVsZSkpO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBpc3N1ZXMucHVzaChlLm1lc3NhZ2UpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gaXNzdWVzO1xuICB9XG5cbiAgLyoqXG4gICAqIFBlcmZvcm1zIHNlY3VyZSB2YWx1ZXMgcmVwbGFjZW1lbnQgaW5zaWRlIHRoZSBnaXZlbiBzdHJpbmdcbiAgICogYWNjb3JkaW5nIHRvIHRoZSBwcmV2aW91c2x5IGxvYWRlZCBydWxlcy4gTm8gcmVwbGFjZW1lbnQgaXMgbWFkZVxuICAgKiBpZiB0aGVyZSBhcmUgbm8gcnVsZXMgb3IgdGhlIGdpdmVuIHZhbHVlIGlzIG5vdCBhIHN0cmluZ1xuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gc3RyIFRoZSBzdHJpbmcgdG8gbWFrZSByZXBsYWNlbWVudHMgaW5cbiAgICogQHJldHVybnMge3N0cmluZ30gVGhlIHN0cmluZyB3aXRoIHJlcGxhY2VtZW50cyBtYWRlXG4gICAqL1xuICBwcmVwcm9jZXNzKHN0cikge1xuICAgIGlmICh0aGlzLl9ydWxlcy5sZW5ndGggPT09IDAgfHwgIV8uaXNTdHJpbmcoc3RyKSkge1xuICAgICAgcmV0dXJuIHN0cjtcbiAgICB9XG5cbiAgICBsZXQgcmVzdWx0ID0gc3RyO1xuICAgIGZvciAoY29uc3QgcnVsZSBvZiB0aGlzLl9ydWxlcykge1xuICAgICAgcmVzdWx0ID0gcmVzdWx0LnJlcGxhY2UocnVsZS5wYXR0ZXJuLCBydWxlLnJlcGxhY2VyKTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxufVxuXG5jb25zdCBTRUNVUkVfVkFMVUVTX1BSRVBST0NFU1NPUiA9IG5ldyBTZWN1cmVWYWx1ZXNQcmVwcm9jZXNzb3IoKTtcblxuZXhwb3J0IHtTRUNVUkVfVkFMVUVTX1BSRVBST0NFU1NPUiwgU2VjdXJlVmFsdWVzUHJlcHJvY2Vzc29yfTtcbmV4cG9ydCBkZWZhdWx0IFNFQ1VSRV9WQUxVRVNfUFJFUFJPQ0VTU09SO1xuXG4vKipcbiAqIEB0eXBlZGVmIFJ1bGVcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBwYXR0ZXJuIEEgdmFsaWQgUmVnRXhwIHBhdHRlcm4gdG8gYmUgcmVwbGFjZWRcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSB0ZXh0IEEgdGV4dCBtYXRjaCB0byByZXBsYWNlLiBFaXRoZXIgdGhpcyBwcm9wZXJ0eSBvciB0aGVcbiAqIGFib3ZlIG9uZSBtdXN0IGJlIHByb3ZpZGVkLiBgcGF0dGVybmAgaGFzIHByaW9yaXR5IG92ZXIgYHRleHRgIGlmIGJvdGggYXJlIHByb3ZpZGVkLlxuICogQHByb3BlcnR5IHtzdHJpbmd9IFtmbGFnc10gUmVndWxhciBleHByZXNzaW9uIGZsYWdzIGZvciB0aGUgZ2l2ZW4gcGF0dGVybi5cbiAqIFN1cHBvcnRlZCBmbGFnIGFyZSB0aGUgc2FtZSBhcyBmb3IgdGhlIHN0YW5kYXJkIEphdmFTY3JpcHQgUmVnRXhwIGNvbnN0cnVjdG9yOlxuICogaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdC9HdWlkZS9SZWd1bGFyX0V4cHJlc3Npb25zI0FkdmFuY2VkX3NlYXJjaGluZ193aXRoX2ZsYWdzXzJcbiAqIFRoZSAnZycgKGdsb2JhbCBtYXRjaGluZykgaXMgYWx3YXlzIGVuYWJsZWQgdGhvdWdoLlxuICogQHByb3BlcnR5IHtzdHJpbmd9IFtyZXBsYWNlcl0gVGhlIHJlcGxhY2VyIHZhbHVlIHRvIHVzZS4gQnkgZGVmYXVsdFxuICogZXF1YWxzIHRvIGBERUZBVUxUX1NFQ1VSRV9SRVBMQUNFUmBcbiAqL1xuXG4vKipcbiAqIEB0eXBlZGVmIFNlY3VyZVZhbHVlUHJlcHJvY2Vzc2luZ1J1bGVcbiAqIEBwcm9wZXJ0eSB7UmVnRXhwfSBwYXR0ZXJuIFRoZSBwYXJzZWQgcGF0dGVybiB3aGljaCBpcyBnb2luZyB0byBiZSB1c2VkIGZvciByZXBsYWNlbWVudFxuICogQHByb3BlcnR5IHtzdHJpbmd9IFtyZXBsYWNlcl0gVGhlIHJlcGxhY2VyIHZhbHVlIHRvIHVzZS4gQnkgZGVmYXVsdFxuICogZXF1YWxzIHRvIGBERUZBVUxUX1NFQ1VSRV9SRVBMQUNFUmBcbiAqL1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTs7QUFDQTs7OztBQUVBLE1BQU1BLGdCQUFnQixHQUFHLFlBQXpCOztBQUVBLE1BQU1DLHdCQUFOLENBQStCO0VBQzdCQyxXQUFXLEdBQUc7SUFDWixLQUFLQyxNQUFMLEdBQWMsRUFBZDtFQUNEOztFQU1RLElBQUxDLEtBQUssR0FBRztJQUNWLE9BQU8sS0FBS0QsTUFBWjtFQUNEOztFQVVERSxTQUFTLENBQUNDLElBQUQsRUFBTztJQUNkLElBQUlDLE9BQUo7SUFDQSxJQUFJQyxRQUFRLEdBQUdSLGdCQUFmO0lBQ0EsSUFBSVMsS0FBSyxHQUFHLENBQUMsR0FB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
147
+ exports.default = SECURE_VALUES_PREPROCESSOR;
148
+ /**
149
+ * @typedef SecureValuePreprocessingRule
150
+ * @property {RegExp} pattern The parsed pattern which is going to be used for replacement
151
+ * @property {string} [replacer] The replacer value to use. By default
152
+ * equals to `DEFAULT_SECURE_REPLACER`
153
+ */
154
+ //# sourceMappingURL=log-internal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"log-internal.js","names":["DEFAULT_REPLACER","SecureValuesPreprocessor","constructor","_rules","rules","parseRule","rule","pattern","replacer","flags","_","isString","length","Error","JSON","stringify","escapeRegExp","isPlainObject","has","text","flag","includes","push","uniq","RegExp","join","loadRules","source","isArray","fs","exists","parse","readFile","e","message","issues","preprocess","str","result","replace","SECURE_VALUES_PREPROCESSOR"],"sources":["../../lib/log-internal.js"],"sourcesContent":["import fs from './fs';\nimport _ from 'lodash';\n\nconst DEFAULT_REPLACER = '**SECURE**';\n\nclass SecureValuesPreprocessor {\n constructor() {\n this._rules = [];\n }\n\n /**\n * @returns {Array<SecureValuePreprocessingRule>} The list of successfully\n * parsed preprocessing rules\n */\n get rules() {\n return this._rules;\n }\n\n /**\n * Parses single rule from the given JSON file\n *\n * @param {string|Rule} rule The rule might either be represented as a single string\n * or a configuration object\n * @throws {Error} If there was an error while parsing the rule\n * @returns {SecureValuePreprocessingRule} The parsed rule\n */\n parseRule(rule) {\n let pattern;\n let replacer = DEFAULT_REPLACER;\n let flags = ['g'];\n if (_.isString(rule)) {\n if (rule.length === 0) {\n throw new Error(`${JSON.stringify(rule)} -> The value must not be empty`);\n }\n pattern = `\\\\b${_.escapeRegExp(rule)}\\\\b`;\n } else if (_.isPlainObject(rule)) {\n if (_.has(rule, 'pattern')) {\n if (!_.isString(rule.pattern) || rule.pattern.length === 0) {\n throw new Error(\n `${JSON.stringify(rule)} -> The value of 'pattern' must be a valid non-empty string`\n );\n }\n pattern = rule.pattern;\n } else if (_.has(rule, 'text')) {\n if (!_.isString(rule.text) || rule.text.length === 0) {\n throw new Error(\n `${JSON.stringify(rule)} -> The value of 'text' must be a valid non-empty string`\n );\n }\n pattern = `\\\\b${_.escapeRegExp(rule.text)}\\\\b`;\n }\n if (!pattern) {\n throw new Error(\n `${JSON.stringify(rule)} -> Must either have a field named 'pattern' or 'text'`\n );\n }\n\n if (_.has(rule, 'flags')) {\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#Advanced_searching_with_flags_2\n for (const flag of ['i', 'g', 'm', 's', 'u', 'y']) {\n if (_.includes(rule.flags, flag)) {\n flags.push(flag);\n }\n }\n flags = _.uniq(flags);\n }\n\n if (_.isString(rule.replacer)) {\n replacer = rule.replacer;\n }\n } else {\n throw new Error(`${JSON.stringify(rule)} -> Must either be a string or an object`);\n }\n\n return {\n pattern: new RegExp(pattern, flags.join('')),\n replacer,\n };\n }\n\n /**\n * Loads rules from the given JSON file\n *\n * @param {string|string[]|Rule[]} source The full path to the JSON file containing secure\n * values replacement rules or the rules themselves represented as an array\n * @throws {Error} If the format of the source file is invalid or\n * it does not exist\n * @returns {Promise<string[]>} The list of issues found while parsing each rule.\n * An empty list is returned if no rule parsing issues were found\n */\n async loadRules(source) {\n let rules;\n if (_.isArray(source)) {\n rules = source;\n } else {\n if (!(await fs.exists(source))) {\n throw new Error(`'${source}' does not exist or is not accessible`);\n }\n try {\n rules = JSON.parse(await fs.readFile(source, 'utf8'));\n } catch (e) {\n throw new Error(`'${source}' must be a valid JSON file. Original error: ${e.message}`);\n }\n if (!_.isArray(rules)) {\n throw new Error(`'${source}' must contain a valid JSON array`);\n }\n }\n\n const issues = [];\n this._rules = [];\n for (const rule of rules) {\n try {\n this._rules.push(this.parseRule(rule));\n } catch (e) {\n issues.push(e.message);\n }\n }\n return issues;\n }\n\n /**\n * Performs secure values replacement inside the given string\n * according to the previously loaded rules. No replacement is made\n * if there are no rules or the given value is not a string\n *\n * @param {string} str The string to make replacements in\n * @returns {string} The string with replacements made\n */\n preprocess(str) {\n if (this._rules.length === 0 || !_.isString(str)) {\n return str;\n }\n\n let result = str;\n for (const rule of this._rules) {\n result = result.replace(rule.pattern, rule.replacer);\n }\n return result;\n }\n}\n\nconst SECURE_VALUES_PREPROCESSOR = new SecureValuesPreprocessor();\n\nexport {SECURE_VALUES_PREPROCESSOR, SecureValuesPreprocessor};\nexport default SECURE_VALUES_PREPROCESSOR;\n\n/**\n * @typedef Rule\n * @property {string} pattern A valid RegExp pattern to be replaced\n * @property {string} text A text match to replace. Either this property or the\n * above one must be provided. `pattern` has priority over `text` if both are provided.\n * @property {string} [flags] Regular expression flags for the given pattern.\n * Supported flag are the same as for the standard JavaScript RegExp constructor:\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#Advanced_searching_with_flags_2\n * The 'g' (global matching) is always enabled though.\n * @property {string} [replacer] The replacer value to use. By default\n * equals to `DEFAULT_SECURE_REPLACER`\n */\n\n/**\n * @typedef SecureValuePreprocessingRule\n * @property {RegExp} pattern The parsed pattern which is going to be used for replacement\n * @property {string} [replacer] The replacer value to use. By default\n * equals to `DEFAULT_SECURE_REPLACER`\n */\n"],"mappings":"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"}
1
+ {"version":3,"file":"log-internal.js","sourceRoot":"","sources":["../../lib/log-internal.js"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  export default log;
2
- declare let log: import("../../types/build").AppiumLogger;
2
+ declare let log: import("../../types/build/lib").AppiumLogger;
3
3
  //# sourceMappingURL=logger.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../lib/logger.js"],"names":[],"mappings":";AAEA,0DAA+B"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../lib/logger.js"],"names":[],"mappings":";AAEA,8DAA+B"}
@@ -1,15 +1,6 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- require("source-map-support/register");
9
-
10
- var _logging = require("./logging");
11
-
12
- let log = (0, _logging.getLogger)('Support');
13
- var _default = log;
14
- exports.default = _default;
15
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJsb2ciLCJnZXRMb2dnZXIiXSwic291cmNlcyI6WyIuLi8uLi9saWIvbG9nZ2VyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Z2V0TG9nZ2VyfSBmcm9tICcuL2xvZ2dpbmcnO1xuXG5sZXQgbG9nID0gZ2V0TG9nZ2VyKCdTdXBwb3J0Jyk7XG5cbmV4cG9ydCBkZWZhdWx0IGxvZztcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7O0FBRUEsSUFBSUEsR0FBRyxHQUFHLElBQUFDLGtCQUFBLEVBQVUsU0FBVixDQUFWO2VBRWVELEcifQ==
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const logging_1 = require("./logging");
4
+ let log = (0, logging_1.getLogger)('Support');
5
+ exports.default = log;
6
+ //# sourceMappingURL=logger.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","names":["log","getLogger"],"sources":["../../lib/logger.js"],"sourcesContent":["import {getLogger} from './logging';\n\nlet log = getLogger('Support');\n\nexport default log;\n"],"mappings":";;;;;;;;;AAAA;;AAEA,IAAIA,GAAG,GAAG,IAAAC,kBAAA,EAAU,SAAV,CAAV;eAEeD,G"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../lib/logger.js"],"names":[],"mappings":";;AAAA,uCAAoC;AAEpC,IAAI,GAAG,GAAG,IAAA,mBAAS,EAAC,SAAS,CAAC,CAAC;AAE/B,kBAAe,GAAG,CAAC"}
@@ -41,12 +41,11 @@ export function getLogger(prefix?: AppiumLoggerPrefix | null): AppiumLogger;
41
41
  * appear in Appium logs.
42
42
  * Each call to this method replaces the previously loaded rules if any existed.
43
43
  *
44
- * @param {string|string[]|import('./log-internal').Rule[]} rulesJsonPath The full path to the JSON file containing
44
+ * @param {string|string[]|import('@appium/types').LogFiltersConfig} rulesJsonPath The full path to the JSON file containing
45
45
  * the replacement rules. Each rule could either be a string to be replaced
46
- * or an object with predefined properties. See the `Rule` type definition in
47
- * `log-internals.js` to get more details on its format.
46
+ * or an object with predefined properties.
48
47
  * @throws {Error} If the given file cannot be loaded
49
48
  * @returns {Promise<LoadResult>}
50
49
  */
51
- export function loadSecureValuesPreprocessingRules(rulesJsonPath: string | string[] | import('./log-internal').Rule[]): Promise<LoadResult>;
50
+ export function loadSecureValuesPreprocessingRules(rulesJsonPath: string | string[] | import('@appium/types').LogFiltersConfig): Promise<LoadResult>;
52
51
  //# sourceMappingURL=logging.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"logging.d.ts","sourceRoot":"","sources":["../../lib/logging.js"],"names":[],"mappings":"AAQA,0DAA0D;AAC1D,qBADW,OAAO,eAAe,EAAE,iBAAiB,EAAE,CAC+B;;;;;;;YAsHvE,MAAM,EAAE;;;;;WAER,OAAO,gBAAgB,EAAE,4BAA4B,EAAE;;iCAgCxD,OAAO,eAAe,EAAE,kBAAkB;2BAC1C,OAAO,eAAe,EAAE,YAAY;gCACpC,OAAO,eAAe,EAAE,iBAAiB;AARtD,uDAAwB;AAvIxB;;;GAGG;AACH,oCAFW,OAAO,QAAQ,EAAE,MAAM,QAMjC;AAsCD;;;;GAIG;AACH,mCAHW,kBAAkB,UAChB,YAAY,CAsDxB;AAED;;;;;;GAMG;AAEH;;;;;;;;;;;;GAYG;AACH,kEAPW,MAAM,GAAC,MAAM,EAAE,GAAC,OAAO,gBAAgB,EAAE,IAAI,EAAE,GAK7C,QAAQ,UAAU,CAAC,CAQ/B"}
1
+ {"version":3,"file":"logging.d.ts","sourceRoot":"","sources":["../../lib/logging.js"],"names":[],"mappings":"AAQA,0DAA0D;AAC1D,qBADW,OAAO,eAAe,EAAE,iBAAiB,EAAE,CAC+B;;;;;;;YAsHvE,MAAM,EAAE;;;;;WAER,OAAO,gBAAgB,EAAE,4BAA4B,EAAE;;iCA+BxD,OAAO,eAAe,EAAE,kBAAkB;2BAC1C,OAAO,eAAe,EAAE,YAAY;gCACpC,OAAO,eAAe,EAAE,iBAAiB;AARtD,uDAAwB;AAtIxB;;;GAGG;AACH,oCAFW,OAAO,QAAQ,EAAE,MAAM,QAMjC;AAsCD;;;;GAIG;AACH,mCAHW,kBAAkB,UAChB,YAAY,CAsDxB;AAED;;;;;;GAMG;AAEH;;;;;;;;;;;GAWG;AACH,kEANW,MAAM,GAAC,MAAM,EAAE,GAAC,OAAO,eAAe,EAAE,gBAAgB,GAItD,QAAQ,UAAU,CAAC,CAQ/B"}