appium 2.0.0-beta.4 → 2.0.0-beta.40

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 (151) hide show
  1. package/README.md +10 -11
  2. package/build/lib/appium.d.ts +204 -0
  3. package/build/lib/appium.d.ts.map +1 -0
  4. package/build/lib/appium.js +257 -131
  5. package/build/lib/cli/args.d.ts +20 -0
  6. package/build/lib/cli/args.d.ts.map +1 -0
  7. package/build/lib/cli/args.js +96 -282
  8. package/build/lib/cli/driver-command.d.ts +36 -0
  9. package/build/lib/cli/driver-command.d.ts.map +1 -0
  10. package/build/lib/cli/driver-command.js +25 -18
  11. package/build/lib/cli/extension-command.d.ts +372 -0
  12. package/build/lib/cli/extension-command.d.ts.map +1 -0
  13. package/build/lib/cli/extension-command.js +286 -156
  14. package/build/lib/cli/extension.d.ts +18 -0
  15. package/build/lib/cli/extension.d.ts.map +1 -0
  16. package/build/lib/cli/extension.js +30 -17
  17. package/build/lib/cli/parser.d.ts +80 -0
  18. package/build/lib/cli/parser.d.ts.map +1 -0
  19. package/build/lib/cli/parser.js +152 -95
  20. package/build/lib/cli/plugin-command.d.ts +33 -0
  21. package/build/lib/cli/plugin-command.d.ts.map +1 -0
  22. package/build/lib/cli/plugin-command.js +24 -19
  23. package/build/lib/cli/utils.d.ts +29 -0
  24. package/build/lib/cli/utils.d.ts.map +1 -0
  25. package/build/lib/cli/utils.js +27 -3
  26. package/build/lib/config-file.d.ts +100 -0
  27. package/build/lib/config-file.d.ts.map +1 -0
  28. package/build/lib/config-file.js +136 -0
  29. package/build/lib/config.d.ts +41 -0
  30. package/build/lib/config.d.ts.map +1 -0
  31. package/build/lib/config.js +92 -67
  32. package/build/lib/constants.d.ts +48 -0
  33. package/build/lib/constants.d.ts.map +1 -0
  34. package/build/lib/constants.js +60 -0
  35. package/build/lib/extension/driver-config.d.ts +81 -0
  36. package/build/lib/extension/driver-config.d.ts.map +1 -0
  37. package/build/lib/extension/driver-config.js +177 -0
  38. package/build/lib/extension/extension-config.d.ts +242 -0
  39. package/build/lib/extension/extension-config.d.ts.map +1 -0
  40. package/build/lib/extension/extension-config.js +436 -0
  41. package/build/lib/extension/index.d.ts +48 -0
  42. package/build/lib/extension/index.d.ts.map +1 -0
  43. package/build/lib/extension/index.js +74 -0
  44. package/build/lib/extension/manifest.d.ts +174 -0
  45. package/build/lib/extension/manifest.d.ts.map +1 -0
  46. package/build/lib/extension/manifest.js +256 -0
  47. package/build/lib/extension/package-changed.d.ts +11 -0
  48. package/build/lib/extension/package-changed.d.ts.map +1 -0
  49. package/build/lib/extension/package-changed.js +68 -0
  50. package/build/lib/extension/plugin-config.d.ts +57 -0
  51. package/build/lib/extension/plugin-config.d.ts.map +1 -0
  52. package/build/lib/extension/plugin-config.js +78 -0
  53. package/build/lib/grid-register.d.ts +10 -0
  54. package/build/lib/grid-register.d.ts.map +1 -0
  55. package/build/lib/grid-register.js +21 -25
  56. package/build/lib/logger.d.ts +3 -0
  57. package/build/lib/logger.d.ts.map +1 -0
  58. package/build/lib/logger.js +4 -6
  59. package/build/lib/logsink.d.ts +4 -0
  60. package/build/lib/logsink.d.ts.map +1 -0
  61. package/build/lib/logsink.js +14 -17
  62. package/build/lib/main.d.ts +55 -0
  63. package/build/lib/main.d.ts.map +1 -0
  64. package/build/lib/main.js +189 -90
  65. package/build/lib/schema/arg-spec.d.ts +143 -0
  66. package/build/lib/schema/arg-spec.d.ts.map +1 -0
  67. package/build/lib/schema/arg-spec.js +119 -0
  68. package/build/lib/schema/cli-args.d.ts +19 -0
  69. package/build/lib/schema/cli-args.d.ts.map +1 -0
  70. package/build/lib/schema/cli-args.js +180 -0
  71. package/build/lib/schema/cli-transformers.d.ts +5 -0
  72. package/build/lib/schema/cli-transformers.d.ts.map +1 -0
  73. package/build/lib/schema/cli-transformers.js +74 -0
  74. package/build/lib/schema/index.d.ts +3 -0
  75. package/build/lib/schema/index.d.ts.map +1 -0
  76. package/build/lib/schema/index.js +34 -0
  77. package/build/lib/schema/keywords.d.ts +24 -0
  78. package/build/lib/schema/keywords.d.ts.map +1 -0
  79. package/build/lib/schema/keywords.js +70 -0
  80. package/build/lib/schema/schema.d.ts +259 -0
  81. package/build/lib/schema/schema.d.ts.map +1 -0
  82. package/build/lib/schema/schema.js +452 -0
  83. package/build/lib/utils.d.ts +66 -0
  84. package/build/lib/utils.d.ts.map +1 -0
  85. package/build/lib/utils.js +35 -139
  86. package/build/tsconfig.tsbuildinfo +1 -0
  87. package/build/types/appium-manifest.d.ts +59 -0
  88. package/build/types/appium-manifest.d.ts.map +1 -0
  89. package/build/types/cli.d.ts +112 -0
  90. package/build/types/cli.d.ts.map +1 -0
  91. package/build/types/extension-manifest.d.ts +55 -0
  92. package/build/types/extension-manifest.d.ts.map +1 -0
  93. package/build/types/index.d.ts +16 -0
  94. package/build/types/index.d.ts.map +1 -0
  95. package/driver.d.ts +1 -0
  96. package/driver.js +14 -0
  97. package/index.js +11 -0
  98. package/lib/appium.js +517 -186
  99. package/lib/cli/args.js +269 -422
  100. package/lib/cli/driver-command.js +58 -23
  101. package/lib/cli/extension-command.js +612 -260
  102. package/lib/cli/extension.js +34 -16
  103. package/lib/cli/parser.js +241 -83
  104. package/lib/cli/plugin-command.js +48 -20
  105. package/lib/cli/utils.js +24 -10
  106. package/lib/config-file.js +219 -0
  107. package/lib/config.js +210 -91
  108. package/lib/constants.js +69 -0
  109. package/lib/extension/driver-config.js +249 -0
  110. package/lib/extension/extension-config.js +679 -0
  111. package/lib/extension/index.js +116 -0
  112. package/lib/extension/manifest.js +475 -0
  113. package/lib/extension/package-changed.js +64 -0
  114. package/lib/extension/plugin-config.js +113 -0
  115. package/lib/grid-register.js +49 -35
  116. package/lib/logger.js +1 -2
  117. package/lib/logsink.js +38 -33
  118. package/lib/main.js +303 -100
  119. package/lib/schema/arg-spec.js +229 -0
  120. package/lib/schema/cli-args.js +238 -0
  121. package/lib/schema/cli-transformers.js +115 -0
  122. package/lib/schema/index.js +2 -0
  123. package/lib/schema/keywords.js +136 -0
  124. package/lib/schema/schema.js +717 -0
  125. package/lib/utils.js +121 -140
  126. package/package.json +75 -85
  127. package/plugin.d.ts +1 -0
  128. package/plugin.js +13 -0
  129. package/scripts/autoinstall-extensions.js +177 -0
  130. package/support.d.ts +1 -0
  131. package/support.js +13 -0
  132. package/types/appium-manifest.ts +73 -0
  133. package/types/cli.ts +146 -0
  134. package/types/extension-manifest.ts +64 -0
  135. package/types/index.ts +21 -0
  136. package/CHANGELOG.md +0 -3515
  137. package/bin/ios-webkit-debug-proxy-launcher.js +0 -71
  138. package/build/lib/cli/npm.js +0 -206
  139. package/build/lib/cli/parser-helpers.js +0 -82
  140. package/build/lib/driver-config.js +0 -77
  141. package/build/lib/drivers.js +0 -96
  142. package/build/lib/extension-config.js +0 -253
  143. package/build/lib/plugin-config.js +0 -59
  144. package/build/lib/plugins.js +0 -14
  145. package/lib/cli/npm.js +0 -183
  146. package/lib/cli/parser-helpers.js +0 -79
  147. package/lib/driver-config.js +0 -46
  148. package/lib/drivers.js +0 -81
  149. package/lib/extension-config.js +0 -209
  150. package/lib/plugin-config.js +0 -34
  151. package/lib/plugins.js +0 -10
@@ -0,0 +1,119 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.SERVER_PROP_NAME = exports.ArgSpec = exports.APPIUM_CONFIG_SCHEMA_ID = void 0;
9
+
10
+ require("source-map-support/register");
11
+
12
+ var _lodash = _interopRequireDefault(require("lodash"));
13
+
14
+ const APPIUM_CONFIG_SCHEMA_ID = 'appium.json';
15
+ exports.APPIUM_CONFIG_SCHEMA_ID = APPIUM_CONFIG_SCHEMA_ID;
16
+ const SERVER_PROP_NAME = 'server';
17
+ exports.SERVER_PROP_NAME = SERVER_PROP_NAME;
18
+ const SCHEMA_ID_REGEXP = /^(?<extType>.+?)-(?<normalizedExtName>.+)\.json$/;
19
+ const PROPERTIES = 'properties';
20
+
21
+ class ArgSpec {
22
+ name;
23
+ extType;
24
+ extName;
25
+ ref;
26
+ arg;
27
+ dest;
28
+ rawDest;
29
+ defaultValue;
30
+
31
+ constructor(name, {
32
+ extType,
33
+ extName,
34
+ dest,
35
+ defaultValue
36
+ } = {}) {
37
+ const arg = ArgSpec.toArg(name, extType, extName);
38
+ const ref = ArgSpec.toSchemaRef(name, extType, extName);
39
+
40
+ const rawDest = _lodash.default.camelCase(dest !== null && dest !== void 0 ? dest : name);
41
+
42
+ const destKeypath = extType && extName ? [extType, extName, rawDest].join('.') : rawDest;
43
+ this.defaultValue = defaultValue;
44
+ this.name = name;
45
+ this.extType = extType;
46
+ this.extName = extName;
47
+ this.arg = arg;
48
+ this.dest = destKeypath;
49
+ this.ref = ref;
50
+ this.rawDest = rawDest;
51
+ }
52
+
53
+ static toSchemaRef(name, extType, extName) {
54
+ const baseRef = ArgSpec.toSchemaBaseRef(extType, extName);
55
+
56
+ if (extType && extName) {
57
+ return [`${baseRef}#`, PROPERTIES, name].join('/');
58
+ }
59
+
60
+ return [`${baseRef}#`, PROPERTIES, SERVER_PROP_NAME, PROPERTIES, name].join('/');
61
+ }
62
+
63
+ static toSchemaBaseRef(extType, extName) {
64
+ if (extType && extName) {
65
+ return `${extType}-${ArgSpec.toNormalizedExtName(extName)}.json`;
66
+ }
67
+
68
+ return APPIUM_CONFIG_SCHEMA_ID;
69
+ }
70
+
71
+ static toArg(name, extType, extName) {
72
+ const properName = _lodash.default.kebabCase(name.replace(/^--?/, ''));
73
+
74
+ if (extType && extName) {
75
+ return [extType, _lodash.default.kebabCase(extName), properName].join('-');
76
+ }
77
+
78
+ return properName;
79
+ }
80
+
81
+ static toNormalizedExtName(extName) {
82
+ return _lodash.default.kebabCase(extName);
83
+ }
84
+
85
+ static extensionInfoFromRootSchemaId(schemaId) {
86
+ const matches = schemaId.match(SCHEMA_ID_REGEXP);
87
+
88
+ if (matches !== null && matches !== void 0 && matches.groups) {
89
+ const {
90
+ extType,
91
+ normalizedExtName
92
+ } = matches.groups;
93
+ return {
94
+ extType,
95
+ normalizedExtName
96
+ };
97
+ }
98
+
99
+ return {};
100
+ }
101
+
102
+ static create(name, opts) {
103
+ return Object.freeze(new ArgSpec(name, opts));
104
+ }
105
+
106
+ toString() {
107
+ let str = `[ArgSpec] ${this.name} (${this.ref})`;
108
+
109
+ if (this.extType && this.extName) {
110
+ str += ` (ext: ${this.extType}/${this.extName})`;
111
+ }
112
+
113
+ return str;
114
+ }
115
+
116
+ }
117
+
118
+ exports.ArgSpec = ArgSpec;
119
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJBUFBJVU1fQ09ORklHX1NDSEVNQV9JRCIsIlNFUlZFUl9QUk9QX05BTUUiLCJTQ0hFTUFfSURfUkVHRVhQIiwiUFJPUEVSVElFUyIsIkFyZ1NwZWMiLCJuYW1lIiwiZXh0VHlwZSIsImV4dE5hbWUiLCJyZWYiLCJhcmciLCJkZXN0IiwicmF3RGVzdCIsImRlZmF1bHRWYWx1ZSIsImNvbnN0cnVjdG9yIiwidG9BcmciLCJ0b1NjaGVtYVJlZiIsIl8iLCJjYW1lbENhc2UiLCJkZXN0S2V5cGF0aCIsImpvaW4iLCJiYXNlUmVmIiwidG9TY2hlbWFCYXNlUmVmIiwidG9Ob3JtYWxpemVkRXh0TmFtZSIsInByb3Blck5hbWUiLCJrZWJhYkNhc2UiLCJyZXBsYWNlIiwiZXh0ZW5zaW9uSW5mb0Zyb21Sb290U2NoZW1hSWQiLCJzY2hlbWFJZCIsIm1hdGNoZXMiLCJtYXRjaCIsImdyb3VwcyIsIm5vcm1hbGl6ZWRFeHROYW1lIiwiY3JlYXRlIiwib3B0cyIsIk9iamVjdCIsImZyZWV6ZSIsInRvU3RyaW5nIiwic3RyIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL3NjaGVtYS9hcmctc3BlYy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuXG4vKipcbiAqIFRoZSBvcmlnaW5hbCBJRCBvZiB0aGUgQXBwaXVtIGNvbmZpZyBzY2hlbWEuXG4gKiBXZSB1c2UgdGhpcyBpbiB0aGUgQ0xJIHRvIGNvbnZlcnQgaXQgdG8gYGFyZ3BhcnNlYCBvcHRpb25zLlxuICovXG5leHBvcnQgY29uc3QgQVBQSVVNX0NPTkZJR19TQ0hFTUFfSUQgPSAnYXBwaXVtLmpzb24nO1xuXG4vKipcbiAqIFRoZSBzY2hlbWEgcHJvcCBjb250YWluaW5nIHNlcnZlci1yZWxhdGVkIG9wdGlvbnMuIEV2ZXJ5dGhpbmcgaW4gaGVyZVxuICogaXMgXCJuYXRpdmVcIiB0byBBcHBpdW0uXG4gKiBVc2VkIGJ5IHtAbGluayBmbGF0dGVuU2NoZW1hfSBmb3IgdHJhbnNmb3JtaW5nIHRoZSBzY2hlbWEgaW50byBDTEkgYXJncy5cbiAqL1xuZXhwb3J0IGNvbnN0IFNFUlZFUl9QUk9QX05BTUUgPSAnc2VydmVyJztcblxuLyoqXG4gKiBVc2VkIHRvIHBhcnNlIGV4dGVuc2lvbiBpbmZvIGZyb20gYSBzY2hlbWEgSUQuXG4gKi9cbmNvbnN0IFNDSEVNQV9JRF9SRUdFWFAgPSAvXig/PGV4dFR5cGU+Lis/KS0oPzxub3JtYWxpemVkRXh0TmFtZT4uKylcXC5qc29uJC87XG5cbi8qKlxuICogQXZvaWQgdHlwb3MgYnkgdXNpbmcgY29uc3RhbnRzIVxuICovXG5jb25zdCBQUk9QRVJUSUVTID0gJ3Byb3BlcnRpZXMnO1xuXG4vKipcbiAqIEFuIGBBcmdTcGVjYCBpcyBhIGNsYXNzIHJlcHJlc2VudGluZyBtZXRhZGF0YSBhYm91dCBhbiBhcmd1bWVudCAob3IgY29uZmlnXG4gKiBvcHRpb24pIHVzZWQgZm9yIGNyb3NzLXJlZmVyZW5jaW5nLlxuICpcbiAqIFRoaXMgY2xhc3MgaGFzIG5vIGluc3RhbmNlIG1ldGhvZHMsIGFuZCBpcyBiYXNpY2FsbHkganVzdCBhIHJlYWQtb25seSBcInN0cnVjdFwiLlxuICogQHRlbXBsYXRlIERcbiAqL1xuZXhwb3J0IGNsYXNzIEFyZ1NwZWMge1xuICAvKipcbiAgICogVGhlIGNhbm9uaWNhbCBuYW1lIG9mIHRoZSBhcmd1bWVudC4gQ29ycmVzcG9uZHMgdG8ga2V5IGluIHNjaGVtYSdzIGBwcm9wZXJ0aWVzYCBwcm9wLlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKi9cbiAgbmFtZTtcblxuICAvKipcbiAgICogVGhlIGBFeHRlbnNpb25UeXBlYCBvZiB0aGUgYXJndW1lbnQuIFRoaXMgd2lsbCBiZSBzZXQgaWYgdGhlIGFyZyBjYW1lIGZyb20gYW4gZXh0ZW5zaW9uO1xuICAgKiBvdGhlcndpc2UgaXQgd2lsbCBiZSBgdW5kZWZpbmVkYC5cbiAgICogQHR5cGUge0V4dGVuc2lvblR5cGV8dW5kZWZpbmVkfVxuICAgKi9cbiAgZXh0VHlwZTtcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGV4dGVuc2lvbiwgaWYgdGhpcyBhcmd1bWVudCBjYW1lIGZyb20gYW4gZXh0ZW5zaW9uLlxuICAgKlxuICAgKiBPdGhlcndpc2UgYHVuZGVmaW5lZGAuXG4gICAqIEB0eXBlIHtzdHJpbmd8dW5kZWZpbmVkfVxuICAgKi9cbiAgZXh0TmFtZTtcblxuICAvKipcbiAgICogVGhlIHNjaGVtYSBJRCAoYCRpZGApIGZvciB0aGUgYXJndW1lbnQuICBUaGlzIGlzIGF1dG9tYXRpY2FsbHkgZGV0ZXJtaW5lZCwgYW5kIGFueSB1c2VyLXByb3ZpZGVkIGAkaWRgcyB3aWxsIGJlIG92ZXJ3cml0dGVuLlxuICAgKlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKi9cbiAgcmVmO1xuXG4gIC8qKlxuICAgKiBUaGUgQ0xJIGFyZ3VtZW50LCBzYW5zIGxlYWRpbmcgZGFzaGVzLlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKi9cbiAgYXJnO1xuXG4gIC8qKlxuICAgKiBUaGUgZGVzaXJlZCBrZXlwYXRoIGZvciB0aGUgYXJndW1lbnQgYWZ0ZXIgYXJndW1lbnRzIGhhdmUgYmVlbiBwYXJzZWQuXG4gICAqXG4gICAqIFR5cGljYWxseSB0aGlzIGlzIGNhbWVsQ2FzZWQuICBJZiB0aGUgYXJnIGNhbWUgZnJvbSBhbiBleHRlbnNpb24sIGl0IHdpbGwgYmUgcHJlZml4ZWQgd2l0aFxuICAgKiBgPGV4dFR5cGU+LjxleHROYW1lPi5gXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqL1xuICBkZXN0O1xuXG4gIC8qKlxuICAgKiBUaGUgc2FtZSBhcyB7QGxpbmsgQXJnU3BlYy5kZXN0fSBidXQgd2l0aG91dCB0aGUgbGVhZGluZyBgPGV4dFR5cGU+LjxleHROYW1lPi5gIHByZWZpeC5cbiAgICovXG4gIHJhd0Rlc3Q7XG5cbiAgLyoqXG4gICAqIFdoYXRldmVyIHRoZSBkZWZhdWx0IHZhbHVlIG9mIHRoaXMgYXJndW1lbnQgaXMsIGFzIHNwZWNpZmllZCBieSB0aGVcbiAgICogYGRlZmF1bHRgIHByb3BlcnR5IG9mIHRoZSBzY2hlbWEuXG4gICAqIEB0eXBlIHtEfHVuZGVmaW5lZH1cbiAgICovXG4gIGRlZmF1bHRWYWx1ZTtcblxuICAvKipcbiAgICogQnVpbGRzIHNvbWUgY29tcHV0ZWQgZmllbGRzIGFuZCBhc3NpZ25zIHRoZW0gdG8gdGhlIGluc3RhbmNlLlxuICAgKlxuICAgKiBVbmRlZmluZWQgcHJvcGVydGllcyBhcmUgbm90IGFzc2lnbmVkLlxuICAgKlxuICAgKiBUaGUgX2NvbnN0cnVjdG9yXyBpcyBwcml2YXRlLiBVc2Uge0BsaW5rIEFyZ1NwZWMuY3JlYXRlfSBpbnN0ZWFkLlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gbmFtZVxuICAgKiBAcGFyYW0ge0FyZ1NwZWNPcHRpb25zPEQ+fSBbb3B0c11cbiAgICovXG4gIGNvbnN0cnVjdG9yKG5hbWUsIHtleHRUeXBlLCBleHROYW1lLCBkZXN0LCBkZWZhdWx0VmFsdWV9ID0ge30pIHtcbiAgICAvLyB3ZSBtdXN0IG5vcm1hbGl6ZSB0aGUgZXh0ZW5zaW9uIG5hbWUgdG8gZml0IGludG8gb3VyIGNvbnZlbnRpb24gZm9yIENMSVxuICAgIC8vIGFyZ3MuXG4gICAgY29uc3QgYXJnID0gQXJnU3BlYy50b0FyZyhuYW1lLCBleHRUeXBlLCBleHROYW1lKTtcblxuICAgIGNvbnN0IHJlZiA9IEFyZ1NwZWMudG9TY2hlbWFSZWYobmFtZSwgZXh0VHlwZSwgZXh0TmFtZSk7XG5cbiAgICAvLyBpZiBubyBleHBsaWNpdCBgZGVzdGAgcHJvdmlkZWQsIGp1c3QgY2FtZWxDYXNlIHRoZSBuYW1lIHRvIGF2b2lkIG5lZWRpbmdcbiAgICAvLyB0byB1c2UgYnJhY2tldCBzeW50YXggd2hlbiBhY2Nlc3NpbmcgcHJvcHMgb24gdGhlIHBhcnNlZCBhcmdzIG9iamVjdC5cbiAgICBjb25zdCByYXdEZXN0ID0gXy5jYW1lbENhc2UoZGVzdCA/PyBuYW1lKTtcblxuICAgIGNvbnN0IGRlc3RLZXlwYXRoID0gZXh0VHlwZSAmJiBleHROYW1lID8gW2V4dFR5cGUsIGV4dE5hbWUsIHJhd0Rlc3RdLmpvaW4oJy4nKSA6IHJhd0Rlc3Q7XG5cbiAgICB0aGlzLmRlZmF1bHRWYWx1ZSA9IGRlZmF1bHRWYWx1ZTtcbiAgICB0aGlzLm5hbWUgPSBuYW1lO1xuICAgIHRoaXMuZXh0VHlwZSA9IGV4dFR5cGU7XG4gICAgdGhpcy5leHROYW1lID0gZXh0TmFtZTtcbiAgICB0aGlzLmFyZyA9IGFyZztcbiAgICB0aGlzLmRlc3QgPSBkZXN0S2V5cGF0aDtcbiAgICB0aGlzLnJlZiA9IHJlZjtcbiAgICB0aGlzLnJhd0Rlc3QgPSByYXdEZXN0O1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiB0aGUgc2NoZW1hIElEIChgJGlkYCkgZm9yIHRoZSAqKmFyZ3VtZW50KiogZ2l2ZW4gdGhlIHBhcmFtZXRlcnMuXG4gICAqXG4gICAqIElmIHlvdSBuZWVkIHRoZSBcInJvb3RcIiBvciBcImJhc2VcIiBzY2hlbWEgSUQsIHVzZSB7QGxpbmsgQXJnU3BlYy50b1NjaGVtYUJhc2VSZWZ9IGluc3RlYWQuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIC0gQXJndW1lbnQgbmFtZVxuICAgKiBAcGFyYW0ge0V4dGVuc2lvblR5cGV9IFtleHRUeXBlXSAtIEV4dGVuc2lvbiB0eXBlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbZXh0TmFtZV0gLSBFeHRlbnNpb24gbmFtZVxuICAgKiBAcmV0dXJucyB7c3RyaW5nfSBTY2hlbWEgSURcbiAgICovXG4gIHN0YXRpYyB0b1NjaGVtYVJlZihuYW1lLCBleHRUeXBlLCBleHROYW1lKSB7XG4gICAgY29uc3QgYmFzZVJlZiA9IEFyZ1NwZWMudG9TY2hlbWFCYXNlUmVmKGV4dFR5cGUsIGV4dE5hbWUpO1xuICAgIGlmIChleHRUeXBlICYmIGV4dE5hbWUpIHtcbiAgICAgIHJldHVybiBbYCR7YmFzZVJlZn0jYCwgUFJPUEVSVElFUywgbmFtZV0uam9pbignLycpO1xuICAgIH1cbiAgICByZXR1cm4gW2Ake2Jhc2VSZWZ9I2AsIFBST1BFUlRJRVMsIFNFUlZFUl9QUk9QX05BTUUsIFBST1BFUlRJRVMsIG5hbWVdLmpvaW4oJy8nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIHNjaGVtYSBJRCBmb3IgYW4gZXh0ZW5zaW9uIG9yIHRoZSBiYXNlIHNjaGVtYSBJRC5cbiAgICogQHBhcmFtIHtFeHRlbnNpb25UeXBlfSBbZXh0VHlwZV0gLSBFeHRlbnNpb24gdHlwZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gW2V4dE5hbWVdIC0gRXh0ZW5zaW9uIG5hbWVcbiAgICovXG4gIHN0YXRpYyB0b1NjaGVtYUJhc2VSZWYoZXh0VHlwZSwgZXh0TmFtZSkge1xuICAgIGlmIChleHRUeXBlICYmIGV4dE5hbWUpIHtcbiAgICAgIHJldHVybiBgJHtleHRUeXBlfS0ke0FyZ1NwZWMudG9Ob3JtYWxpemVkRXh0TmFtZShleHROYW1lKX0uanNvbmA7XG4gICAgfVxuICAgIHJldHVybiBBUFBJVU1fQ09ORklHX1NDSEVNQV9JRDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIHVuaXF1ZSBJRCBmb3IgdGhlIGFyZ3VtZW50IGdpdmVuIHRoZSBwYXJhbWV0ZXJzLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gbmFtZSAtIEFyZ3VtZW50IG5hbWVcbiAgICogQHBhcmFtIHtFeHRlbnNpb25UeXBlfSBbZXh0VHlwZV0gLSBFeHRlbnNpb24gdHlwZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gW2V4dE5hbWVdIC0gRXh0ZW5zaW9uIG5hbWVcbiAgICogQHJldHVybnMge3N0cmluZ30gVW5pcXVlIElEXG4gICAqL1xuICBzdGF0aWMgdG9BcmcobmFtZSwgZXh0VHlwZSwgZXh0TmFtZSkge1xuICAgIGNvbnN0IHByb3Blck5hbWUgPSBfLmtlYmFiQ2FzZShuYW1lLnJlcGxhY2UoL14tLT8vLCAnJykpO1xuICAgIGlmIChleHRUeXBlICYmIGV4dE5hbWUpIHtcbiAgICAgIHJldHVybiBbZXh0VHlwZSwgXy5rZWJhYkNhc2UoZXh0TmFtZSksIHByb3Blck5hbWVdLmpvaW4oJy0nKTtcbiAgICB9XG4gICAgcmV0dXJuIHByb3Blck5hbWU7XG4gIH1cblxuICAvKipcbiAgICogTm9ybWFsaXplcyBhIHJhdyBleHRlbnNpb24gbmFtZSAobm90IGluY2x1ZGluZyB0aGUgdHlwZSkuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBleHROYW1lIC0gRXh0ZW5zaW9uIG5hbWVcbiAgICogQHJldHVybnMge3N0cmluZ30gTm9ybWFsaXplZCBleHRlbnNpb24gbmFtZVxuICAgKi9cbiAgc3RhdGljIHRvTm9ybWFsaXplZEV4dE5hbWUoZXh0TmFtZSkge1xuICAgIHJldHVybiBfLmtlYmFiQ2FzZShleHROYW1lKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGVuIGdpdmVuIHRoZSByb290IElEIG9mIGEgc2NoZW1hIGZvciBhbiBleHRlbnNpb24gKGA8ZXh0VHlwZT4tPG5vcm1hbGl6ZWRFeHROYW1lPi5qc29uYCkgUmV0dXJucyBhbiBvYmplY3QgY29udGFpbmluZyB0aGUgZXh0ZW5zaW9uIHR5cGUgYW5kIHRoZSBfbm9ybWFsaXplZF8gZXh0ZW5zaW9uIG5hbWUuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBzY2hlbWFJZCAtIFJvb3Qgc2NoZW1hIElEXG4gICAqIEByZXR1cm5zIHsge2V4dFR5cGU/OiBFeHRlbnNpb25UeXBlLCBub3JtYWxpemVkRXh0TmFtZT86IHN0cmluZ30gfVxuICAgKi9cbiAgc3RhdGljIGV4dGVuc2lvbkluZm9Gcm9tUm9vdFNjaGVtYUlkKHNjaGVtYUlkKSB7XG4gICAgY29uc3QgbWF0Y2hlcyA9IHNjaGVtYUlkLm1hdGNoKFNDSEVNQV9JRF9SRUdFWFApO1xuICAgIGlmIChtYXRjaGVzPy5ncm91cHMpIHtcbiAgICAgIGNvbnN0IHtleHRUeXBlLCBub3JtYWxpemVkRXh0TmFtZX0gPVxuICAgICAgICAvKiogQHR5cGUgeyB7ZXh0VHlwZTogRXh0ZW5zaW9uVHlwZSwgbm9ybWFsaXplZEV4dE5hbWU6IHN0cmluZ30gfSAqLyAobWF0Y2hlcy5ncm91cHMpO1xuICAgICAgcmV0dXJuIHtleHRUeXBlLCBub3JtYWxpemVkRXh0TmFtZX07XG4gICAgfVxuICAgIHJldHVybiB7fTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGFuIGBBcmdTcGVjYFxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gbmFtZSAtIFRoZSBjYW5vbmljYWwgbmFtZSBvZiB0aGUgYXJndW1lbnQuIENvcnJlc3BvbmRzIHRvIGEga2V5IGluIGEgc2NoZW1hJ3NcbiAgICogYHByb3BlcnRpZXNgIHByb3BlcnR5LlxuICAgKiBAdGVtcGxhdGUgRFxuICAgKiBAcGFyYW0ge0FyZ1NwZWNPcHRpb25zPEQ+fSBbb3B0c10gLSBPcHRpb25zXG4gICAqIEByZXR1cm5zIHtSZWFkb25seTxBcmdTcGVjPn1cbiAgICovXG4gIHN0YXRpYyBjcmVhdGUobmFtZSwgb3B0cykge1xuICAgIHJldHVybiBPYmplY3QuZnJlZXplKG5ldyBBcmdTcGVjKG5hbWUsIG9wdHMpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdHJpbmcgcmVwcmVzZW50YXRpb24sIHVzZWZ1bCBmb3IgZGVidWdnaW5nXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9XG4gICAqL1xuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICB0b1N0cmluZygpIHtcbiAgICBsZXQgc3RyID0gYFtBcmdTcGVjXSAke3RoaXMubmFtZX0gKCR7dGhpcy5yZWZ9KWA7XG4gICAgaWYgKHRoaXMuZXh0VHlwZSAmJiB0aGlzLmV4dE5hbWUpIHtcbiAgICAgIHN0ciArPSBgIChleHQ6ICR7dGhpcy5leHRUeXBlfS8ke3RoaXMuZXh0TmFtZX0pYDtcbiAgICB9XG4gICAgcmV0dXJuIHN0cjtcbiAgfVxufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIHtAbGluayBBcmdTcGVjLmNyZWF0ZX1cbiAqIEB0ZW1wbGF0ZSBEXG4gKiBAdHlwZWRlZiBBcmdTcGVjT3B0aW9uc1xuICogQHByb3BlcnR5IHtzdHJpbmd9IFtleHROYW1lXVxuICogQHByb3BlcnR5IHtFeHRlbnNpb25UeXBlfSBbZXh0VHlwZV1cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbZGVzdF1cbiAqIEBwcm9wZXJ0eSB7RH0gW2RlZmF1bHRWYWx1ZV1cbiAqL1xuXG4vKipcbiAqIEB0eXBlZGVmIHtpbXBvcnQoJy4uL2V4dGVuc2lvbi9tYW5pZmVzdCcpLkV4dGVuc2lvblR5cGV9IEV4dGVuc2lvblR5cGVcbiAqL1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBOztBQU1PLE1BQU1BLHVCQUF1QixHQUFHLGFBQWhDOztBQU9BLE1BQU1DLGdCQUFnQixHQUFHLFFBQXpCOztBQUtQLE1BQU1DLGdCQUFnQixHQUFHLGtEQUF6QjtBQUtBLE1BQU1DLFVBQVUsR0FBRyxZQUFuQjs7QUFTTyxNQUFNQyxPQUFOLENBQWM7RUFLbkJDLElBQUk7RUFPSkMsT0FBTztFQVFQQyxPQUFPO0VBT1BDLEdBQUc7RUFNSEMsR0FBRztFQVNIQyxJQUFJO0VBS0pDLE9BQU87RUFPUEMsWUFBWTs7RUFZWkMsV0FBVyxDQUFDUixJQUFELEVBQU87SUFBQ0MsT0FBRDtJQUFVQyxPQUFWO0lBQW1CRyxJQUFuQjtJQUF5QkU7RUFBekIsSUFBeUMsRUFBaEQsRUFBb0Q7SUFHN0QsTUFBTUgsR0FBRyxHQUFHTCxPQUFPLENBQUNVLEtBQVIsQ0FBY1QsSUFBZCxFQUFvQkMsT0FBcEIsRUFBNkJDLE9BQTdCLENBQVo7SUFFQSxNQUFNQyxHQUFHLEdBQUdKLE9BQU8sQ0FBQ1csV0FBUixDQUFvQlYsSUFBcEIsRUFBMEJDLE9BQTFCLEVBQW1DQyxPQUFuQyxDQUFaOztJQUlBLE1BQU1JLE9BQU8sR0FBR0ssZUFBQSxDQUFFQyxTQUFGLENBQVlQLElBQVosYUFBWUEsSUFBWixjQUFZQSxJQUFaLEdBQW9CTCxJQUFwQixDQUFoQjs7SUFFQSxNQUFNYSxXQUFXLEdBQUdaLE9BQU8sSUFBSUMsT0FBWCxHQUFxQixDQUFDRCxPQUFELEVBQVVDLE9BQVYsRUFBbUJJLE9BQW5C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
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Converts the finalized, flattened schema representation into
3
+ * ArgumentDefinitions for handoff to `argparse`.
4
+ *
5
+ * @throws If schema has not been added to ajv (via `finalizeSchema()`)
6
+ * @returns {import('../cli/args').ArgumentDefinitions} A map of arryas of
7
+ * aliases to `argparse` arguments; empty if no schema found
8
+ */
9
+ export function toParserArgs(): import('../cli/args').ArgumentDefinitions;
10
+ /**
11
+ * <T>
12
+ */
13
+ export type FormatValidator<T> = import('ajv/dist/types').FormatValidator<T>;
14
+ /**
15
+ * A JSON 7 schema with our custom keywords.
16
+ */
17
+ export type AppiumJSONSchema = import('./keywords').AppiumJSONSchemaKeywords & import('json-schema').JSONSchema7;
18
+ export type ArgSpec = import("./arg-spec").ArgSpec<any>;
19
+ //# sourceMappingURL=cli-args.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-args.d.ts","sourceRoot":"","sources":["../../../lib/schema/cli-args.js"],"names":[],"mappings":"AAoNA;;;;;;;GAOG;AACH,gCAHa,OAAO,aAAa,EAAE,mBAAmB,CAMrD;;;;iCAIY,OAAO,gBAAgB,EAAE,eAAe,CAAC,CAAC,CAAC;;;;+BAK3C,OAAO,YAAY,EAAE,wBAAwB,GAAG,OAAO,aAAa,EAAE,WAAW"}
@@ -0,0 +1,180 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.toParserArgs = toParserArgs;
9
+
10
+ require("source-map-support/register");
11
+
12
+ var _argparse = require("argparse");
13
+
14
+ var _lodash = _interopRequireDefault(require("lodash"));
15
+
16
+ var _configFile = require("../config-file");
17
+
18
+ var _schema = require("./schema");
19
+
20
+ var _cliTransformers = require("./cli-transformers");
21
+
22
+ const TYPENAMES = Object.freeze({
23
+ ARRAY: 'array',
24
+ OBJECT: 'object',
25
+ BOOLEAN: 'boolean',
26
+ INTEGER: 'integer',
27
+ NUMBER: 'number',
28
+ NULL: 'null',
29
+ STRING: 'string'
30
+ });
31
+ const SHORT_ARG_CUTOFF = 3;
32
+
33
+ function aliasToFlag(argSpec, alias) {
34
+ const {
35
+ extType,
36
+ extName,
37
+ name
38
+ } = argSpec;
39
+ const arg = alias !== null && alias !== void 0 ? alias : name;
40
+ const isShort = arg.length < SHORT_ARG_CUTOFF;
41
+
42
+ if (extType && extName) {
43
+ return isShort ? `--${extType}-${_lodash.default.kebabCase(extName)}-${arg}` : `--${extType}-${_lodash.default.kebabCase(extName)}-${_lodash.default.kebabCase(arg)}`;
44
+ }
45
+
46
+ return isShort ? `-${arg}` : `--${_lodash.default.kebabCase(arg)}`;
47
+ }
48
+
49
+ const screamingSnakeCase = _lodash.default.flow(_lodash.default.snakeCase, _lodash.default.toUpper);
50
+
51
+ function getSchemaValidator({
52
+ ref: schemaId
53
+ }, coerce = _lodash.default.identity) {
54
+ return value => {
55
+ const coerced = coerce(value);
56
+ const errors = (0, _schema.validate)(coerced, schemaId);
57
+
58
+ if (_lodash.default.isEmpty(errors)) {
59
+ return coerced;
60
+ }
61
+
62
+ throw new _argparse.ArgumentTypeError('\n\n' + (0, _configFile.formatErrors)(errors, value, {
63
+ schemaId
64
+ }));
65
+ };
66
+ }
67
+
68
+ function makeDescription(schema) {
69
+ const {
70
+ appiumCliDescription,
71
+ description = '',
72
+ appiumDeprecated
73
+ } = schema;
74
+ let desc = appiumCliDescription !== null && appiumCliDescription !== void 0 ? appiumCliDescription : description;
75
+
76
+ if (appiumDeprecated) {
77
+ desc = `[DEPRECATED] ${desc}`;
78
+ }
79
+
80
+ return desc;
81
+ }
82
+
83
+ function subSchemaToArgDef(subSchema, argSpec) {
84
+ let {
85
+ type,
86
+ appiumCliAliases,
87
+ appiumCliTransformer,
88
+ enum: enumValues
89
+ } = subSchema;
90
+ const {
91
+ name,
92
+ arg
93
+ } = argSpec;
94
+ const aliases = [aliasToFlag(argSpec), ...(appiumCliAliases !== null && appiumCliAliases !== void 0 ? appiumCliAliases : []).map(alias => aliasToFlag(argSpec, alias))];
95
+ let argOpts = {
96
+ required: false,
97
+ help: makeDescription(subSchema)
98
+ };
99
+ let argTypeFunction;
100
+
101
+ switch (type) {
102
+ case TYPENAMES.BOOLEAN:
103
+ {
104
+ argOpts.action = 'store_const';
105
+ argOpts.const = true;
106
+ break;
107
+ }
108
+
109
+ case TYPENAMES.OBJECT:
110
+ {
111
+ argTypeFunction = _cliTransformers.transformers.json;
112
+ break;
113
+ }
114
+
115
+ case TYPENAMES.ARRAY:
116
+ {
117
+ argTypeFunction = _cliTransformers.transformers.csv;
118
+ break;
119
+ }
120
+
121
+ case TYPENAMES.NUMBER:
122
+ {
123
+ argTypeFunction = getSchemaValidator(argSpec, parseFloat);
124
+ break;
125
+ }
126
+
127
+ case TYPENAMES.INTEGER:
128
+ {
129
+ argTypeFunction = getSchemaValidator(argSpec, _lodash.default.parseInt);
130
+ break;
131
+ }
132
+
133
+ case TYPENAMES.STRING:
134
+ {
135
+ argTypeFunction = getSchemaValidator(argSpec);
136
+ break;
137
+ }
138
+
139
+ case TYPENAMES.NULL:
140
+ default:
141
+ {
142
+ throw new TypeError(`Schema property "${arg}": \`${type}\` type unknown or disallowed`);
143
+ }
144
+ }
145
+
146
+ if (type !== TYPENAMES.BOOLEAN) {
147
+ argOpts.metavar = screamingSnakeCase(name);
148
+ }
149
+
150
+ if (type !== TYPENAMES.ARRAY && type !== TYPENAMES.OBJECT && appiumCliTransformer) {
151
+ var _argTypeFunction;
152
+
153
+ argTypeFunction = _lodash.default.flow((_argTypeFunction = argTypeFunction) !== null && _argTypeFunction !== void 0 ? _argTypeFunction : _lodash.default.identity, _cliTransformers.transformers[appiumCliTransformer]);
154
+ }
155
+
156
+ if (argTypeFunction) {
157
+ argOpts.type = argTypeFunction;
158
+ }
159
+
160
+ if (enumValues && !_lodash.default.isEmpty(enumValues)) {
161
+ if (type === TYPENAMES.STRING) {
162
+ argOpts.choices = enumValues.map(String);
163
+ } else {
164
+ throw new TypeError(`Problem with schema for ${arg}; \`enum\` is only supported for \`type: 'string'\``);
165
+ }
166
+ }
167
+
168
+ return [aliases, argOpts];
169
+ }
170
+
171
+ function toParserArgs() {
172
+ const flattened = (0, _schema.flattenSchema)().filter(({
173
+ schema
174
+ }) => !schema.appiumCliIgnored);
175
+ return new Map(_lodash.default.map(flattened, ({
176
+ schema,
177
+ argSpec
178
+ }) => subSchemaToArgDef(schema, argSpec)));
179
+ }
180
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJUWVBFTkFNRVMiLCJPYmplY3QiLCJmcmVlemUiLCJBUlJBWSIsIk9CSkVDVCIsIkJPT0xFQU4iLCJJTlRFR0VSIiwiTlVNQkVSIiwiTlVMTCIsIlNUUklORyIsIlNIT1JUX0FSR19DVVRPRkYiLCJhbGlhc1RvRmxhZyIsImFyZ1NwZWMiLCJhbGlhcyIsImV4dFR5cGUiLCJleHROYW1lIiwibmFtZSIsImFyZyIsImlzU2hvcnQiLCJsZW5ndGgiLCJfIiwia2ViYWJDYXNlIiwic2NyZWFtaW5nU25ha2VDYXNlIiwiZmxvdyIsInNuYWtlQ2FzZSIsInRvVXBwZXIiLCJnZXRTY2hlbWFWYWxpZGF0b3IiLCJyZWYiLCJzY2hlbWFJZCIsImNvZXJjZSIsImlkZW50aXR5IiwidmFsdWUiLCJjb2VyY2VkIiwiZXJyb3JzIiwidmFsaWRhdGUiLCJpc0VtcHR5IiwiQXJndW1lbnRUeXBlRXJyb3IiLCJmb3JtYXRFcnJvcnMiLCJtYWtlRGVzY3JpcHRpb24iLCJzY2hlbWEiLCJhcHBpdW1DbGlEZXNjcmlwdGlvbiIsImRlc2NyaXB0aW9uIiwiYXBwaXVtRGVwcmVjYXRlZCIsImRlc2MiLCJzdWJTY2hlbWFUb0FyZ0RlZiIsInN1YlNjaGVtYSIsInR5cGUiLCJhcHBpdW1DbGlBbGlhc2VzIiwiYXBwaXVtQ2xpVHJhbnNmb3JtZXIiLCJlbnVtIiwiZW51bVZhbHVlcyIsImFsaWFzZXMiLCJtYXAiLCJhcmdPcHRzIiwicmVxdWlyZWQiLCJoZWxwIiwiYXJnVHlwZUZ1bmN0aW9uIiwiYWN0aW9uIiwiY29uc3QiLCJ0cmFuc2Zvcm1lcnMiLCJqc29uIiwiY3N2IiwicGFyc2VGbG9hdCIsInBhcnNlSW50IiwiVHlwZUVycm9yIiwibWV0YXZhciIsImNob2ljZXMiLCJTdHJpbmciLCJ0b1BhcnNlckFyZ3MiLCJmbGF0dGVuZWQiLCJmbGF0dGVuU2NoZW1hIiwiZmlsdGVyIiwiYXBwaXVtQ2xpSWdub3JlZCIsIk1hcCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9zY2hlbWEvY2xpLWFyZ3MuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBcmd1bWVudFR5cGVFcnJvcn0gZnJvbSAnYXJncGFyc2UnO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7Zm9ybWF0RXJyb3JzIGFzIGZvcm1hdEVycm9yc30gZnJvbSAnLi4vY29uZmlnLWZpbGUnO1xuaW1wb3J0IHtmbGF0dGVuU2NoZW1hLCB2YWxpZGF0ZX0gZnJvbSAnLi9zY2hlbWEnO1xuaW1wb3J0IHt0cmFuc2Zvcm1lcnN9IGZyb20gJy4vY2xpLXRyYW5zZm9ybWVycyc7XG5cbi8qKlxuICogVGhpcyBtb2R1bGUgY29uY2VybnMgZnVuY3Rpb25zIHdoaWNoIGNvbnZlcnQgc2NoZW1hIGRlZmluaXRpb25zIHRvXG4gKiBgYXJncGFyc2VgLWNvbXBhdGlibGUgZGF0YSBzdHJ1Y3R1cmVzLCBmb3IgZGVyaXZpbmcgQ0xJIGFyZ3VtZW50cyBmcm9tIGFcbiAqIHNjaGVtYS5cbiAqL1xuXG4vKipcbiAqIExvb2t1cCBvZiBwb3NzaWJsZSB2YWx1ZXMgZm9yIHRoZSBgdHlwZWAgZmllbGQgaW4gYSBKU09OIHNjaGVtYS5cbiAqIEB0eXBlIHtSZWFkb25seTxSZWNvcmQ8c3RyaW5nLCBpbXBvcnQoJ2pzb24tc2NoZW1hJykuSlNPTlNjaGVtYTdUeXBlTmFtZT4+fVxuICovXG5jb25zdCBUWVBFTkFNRVMgPSBPYmplY3QuZnJlZXplKHtcbiAgQVJSQVk6ICdhcnJheScsXG4gIE9CSkVDVDogJ29iamVjdCcsXG4gIEJPT0xFQU46ICdib29sZWFuJyxcbiAgSU5URUdFUjogJ2ludGVnZXInLFxuICBOVU1CRVI6ICdudW1iZXInLFxuICBOVUxMOiAnbnVsbCcsXG4gIFNUUklORzogJ3N0cmluZycsXG59KTtcblxuLyoqXG4gKiBPcHRpb25zIHdpdGggYWxpYXMgbGVuZ3RocyBsZXNzIHRoYW4gdGhpcyB3aWxsIGJlIGNvbnNpZGVyZWQgXCJzaG9ydFwiIGZsYWdzLlxuICovXG5jb25zdCBTSE9SVF9BUkdfQ1VUT0ZGID0gMztcblxuLyoqXG4gKiBDb252ZXJ0IGFuIGFsaWFzIChgZm9vYCkgdG8gYSBmbGFnIChgLS1mb29gKSBvciBhIHNob3J0IGZsYWcgKGAtZmApLlxuICogQHBhcmFtIHtBcmdTcGVjfSBhcmdTcGVjIC0gdGhlIGFyZ3VtZW50IHNwZWNpZmljYXRpb25cbiAqIEBwYXJhbSB7c3RyaW5nfSBbYWxpYXNdIC0gdGhlIGFsaWFzIHRvIGNvbnZlcnQgdG8gYSBmbGFnXG4gKiBAcmV0dXJucyB7c3RyaW5nfSB0aGUgZmxhZ1xuICovXG5mdW5jdGlvbiBhbGlhc1RvRmxhZyhhcmdTcGVjLCBhbGlhcykge1xuICBjb25zdCB7ZXh0VHlwZSwgZXh0TmFtZSwgbmFtZX0gPSBhcmdTcGVjO1xuICBjb25zdCBhcmcgPSBhbGlhcyA/PyBuYW1lO1xuICBjb25zdCBpc1Nob3J0ID0gYXJnLmxlbmd0aCA8IFNIT1JUX0FSR19DVVRPRkY7XG4gIGlmIChleHRUeXBlICYmIGV4dE5hbWUpIHtcbiAgICByZXR1cm4gaXNTaG9ydFxuICAgICAgPyBgLS0ke2V4dFR5cGV9LSR7Xy5rZWJhYkNhc2UoZXh0TmFtZSl9LSR7YXJnfWBcbiAgICAgIDogYC0tJHtleHRUeXBlfS0ke18ua2ViYWJDYXNlKGV4dE5hbWUpfS0ke18ua2ViYWJDYXNlKGFyZyl9YDtcbiAgfVxuICByZXR1cm4gaXNTaG9ydCA/IGAtJHthcmd9YCA6IGAtLSR7Xy5rZWJhYkNhc2UoYXJnKX1gO1xufVxuXG4vKipcbiAqIENvbnZlcnRzIGEgc3RyaW5nIHRvIFNDUkVBTUlOR19TTkFLRV9DQVNFXG4gKi9cbmNvbnN0IHNjcmVhbWluZ1NuYWtlQ2FzZSA9IF8uZmxvdyhfLnNuYWtlQ2FzZSwgXy50b1VwcGVyKTtcblxuLyoqXG4gKiBHaXZlbiB1bmlxdWUgcHJvcGVydHkgbmFtZSBgbmFtZWAsIHJldHVybiBhIGZ1bmN0aW9uIHdoaWNoIHZhbGlkYXRlcyBhIHZhbHVlXG4gKiBhZ2FpbnN0IGEgcHJvcGVydHkgd2l0aGluIHRoZSBzY2hlbWEuXG4gKiBAdGVtcGxhdGUgQ29lcmNlZFxuICogQHBhcmFtIHtBcmdTcGVjfSBhcmdTcGVjIC0gQXJndW1lbnQgbmFtZVxuICogQHBhcmFtIHsodmFsdWU6IHN0cmluZykgPT4gQ29lcmNlZH0gW2NvZXJjZV0gLSBGdW5jdGlvbiB0byBjb2VyY2UgdG8gYSBkaWZmZXJlbnRcbiAqIHByaW1pdGl2ZVxuICogQHRvZG8gU2VlIGlmIHdlIGNhbiByZW1vdmUgYGNvZXJjZWAgYnkgYWxsb3dpbmcgQWp2IHRvIGNvZXJjZSBpbiBpdHNcbiAqIGNvbnN0cnVjdG9yIG9wdGlvbnNcbiAqIEByZXR1cm5zXG4gKi9cbmZ1bmN0aW9uIGdldFNjaGVtYVZhbGlkYXRvcih7cmVmOiBzY2hlbWFJZH0sIGNvZXJjZSA9IF8uaWRlbnRpdHkpIHtcbiAgLyoqIEBwYXJhbSB7c3RyaW5nfSB2YWx1ZSAqL1xuICByZXR1cm4gKHZhbHVlKSA9PiB7XG4gICAgY29uc3QgY29lcmNlZCA9IGNvZXJjZSh2YWx1ZSk7XG4gICAgY29uc3QgZXJyb3JzID0gdmFsaWRhdGUoY29lcmNlZCwgc2NoZW1hSWQpO1xuICAgIGlmIChfLmlzRW1wdHkoZXJyb3JzKSkge1xuICAgICAgcmV0dXJuIGNvZXJjZWQ7XG4gICAgfVxuICAgIHRocm93IG5ldyBBcmd1bWVudFR5cGVFcnJvcignXFxuXFxuJyArIGZvcm1hdEVycm9ycyhlcnJvcnMsIHZhbHVlLCB7c2NoZW1hSWR9KSk7XG4gIH07XG59XG5cbi8qKlxuICogRGV0ZXJtaW5lIHRoZSBkZXNjcmlwdGlvbiBmb3IgZGlzcGxheSBvbiB0aGUgQ0xJLCBnaXZlbiB0aGUgc2NoZW1hLlxuICogQHBhcmFtIHtBcHBpdW1KU09OU2NoZW1hfSBzY2hlbWFcbiAqIEByZXR1cm5zIHtzdHJpbmd9XG4gKi9cbmZ1bmN0aW9uIG1ha2VEZXNjcmlwdGlvbihzY2hlbWEpIHtcbiAgY29uc3Qge2FwcGl1bUNsaURlc2NyaXB0aW9uLCBkZXNjcmlwdGlvbiA9ICcnLCBhcHBpdW1EZXByZWNhdGVkfSA9IHNjaGVtYTtcbiAgbGV0IGRlc2MgPSBhcHBpdW1DbGlEZXNjcmlwdGlvbiA/PyBkZXNjcmlwdGlvbjtcbiAgaWYgKGFwcGl1bURlcHJlY2F0ZWQpIHtcbiAgICBkZXNjID0gYFtERVBSRUNBVEVEXSAke2Rlc2N9YDtcbiAgfVxuICByZXR1cm4gZGVzYztcbn1cblxuLyoqXG4gKiBHaXZlbiBhcmcgYG5hbWVgLCBhIEpTT04gc2NoZW1hIGBzdWJTY2hlbWFgLCBhbmQgb3B0aW9ucywgcmV0dXJuIGFuIGFyZ3VtZW50IGRlZmluaXRpb25cbiAqIGFzIHVuZGVyc3Rvb2QgYnkgYGFyZ3BhcnNlYC5cbiAqIEBwYXJhbSB7QXBwaXVtSlNPTlNjaGVtYX0gc3ViU2NoZW1hIC0gSlNPTiBzY2hlbWEgZm9yIHRoZSBvcHRpb25cbiAqIEBwYXJhbSB7QXJnU3BlY30gYXJnU3BlYyAtIEFyZ3VtZW50IHNwZWMgdHVwbGVcbiAqIEByZXR1cm5zIHtbc3RyaW5nW10sIGltcG9ydCgnYXJncGFyc2UnKS5Bcmd1bWVudE9wdGlvbnNdfSBUdXBsZSBvZiBmbGFnIGFuZCBvcHRpb25zXG4gKi9cbmZ1bmN0aW9uIHN1YlNjaGVtYVRvQXJnRGVmKHN1YlNjaGVtYSwgYXJnU3BlYykge1xuICBsZXQge3R5cGUsIGFwcGl1bUNsaUFsaWFzZXMsIGFwcGl1bUNsaVRyYW5zZm9ybWVyLCBlbnVtOiBlbnVtVmFsdWVzfSA9IHN1YlNjaGVtYTtcblxuICBjb25zdCB7bmFtZSwgYXJnfSA9IGFyZ1NwZWM7XG5cbiAgY29uc3QgYWxpYXNlcyA9IFtcbiAgICBhbGlhc1RvRmxhZyhhcmdTcGVjKSxcbiAgICAuLi4vKiogQHR5cGUge3N0cmluZ1tdfSAqLyAoYXBwaXVtQ2xpQWxpYXNlcyA/PyBbXSkubWFwKChhbGlhcykgPT4gYWxpYXNUb0ZsYWcoYXJnU3BlYywgYWxpYXMpKSxcbiAgXTtcblxuICAvKiogQHR5cGUge2ltcG9ydCgnYXJncGFyc2UnKS5Bcmd1bWVudE9wdGlvbnN9ICovXG4gIGxldCBhcmdPcHRzID0ge1xuICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICBoZWxwOiBtYWtlRGVzY3JpcHRpb24oc3ViU2NoZW1hKSxcbiAgfTtcblxuICAvKipcbiAgICogR2VuZXJhbGx5IHdlIHdpbGwgcHJvdmlkZSBhIGB0eXBlYCB0byBgYXJncGFyc2VgIGFzIGEgZnVuY3Rpb24gd2hpY2hcbiAgICogdmFsaWRhdGVzIHVzaW5nIGFqdiAod2hpY2ggaXMgbXVjaCBtb3JlIGZ1bGwtZmVhdHVyZWQgdGhhbiB3aGF0IGBhcmdwYXJzZWBcbiAgICogY2FuIG9mZmVyKS4gVGhlIGV4Y2VwdGlvbiBpcyBgYm9vbGVhbmAtdHlwZSBvcHRpb25zLCB3aGljaCBoYXZlIG5vXG4gICAqIGBhcmdUeXBlYC5cbiAgICpcbiAgICogTm90IHN1cmUgaWYgdGhpcyB0eXBlIGlzIGNvcnJlY3QsIGJ1dCBpdCdzIG5vdCBkb2luZyB3aGF0IEkgd2FudC4gIEkgd2FudFxuICAgKiB0byBzYXkgXCJ0aGlzIGlzIGEgZnVuY3Rpb24gd2hpY2ggcmV0dXJucyBzb21ldGhpbmcgb2YgdHlwZSBgVGAgd2hlcmUgYFRgIGlzXG4gICAqIG5ldmVyIGEgYFByb21pc2VgXCIuICBUaGlzIGZ1bmN0aW9uIG11c3QgYmUgc3luYy5cbiAgICogQHR5cGUgeygodmFsdWU6IHN0cmluZykgPT4gdW5rbm93bil8dW5kZWZpbmVkfVxuICAgKi9cbiAgbGV0IGFyZ1R5cGVGdW5jdGlvbjtcblxuICAvLyBoYW5kbGUgc3BlY2lhbCBjYXNlcyBmb3IgdmFyaW91cyB0eXBlc1xuICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAvLyBib29sZWFucyBkbyBub3QgaGF2ZSBhIHR5cGUgcGVyIGBBcmd1bWVudE9wdGlvbnNgLCBqdXN0IGFuIFwiYWN0aW9uXCJcbiAgICAvLyBOT1RFOiBkdWUgdG8gbGltaXRhdGlvbnMgb2YgYGFyZ3BhcnNlYCwgd2UgY2Fubm90IHByb3ZpZGUgZmFuY3kgaGVscCB0ZXh0LCBhbmQgbXVzdCByZWx5IG9uIGl0cyBpbnRlcm5hbCBlcnJvciBtZXNzYWdpbmcuXG4gICAgY2FzZSBUWVBFTkFNRVMuQk9PTEVBTjoge1xuICAgICAgYXJnT3B0cy5hY3Rpb24gPSAnc3RvcmVfY29uc3QnO1xuICAgICAgYXJnT3B0cy5jb25zdCA9IHRydWU7XG4gICAgICBicmVhaztcbiAgICB9XG5cbiAgICBjYXNlIFRZUEVOQU1FUy5PQkpFQ1Q6IHtcbiAgICAgIGFyZ1R5cGVGdW5jdGlvbiA9IHRyYW5zZm9ybWVycy5qc29uO1xuICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgLy8gYXJyYXlzIGFyZSB0cmVhdGVkIGFzIENTVnMsIGJlY2F1c2UgYGFyZ3BhcnNlYCBkb2Vzbid0IGhhbmRsZSBhcnJheSBkYXRhLlxuICAgIGNhc2UgVFlQRU5BTUVTLkFSUkFZOiB7XG4gICAgICBhcmdUeXBlRnVuY3Rpb24gPSB0cmFuc2Zvcm1lcnMuY3N2O1xuICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgLy8gXCJudW1iZXJcIiB0eXBlIGlzIGNvZXJjZWQgdG8gZmxvYXQuIGBhcmdwYXJzZWAgZG9lcyB0aGlzIGZvciB1cyBpZiB3ZSB1c2UgYGZsb2F0YCB0eXBlLCBidXRcbiAgICAvLyB3ZSBkb24ndC5cbiAgICBjYXNlIFRZUEVOQU1FUy5OVU1CRVI6IHtcbiAgICAgIGFyZ1R5cGVGdW5jdGlvbiA9IGdldFNjaGVtYVZhbGlkYXRvcihhcmdTcGVjLCBwYXJzZUZsb2F0KTtcbiAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIC8vIFwiaW50ZWdlclwiIGlzIGNvZXJjZWQgdG8gYW4gLi4gaW50ZWdlci4gIGFnYWluLCBgYXJncGFyc2VgIHdvdWxkIGRvIHRoaXMgZm9yIHVzIGlmIHdlIHVzZWQgYGludGAuXG4gICAgY2FzZSBUWVBFTkFNRVMuSU5URUdFUjoge1xuICAgICAgYXJnVHlwZUZ1bmN0aW9uID0gZ2V0U2NoZW1hVmFsaWRhdG9yKGFyZ1NwZWMsIF8ucGFyc2VJbnQpO1xuICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgLy8gc3RyaW5ncyAobGlrZSBudW1iZXIgYW5kIGludGVnZXIpIGFyZSBzdWJqZWN0IHRvIGZ1cnRoZXIgdmFsaWRhdGlvblxuICAgIC8vIChlLmcuLCBtdXN0IHNhdGlzZnkgYSBtYXNrIG9yIHJlZ2V4IG9yIGV2ZW4gc29tZSBjdXN0b20gdmFsaWRhdGlvblxuICAgIC8vIGZ1bmN0aW9uKVxuICAgIGNhc2UgVFlQRU5BTUVTLlNUUklORzoge1xuICAgICAgYXJnVHlwZUZ1bmN0aW9uID0gZ2V0U2NoZW1hVmFsaWRhdG9yKGFyZ1NwZWMpO1xuICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgLy8gVE9ETzogdGhlcmUgbWF5IGJlIHNvbWUgd2F5IHRvIHJlc3RyaWN0IHRoaXMgYXQgdGhlIEFqdiBsZXZlbCAtLVxuICAgIC8vIHRoYXQgbWF5IGludm9sdmUgcGF0Y2hpbmcgdGhlIG1ldGFzY2hlbWEuXG4gICAgY2FzZSBUWVBFTkFNRVMuTlVMTDpcbiAgICAvLyBmYWxscyB0aHJvdWdoXG4gICAgZGVmYXVsdDoge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihgU2NoZW1hIHByb3BlcnR5IFwiJHthcmd9XCI6IFxcYCR7dHlwZX1cXGAgdHlwZSB1bmtub3duIG9yIGRpc2FsbG93ZWRgKTtcbiAgICB9XG4gIH1cblxuICAvLyBtZXRhdmFyIGlzIHVzZWQgaW4gaGVscCB0ZXh0LiBgYm9vbGVhbmAgY2Fubm90IGhhdmUgYSBtZXRhdmFyLS1pdCBpcyBub3RcbiAgLy8gZGlzcGxheWVkLS1hbmQgYGFyZ3BhcnNlYCB0aHJvd3MgaWYgeW91IGdpdmUgaXQgb25lLlxuICBpZiAodHlwZSAhPT0gVFlQRU5BTUVTLkJPT0xFQU4pIHtcbiAgICBhcmdPcHRzLm1ldGF2YXIgPSBzY3JlYW1pbmdTbmFrZUNhc2UobmFtZSk7XG4gIH1cblxuICAvLyB0aGUgdmFsaWRpdHkgb2YgXCJhcHBpdW1DbGlUcmFuc2Zvcm1lclwiIHNob3VsZCBhbHJlYWR5IGhhdmUgYmVlbiBkZXRlcm1pbmVkXG4gIC8vIGJ5IGFqdiBkdXJpbmcgc2NoZW1hIHZhbGlkYXRpb24gaW4gYGZpbmFsaXplU2NoZW1hKClgLiB0aGUgYGFycmF5YCAmXG4gIC8vIGBvYmplY3RgIHR5cGVzIGhhdmUgYWxyZWFkeSBhZGRlZCBhIGZvcm1hdHRlciAoc2VlIGFib3ZlLCBzbyB3ZSBkb24ndCBkbyBpdFxuICAvLyB0d2ljZSkuXG4gIGlmICh0eXBlICE9PSBUWVBFTkFNRVMuQVJSQVkgJiYgdHlwZSAhPT0gVFlQRU5BTUVTLk9CSkVDVCAmJiBhcHBpdW1DbGlUcmFuc2Zvcm1lcikge1xuICAgIGFyZ1R5cGVGdW5jdGlvbiA9IF8uZmxvdyhhcmdUeXBlRnVuY3Rpb24gPz8gXy5pZGVudGl0eSwgdHJhbnNmb3JtZXJzW2FwcGl1bUNsaVRyYW5zZm9ybWVyXSk7XG4gIH1cblxuICBpZiAoYXJnVHlwZUZ1bmN0aW9uKSB7XG4gICAgYXJnT3B0cy50eXBlID0gYXJnVHlwZUZ1bmN0aW9uO1xuICB9XG5cbiAgLy8gY29udmVydCBKU09OIHNjaGVtYSBgZW51bWAgdG8gYGNob2ljZXNgLiBgZW51bWAgY2FuIGNvbnRhaW4gYW55IEpTT04gdHlwZSwgYnV0IGBhcmdwYXJzZWBcbiAgLy8gaXMgbGltaXRlZCB0byBhIHNpbmdsZSB0eXBlIHBlciBhcmcgKEkgdGhpbmspLiAgc28gbGV0J3MgbWFrZSBldmVyeXRoaW5nIGEgc3RyaW5nLlxuICAvLyBhbmQgbWlnaHQgYXMgd2VsbCBfcmVxdWlyZV8gdGhlIGB0eXBlOiBzdHJpbmdgIHdoaWxlIHdlJ3JlIGF0IGl0LlxuICBpZiAoZW51bVZhbHVlcyAmJiAhXy5pc0VtcHR5KGVudW1WYWx1ZXMpKSB7XG4gICAgaWYgKHR5cGUgPT09IFRZUEVOQU1FUy5TVFJJTkcpIHtcbiAgICAgIGFyZ09wdHMuY2hvaWNlcyA9IGVudW1WYWx1ZXMubWFwKFN0cmluZyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXG4gICAgICAgIGBQcm9ibGVtIHdpdGggc2NoZW1hIGZvciAke2FyZ307IFxcYGVudW1cXGAgaXMgb25seSBzdXBwb3J0ZWQgZm9yIFxcYHR5cGU6ICdzdHJpbmcnXFxgYFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gW2FsaWFzZXMsIGFyZ09wdHNdO1xufVxuXG4vKipcbiAqIENvbnZlcnRzIHRoZSBmaW5hbGl6ZWQsIGZsYXR0ZW5lZCBzY2hlbWEgcmVwcmVzZW50YXRpb24gaW50b1xuICogQXJndW1lbnREZWZpbml0aW9ucyBmb3IgaGFuZG9mZiB0byBgYXJncGFyc2VgLlxuICpcbiAqIEB0aHJvd3MgSWYgc2NoZW1hIGhhcyBub3QgYmVlbiBhZGRlZCB0byBhanYgKHZpYSBgZmluYWxpemVTY2hlbWEoKWApXG4gKiBAcmV0dXJucyB7aW1wb3J0KCcuLi9jbGkvYXJncycpLkFyZ3VtZW50RGVmaW5pdGlvbnN9IEEgbWFwIG9mIGFycnlhcyBvZlxuICogYWxpYXNlcyB0byBgYXJncGFyc2VgIGFyZ3VtZW50czsgZW1wdHkgaWYgbm8gc2NoZW1hIGZvdW5kXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0b1BhcnNlckFyZ3MoKSB7XG4gIGNvbnN0IGZsYXR0ZW5lZCA9IGZsYXR0ZW5TY2hlbWEoKS5maWx0ZXIoKHtzY2hlbWF9KSA9PiAhc2NoZW1hLmFwcGl1bUNsaUlnbm9yZWQpO1xuICByZXR1cm4gbmV3IE1hcChfLm1hcChmbGF0dGVuZWQsICh7c2NoZW1hLCBhcmdTcGVjfSkgPT4gc3ViU2NoZW1hVG9BcmdEZWYoc2NoZW1hLCBhcmdTcGVjKSkpO1xufVxuXG4vKipcbiAqIEB0ZW1wbGF0ZSBUXG4gKiBAdHlwZWRlZiB7aW1wb3J0KCdhanYvZGlzdC90eXBlcycpLkZvcm1hdFZhbGlkYXRvcjxUPn0gRm9ybWF0VmFsaWRhdG9yPFQ+XG4gKi9cblxuLyoqXG4gKiBBIEpTT04gNyBzY2hlbWEgd2l0aCBvdXIgY3VzdG9tIGtleXdvcmRzLlxuICogQHR5cGVkZWYge2ltcG9ydCgnLi9rZXl3b3JkcycpLkFwcGl1bUpTT05TY2hlbWFLZXl3b3JkcyAmIGltcG9ydCgnanNvbi1zY2hlbWEnKS5KU09OU2NoZW1hN30gQXBwaXVtSlNPTlNjaGVtYVxuICovXG5cbi8qKlxu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
@@ -0,0 +1,5 @@
1
+ export namespace transformers {
2
+ function csv(value: string): string[];
3
+ function json(jsonOrPath: string): any;
4
+ }
5
+ //# sourceMappingURL=cli-transformers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-transformers.d.ts","sourceRoot":"","sources":["../../../lib/schema/cli-transformers.js"],"names":[],"mappings":";IA4DO,sCAiBJ;IAOK,uCA6BL"}
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.transformers = void 0;
9
+
10
+ require("source-map-support/register");
11
+
12
+ var _argparse = require("argparse");
13
+
14
+ var _fs = require("fs");
15
+
16
+ var _lodash = _interopRequireDefault(require("lodash"));
17
+
18
+ function parseCsvLine(value) {
19
+ return value.split(',').map(v => v.trim()).filter(Boolean);
20
+ }
21
+
22
+ function parseCsvFile(value) {
23
+ return value.split(/\r?\n/).map(v => v.trim()).filter(Boolean).flatMap(parseCsvLine);
24
+ }
25
+
26
+ const transformers = {
27
+ csv: value => {
28
+ let body;
29
+
30
+ try {
31
+ body = (0, _fs.readFileSync)(value, 'utf8');
32
+ } catch (err) {
33
+ if (err.code !== 'ENOENT') {
34
+ throw new _argparse.ArgumentTypeError(`Could not read file ${body}: ${err.message}`);
35
+ }
36
+ }
37
+
38
+ try {
39
+ return body ? parseCsvFile(body) : parseCsvLine(value);
40
+ } catch (err) {
41
+ throw new _argparse.ArgumentTypeError('Must be a comma-delimited string, e.g., "foo,bar,baz"');
42
+ }
43
+ },
44
+ json: jsonOrPath => {
45
+ let json = jsonOrPath;
46
+ let loadedFromFile = false;
47
+
48
+ try {
49
+ json = (0, _fs.readFileSync)(jsonOrPath, 'utf8');
50
+ loadedFromFile = true;
51
+ } catch (err) {
52
+ if (err.code !== 'ENOENT') {
53
+ throw err;
54
+ }
55
+ }
56
+
57
+ try {
58
+ const result = JSON.parse(json);
59
+
60
+ if (!_lodash.default.isPlainObject(result)) {
61
+ throw new Error(`'${_lodash.default.truncate(result, {
62
+ length: 100
63
+ })}' is not an object`);
64
+ }
65
+
66
+ return result;
67
+ } catch (e) {
68
+ const msg = loadedFromFile ? `The provided value of '${jsonOrPath}' must be a valid JSON` : `The provided value must be a valid JSON`;
69
+ throw new TypeError(`${msg}. Original error: ${e.message}`);
70
+ }
71
+ }
72
+ };
73
+ exports.transformers = transformers;
74
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJwYXJzZUNzdkxpbmUiLCJ2YWx1ZSIsInNwbGl0IiwibWFwIiwidiIsInRyaW0iLCJmaWx0ZXIiLCJCb29sZWFuIiwicGFyc2VDc3ZGaWxlIiwiZmxhdE1hcCIsInRyYW5zZm9ybWVycyIsImNzdiIsImJvZHkiLCJyZWFkRmlsZVN5bmMiLCJlcnIiLCJjb2RlIiwiQXJndW1lbnRUeXBlRXJyb3IiLCJtZXNzYWdlIiwianNvbiIsImpzb25PclBhdGgiLCJsb2FkZWRGcm9tRmlsZSIsInJlc3VsdCIsIkpTT04iLCJwYXJzZSIsIl8iLCJpc1BsYWluT2JqZWN0IiwiRXJyb3IiLCJ0cnVuY2F0ZSIsImxlbmd0aCIsImUiLCJtc2ciLCJUeXBlRXJyb3IiXSwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvc2NoZW1hL2NsaS10cmFuc2Zvcm1lcnMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBcmd1bWVudFR5cGVFcnJvcn0gZnJvbSAnYXJncGFyc2UnO1xuaW1wb3J0IHtyZWFkRmlsZVN5bmN9IGZyb20gJ2ZzJztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5cbi8qKlxuICogVGhpcyBtb2R1bGUgcHJvdmlkZXMgY3VzdG9tIGtleXdvcmRzIGZvciBBcHBpdW0gc2NoZW1hcywgYXMgd2VsbCBhc1xuICogXCJ0cmFuc2Zvcm1lcnNcIiAoc2VlIGBhcmdUcmFuc2Zvcm1lcnNgIGJlbG93KS5cbiAqXG4gKiBDdXN0b20ga2V5d29yZHMgYXJlIGp1c3QgcHJvcGVydGllcyB0aGF0IHdpbGwgYXBwZWFyIGluIGEgc2NoZW1hIChlLmcuLFxuICogYGFwcGl1bS1jb25maWctc2NoZW1hLmpzYCkgYmV5b25kIHdoYXQgdGhlIEpTT04gU2NoZW1hIHNwZWMgb2ZmZXJzLiAgVGhlc2VcbiAqIGFyZSB1c2FibGUgYnkgZXh0ZW5zaW9ucywgYXMgd2VsbC5cbiAqL1xuXG4vKipcbiAqIFNwbGl0cyBhIENTViBzdHJpbmcgaW50byBhbiBhcnJheVxuICogQHBhcmFtIHtzdHJpbmd9IHZhbHVlXG4gKiBAcmV0dXJucyB7c3RyaW5nW119XG4gKi9cbmZ1bmN0aW9uIHBhcnNlQ3N2TGluZSh2YWx1ZSkge1xuICByZXR1cm4gdmFsdWVcbiAgICAuc3BsaXQoJywnKVxuICAgIC5tYXAoKHYpID0+IHYudHJpbSgpKVxuICAgIC5maWx0ZXIoQm9vbGVhbik7XG59XG5cbi8qKlxuICogU3BsaXQgYSBmaWxlIGJ5IG5ld2xpbmUgdGhlbiBjYWxscyB7QGxpbmsgcGFyc2VDc3ZMaW5lfSBvbiBlYWNoIGxpbmUuXG4gKiBAcGFyYW0ge3N0cmluZ30gdmFsdWVcbiAqIEByZXR1cm5zIHtzdHJpbmdbXX1cbiAqL1xuZnVuY3Rpb24gcGFyc2VDc3ZGaWxlKHZhbHVlKSB7XG4gIHJldHVybiB2YWx1ZVxuICAgIC5zcGxpdCgvXFxyP1xcbi8pXG4gICAgLm1hcCgodikgPT4gdi50cmltKCkpXG4gICAgLmZpbHRlcihCb29sZWFuKVxuICAgIC5mbGF0TWFwKHBhcnNlQ3N2TGluZSk7XG59XG5cbi8qKlxuICogTmFtZXNwYWNlIGNvbnRhaW5pbmcgX3RyYW5zZm9ybWVyc18gZm9yIENMSSBhcmd1bWVudHMuICBcIlZhbGlkYXRvcnNcIiBhbmRcbiAqIFwiZm9ybWF0dGVyc1wiIGRvIG5vdCBhY3R1YWxseSBtb2RpZnkgdGhlIHZhbHVlLCBidXQgdGhlc2UgZG8uXG4gKlxuICogVXNlIGNhc2UgaXMgZm9yIHdoZW4gdGhlIGNvbmZpZyBmaWxlIGNhbiBhY2NlcHQgZS5nLiwgYSBgc3RyaW5nW11gLCBidXQgdGhlXG4gKiBDTEkgY2FuIG9ubHkgdGFrZSBhIGBzdHJpbmdgIChhcyBgYXJncGFyc2VgIHNlZW1zIHRvIGJlIGxpbWl0ZWQgaW4gdGhhdFxuICogZmFzaGlvbjsgaXQgYWxzbyBjYW5ub3QgdW5kZXJzdGFuZCBhbiBhcmd1bWVudCBoYXZpbmcgbXVsdGlwbGUgdHlwZXMpLlxuICpcbiAqIEZvciBleGFtcGxlLCB0aGUgYGNzdmAgdHJhbnNmb3JtIHRha2VzIGEgYHN0cmluZ2AgYW5kIHJldHVybnMgYSBgc3RyaW5nW11gIGJ5XG4gKiBzcGxpdHRpbmcgaXQgYnkgY29tbWEtLV9vcl8gaWYgdGhhdCBgc3RyaW5nYCBoYXBwZW5zIHRvIGJlIGFcbiAqIGZpbGVwYXRoLS1yZWFkaW5nIHRoZSBmaWxlIGFzIGEgYC5jc3ZgLlxuICpcbiAqIFRoaXMgY29udGFpbnMgc29tZSBjb3B5LXBhc3RlZCBjb2RlIGZyb20gYGxpYi9jbGkvcGFyc2VyLWhlbHBlcnMuanNgLCB3aGljaCB3YXNcbiAqIG9ibGl0ZXJhdGVkLlxuICovXG5leHBvcnQgY29uc3QgdHJhbnNmb3JtZXJzID0ge1xuICAvKipcbiAgICogR2l2ZW4gYSBDU1Ytc3R5bGUgc3RyaW5nIG9yIHBhdGhuYW1lLCBwYXJzZSBpdCBpbnRvIGFuIGFycmF5LlxuICAgKiBUaGUgZmlsZSBjYW4gYWxzbyBiZSBzcGxpdCBvbiBuZXdsaW5lcy5cbiAgICogQHBhcmFtIHtzdHJpbmd9IHZhbHVlXG4gICAqIEByZXR1cm5zIHtzdHJpbmdbXX1cbiAgICovXG4gIGNzdjogKHZhbHVlKSA9PiB7XG4gICAgbGV0IGJvZHk7XG4gICAgLy8gc2luY2UgdGhpcyB2YWx1ZSBjb3VsZCBiZSBhIHNpbmdsZSBzdHJpbmcgKG5vIGNvbW1hcykgX29yXyBhIHBhdGhuYW1lLCB3ZSB3aWxsIG5lZWRcbiAgICAvLyB0byBhdHRlbXB0IHRvIHBhcnNlIGl0IGFzIGEgZmlsZSBfZmlyc3RfLlxuICAgIHRyeSB7XG4gICAgICBib2R5ID0gcmVhZEZpbGVTeW5jKHZhbHVlLCAndXRmOCcpO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgaWYgKGVyci5jb2RlICE9PSAnRU5PRU5UJykge1xuICAgICAgICB0aHJvdyBuZXcgQXJndW1lbnRUeXBlRXJyb3IoYENvdWxkIG5vdCByZWFkIGZpbGUgJHtib2R5fTogJHtlcnIubWVzc2FnZX1gKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgcmV0dXJuIGJvZHkgPyBwYXJzZUNzdkZpbGUoYm9keSkgOiBwYXJzZUNzdkxpbmUodmFsdWUpO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgdGhyb3cgbmV3IEFyZ3VtZW50VHlwZUVycm9yKCdNdXN0IGJlIGEgY29tbWEtZGVsaW1pdGVkIHN0cmluZywgZS5nLiwgXCJmb28sYmFyLGJhelwiJyk7XG4gICAgfVxuICB9LFxuXG4gIC8qKlxuICAgKiBQYXJzZSBhIHN0cmluZyB3aGljaCBjb3VsZCBiZSBhIHBhdGggdG8gYSBKU09OIGZpbGUgb3IgYSBKU09OIHN0cmluZy5cbiAgICogQHBhcmFtIHtzdHJpbmd9IGpzb25PclBhdGhcbiAgICogQHJldHVybnMge29iamVjdH1cbiAgICovXG4gIGpzb246IChqc29uT3JQYXRoKSA9PiB7XG4gICAgbGV0IGpzb24gPSBqc29uT3JQYXRoO1xuICAgIGxldCBsb2FkZWRGcm9tRmlsZSA9IGZhbHNlO1xuICAgIHRyeSB7XG4gICAgICAvLyB1c2Ugc3luY2hyb25vdXMgZmlsZSBhY2Nlc3MsIGFzIGBhcmdwYXJzZWAgcHJvdmlkZXMgbm8gd2F5IG9mIGVpdGhlclxuICAgICAgLy8gYXdhaXRpbmcgb3IgdXNpbmcgY2FsbGJhY2tzLiBUaGlzIHN0ZXAgaGFwcGVucyBpbiBzdGFydHVwLCBpbiB3aGF0IGlzXG4gICAgICAvLyBlZmZlY3RpdmVseSBjb21tYW5kLWxpbmUgY29kZSwgc28gbm90aGluZyBpcyBibG9ja2VkIGluIHRlcm1zIG9mXG4gICAgICAvLyBzZXNzaW9ucywgc28gaG9sZGluZyB1cCB0aGUgZXZlbnQgbG9vcCBkb2VzIG5vdCBpbmN1ciB0aGUgdXN1YWxcbiAgICAgIC8vIGRyYXdiYWNrcy5cbiAgICAgIGpzb24gPSByZWFkRmlsZVN5bmMoanNvbk9yUGF0aCwgJ3V0ZjgnKTtcbiAgICAgIGxvYWRlZEZyb21GaWxlID0gdHJ1ZTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIC8vIHVucmVhZGFibGUgZmlsZXMgZG9uJ3QgY291bnQuLi4gYnV0IG90aGVyIHByb2JsZW1zIGRvLlxuICAgICAgaWYgKGVyci5jb2RlICE9PSAnRU5PRU5UJykge1xuICAgICAgICB0aHJvdyBlcnI7XG4gICAgICB9XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXN1bHQgPSBKU09OLnBhcnNlKGpzb24pO1xuICAgICAgaWYgKCFfLmlzUGxhaW5PYmplY3QocmVzdWx0KSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYCcke18udHJ1bmNhdGUocmVzdWx0LCB7bGVuZ3RoOiAxMDB9KX0nIGlzIG5vdCBhbiBvYmplY3RgKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgY29uc3QgbXNnID0gbG9hZGVkRnJvbUZpbGVcbiAgICAgICAgPyBgVGhlIHByb3ZpZGVkIHZhbHVlIG9mICcke2pzb25PclBhdGh9JyBtdXN0IGJlIGEgdmFsaWQgSlNPTmBcbiAgICAgICAgOiBgVGhlIHByb3ZpZGVkIHZhbHVlIG11c3QgYmUgYSB2YWxpZCBKU09OYDtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoYCR7bXNnfS4gT3JpZ2luYWwgZXJyb3I6ICR7ZS5tZXNzYWdlfWApO1xuICAgIH1cbiAgfSxcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBZ0JBLFNBQVNBLFlBQVQsQ0FBc0JDLEtBQXRCLEVBQTZCO0VBQzNCLE9BQU9BLEtBQUssQ0FDVEMsS0FESSxDQUNFLEdBREYsRUFFSkMsR0FGSSxDQUVDQyxDQUFELElBQU9BLENBQUMsQ0FBQ0MsSUFBRixFQUZQLEVBR0pDLE1BSEksQ0FHR0MsT0FISCxDQUFQO0FBSUQ7O0FBT0QsU0FBU0MsWUFBVCxDQUFzQlAsS0FBdEIsRUFBNkI7RUFDM0IsT0FBT0EsS0FBSyxDQUNUQyxLQURJLENBQ0UsT0FERixFQUVKQyxHQUZJLENBRUNDLENBQUQsSUFBT0EsQ0FBQyxDQUFDQyxJQUFGLEVBRlAsRUFHSkMsTUFISSxDQUdHQyxPQUhILEVBSUpFLE9BSkksQ0FJSVQsWUFKSixDQUFQO0FBS0Q7O0FBaUJNLE1BQU1VLFlBQVksR0FBRztFQU8xQkMsR0FBRyxFQUFHVixLQUFELElBQVc7SUFDZCxJQUFJVyxJQUFKOztJQUdBLElBQUk7TUFDRkEsSUFBSSxHQUFHLElBQUFDLGdCQUFBLEVBQWFaLEtBQWIsRUFBb0IsTUFBcEIsQ0FBUDtJQUNELENBRkQsQ0FFRSxPQUFPYSxHQUFQLEVBQVk7TUFDWixJQUFJQSxHQUFHLENBQUNDLElBQUosS0FBYSxRQUFqQixFQUEyQjtRQUN6QixNQUFNLElBQUlDLDJCQUFKLENBQXVCLHVCQUFzQkosSUFBSyxLQUFJRSxHQUFHLENBQUNHLE9BQVEsRUFBbEUsQ0FBTjtNQUNEO0lBQ0Y7O0lBRUQsSUFBSTtNQUNGLE9BQU9MLElBQUksR0FBR0osWUFBWSxDQUFDSSxJQUFELENBQWYsR0FBd0JaLFlBQVksQ0FBQ0MsS0FBRCxDQUEvQztJQUNELENBRkQsQ0FFRSxPQUFPYSxHQUFQLEVBQVk7TUFDWixNQUFNLElBQUlFLDJCQUFKLENBQXNCLHVEQUF0QixDQUFOO0lBQ0Q7RUFDRixDQXhCeUI7RUErQjFCRSxJQUFJLEVBQUdDLFVBQUQsSUFBZ0I7SUFDcEIsSUFBSUQsSUFBSSxHQUFHQyxVQUFYO0lBQ0EsSUFBSUMsY0FBYyxHQUFHLEtBQXJCOztJQUNBLElBQUk7TUFNRkYsSUFBSSxHQUFHLElBQUFMLGdCQUFBLEVBQWFNLFVBQWIsRUFBeUIsTUFBekIsQ0FBUDtNQUNBQyxjQUFjLEdBQUcsSUFBakI7SUFDRCxDQVJELENBUUUsT0FBT04sR0FBUCxFQUFZO01BRVosSUFBSUEsR0FBRyxDQUFDQyxJQUFKLEtBQWEsUUFBakIsRUFBMkI7UUFDekIsTUFBTUQsR0FBTjtNQUNEO0lBQ0Y7O0lBQ0QsSUFBSTtNQUNGLE1BQU1PLE1BQU0sR0FBR0MsSUFBSSxDQUFDQyxLQUFMLENBQVdMLElBQVgsQ0FBZjs7TUFDQSxJQUFJLENBQUNNLGVBQUEsQ0FBRUMsYUFBRixDQUFnQkosTUFBaEIsQ0FBTCxFQUE4QjtRQUM1QixNQUFNLElBQUlLLEtBQUosQ0FBVyxJQUFHRixlQUFBLENBQUVHLFFBQUYsQ0FBV04sTUFBWCxFQUFtQjtVQUFDTyxNQUFNLEVBQUU7UUFBVCxDQUFuQixDQUFrQyxvQkFBaEQsQ0FBTjtNQUNEOztNQUNELE9BQU9QLE1BQVA7SUFDRCxDQU5ELENBTUUsT0FBT1EsQ0FBUCxFQUFVO01BQ1YsTUFBTUMsR0FBRyxHQUFHVixjQUFjLEdBQ3JCLDBCQUF5QkQsVUFBVyx3QkFEZixHQUVyQix5Q0FGTDtNQUdBLE1BQU0sSUFBSVksU0FBSixDQUFlLEdBQUVELEdBQUkscUJBQW9CRCxDQUFDLENBQUNaLE9BQVEsRUFBbkQsQ0FBTjtJQUNEO0VBQ0Y7QUE1RHlCLENBQXJCIn0=
@@ -0,0 +1,3 @@
1
+ export * from "./schema";
2
+ export * from "./cli-args";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/schema/index.js"],"names":[],"mappings":""}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ require("source-map-support/register");
8
+
9
+ var _schema = require("./schema");
10
+
11
+ Object.keys(_schema).forEach(function (key) {
12
+ if (key === "default" || key === "__esModule") return;
13
+ if (key in exports && exports[key] === _schema[key]) return;
14
+ Object.defineProperty(exports, key, {
15
+ enumerable: true,
16
+ get: function () {
17
+ return _schema[key];
18
+ }
19
+ });
20
+ });
21
+
22
+ var _cliArgs = require("./cli-args");
23
+
24
+ Object.keys(_cliArgs).forEach(function (key) {
25
+ if (key === "default" || key === "__esModule") return;
26
+ if (key in exports && exports[key] === _cliArgs[key]) return;
27
+ Object.defineProperty(exports, key, {
28
+ enumerable: true,
29
+ get: function () {
30
+ return _cliArgs[key];
31
+ }
32
+ });
33
+ });
34
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL3NjaGVtYS9pbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NjaGVtYSc7XG5leHBvcnQgKiBmcm9tICcuL2NsaS1hcmdzJztcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQTs7QUFBQTtFQUFBO0VBQUE7RUFBQTtJQUFBO0lBQUE7TUFBQTtJQUFBO0VBQUE7QUFBQTs7QUFDQTs7QUFBQTtFQUFBO0VBQUE7RUFBQTtJQUFBO0lBQUE7TUFBQTtJQUFBO0VBQUE7QUFBQSJ9
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Collection of keyword definitions to add to the singleton `Ajv` instance.
3
+ * @type {Record<string,KeywordDefinition>}
4
+ */
5
+ export const keywords: Record<string, KeywordDefinition>;
6
+ /**
7
+ * These are the valid values for the `appiumCliTransformer` keyword.
8
+ * Unfortunately, TS cannot infer this in a JS context. In TS, we'd use
9
+ * `as const` when defining `argTransformers`, then get `keyof typeof argTransformers`. alas.
10
+ */
11
+ export type AppiumCliTransformerName = 'csv' | 'json';
12
+ /**
13
+ * These are the custom keywords that Appium recognizes.
14
+ */
15
+ export type AppiumJSONSchemaKeywords = {
16
+ appiumCliDest?: string | undefined;
17
+ appiumCliDescription?: string | undefined;
18
+ appiumCliAliases?: string[] | undefined;
19
+ appiumCliIgnored?: boolean | undefined;
20
+ appiumCliTransformer?: AppiumCliTransformerName | undefined;
21
+ appiumDeprecated?: boolean | undefined;
22
+ };
23
+ export type KeywordDefinition = import('ajv').KeywordDefinition;
24
+ //# sourceMappingURL=keywords.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keywords.d.ts","sourceRoot":"","sources":["../../../lib/schema/keywords.js"],"names":[],"mappings":"AAEA;;;GAGG;AACH,uBAFU,OAAO,MAAM,EAAC,iBAAiB,CAAC,CA4GxC;;;;;;uCAMW,KAAK,GAAC,MAAM;;;;;;;;;;;;gCAgBZ,OAAO,KAAK,EAAE,iBAAiB"}
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.keywords = void 0;
7
+
8
+ require("source-map-support/register");
9
+
10
+ var _cliTransformers = require("./cli-transformers");
11
+
12
+ const keywords = {
13
+ appiumCliAliases: {
14
+ keyword: 'appiumCliAliases',
15
+ metaSchema: {
16
+ type: 'array',
17
+ items: {
18
+ type: 'string',
19
+ minLength: 1
20
+ },
21
+ minItems: 1,
22
+ uniqueItems: true,
23
+ description: 'List of aliases for the argument. Aliases shorter than three (3) characters will be prefixed with a single dash; otherwise two (2).'
24
+ }
25
+ },
26
+ appiumCliDest: {
27
+ keyword: 'appiumCliDest',
28
+ metaSchema: {
29
+ type: 'string',
30
+ minLength: 1,
31
+ description: 'Name of the associated property in the parsed CLI arguments object'
32
+ }
33
+ },
34
+ appiumCliDescription: {
35
+ keyword: 'appiumCliDescription',
36
+ schemaType: 'string',
37
+ metaSchema: {
38
+ type: 'string',
39
+ minLength: 1,
40
+ description: 'Description to provide in the --help text of the CLI. Overrides `description`'
41
+ }
42
+ },
43
+ appiumCliTransformer: {
44
+ keyword: 'appiumCliTransformer',
45
+ metaSchema: {
46
+ type: 'string',
47
+ enum: Object.keys(_cliTransformers.transformers),
48
+ description: 'The name of a custom transformer to run against the value as provided via the CLI.'
49
+ }
50
+ },
51
+ appiumCliIgnored: {
52
+ keyword: 'appiumCliIgnored',
53
+ metaSchema: {
54
+ type: 'boolean',
55
+ description: 'If `true`, Appium will not provide this property as a CLI argument. This is NOT the same as a "hidden" argument.',
56
+ enum: [true]
57
+ }
58
+ },
59
+ appiumDeprecated: {
60
+ keyword: 'appiumDeprecated',
61
+ metaSchema: {
62
+ type: 'boolean',
63
+ description: 'If `true`, this property will be displayed as "deprecated" to the user',
64
+ enum: [true],
65
+ $comment: 'JSON schema draft-2019-09 keyword `deprecated` serves the same purpose. This keyword should itself be deprecated if we move to draft-2019-09!'
66
+ }
67
+ }
68
+ };
69
+ exports.keywords = keywords;
70
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJrZXl3b3JkcyIsImFwcGl1bUNsaUFsaWFzZXMiLCJrZXl3b3JkIiwibWV0YVNjaGVtYSIsInR5cGUiLCJpdGVtcyIsIm1pbkxlbmd0aCIsIm1pbkl0ZW1zIiwidW5pcXVlSXRlbXMiLCJkZXNjcmlwdGlvbiIsImFwcGl1bUNsaURlc3QiLCJhcHBpdW1DbGlEZXNjcmlwdGlvbiIsInNjaGVtYVR5cGUiLCJhcHBpdW1DbGlUcmFuc2Zvcm1lciIsImVudW0iLCJPYmplY3QiLCJrZXlzIiwidHJhbnNmb3JtZXJzIiwiYXBwaXVtQ2xpSWdub3JlZCIsImFwcGl1bURlcHJlY2F0ZWQiLCIkY29tbWVudCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9zY2hlbWEva2V5d29yZHMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHt0cmFuc2Zvcm1lcnN9IGZyb20gJy4vY2xpLXRyYW5zZm9ybWVycyc7XG5cbi8qKlxuICogQ29sbGVjdGlvbiBvZiBrZXl3b3JkIGRlZmluaXRpb25zIHRvIGFkZCB0byB0aGUgc2luZ2xldG9uIGBBanZgIGluc3RhbmNlLlxuICogQHR5cGUge1JlY29yZDxzdHJpbmcsS2V5d29yZERlZmluaXRpb24+fVxuICovXG5leHBvcnQgY29uc3Qga2V5d29yZHMgPSB7XG4gIC8qKlxuICAgKiBLZXl3b3JkIHRvIHByb3ZpZGUgYSBsaXN0IG9mIGNvbW1hbmQgYWxpYXMgbmFtZXMgZm9yIHRoZSBDTEkuXG4gICAqXG4gICAqIElmIGRlZmluZWQsIHRoZXJlIG11c3QgYmUgYXQgbGVhc3Qgb25lIGl0ZW0gaW4gdGhlIGFycmF5IGFuZCBpdCBtdXN0IGJlIG5vbi1lbXB0eS5cbiAgICogQWxsIGl0ZW1zIGluIHRoZSBhcnJheSBtdXN0IGJlIHVuaXF1ZS5cbiAgICpcbiAgICogQHRvZG8gQXZvaWQgYWxpYXMgY29sbGlzaW9ucyFcbiAgICogQHR5cGUge0tleXdvcmREZWZpbml0aW9ufVxuICAgKiBAZXhhbXBsZVxuICAgKiB7YXBwaXVtQ2xpQWxpYXNlczogWydCJywgJ2JvYmJ5JywgJ3JvYmVydCddfVxuICAgKi9cbiAgYXBwaXVtQ2xpQWxpYXNlczoge1xuICAgIGtleXdvcmQ6ICdhcHBpdW1DbGlBbGlhc2VzJyxcbiAgICBtZXRhU2NoZW1hOiB7XG4gICAgICB0eXBlOiAnYXJyYXknLFxuICAgICAgaXRlbXM6IHtcbiAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgIG1pbkxlbmd0aDogMSxcbiAgICAgIH0sXG4gICAgICBtaW5JdGVtczogMSxcbiAgICAgIHVuaXF1ZUl0ZW1zOiB0cnVlLFxuICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgICdMaXN0IG9mIGFsaWFzZXMgZm9yIHRoZSBhcmd1bWVudC4gQWxpYXNlcyBzaG9ydGVyIHRoYW4gdGhyZWUgKDMpIGNoYXJhY3RlcnMgd2lsbCBiZSBwcmVmaXhlZCB3aXRoIGEgc2luZ2xlIGRhc2g7IG90aGVyd2lzZSB0d28gKDIpLicsXG4gICAgfSxcbiAgfSxcbiAgLyoqXG4gICAqIEtleXdvcmQgdG8gcHJvdmlkZSB0aGUgbmFtZSBvZiB0aGUgcHJvcGVydHkgaW4gdGhlIGRlc3RpbmF0aW9uIChwYXJzZWRcbiAgICogYXJncykgb2JqZWN0LiBCeSBkZWZhdWx0LCB0aGlzIHZhbHVlIHdpbGwgYmUgd2hhdGV2ZXIgdGhlIHByb3BlcnR5IG5hbWUgaXMsXG4gICAqIGJ1dCBjYW1lbC1jYXNlZC4gSWYgYSBmbGFnIG5lZWRzIHNvbWV0aGluZyBfb3RoZXJfIHRoYW4ganVzdCBjYW1lbC1jYXNpbmcsXG4gICAqIHVzZSB0aGlzLlxuICAgKiBAdHlwZSB7S2V5d29yZERlZmluaXRpb259XG4gICAqIEBleGFtcGxlXG4gICAqIC8vIGZvciBwcm9wICduby1jb2xvcidcbiAgICoge2FwcGl1bUNsaURlc3Q6ICdOT0NPTE9SJ30gLy8gdmFsdWUgd2lsbCBiZSBzdG9yZWQgYXMgcHJvcGVydHkgYE5PQ09MT1JgIGluc3RlYWQgb2YgYG5vQ29sb3JgXG4gICAqL1xuICBhcHBpdW1DbGlEZXN0OiB7XG4gICAga2V5d29yZDogJ2FwcGl1bUNsaURlc3QnLFxuICAgIG1ldGFTY2hlbWE6IHtcbiAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgbWluTGVuZ3RoOiAxLFxuICAgICAgZGVzY3JpcHRpb246ICdOYW1lIG9mIHRoZSBhc3NvY2lhdGVkIHByb3BlcnR5IGluIHRoZSBwYXJzZWQgQ0xJIGFyZ3VtZW50cyBvYmplY3QnLFxuICAgIH0sXG4gIH0sXG5cbiAgLyoqXG4gICAqIENMSS1zcGVjaWZpYyBkZXNjcmlwdGlvbiBvZiB0aGUgcHJvcGVydHkuICBTb21ldGltZXMgdGhlIGFsbG93ZWQgdHlwZSBjYW5cbiAgICogYmUgZGlmZmVyZW50IGVub3VnaCBvbiB0aGUgQ0xJIHRoYXQgcHJvdmlkaW5nIGEgZGVzY3JpcHRpb24gd3JpdHRlbiBmb3IgYVxuICAgKiBjb25maWcgZmlsZSBjb250ZXh0IHdvdWxkbid0IG1ha2Ugc2Vuc2UuXG4gICAqIEB0eXBlIHtLZXl3b3JkRGVmaW5pdGlvbn1cbiAgICogQGV4YW1wbGVcbiAgICoge2FwcGl1bUNsaURlc2NyaXB0aW9uOiAnVGhpcyBpcyBhIGNvbW1hLWRlbGltaXRlZCBzdHJpbmcsIGJ1dCBpbiB0aGUgY29uZmlnIGZpbGUgaXQgaXMgYW4gYXJyYXknfVxuICAgKi9cbiAgYXBwaXVtQ2xpRGVzY3JpcHRpb246IHtcbiAgICBrZXl3b3JkOiAnYXBwaXVtQ2xpRGVzY3JpcHRpb24nLFxuICAgIHNjaGVtYVR5cGU6ICdzdHJpbmcnLFxuICAgIG1ldGFTY2hlbWE6IHtcbiAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgbWluTGVuZ3RoOiAxLFxuICAgICAgZGVzY3JpcHRpb246ICdEZXNjcmlwdGlvbiB0byBwcm92aWRlIGluIHRoZSAtLWhlbHAgdGV4dCBvZiB0aGUgQ0xJLiBPdmVycmlkZXMgYGRlc2NyaXB0aW9uYCcsXG4gICAgfSxcbiAgfSxcblxuICAvKipcbiAgICogVHJhbnNmb3JtZXJzIGZvciBDTEkgYXJncy4gVGhlc2UgdXN1YWxseSB0YWtlIHN0cmluZ3MgdGhlbiBkbyBzb21ldGhpbmcgd2l0aCB0aGVtLCBsaWtlXG4gICAqIHJlYWQgYSBmaWxlIG9yIHBhcnNlIGZ1cnRoZXIuXG4gICAqIEB0eXBlIHtLZXl3b3JkRGVmaW5pdGlvbn1cbiAgICovXG4gIGFwcGl1bUNsaVRyYW5zZm9ybWVyOiB7XG4gICAga2V5d29yZDogJ2FwcGl1bUNsaVRyYW5zZm9ybWVyJyxcbiAgICBtZXRhU2NoZW1hOiB7XG4gICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgIGVudW06IE9iamVjdC5rZXlzKHRyYW5zZm9ybWVycyksXG4gICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgJ1RoZSBuYW1lIG9mIGEgY3VzdG9tIHRyYW5zZm9ybWVyIHRvIHJ1biBhZ2FpbnN0IHRoZSB2YWx1ZSBhcyBwcm92aWRlZCB2aWEgdGhlIENMSS4nLFxuICAgIH0sXG4gIH0sXG5cbiAgLyoqXG4gICAqIEZsYWcgdG8gdGVsbCBBcHBpdW0gdG8gX25vdF8gcHJvdmlkZSB0aGlzIHByb3BlcnR5IGFzIGEgQ0xJIGFyZ3VtZW50LlxuICAgKiBAdHlwZSB7S2V5d29yZERlZmluaXRpb259XG4gICAqL1xuICBhcHBpdW1DbGlJZ25vcmVkOiB7XG4gICAga2V5d29yZDogJ2FwcGl1bUNsaUlnbm9yZWQnLFxuICAgIG1ldGFTY2hlbWE6IHtcbiAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICAnSWYgYHRydWVgLCBBcHBpdW0gd2lsbCBub3QgcHJvdmlkZSB0aGlzIHByb3BlcnR5IGFzIGEgQ0xJIGFyZ3VtZW50LiBUaGlzIGlzIE5PVCB0aGUgc2FtZSBhcyBhIFwiaGlkZGVuXCIgYXJndW1lbnQuJyxcbiAgICAgIGVudW06IFt0cnVlXSxcbiAgICB9LFxuICB9LFxuXG4gIC8qKlxuICAgKiBNYXJrIHRoaXMgcHJvcGVydHkgYXMgZGVwcmVjYXRlZC5cbiAgICogQHR5cGUge0tleXdvcmREZWZpbml0aW9ufVxuICAgKi9cbiAgYXBwaXVtRGVwcmVjYXRlZDoge1xuICAgIGtleXdvcmQ6ICdhcHBpdW1EZXByZWNhdGVkJyxcbiAgICBtZXRhU2NoZW1hOiB7XG4gICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgICBkZXNjcmlwdGlvbjogJ0lmIGB0cnVlYCwgdGhpcyBwcm9wZXJ0eSB3aWxsIGJlIGRpc3BsYXllZCBhcyBcImRlcHJlY2F0ZWRcIiB0byB0aGUgdXNlcicsXG4gICAgICBlbnVtOiBbdHJ1ZV0sXG4gICAgICAkY29tbWVudDpcbiAgICAgICAgJ0pTT04gc2NoZW1hIGRyYWZ0LTIwMTktMDkga2V5d29yZCBgZGVwcmVjYXRlZGAgc2VydmVzIHRoZSBzYW1lIHB1cnBvc2UuIFRoaXMga2V5d29yZCBzaG91bGQgaXRzZWxmIGJlIGRlcHJlY2F0ZWQgaWYgd2UgbW92ZSB0byBkcmFmdC0yMDE5LTA5IScsXG4gICAgfSxcbiAgfSxcbn07XG5cbi8qKlxuICogVGhlc2UgYXJlIHRoZSB2YWxpZCB2YWx1ZXMgZm9yIHRoZSBgYXBwaXVtQ2xpVHJhbnNmb3JtZXJgIGtleXdvcmQuXG4gKiBVbmZvcnR1bmF0ZWx5LCBUUyBjYW5ub3QgaW5mZXIgdGhpcyBpbiBhIEpTIGNvbnRleHQuICBJbiBUUywgd2UnZCB1c2VcbiAqIGBhcyBjb25zdGAgd2hlbiBkZWZpbmluZyBgYXJnVHJhbnNmb3JtZXJzYCwgdGhlbiBnZXQgYGtleW9mIHR5cGVvZiBhcmdUcmFuc2Zvcm1lcnNgLiBhbGFzLlxuICogQHR5cGVkZWYgeydjc3YnfCdqc29uJ30gQXBwaXVtQ2xpVHJhbnNmb3JtZXJOYW1lXG4gKi9cblxuLyoqXG4gKiBUaGVzZSBhcmUgdGhlIGN1c3RvbSBrZXl3b3JkcyB0aGF0IEFwcGl1bSByZWNvZ25pemVzLlxuICpcbiAqIEB0eXBlZGVmIEFwcGl1bUpTT05TY2hlbWFLZXl3b3Jkc1xuICogQHByb3BlcnR5IHtzdHJpbmd9IFthcHBpdW1DbGlEZXN0XVxuICogQHByb3BlcnR5IHtzdHJpbmd9IFthcHBpdW1DbGlEZXNjcmlwdGlvbl1cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nW119IFthcHBpdW1DbGlBbGlhc2VzXVxuICogQHByb3BlcnR5IHtib29sZWFufSBbYXBwaXVtQ2xpSWdub3JlZF1cbiAqIEBwcm9wZXJ0eSB7QXBwaXVtQ2xpVHJhbnNmb3JtZXJOYW1lfSBbYXBwaXVtQ2xpVHJhbnNmb3JtZXJdXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IFthcHBpdW1EZXByZWNhdGVkXVxuICovXG5cbi8qKlxuICogQHR5cGVkZWYge2ltcG9ydCgnYWp2JykuS2V5d29yZERlZmluaXRpb259IEtleXdvcmREZWZpbml0aW9uXG4gKi9cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7O0FBTU8sTUFBTUEsUUFBUSxHQUFHO0VBWXRCQyxnQkFBZ0IsRUFBRTtJQUNoQkMsT0FBTyxFQUFFLGtCQURPO0lBRWhCQyxVQUFVLEVBQUU7TUFDVkMsSUFBSSxFQUFFLE9BREk7TUFFVkMsS0FBSyxFQUFFO1FBQ0xELElBQUksRUFBRSxRQUREO1FBRUxFLFNBQVMsRUFBRTtNQUZOLENBRkc7TUFNVkMsUUFBUSxFQUFFLENBTkE7TUFPVkMsV0FBVyxFQUFFLElBUEg7TUFRVkMsV0FBVyxFQUNUO0lBVFE7RUFGSSxDQVpJO0VBb0N0QkMsYUFBYSxFQUFFO0lBQ2JSLE9BQU8sRUFBRSxlQURJO0lBRWJDLFVBQVUsRUFBRTtNQUNWQyxJQUFJLEVBQUUsUUFESTtNQUVWRSxTQUFTLEVBQUUsQ0FGRDtNQUdWRyxXQUFXLEVBQUU7SUFISDtFQUZDLENBcENPO0VBcUR0QkUsb0JBQW9CLEVBQUU7SUFDcEJULE9BQU8sRUFBRSxzQkFEVztJQUVwQlUsVUFBVSxFQUFFLFFBRlE7SUFHcEJULFVBQVUsRUFBRTtNQUNWQyxJQUFJLEVBQUUsUUFESTtNQUVWRSxTQUFTLEVBQUUsQ0FGRDtNQUdWRyxXQUFXLEVBQUU7SUFISDtFQUhRLENBckRBO0VBb0V0Qkksb0JBQW9CLEVBQUU7SUFDcEJYLE9BQU8sRUFBRSxzQkFEVztJQUVwQkMsVUFBVSxFQUFFO01BQ1ZDLElBQUksRUFBRSxRQURJO01BRVZVLElBQUksRUFBRUMsTUFBTSxDQUFDQyxJQUFQLENBQVlDLDZCQUFaLENBRkk7TUFHVlIsV0FBVyxFQUNUO0lBSlE7RUFGUSxDQXBFQTtFQWtGdEJTLGdCQUFnQixFQUFFO0lBQ2hCaEIsT0FBTyxFQUFFLGtCQURPO0lBRWhCQyxVQUFVLEVBQUU7TUFDVkMsSUFBSSxFQUFFLFNBREk7TUFFVkssV0FBVyxFQUNULGtIQUhRO01BSVZLLElBQUksRUFBRSxDQUFDLElBQUQ7SUFKSTtFQUZJLENBbEZJO0VBZ0d0QkssZ0JBQWdCLEVBQUU7SUFDaEJqQixPQUFPLEVBQUUsa0JBRE87SUFFaEJDLFVBQVUsRUFBRTtNQUNWQyxJQUFJLEVBQUUsU0FESTtNQUVWSyxXQUFXLEVBQUUsd0VBRkg7TUFHVkssSUFBSSxFQUFFLENBQUMsSUFBRCxDQUhJO01BSVZNLFFBQVEsRUFDTjtJQUxRO0VBRkk7QUFoR0ksQ0FBakIifQ==