appium 2.0.0-beta.3 → 2.0.0-beta.34

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (149) hide show
  1. package/README.md +10 -11
  2. package/build/lib/appium.d.ts +215 -0
  3. package/build/lib/appium.d.ts.map +1 -0
  4. package/build/lib/appium.js +241 -132
  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 +19 -12
  11. package/build/lib/cli/extension-command.d.ts +345 -0
  12. package/build/lib/cli/extension-command.d.ts.map +1 -0
  13. package/build/lib/cli/extension-command.js +171 -96
  14. package/build/lib/cli/extension.d.ts +14 -0
  15. package/build/lib/cli/extension.d.ts.map +1 -0
  16. package/build/lib/cli/extension.js +31 -16
  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 +39 -0
  21. package/build/lib/cli/plugin-command.d.ts.map +1 -0
  22. package/build/lib/cli/plugin-command.js +18 -13
  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 +84 -0
  36. package/build/lib/extension/driver-config.d.ts.map +1 -0
  37. package/build/lib/extension/driver-config.js +190 -0
  38. package/build/lib/extension/extension-config.d.ts +170 -0
  39. package/build/lib/extension/extension-config.d.ts.map +1 -0
  40. package/build/lib/extension/extension-config.js +297 -0
  41. package/build/lib/extension/index.d.ts +39 -0
  42. package/build/lib/extension/index.d.ts.map +1 -0
  43. package/build/lib/extension/index.js +77 -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 +246 -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 +62 -0
  51. package/build/lib/extension/plugin-config.d.ts.map +1 -0
  52. package/build/lib/extension/plugin-config.js +87 -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 +12 -16
  62. package/build/lib/main.d.ts +54 -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 +40 -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.d.ts +43 -0
  92. package/build/types/extension.d.ts.map +1 -0
  93. package/build/types/external-manifest.d.ts +47 -0
  94. package/build/types/external-manifest.d.ts.map +1 -0
  95. package/build/types/index.d.ts +15 -0
  96. package/build/types/index.d.ts.map +1 -0
  97. package/index.js +11 -0
  98. package/lib/appium-config.schema.json +278 -0
  99. package/lib/appium.js +402 -155
  100. package/lib/cli/args.js +174 -377
  101. package/lib/cli/driver-command.js +22 -7
  102. package/lib/cli/extension-command.js +372 -177
  103. package/lib/cli/extension.js +32 -10
  104. package/lib/cli/parser.js +253 -83
  105. package/lib/cli/plugin-command.js +19 -6
  106. package/lib/cli/utils.js +22 -2
  107. package/lib/config-file.js +223 -0
  108. package/lib/config.js +170 -69
  109. package/lib/constants.js +78 -0
  110. package/lib/extension/driver-config.js +249 -0
  111. package/lib/extension/extension-config.js +458 -0
  112. package/lib/extension/index.js +102 -0
  113. package/lib/extension/manifest.js +484 -0
  114. package/lib/extension/package-changed.js +63 -0
  115. package/lib/extension/plugin-config.js +113 -0
  116. package/lib/grid-register.js +25 -22
  117. package/lib/logger.js +1 -1
  118. package/lib/logsink.js +14 -7
  119. package/lib/main.js +255 -90
  120. package/lib/schema/arg-spec.js +232 -0
  121. package/lib/schema/cli-args.js +261 -0
  122. package/lib/schema/cli-transformers.js +122 -0
  123. package/lib/schema/index.js +2 -0
  124. package/lib/schema/keywords.js +134 -0
  125. package/lib/schema/schema.js +734 -0
  126. package/lib/utils.js +85 -129
  127. package/package.json +68 -85
  128. package/scripts/postinstall.js +71 -0
  129. package/types/appium-manifest.ts +61 -0
  130. package/types/cli.ts +153 -0
  131. package/types/extension.ts +56 -0
  132. package/types/external-manifest.ts +58 -0
  133. package/types/index.ts +14 -0
  134. package/CHANGELOG.md +0 -3515
  135. package/bin/ios-webkit-debug-proxy-launcher.js +0 -71
  136. package/build/lib/cli/npm.js +0 -206
  137. package/build/lib/cli/parser-helpers.js +0 -82
  138. package/build/lib/driver-config.js +0 -77
  139. package/build/lib/drivers.js +0 -96
  140. package/build/lib/extension-config.js +0 -251
  141. package/build/lib/plugin-config.js +0 -59
  142. package/build/lib/plugins.js +0 -14
  143. package/lib/cli/npm.js +0 -183
  144. package/lib/cli/parser-helpers.js +0 -79
  145. package/lib/driver-config.js +0 -46
  146. package/lib/drivers.js +0 -81
  147. package/lib/extension-config.js +0 -208
  148. package/lib/plugin-config.js +0 -34
  149. 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+fSBbb3B0c11cbiAgICovXG4gIGNvbnN0cnVjdG9yIChuYW1lLCB7ZXh0VHlwZSwgZXh0TmFtZSwgZGVzdCwgZGVmYXVsdFZhbHVlfSA9IHt9KSB7XG4gICAgLy8gd2UgbXVzdCBub3JtYWxpemUgdGhlIGV4dGVuc2lvbiBuYW1lIHRvIGZpdCBpbnRvIG91ciBjb252ZW50aW9uIGZvciBDTElcbiAgICAvLyBhcmdzLlxuICAgIGNvbnN0IGFyZyA9IEFyZ1NwZWMudG9BcmcobmFtZSwgZXh0VHlwZSwgZXh0TmFtZSk7XG5cbiAgICBjb25zdCByZWYgPSBBcmdTcGVjLnRvU2NoZW1hUmVmKG5hbWUsIGV4dFR5cGUsIGV4dE5hbWUpO1xuXG4gICAgLy8gaWYgbm8gZXhwbGljaXQgYGRlc3RgIHByb3ZpZGVkLCBqdXN0IGNhbWVsQ2FzZSB0aGUgbmFtZSB0byBhdm9pZCBuZWVkaW5nXG4gICAgLy8gdG8gdXNlIGJyYWNrZXQgc3ludGF4IHdoZW4gYWNjZXNzaW5nIHByb3BzIG9uIHRoZSBwYXJzZWQgYXJncyBvYmplY3QuXG4gICAgY29uc3QgcmF3RGVzdCA9IF8uY2FtZWxDYXNlKGRlc3QgPz8gbmFtZSk7XG5cbiAgICBjb25zdCBkZXN0S2V5cGF0aCA9XG4gICAgICBleHRUeXBlICYmIGV4dE5hbWUgPyBbZXh0VHlwZSwgZXh0TmFtZSwgcmF3RGVzdF0uam9pbignLicpIDogcmF3RGVzdDtcblxuICAgIHRoaXMuZGVmYXVsdFZhbHVlID0gZGVmYXVsdFZhbHVlO1xuICAgIHRoaXMubmFtZSA9IG5hbWU7XG4gICAgdGhpcy5leHRUeXBlID0gZXh0VHlwZTtcbiAgICB0aGlzLmV4dE5hbWUgPSBleHROYW1lO1xuICAgIHRoaXMuYXJnID0gYXJnO1xuICAgIHRoaXMuZGVzdCA9IGRlc3RLZXlwYXRoO1xuICAgIHRoaXMucmVmID0gcmVmO1xuICAgIHRoaXMucmF3RGVzdCA9IHJhd0Rlc3Q7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIHRoZSBzY2hlbWEgSUQgKGAkaWRgKSBmb3IgdGhlICoqYXJndW1lbnQqKiBnaXZlbiB0aGUgcGFyYW1ldGVycy5cbiAgICpcbiAgICogSWYgeW91IG5lZWQgdGhlIFwicm9vdFwiIG9yIFwiYmFzZVwiIHNjaGVtYSBJRCwgdXNlIHtAbGluayBBcmdTcGVjLnRvU2NoZW1hQmFzZVJlZn0gaW5zdGVhZC5cbiAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgLSBBcmd1bWVudCBuYW1lXG4gICAqIEBwYXJhbSB7RXh0ZW5zaW9uVHlwZX0gW2V4dFR5cGVdIC0gRXh0ZW5zaW9uIHR5cGVcbiAgICogQHBhcmFtIHtzdHJpbmd9IFtleHROYW1lXSAtIEV4dGVuc2lvbiBuYW1lXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IFNjaGVtYSBJRFxuICAgKi9cbiAgc3RhdGljIHRvU2NoZW1hUmVmIChuYW1lLCBleHRUeXBlLCBleHROYW1lKSB7XG4gICAgY29uc3QgYmFzZVJlZiA9IEFyZ1NwZWMudG9TY2hlbWFCYXNlUmVmKGV4dFR5cGUsIGV4dE5hbWUpO1xuICAgIGlmIChleHRUeXBlICYmIGV4dE5hbWUpIHtcbiAgICAgIHJldHVybiBbYCR7YmFzZVJlZn0jYCwgUFJPUEVSVElFUywgbmFtZV0uam9pbignLycpO1xuICAgIH1cbiAgICByZXR1cm4gW2Ake2Jhc2VSZWZ9I2AsIFBST1BFUlRJRVMsIFNFUlZFUl9QUk9QX05BTUUsIFBST1BFUlRJRVMsIG5hbWVdLmpvaW4oJy8nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIHNjaGVtYSBJRCBmb3IgYW4gZXh0ZW5zaW9uIG9yIHRoZSBiYXNlIHNjaGVtYSBJRC5cbiAgICogQHBhcmFtIHtFeHRlbnNpb25UeXBlfSBbZXh0VHlwZV0gLSBFeHRlbnNpb24gdHlwZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gW2V4dE5hbWVdIC0gRXh0ZW5zaW9uIG5hbWVcbiAgICovXG4gIHN0YXRpYyB0b1NjaGVtYUJhc2VSZWYgKGV4dFR5cGUsIGV4dE5hbWUpIHtcbiAgICBpZiAoZXh0VHlwZSAmJiBleHROYW1lKSB7XG4gICAgICByZXR1cm4gYCR7ZXh0VHlwZX0tJHtBcmdTcGVjLnRvTm9ybWFsaXplZEV4dE5hbWUoZXh0TmFtZSl9Lmpzb25gO1xuICAgIH1cbiAgICByZXR1cm4gQVBQSVVNX0NPTkZJR19TQ0hFTUFfSUQ7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIHRoZSB1bmlxdWUgSUQgZm9yIHRoZSBhcmd1bWVudCBnaXZlbiB0aGUgcGFyYW1ldGVycy5cbiAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgLSBBcmd1bWVudCBuYW1lXG4gICAqIEBwYXJhbSB7RXh0ZW5zaW9uVHlwZX0gW2V4dFR5cGVdIC0gRXh0ZW5zaW9uIHR5cGVcbiAgICogQHBhcmFtIHtzdHJpbmd9IFtleHROYW1lXSAtIEV4dGVuc2lvbiBuYW1lXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IFVuaXF1ZSBJRFxuICAgKi9cbiAgc3RhdGljIHRvQXJnIChuYW1lLCBleHRUeXBlLCBleHROYW1lKSB7XG4gICAgY29uc3QgcHJvcGVyTmFtZSA9IF8ua2ViYWJDYXNlKG5hbWUucmVwbGFjZSgvXi0tPy8sICcnKSk7XG4gICAgaWYgKGV4dFR5cGUgJiYgZXh0TmFtZSkge1xuICAgICAgcmV0dXJuIFtleHRUeXBlLCBfLmtlYmFiQ2FzZShleHROYW1lKSwgcHJvcGVyTmFtZV0uam9pbignLScpO1xuICAgIH1cbiAgICByZXR1cm4gcHJvcGVyTmFtZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBOb3JtYWxpemVzIGEgcmF3IGV4dGVuc2lvbiBuYW1lIChub3QgaW5jbHVkaW5nIHRoZSB0eXBlKS5cbiAgICogQHBhcmFtIHtzdHJpbmd9IGV4dE5hbWUgLSBFeHRlbnNpb24gbmFtZVxuICAgKiBAcmV0dXJucyB7c3RyaW5nfSBOb3JtYWxpemVkIGV4dGVuc2lvbiBuYW1lXG4gICAqL1xuICBzdGF0aWMgdG9Ob3JtYWxpemVkRXh0TmFtZSAoZXh0TmFtZSkge1xuICAgIHJldHVybiBfLmtlYmFiQ2FzZShleHROYW1lKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGVuIGdpdmVuIHRoZSByb290IElEIG9mIGEgc2NoZW1hIGZvciBhbiBleHRlbnNpb24gKGA8ZXh0VHlwZT4tPG5vcm1hbGl6ZWRFeHROYW1lPi5qc29uYCkgUmV0dXJucyBhbiBvYmplY3QgY29udGFpbmluZyB0aGUgZXh0ZW5zaW9uIHR5cGUgYW5kIHRoZSBfbm9ybWFsaXplZF8gZXh0ZW5zaW9uIG5hbWUuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBzY2hlbWFJZCAtIFJvb3Qgc2NoZW1hIElEXG4gICAqIEByZXR1cm5zIHsge2V4dFR5cGU/OiBFeHRlbnNpb25UeXBlLCBub3JtYWxpemVkRXh0TmFtZT86IHN0cmluZ30gfVxuICAgKi9cbiAgc3RhdGljIGV4dGVuc2lvbkluZm9Gcm9tUm9vdFNjaGVtYUlkIChzY2hlbWFJZCkge1xuICAgIGNvbnN0IG1hdGNoZXMgPSBzY2hlbWFJZC5tYXRjaChTQ0hFTUFfSURfUkVHRVhQKTtcbiAgICBpZiAobWF0Y2hlcz8uZ3JvdXBzKSB7XG4gICAgICBjb25zdCB7ZXh0VHlwZSwgbm9ybWFsaXplZEV4dE5hbWV9ID1cbiAgICAgICAgLyoqIEB0eXBlIHsge2V4dFR5cGU6IEV4dGVuc2lvblR5cGUsIG5vcm1hbGl6ZWRFeHROYW1lOiBzdHJpbmd9IH0gKi8gKFxuICAgICAgICAgIG1hdGNoZXMuZ3JvdXBzXG4gICAgICAgICk7XG4gICAgICByZXR1cm4ge2V4dFR5cGUsIG5vcm1hbGl6ZWRFeHROYW1lfTtcbiAgICB9XG4gICAgcmV0dXJuIHt9O1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYW4gYEFyZ1NwZWNgXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIC0gVGhlIGNhbm9uaWNhbCBuYW1lIG9mIHRoZSBhcmd1bWVudC4gQ29ycmVzcG9uZHMgdG8gYSBrZXkgaW4gYSBzY2hlbWEnc1xuICAgKiBgcHJvcGVydGllc2AgcHJvcGVydHkuXG4gICAqIEB0ZW1wbGF0ZSBEXG4gICAqIEBwYXJhbSB7QXJnU3BlY09wdGlvbnM8RD59IFtvcHRzXSAtIE9wdGlvbnNcbiAgICogQHJldHVybnMge1JlYWRvbmx5PEFyZ1NwZWM+fVxuICAgKi9cbiAgc3RhdGljIGNyZWF0ZSAobmFtZSwgb3B0cykge1xuICAgIHJldHVybiBPYmplY3QuZnJlZXplKG5ldyBBcmdTcGVjKG5hbWUsIG9wdHMpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdHJpbmcgcmVwcmVzZW50YXRpb24sIHVzZWZ1bCBmb3IgZGVidWdnaW5nXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9XG4gICAqL1xuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICB0b1N0cmluZyAoKSB7XG4gICAgbGV0IHN0ciA9IGBbQXJnU3BlY10gJHt0aGlzLm5hbWV9ICgke3RoaXMucmVmfSlgO1xuICAgIGlmICh0aGlzLmV4dFR5cGUgJiYgdGhpcy5leHROYW1lKSB7XG4gICAgICBzdHIgKz0gYCAoZXh0OiAke3RoaXMuZXh0VHlwZX0vJHt0aGlzLmV4dE5hbWV9KWA7XG4gICAgfVxuICAgIHJldHVybiBzdHI7XG4gIH1cbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciB7QGxpbmsgQXJnU3BlYy5jcmVhdGV9XG4gKiBAdGVtcGxhdGUgRFxuICogQHR5cGVkZWYgQXJnU3BlY09wdGlvbnNcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbZXh0TmFtZV1cbiAqIEBwcm9wZXJ0eSB7RXh0ZW5zaW9uVHlwZX0gW2V4dFR5cGVdXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW2Rlc3RdXG4gKiBAcHJvcGVydHkge0R9IFtkZWZhdWx0VmFsdWVdXG4gKi9cblxuLyoqXG4gKiBAdHlwZWRlZiB7aW1wb3J0KCcuLi9leHRlbnNpb24vbWFuaWZlc3QnKS5FeHRlbnNpb25UeXBlfSBFeHRlbnNpb25UeXBlXG4gKi9cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTs7QUFNTyxNQUFNQSx1QkFBdUIsR0FBRyxhQUFoQzs7QUFPQSxNQUFNQyxnQkFBZ0IsR0FBRyxRQUF6Qjs7QUFLUCxNQUFNQyxnQkFBZ0IsR0FBRyxrREFBekI7QUFLQSxNQUFNQyxVQUFVLEdBQUcsWUFBbkI7O0FBU08sTUFBTUMsT0FBTixDQUFjO0VBS25CQyxJQUFJO0VBT0pDLE9BQU87RUFRUEMsT0FBTztFQU9QQyxHQUFHO0VBTUhDLEdBQUc7RUFTSEMsSUFBSTtFQUtKQyxPQUFPO0VBT1BDLFlBQVk7O0VBWVpDLFdBQVcsQ0FBRVIsSUFBRixFQUFRO0lBQUNDLE9BQUQ7SUFBVUMsT0FBVjtJQUFtQkcsSUFBbkI7SUFBeUJFO0VBQXpCLElBQXlDLEVBQWpELEVBQXFEO0lBRzlELE1BQU1ILEdBQUcsR0FBR0wsT0FBTyxDQUFDVSxLQUFSLENBQWNULElBQWQsRUFBb0JDLE9BQXBCLEVBQTZCQyxPQUE3QixDQUFaO0lBRUEsTUFBTUMsR0FBRyxHQUFHSixPQUFPLENBQUNXLFdBQVIsQ0FBb0JWLElBQXBCLEVBQTBCQyxPQUExQixFQUFtQ0MsT0FBbkMsQ0FBWjs7SUFJQSxNQUFNSSxPQUFPLEdBQUdLLGdCQUFFQyxTQUFGLENBQVlQLElBQVosYUFBWUEsSUFBWixjQUFZQSxJQUFaLEdBQW9CTCxJQUFwQixDQUFoQjs7SUFFQSxNQUFNYSxXQUFXLEdBQ2ZaLE9BQU8sSUFBSUMsT0FBWCxHQUFxQixD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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":"AAuOA;;;;;;;GAOG;AACH,gCAHa,OAAO,aAAa,EAAE,mBAAmB,CAUrD;;;;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,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJUWVBFTkFNRVMiLCJPYmplY3QiLCJmcmVlemUiLCJBUlJBWSIsIk9CSkVDVCIsIkJPT0xFQU4iLCJJTlRFR0VSIiwiTlVNQkVSIiwiTlVMTCIsIlNUUklORyIsIlNIT1JUX0FSR19DVVRPRkYiLCJhbGlhc1RvRmxhZyIsImFyZ1NwZWMiLCJhbGlhcyIsImV4dFR5cGUiLCJleHROYW1lIiwibmFtZSIsImFyZyIsImlzU2hvcnQiLCJsZW5ndGgiLCJfIiwia2ViYWJDYXNlIiwic2NyZWFtaW5nU25ha2VDYXNlIiwiZmxvdyIsInNuYWtlQ2FzZSIsInRvVXBwZXIiLCJnZXRTY2hlbWFWYWxpZGF0b3IiLCJyZWYiLCJzY2hlbWFJZCIsImNvZXJjZSIsImlkZW50aXR5IiwidmFsdWUiLCJjb2VyY2VkIiwiZXJyb3JzIiwiaXNFbXB0eSIsIkFyZ3VtZW50VHlwZUVycm9yIiwibWFrZURlc2NyaXB0aW9uIiwic2NoZW1hIiwiYXBwaXVtQ2xpRGVzY3JpcHRpb24iLCJkZXNjcmlwdGlvbiIsImFwcGl1bURlcHJlY2F0ZWQiLCJkZXNjIiwic3ViU2NoZW1hVG9BcmdEZWYiLCJzdWJTY2hlbWEiLCJ0eXBlIiwiYXBwaXVtQ2xpQWxpYXNlcyIsImFwcGl1bUNsaVRyYW5zZm9ybWVyIiwiZW51bSIsImVudW1WYWx1ZXMiLCJhbGlhc2VzIiwibWFwIiwiYXJnT3B0cyIsInJlcXVpcmVkIiwiaGVscCIsImFyZ1R5cGVGdW5jdGlvbiIsImFjdGlvbiIsImNvbnN0IiwidHJhbnNmb3JtZXJzIiwianNvbiIsImNzdiIsInBhcnNlRmxvYXQiLCJwYXJzZUludCIsIlR5cGVFcnJvciIsIm1ldGF2YXIiLCJjaG9pY2VzIiwiU3RyaW5nIiwidG9QYXJzZXJBcmdzIiwiZmxhdHRlbmVkIiwiZmlsdGVyIiwiYXBwaXVtQ2xpSWdub3JlZCIsIk1hcCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9zY2hlbWEvY2xpLWFyZ3MuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXG5pbXBvcnQge0FyZ3VtZW50VHlwZUVycm9yfSBmcm9tICdhcmdwYXJzZSc7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHtmb3JtYXRFcnJvcnMgYXMgZm9ybWF0RXJyb3JzfSBmcm9tICcuLi9jb25maWctZmlsZSc7XG5pbXBvcnQge2ZsYXR0ZW5TY2hlbWEsIHZhbGlkYXRlfSBmcm9tICcuL3NjaGVtYSc7XG5pbXBvcnQge3RyYW5zZm9ybWVyc30gZnJvbSAnLi9jbGktdHJhbnNmb3JtZXJzJztcblxuLyoqXG4gKiBUaGlzIG1vZHVsZSBjb25jZXJucyBmdW5jdGlvbnMgd2hpY2ggY29udmVydCBzY2hlbWEgZGVmaW5pdGlvbnMgdG9cbiAqIGBhcmdwYXJzZWAtY29tcGF0aWJsZSBkYXRhIHN0cnVjdHVyZXMsIGZvciBkZXJpdmluZyBDTEkgYXJndW1lbnRzIGZyb20gYVxuICogc2NoZW1hLlxuICovXG5cbi8qKlxuICogTG9va3VwIG9mIHBvc3NpYmxlIHZhbHVlcyBmb3IgdGhlIGB0eXBlYCBmaWVsZCBpbiBhIEpTT04gc2NoZW1hLlxuICogQHR5cGUge1JlYWRvbmx5PFJlY29yZDxzdHJpbmcsIGltcG9ydCgnanNvbi1zY2hlbWEnKS5KU09OU2NoZW1hN1R5cGVOYW1lPj59XG4gKi9cbmNvbnN0IFRZUEVOQU1FUyA9IE9iamVjdC5mcmVlemUoe1xuICBBUlJBWTogJ2FycmF5JyxcbiAgT0JKRUNUOiAnb2JqZWN0JyxcbiAgQk9PTEVBTjogJ2Jvb2xlYW4nLFxuICBJTlRFR0VSOiAnaW50ZWdlcicsXG4gIE5VTUJFUjogJ251bWJlcicsXG4gIE5VTEw6ICdudWxsJyxcbiAgU1RSSU5HOiAnc3RyaW5nJyxcbn0pO1xuXG4vKipcbiAqIE9wdGlvbnMgd2l0aCBhbGlhcyBsZW5ndGhzIGxlc3MgdGhhbiB0aGlzIHdpbGwgYmUgY29uc2lkZXJlZCBcInNob3J0XCIgZmxhZ3MuXG4gKi9cbmNvbnN0IFNIT1JUX0FSR19DVVRPRkYgPSAzO1xuXG4vKipcbiAqIENvbnZlcnQgYW4gYWxpYXMgKGBmb29gKSB0byBhIGZsYWcgKGAtLWZvb2ApIG9yIGEgc2hvcnQgZmxhZyAoYC1mYCkuXG4gKiBAcGFyYW0ge0FyZ1NwZWN9IGFyZ1NwZWMgLSB0aGUgYXJndW1lbnQgc3BlY2lmaWNhdGlvblxuICogQHBhcmFtIHtzdHJpbmd9IFthbGlhc10gLSB0aGUgYWxpYXMgdG8gY29udmVydCB0byBhIGZsYWdcbiAqIEByZXR1cm5zIHtzdHJpbmd9IHRoZSBmbGFnXG4gKi9cbmZ1bmN0aW9uIGFsaWFzVG9GbGFnIChhcmdTcGVjLCBhbGlhcykge1xuICBjb25zdCB7ZXh0VHlwZSwgZXh0TmFtZSwgbmFtZX0gPSBhcmdTcGVjO1xuICBjb25zdCBhcmcgPSBhbGlhcyA/PyBuYW1lO1xuICBjb25zdCBpc1Nob3J0ID0gYXJnLmxlbmd0aCA8IFNIT1JUX0FSR19DVVRPRkY7XG4gIGlmIChleHRUeXBlICYmIGV4dE5hbWUpIHtcbiAgICByZXR1cm4gaXNTaG9ydFxuICAgICAgPyBgLS0ke2V4dFR5cGV9LSR7Xy5rZWJhYkNhc2UoZXh0TmFtZSl9LSR7YXJnfWBcbiAgICAgIDogYC0tJHtleHRUeXBlfS0ke18ua2ViYWJDYXNlKGV4dE5hbWUpfS0ke18ua2ViYWJDYXNlKGFyZyl9YDtcbiAgfVxuICByZXR1cm4gaXNTaG9ydCA/IGAtJHthcmd9YCA6IGAtLSR7Xy5rZWJhYkNhc2UoYXJnKX1gO1xufVxuXG4vKipcbiAqIENvbnZlcnRzIGEgc3RyaW5nIHRvIFNDUkVBTUlOR19TTkFLRV9DQVNFXG4gKi9cbmNvbnN0IHNjcmVhbWluZ1NuYWtlQ2FzZSA9IF8uZmxvdyhfLnNuYWtlQ2FzZSwgXy50b1VwcGVyKTtcblxuLyoqXG4gKiBHaXZlbiB1bmlxdWUgcHJvcGVydHkgbmFtZSBgbmFtZWAsIHJldHVybiBhIGZ1bmN0aW9uIHdoaWNoIHZhbGlkYXRlcyBhIHZhbHVlXG4gKiBhZ2FpbnN0IGEgcHJvcGVydHkgd2l0aGluIHRoZSBzY2hlbWEuXG4gKiBAdGVtcGxhdGUgQ29lcmNlZFxuICogQHBhcmFtIHtBcmdTcGVjfSBhcmdTcGVjIC0gQXJndW1lbnQgbmFtZVxuICogQHBhcmFtIHsodmFsdWU6IHN0cmluZykgPT4gQ29lcmNlZH0gW2NvZXJjZV0gLSBGdW5jdGlvbiB0byBjb2VyY2UgdG8gYSBkaWZmZXJlbnRcbiAqIHByaW1pdGl2ZVxuICogQHRvZG8gU2VlIGlmIHdlIGNhbiByZW1vdmUgYGNvZXJjZWAgYnkgYWxsb3dpbmcgQWp2IHRvIGNvZXJjZSBpbiBpdHNcbiAqIGNvbnN0cnVjdG9yIG9wdGlvbnNcbiAqIEByZXR1cm5zXG4gKi9cbmZ1bmN0aW9uIGdldFNjaGVtYVZhbGlkYXRvciAoe3JlZjogc2NoZW1hSWR9LCBjb2VyY2UgPSBfLmlkZW50aXR5KSB7XG4gIC8qKiBAcGFyYW0ge3N0cmluZ30gdmFsdWUgKi9cbiAgcmV0dXJuICh2YWx1ZSkgPT4ge1xuICAgIGNvbnN0IGNvZXJjZWQgPSBjb2VyY2UodmFsdWUpO1xuICAgIGNvbnN0IGVycm9ycyA9IHZhbGlkYXRlKGNvZXJjZWQsIHNjaGVtYUlkKTtcbiAgICBpZiAoXy5pc0VtcHR5KGVycm9ycykpIHtcbiAgICAgIHJldHVybiBjb2VyY2VkO1xuICAgIH1cbiAgICB0aHJvdyBuZXcgQXJndW1lbnRUeXBlRXJyb3IoXG4gICAgICAnXFxuXFxuJyArIGZvcm1hdEVycm9ycyhlcnJvcnMsIHZhbHVlLCB7c2NoZW1hSWR9KSxcbiAgICApO1xuICB9O1xufVxuXG4vKipcbiAqIERldGVybWluZSB0aGUgZGVzY3JpcHRpb24gZm9yIGRpc3BsYXkgb24gdGhlIENMSSwgZ2l2ZW4gdGhlIHNjaGVtYS5cbiAqIEBwYXJhbSB7QXBwaXVtSlNPTlNjaGVtYX0gc2NoZW1hXG4gKiBAcmV0dXJucyB7c3RyaW5nfVxuICovXG5mdW5jdGlvbiBtYWtlRGVzY3JpcHRpb24gKHNjaGVtYSkge1xuICBjb25zdCB7YXBwaXVtQ2xpRGVzY3JpcHRpb24sIGRlc2NyaXB0aW9uID0gJycsIGFwcGl1bURlcHJlY2F0ZWR9ID0gc2NoZW1hO1xuICBsZXQgZGVzYyA9IGFwcGl1bUNsaURlc2NyaXB0aW9uID8/IGRlc2NyaXB0aW9uO1xuICBpZiAoYXBwaXVtRGVwcmVjYXRlZCkge1xuICAgIGRlc2MgPSBgW0RFUFJFQ0FURURdICR7ZGVzY31gO1xuICB9XG4gIHJldHVybiBkZXNjO1xufVxuXG4vKipcbiAqIEdpdmVuIGFyZyBgbmFtZWAsIGEgSlNPTiBzY2hlbWEgYHN1YlNjaGVtYWAsIGFuZCBvcHRpb25zLCByZXR1cm4gYW4gYXJndW1lbnQgZGVmaW5pdGlvblxuICogYXMgdW5kZXJzdG9vZCBieSBgYXJncGFyc2VgLlxuICogQHBhcmFtIHtBcHBpdW1KU09OU2NoZW1hfSBzdWJTY2hlbWEgLSBKU09OIHNjaGVtYSBmb3IgdGhlIG9wdGlvblxuICogQHBhcmFtIHtBcmdTcGVjfSBhcmdTcGVjIC0gQXJndW1lbnQgc3BlYyB0dXBsZVxuICogQHJldHVybnMge1tzdHJpbmdbXSwgaW1wb3J0KCdhcmdwYXJzZScpLkFyZ3VtZW50T3B0aW9uc119IFR1cGxlIG9mIGZsYWcgYW5kIG9wdGlvbnNcbiAqL1xuZnVuY3Rpb24gc3ViU2NoZW1hVG9BcmdEZWYgKHN1YlNjaGVtYSwgYXJnU3BlYykge1xuICBsZXQge1xuICAgIHR5cGUsXG4gICAgYXBwaXVtQ2xpQWxpYXNlcyxcbiAgICBhcHBpdW1DbGlUcmFuc2Zvcm1lcixcbiAgICBlbnVtOiBlbnVtVmFsdWVzLFxuICB9ID0gc3ViU2NoZW1hO1xuXG4gIGNvbnN0IHtuYW1lLCBhcmd9ID0gYXJnU3BlYztcblxuICBjb25zdCBhbGlhc2VzID0gW1xuICAgIGFsaWFzVG9GbGFnKGFyZ1NwZWMpLFxuICAgIC4uLi8qKiBAdHlwZSB7c3RyaW5nW119ICovIChhcHBpdW1DbGlBbGlhc2VzID8/IFtdKS5tYXAoKGFsaWFzKSA9PlxuICAgICAgYWxpYXNUb0ZsYWcoYXJnU3BlYywgYWxpYXMpLFxuICAgICksXG4gIF07XG5cbiAgLyoqIEB0eXBlIHtpbXBvcnQoJ2FyZ3BhcnNlJykuQXJndW1lbnRPcHRpb25zfSAqL1xuICBsZXQgYXJnT3B0cyA9IHtcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgaGVscDogbWFrZURlc2NyaXB0aW9uKHN1YlNjaGVtYSlcbiAgfTtcblxuICAvKipcbiAgICogR2VuZXJhbGx5IHdlIHdpbGwgcHJvdmlkZSBhIGB0eXBlYCB0byBgYXJncGFyc2VgIGFzIGEgZnVuY3Rpb24gd2hpY2hcbiAgICogdmFsaWRhdGVzIHVzaW5nIGFqdiAod2hpY2ggaXMgbXVjaCBtb3JlIGZ1bGwtZmVhdHVyZWQgdGhhbiB3aGF0IGBhcmdwYXJzZWBcbiAgICogY2FuIG9mZmVyKS4gVGhlIGV4Y2VwdGlvbiBpcyBgYm9vbGVhbmAtdHlwZSBvcHRpb25zLCB3aGljaCBoYXZlIG5vXG4gICAqIGBhcmdUeXBlYC5cbiAgICpcbiAgICogTm90IHN1cmUgaWYgdGhpcyB0eXBlIGlzIGNvcnJlY3QsIGJ1dCBpdCdzIG5vdCBkb2luZyB3aGF0IEkgd2FudC4gIEkgd2FudFxuICAgKiB0byBzYXkgXCJ0aGlzIGlzIGEgZnVuY3Rpb24gd2hpY2ggcmV0dXJucyBzb21ldGhpbmcgb2YgdHlwZSBgVGAgd2hlcmUgYFRgIGlzXG4gICAqIG5ldmVyIGEgYFByb21pc2VgXCIuICBUaGlzIGZ1bmN0aW9uIG11c3QgYmUgc3luYy5cbiAgICogQHR5cGUgeygodmFsdWU6IHN0cmluZykgPT4gdW5rbm93bil8dW5kZWZpbmVkfVxuICAgKi9cbiAgbGV0IGFyZ1R5cGVGdW5jdGlvbjtcblxuICAvLyBoYW5kbGUgc3BlY2lhbCBjYXNlcyBmb3IgdmFyaW91cyB0eXBlc1xuICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAvLyBib29sZWFucyBkbyBub3QgaGF2ZSBhIHR5cGUgcGVyIGBBcmd1bWVudE9wdGlvbnNgLCBqdXN0IGFuIFwiYWN0aW9uXCJcbiAgICAvLyBOT1RFOiBkdWUgdG8gbGltaXRhdGlvbnMgb2YgYGFyZ3BhcnNlYCwgd2UgY2Fubm90IHByb3ZpZGUgZmFuY3kgaGVscCB0ZXh0LCBhbmQgbXVzdCByZWx5IG9uIGl0cyBpbnRlcm5hbCBlcnJvciBtZXNzYWdpbmcuXG4gICAgY2FzZSBUWVBFTkFNRVMuQk9PTEVBTjoge1xuICAgICAgYXJnT3B0cy5hY3Rpb24gPSAnc3RvcmVfY29uc3QnO1xuICAgICAgYXJnT3B0cy5jb25zdCA9IHRydWU7XG4gICAgICBicmVhaztcbiAgICB9XG5cbiAgICBjYXNlIFRZUEVOQU1FUy5PQkpFQ1Q6IHtcbiAgICAgIGFyZ1R5cGVGdW5jdGlvbiA9IHRyYW5zZm9ybWVycy5qc29uO1xuICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgLy8gYXJyYXlzIGFyZSB0cmVhdGVkIGFzIENTVnMsIGJlY2F1c2UgYGFyZ3BhcnNlYCBkb2Vzbid0IGhhbmRsZSBhcnJheSBkYXRhLlxuICAgIGNhc2UgVFlQRU5BTUVTLkFSUkFZOiB7XG4gICAgICBhcmdUeXBlRnVuY3Rpb24gPSB0cmFuc2Zvcm1lcnMuY3N2O1xuICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgLy8gXCJudW1iZXJcIiB0eXBlIGlzIGNvZXJjZWQgdG8gZmxvYXQuIGBhcmdwYXJzZWAgZG9lcyB0aGlzIGZvciB1cyBpZiB3ZSB1c2UgYGZsb2F0YCB0eXBlLCBidXRcbiAgICAvLyB3ZSBkb24ndC5cbiAgICBjYXNlIFRZUEVOQU1FUy5OVU1CRVI6IHtcbiAgICAgIGFyZ1R5cGVGdW5jdGlvbiA9IGdldFNjaGVtYVZhbGlkYXRvcihhcmdTcGVjLCBwYXJzZUZsb2F0KTtcbiAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIC8vIFwiaW50ZWdlclwiIGlzIGNvZXJjZWQgdG8gYW4gLi4gaW50ZWdlci4gIGFnYWluLCBgYXJncGFyc2VgIHdvdWxkIGRvIHRoaXMgZm9yIHVzIGlmIHdlIHVzZWQgYGludGAuXG4gICAgY2FzZSBUWVBFTkFNRVMuSU5URUdFUjoge1xuICAgICAgYXJnVHlwZUZ1bmN0aW9uID0gZ2V0U2NoZW1hVmFsaWRhdG9yKGFyZ1NwZWMsIF8ucGFyc2VJbnQpO1xuICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgLy8gc3RyaW5ncyAobGlrZSBudW1iZXIgYW5kIGludGVnZXIpIGFyZSBzdWJqZWN0IHRvIGZ1cnRoZXIgdmFsaWRhdGlvblxuICAgIC8vIChlLmcuLCBtdXN0IHNhdGlzZnkgYSBtYXNrIG9yIHJlZ2V4IG9yIGV2ZW4gc29tZSBjdXN0b20gdmFsaWRhdGlvblxuICAgIC8vIGZ1bmN0aW9uKVxuICAgIGNhc2UgVFlQRU5BTUVTLlNUUklORzoge1xuICAgICAgYXJnVHlwZUZ1bmN0aW9uID0gZ2V0U2NoZW1hVmFsaWRhdG9yKGFyZ1NwZWMpO1xuICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgLy8gVE9ETzogdGhlcmUgbWF5IGJlIHNvbWUgd2F5IHRvIHJlc3RyaWN0IHRoaXMgYXQgdGhlIEFqdiBsZXZlbCAtLVxuICAgIC8vIHRoYXQgbWF5IGludm9sdmUgcGF0Y2hpbmcgdGhlIG1ldGFzY2hlbWEuXG4gICAgY2FzZSBUWVBFTkFNRVMuTlVMTDpcbiAgICAvLyBmYWxscyB0aHJvdWdoXG4gICAgZGVmYXVsdDoge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcbiAgICAgICAgYFNjaGVtYSBwcm9wZXJ0eSBcIiR7YXJnfVwiOiBcXGAke3R5cGV9XFxgIHR5cGUgdW5rbm93biBvciBkaXNhbGxvd2VkYCxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgLy8gbWV0YXZhciBpcyB1c2VkIGluIGhlbHAgdGV4dC4gYGJvb2xlYW5gIGNhbm5vdCBoYXZlIGEgbWV0YXZhci0taXQgaXMgbm90XG4gIC8vIGRpc3BsYXllZC0tYW5kIGBhcmdwYXJzZWAgdGhyb3dzIGlmIHlvdSBnaXZlIGl0IG9uZS5cbiAgaWYgKHR5cGUgIT09IFRZUEVOQU1FUy5CT09MRUFOKSB7XG4gICAgYXJnT3B0cy5tZXRhdmFyID0gc2NyZWFtaW5nU25ha2VDYXNlKG5hbWUpO1xuICB9XG5cbiAgLy8gdGhlIHZhbGlkaXR5IG9mIFwiYXBwaXVtQ2xpVHJhbnNmb3JtZXJcIiBzaG91bGQgYWxyZWFkeSBoYXZlIGJlZW4gZGV0ZXJtaW5lZFxuICAvLyBieSBhanYgZHVyaW5nIHNjaGVtYSB2YWxpZGF0aW9uIGluIGBmaW5hbGl6ZVNjaGVtYSgpYC4gdGhlIGBhcnJheWAgJlxuICAvLyBgb2JqZWN0YCB0eXBlcyBoYXZlIGFscmVhZHkgYWRkZWQgYSBmb3JtYXR0ZXIgKHNlZSBhYm92ZSwgc28gd2UgZG9uJ3QgZG8gaXRcbiAgLy8gdHdpY2UpLlxuICBpZiAoXG4gICAgdHlwZSAhPT0gVFlQRU5BTUVTLkFSUkFZICYmXG4gICAgdHlwZSAhPT0gVFlQRU5BTUVTLk9CSkVDVCAmJlxuICAgIGFwcGl1bUNsaVRyYW5zZm9ybWVyXG4gICkge1xuICAgIGFyZ1R5cGVGdW5jdGlvbiA9IF8uZmxvdyhcbiAgICAgIGFyZ1R5cGVGdW5jdGlvbiA/PyBfLmlkZW50aXR5LFxuICAgICAgdHJhbnNmb3JtZXJzW2FwcGl1bUNsaVRyYW5zZm9ybWVyXSxcbiAgICApO1xuICB9XG5cbiAgaWYgKGFyZ1R5cGVGdW5jdGlvbikge1xuICAgIGFyZ09wdHMudHlwZSA9IGFyZ1R5cGVGdW5jdGlvbjtcbiAgfVxuXG4gIC8vIGNvbnZlcnQgSlNPTiBzY2hlbWEgYGVudW1gIHRvIGBjaG9pY2VzYC4gYGVudW1gIGNhbiBjb250YWluIGFueSBKU09OIHR5cGUsIGJ1dCBgYXJncGFyc2VgXG4gIC8vIGlzIGxpbWl0ZWQgdG8gYSBzaW5nbGUgdHlwZSBwZXIgYXJnIChJIHRoaW5rKS4gIHNvIGxldCdzIG1ha2UgZXZlcnl0aGluZyBhIHN0cmluZy5cbiAgLy8gYW5kIG1pZ2h0IGFzIHdlbGwgX3JlcXVpcmVfIHRoZSBgdHlwZTogc3RyaW5nYCB3aGlsZSB3ZSdyZSBhdCBpdC5cbiAgaWYgKGVudW1WYWx1ZXMgJiYgIV8uaXNFbXB0eShlbnVtVmFsdWVzKSkge1xuICAgIGlmICh0eXBlID09PSBUWVBFTkFNRVMuU1RSSU5HKSB7XG4gICAgICBhcmdPcHRzLmNob2ljZXMgPSBlbnVtVmFsdWVzLm1hcChTdHJpbmcpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFxuICAgICAgICBgUHJvYmxlbSB3aXRoIHNjaGVtYSBmb3IgJHthcmd9OyBcXGBlbnVtXFxgIGlzIG9ubHkgc3VwcG9ydGVkIGZvciBcXGB0eXBlOiAnc3RyaW5nJ1xcYGAsXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBbYWxpYXNlcywgYXJnT3B0c107XG59XG5cbi8qKlxuICogQ29udmVydHMgdGhlIGZpbmFsaXplZCwgZmxhdHRlbmVkIHNjaGVtYSByZXByZXNlbnRhdGlvbiBpbnRvXG4gKiBBcmd1bWVudERlZmluaXRpb25zIGZvciBoYW5kb2ZmIHRvIGBhcmdwYXJzZWAuXG4gKlxuICogQHRocm93cyBJZiBzY2hlbWEgaGFzIG5vdCBiZWVuIGFkZGVkIHRvIGFqdiAodmlhIGBmaW5hbGl6ZVNjaGVtYSgpYClcbiAqIEByZXR1cm5zIHtpbXBvcnQoJy4uL2NsaS9hcmdzJykuQXJndW1lbnREZWZpbml0aW9uc30gQSBtYXAgb2YgYXJyeWFzIG9mXG4gKiBhbGlhc2VzIHRvIGBhcmdwYXJzZWAgYXJndW1lbnRzOyBlbXB0eSBpZiBubyBzY2hlbWEgZm91bmRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvUGFyc2VyQXJncyAoKSB7XG4gIGNvbnN0IGZsYXR0ZW5lZCA9IGZsYXR0ZW5TY2hlbWEoKS5maWx0ZXIoKHtzY2hlbWF9KSA9PiAhc2NoZW1hLmFwcGl1bUNsaUlnbm9yZWQpO1xuICByZXR1cm4gbmV3IE1hcChcbiAgICBfLm1hcChmbGF0dGVuZWQsICh7c2NoZW1hLCBhcmdTcGVjfSkgPT5cbiAgICAgIHN1YlNjaGVtYVRvQXJnRGVmKHNjaGVtYSwgYXJnU3BlYyksXG4gICAgKSxcbiAgKTtcbn1cblxuLyoqXG4gKiBAdGVtcGxhdGUgVFxuICogQHR5cGVkZWYge2ltcG9ydCgnYWp2L2Rpc3QvdHlwZXMnKS5Gb3JtYXRWYWxpZGF0b3I8VD59IEZvcm1hdFZhbGlkYXRvcjxUPlxuICovXG5cbi8qKlxuICogQSBKU09OIDcgc2NoZW1hIHdpdGggb3VyIGN1c3RvbSBrZXl3b3Jkcy5cbiAqIEB0eXBlZGVmIHtpbXBvcnQoJy4va2V5d29yZHMnKS5BcHBpdW1KU09OU2NoZW1hS2V5d29yZHMgJiBpbXBvcnQoJ2pzb24tc2NoZW1hJykuSlNPTlNjaGVtYTd9IEFwcGl1bUpTT05TY2hlbWFcbiAqL1xuXG4vKipcbiAqIEB0eXBlZGVmIHtpbXBvcnQoJy4vYXJnLXNwZWMnKS5BcmdTcGVjfSBBcmdTcGVjXG4gKi9cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFZQSxNQUFNQSxTQUFTLEdBQUdDLE1BQU0sQ0FBQ0MsTUFBUCxDQUFjO0VBQzlCQyxLQUFLLEVBQUUsT0FEdUI7RUFFOUJDLE1BQU0sRUFBRSxRQUZzQjtFQUc5QkMsT0FBTyxFQUFFLFNBSHFCO0VBSTlCQyxPQUFPLEVBQUUsU0FKcUI7RUFLOUJDLE1BQU0sRUFBRSxRQUxzQjtFQU05QkMsSUFBSSxFQUFFLE1BTndCO0VBTzlCQyxNQUFNLEVBQUU7QUFQc0IsQ0FBZCxDQUFsQjtBQWFBLE1BQU1DLGdCQUFnQixHQUFHLENBQXpCOztBQVFBLFNBQVNDLFdBQVQsQ0FBc0JDLE9BQXRCLEVBQStCQyxLQUEvQixFQUFzQztFQUNwQyxNQUFNO0lBQUNDLE9BQUQ7SUFBVUMsT0FBVjtJQUFtQkM7RUFBbkIsSUFBMkJKLE9BQWpDO0VBQ0EsTUFBTUssR0FBRyxHQUFHSixLQUFILGFBQUdBLEtBQUgsY0FBR0EsS0FBSCxHQUFZRyxJQUFyQjtFQUNBLE1BQU1FLE9BQU8sR0FBR0QsR0FBRyxDQUFDRSxNQUFKLEdBQWFULGdCQUE3Qjs7RUFDQSxJQUFJSSxPQUFPLElBQUlDLE9BQWYsRUFBd0I7SUFDdEIsT0FBT0csT0FBTyxHQUNULEtBQUlKLE9BQVEsSUFBR00sZ0JBQUVDLFNBQUYsQ0FBWU4sT0FBWixDQUFxQixJQUFHRSxHQUFJLEVBRGxDLEdBRVQsS0FBSUgsT0FBUSxJQUFHTSxnQkFBRUMsU0FBRixDQUFZTixPQUFaLENBQXFCLElBQUdLLGdCQUFFQyxTQUFGLENBQVlKLEdBQVosQ0FBaUIsRUFGN0Q7RUFHRDs7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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":";IA6DO,sCAqBJ;IAOK,uCA+BL"}
@@ -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,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJwYXJzZUNzdkxpbmUiLCJ2YWx1ZSIsInNwbGl0IiwibWFwIiwidiIsInRyaW0iLCJmaWx0ZXIiLCJCb29sZWFuIiwicGFyc2VDc3ZGaWxlIiwiZmxhdE1hcCIsInRyYW5zZm9ybWVycyIsImNzdiIsImJvZHkiLCJlcnIiLCJjb2RlIiwiQXJndW1lbnRUeXBlRXJyb3IiLCJtZXNzYWdlIiwianNvbiIsImpzb25PclBhdGgiLCJsb2FkZWRGcm9tRmlsZSIsInJlc3VsdCIsIkpTT04iLCJwYXJzZSIsIl8iLCJpc1BsYWluT2JqZWN0IiwiRXJyb3IiLCJ0cnVuY2F0ZSIsImxlbmd0aCIsImUiLCJtc2ciLCJUeXBlRXJyb3IiXSwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvc2NoZW1hL2NsaS10cmFuc2Zvcm1lcnMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXG5pbXBvcnQgeyBBcmd1bWVudFR5cGVFcnJvciB9IGZyb20gJ2FyZ3BhcnNlJztcbmltcG9ydCB7IHJlYWRGaWxlU3luYyB9IGZyb20gJ2ZzJztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5cbi8qKlxuICogVGhpcyBtb2R1bGUgcHJvdmlkZXMgY3VzdG9tIGtleXdvcmRzIGZvciBBcHBpdW0gc2NoZW1hcywgYXMgd2VsbCBhc1xuICogXCJ0cmFuc2Zvcm1lcnNcIiAoc2VlIGBhcmdUcmFuc2Zvcm1lcnNgIGJlbG93KS5cbiAqXG4gKiBDdXN0b20ga2V5d29yZHMgYXJlIGp1c3QgcHJvcGVydGllcyB0aGF0IHdpbGwgYXBwZWFyIGluIGEgc2NoZW1hIChlLmcuLFxuICogYGFwcGl1bS1jb25maWctc2NoZW1hLmpzYCkgYmV5b25kIHdoYXQgdGhlIEpTT04gU2NoZW1hIHNwZWMgb2ZmZXJzLiAgVGhlc2VcbiAqIGFyZSB1c2FibGUgYnkgZXh0ZW5zaW9ucywgYXMgd2VsbC5cbiAqL1xuXG4vKipcbiAqIFNwbGl0cyBhIENTViBzdHJpbmcgaW50byBhbiBhcnJheVxuICogQHBhcmFtIHtzdHJpbmd9IHZhbHVlXG4gKiBAcmV0dXJucyB7c3RyaW5nW119XG4gKi9cbmZ1bmN0aW9uIHBhcnNlQ3N2TGluZSAodmFsdWUpIHtcbiAgcmV0dXJuIHZhbHVlXG4gICAgLnNwbGl0KCcsJylcbiAgICAubWFwKCh2KSA9PiB2LnRyaW0oKSlcbiAgICAuZmlsdGVyKEJvb2xlYW4pO1xufVxuXG4vKipcbiAqIFNwbGl0IGEgZmlsZSBieSBuZXdsaW5lIHRoZW4gY2FsbHMge0BsaW5rIHBhcnNlQ3N2TGluZX0gb24gZWFjaCBsaW5lLlxuICogQHBhcmFtIHtzdHJpbmd9IHZhbHVlXG4gKiBAcmV0dXJucyB7c3RyaW5nW119XG4gKi9cbmZ1bmN0aW9uIHBhcnNlQ3N2RmlsZSAodmFsdWUpIHtcbiAgcmV0dXJuIHZhbHVlXG4gICAgLnNwbGl0KC9cXHI/XFxuLylcbiAgICAubWFwKCh2KSA9PiB2LnRyaW0oKSlcbiAgICAuZmlsdGVyKEJvb2xlYW4pXG4gICAgLmZsYXRNYXAocGFyc2VDc3ZMaW5lKTtcbn1cblxuLyoqXG4gKiBOYW1lc3BhY2UgY29udGFpbmluZyBfdHJhbnNmb3JtZXJzXyBmb3IgQ0xJIGFyZ3VtZW50cy4gIFwiVmFsaWRhdG9yc1wiIGFuZFxuICogXCJmb3JtYXR0ZXJzXCIgZG8gbm90IGFjdHVhbGx5IG1vZGlmeSB0aGUgdmFsdWUsIGJ1dCB0aGVzZSBkby5cbiAqXG4gKiBVc2UgY2FzZSBpcyBmb3Igd2hlbiB0aGUgY29uZmlnIGZpbGUgY2FuIGFjY2VwdCBlLmcuLCBhIGBzdHJpbmdbXWAsIGJ1dCB0aGVcbiAqIENMSSBjYW4gb25seSB0YWtlIGEgYHN0cmluZ2AgKGFzIGBhcmdwYXJzZWAgc2VlbXMgdG8gYmUgbGltaXRlZCBpbiB0aGF0XG4gKiBmYXNoaW9uOyBpdCBhbHNvIGNhbm5vdCB1bmRlcnN0YW5kIGFuIGFyZ3VtZW50IGhhdmluZyBtdWx0aXBsZSB0eXBlcykuXG4gKlxuICogRm9yIGV4YW1wbGUsIHRoZSBgY3N2YCB0cmFuc2Zvcm0gdGFrZXMgYSBgc3RyaW5nYCBhbmQgcmV0dXJucyBhIGBzdHJpbmdbXWAgYnlcbiAqIHNwbGl0dGluZyBpdCBieSBjb21tYS0tX29yXyBpZiB0aGF0IGBzdHJpbmdgIGhhcHBlbnMgdG8gYmUgYVxuICogZmlsZXBhdGgtLXJlYWRpbmcgdGhlIGZpbGUgYXMgYSBgLmNzdmAuXG4gKlxuICogVGhpcyBjb250YWlucyBzb21lIGNvcHktcGFzdGVkIGNvZGUgZnJvbSBgbGliL2NsaS9wYXJzZXItaGVscGVycy5qc2AsIHdoaWNoIHdhc1xuICogb2JsaXRlcmF0ZWQuXG4gKi9cbmV4cG9ydCBjb25zdCB0cmFuc2Zvcm1lcnMgPSB7XG4gIC8qKlxuICAgKiBHaXZlbiBhIENTVi1zdHlsZSBzdHJpbmcgb3IgcGF0aG5hbWUsIHBhcnNlIGl0IGludG8gYW4gYXJyYXkuXG4gICAqIFRoZSBmaWxlIGNhbiBhbHNvIGJlIHNwbGl0IG9uIG5ld2xpbmVzLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gdmFsdWVcbiAgICogQHJldHVybnMge3N0cmluZ1tdfVxuICAgKi9cbiAgY3N2OiAodmFsdWUpID0+IHtcbiAgICBsZXQgYm9keTtcbiAgICAvLyBzaW5jZSB0aGlzIHZhbHVlIGNvdWxkIGJlIGEgc2luZ2xlIHN0cmluZyAobm8gY29tbWFzKSBfb3JfIGEgcGF0aG5hbWUsIHdlIHdpbGwgbmVlZFxuICAgIC8vIHRvIGF0dGVtcHQgdG8gcGFyc2UgaXQgYXMgYSBmaWxlIF9maXJzdF8uXG4gICAgdHJ5IHtcbiAgICAgIGJvZHkgPSByZWFkRmlsZVN5bmModmFsdWUsICd1dGY4Jyk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBpZiAoZXJyLmNvZGUgIT09ICdFTk9FTlQnKSB7XG4gICAgICAgIHRocm93IG5ldyBBcmd1bWVudFR5cGVFcnJvcihcbiAgICAgICAgICBgQ291bGQgbm90IHJlYWQgZmlsZSAke2JvZHl9OiAke2Vyci5tZXNzYWdlfWAsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBib2R5ID8gcGFyc2VDc3ZGaWxlKGJvZHkpIDogcGFyc2VDc3ZMaW5lKHZhbHVlKTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIHRocm93IG5ldyBBcmd1bWVudFR5cGVFcnJvcihcbiAgICAgICAgJ011c3QgYmUgYSBjb21tYS1kZWxpbWl0ZWQgc3RyaW5nLCBlLmcuLCBcImZvbyxiYXIsYmF6XCInLFxuICAgICAgKTtcbiAgICB9XG4gIH0sXG5cbiAgLyoqXG4gICAqIFBhcnNlIGEgc3RyaW5nIHdoaWNoIGNvdWxkIGJlIGEgcGF0aCB0byBhIEpTT04gZmlsZSBvciBhIEpTT04gc3RyaW5nLlxuICAgKiBAcGFyYW0ge3N0cmluZ30ganNvbk9yUGF0aFxuICAgKiBAcmV0dXJucyB7b2JqZWN0fVxuICAgKi9cbiAganNvbjogKGpzb25PclBhdGgpID0+IHtcbiAgICBsZXQganNvbiA9IGpzb25PclBhdGg7XG4gICAgbGV0IGxvYWRlZEZyb21GaWxlID0gZmFsc2U7XG4gICAgdHJ5IHtcbiAgICAgIC8vIHVzZSBzeW5jaHJvbm91cyBmaWxlIGFjY2VzcywgYXMgYGFyZ3BhcnNlYCBwcm92aWRlcyBubyB3YXkgb2YgZWl0aGVyXG4gICAgICAvLyBhd2FpdGluZyBvciB1c2luZyBjYWxsYmFja3MuIFRoaXMgc3RlcCBoYXBwZW5zIGluIHN0YXJ0dXAsIGluIHdoYXQgaXNcbiAgICAgIC8vIGVmZmVjdGl2ZWx5IGNvbW1hbmQtbGluZSBjb2RlLCBzbyBub3RoaW5nIGlzIGJsb2NrZWQgaW4gdGVybXMgb2ZcbiAgICAgIC8vIHNlc3Npb25zLCBzbyBob2xkaW5nIHVwIHRoZSBldmVudCBsb29wIGRvZXMgbm90IGluY3VyIHRoZSB1c3VhbFxuICAgICAgLy8gZHJhd2JhY2tzLlxuICAgICAganNvbiA9IHJlYWRGaWxlU3luYyhqc29uT3JQYXRoLCAndXRmOCcpO1xuICAgICAgbG9hZGVkRnJvbUZpbGUgPSB0cnVlO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgLy8gdW5yZWFkYWJsZSBmaWxlcyBkb24ndCBjb3VudC4uLiBidXQgb3RoZXIgcHJvYmxlbXMgZG8uXG4gICAgICBpZiAoZXJyLmNvZGUgIT09ICdFTk9FTlQnKSB7XG4gICAgICAgIHRocm93IGVycjtcbiAgICAgIH1cbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IEpTT04ucGFyc2UoanNvbik7XG4gICAgICBpZiAoIV8uaXNQbGFpbk9iamVjdChyZXN1bHQpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBgJyR7Xy50cnVuY2F0ZShyZXN1bHQsIHtsZW5ndGg6IDEwMH0pfScgaXMgbm90IGFuIG9iamVjdGAsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGNvbnN0IG1zZyA9IGxvYWRlZEZyb21GaWxlXG4gICAgICAgID8gYFRoZSBwcm92aWRlZCB2YWx1ZSBvZiAnJHtqc29uT3JQYXRofScgbXVzdCBiZSBhIHZhbGlkIEpTT05gXG4gICAgICAgIDogYFRoZSBwcm92aWRlZCB2YWx1ZSBtdXN0IGJlIGEgdmFsaWQgSlNPTmA7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKGAke21zZ30uIE9yaWdpbmFsIGVycm9yOiAke2UubWVzc2FnZX1gKTtcbiAgICB9XG4gIH0sXG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUNBOztBQUNBOztBQUNBOztBQWdCQSxTQUFTQSxZQUFULENBQXVCQyxLQUF2QixFQUE4QjtFQUM1QixPQUFPQSxLQUFLLENBQ1RDLEtBREksQ0FDRSxHQURGLEVBRUpDLEdBRkksQ0FFQ0MsQ0FBRCxJQUFPQSxDQUFDLENBQUNDLElBQUYsRUFGUCxFQUdKQyxNQUhJLENBR0dDLE9BSEgsQ0FBUDtBQUlEOztBQU9ELFNBQVNDLFlBQVQsQ0FBdUJQLEtBQXZCLEVBQThCO0VBQzVCLE9BQU9BLEtBQUssQ0FDVEMsS0FESSxDQUNFLE9BREYsRUFFSkMsR0FGSSxDQUVDQyxDQUFELElBQU9BLENBQUMsQ0FBQ0MsSUFBRixFQUZQLEVBR0pDLE1BSEksQ0FHR0MsT0FISCxFQUlKRSxPQUpJLENBSUlULFlBSkosQ0FBUDtBQUtEOztBQWlCTSxNQUFNVSxZQUFZLEdBQUc7RUFPMUJDLEdBQUcsRUFBR1YsS0FBRCxJQUFXO0lBQ2QsSUFBSVcsSUFBSjs7SUFHQSxJQUFJO01BQ0ZBLElBQUksR0FBRyxzQkFBYVgsS0FBYixFQUFvQixNQUFwQixDQUFQO0lBQ0QsQ0FGRCxDQUVFLE9BQU9ZLEdBQVAsRUFBWTtNQUNaLElBQUlBLEdBQUcsQ0FBQ0MsSUFBSixLQUFhLFFBQWpCLEVBQTJCO1FBQ3pCLE1BQU0sSUFBSUMsMkJBQUosQ0FDSCx1QkFBc0JILElBQUssS0FBSUMsR0FBRyxDQUFDRyxPQUFRLEVBRHhDLENBQU47TUFHRDtJQUNGOztJQUVELElBQUk7TUFDRixPQUFPSixJQUFJLEdBQUdKLFlBQVksQ0FBQ0ksSUFBRCxDQUFmLEdBQXdCWixZQUFZLENBQUNDLEtBQUQsQ0FBL0M7SUFDRCxDQUZELENBRUUsT0FBT1ksR0FBUCxFQUFZO01BQ1osTUFBTSxJQUFJRSwyQkFBSixDQUNKLHVEQURJLENBQU47SUFHRDtFQUNGLENBNUJ5QjtFQW1DMUJFLElBQUksRUFBR0MsVUFBRCxJQUFnQjtJQUNwQixJQUFJRCxJQUFJLEdBQUdDLFVBQVg7SUFDQSxJQUFJQyxjQUFjLEdBQUcsS0FBckI7O0lBQ0EsSUFBSTtNQU1GRixJQUFJLEdBQUcsc0JBQWFDLFVBQWIsRUFBeUIsTUFBekIsQ0FBUDtNQUNBQyxjQUFjLEdBQUcsSUFBakI7SUFDRCxDQVJELENBUUUsT0FBT04sR0FBUCxFQUFZO01BRVosSUFBSUEsR0FBRyxDQUFDQyxJQUFKLEtBQWEsUUFBakIsRUFBMkI7UUFDekIsTUFBTUQsR0FBTjtNQUNEO0lBQ0Y7O0lBQ0QsSUFBSTtNQUNGLE1BQU1PLE1BQU0sR0FBR0MsSUFBSSxDQUFDQyxLQUFMLENBQVdMLElBQVgsQ0FBZjs7TUFDQSxJQUFJLENBQUNNLGdCQUFFQyxhQUFGLENBQWdCSixNQUFoQixDQUFMLEVBQThCO1FBQzVCLE1BQU0sSUFBSUssS0FBSixDQUNILElBQUdGLGdCQUFFRyxRQUFGLENBQVdOLE1BQVgsRUFBbUI7VUFBQ08sTUFBTSxFQUFFO1FBQVQsQ0FBbkIsQ0FBa0Msb0JBRGxDLENBQU47TUFHRDs7TUFDRCxPQUFPUCxNQUFQO0lBQ0QsQ0FSRCxDQVFFLE9BQU9RLENBQVAsRUFBVTtNQUNWLE1BQU1DLEdBQUcsR0FBR1YsY0FBYyxHQUNyQiwwQkFBeUJELFVBQVcsd0JBRGYsR0FFckIseUNBRkw7TUFHQSxNQUFNLElBQUlZLFNBQUosQ0FBZSxHQUFFRCxHQUFJLHFCQUFvQkQsQ0FBQyxDQUFDWixPQUFRLEVBQW5ELENBQU47SUFDRDtFQUNGO0FBbEV5QixDQUFyQiJ9
@@ -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":"AAGA;;;GAGG;AACH,uBAFU,OAAO,MAAM,EAAC,iBAAiB,CAAC,CAwGxC;;;;;;uCAMW,KAAK,GAAC,MAAM;;;;;;;;;;;;gCAiBZ,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,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJrZXl3b3JkcyIsImFwcGl1bUNsaUFsaWFzZXMiLCJrZXl3b3JkIiwibWV0YVNjaGVtYSIsInR5cGUiLCJpdGVtcyIsIm1pbkxlbmd0aCIsIm1pbkl0ZW1zIiwidW5pcXVlSXRlbXMiLCJkZXNjcmlwdGlvbiIsImFwcGl1bUNsaURlc3QiLCJhcHBpdW1DbGlEZXNjcmlwdGlvbiIsInNjaGVtYVR5cGUiLCJhcHBpdW1DbGlUcmFuc2Zvcm1lciIsImVudW0iLCJPYmplY3QiLCJrZXlzIiwidHJhbnNmb3JtZXJzIiwiYXBwaXVtQ2xpSWdub3JlZCIsImFwcGl1bURlcHJlY2F0ZWQiLCIkY29tbWVudCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9zY2hlbWEva2V5d29yZHMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXG5pbXBvcnQgeyB0cmFuc2Zvcm1lcnMgfSBmcm9tICcuL2NsaS10cmFuc2Zvcm1lcnMnO1xuXG4vKipcbiAqIENvbGxlY3Rpb24gb2Yga2V5d29yZCBkZWZpbml0aW9ucyB0byBhZGQgdG8gdGhlIHNpbmdsZXRvbiBgQWp2YCBpbnN0YW5jZS5cbiAqIEB0eXBlIHtSZWNvcmQ8c3RyaW5nLEtleXdvcmREZWZpbml0aW9uPn1cbiAqL1xuZXhwb3J0IGNvbnN0IGtleXdvcmRzID0ge1xuICAvKipcbiAgICogS2V5d29yZCB0byBwcm92aWRlIGEgbGlzdCBvZiBjb21tYW5kIGFsaWFzIG5hbWVzIGZvciB0aGUgQ0xJLlxuICAgKlxuICAgKiBJZiBkZWZpbmVkLCB0aGVyZSBtdXN0IGJlIGF0IGxlYXN0IG9uZSBpdGVtIGluIHRoZSBhcnJheSBhbmQgaXQgbXVzdCBiZSBub24tZW1wdHkuXG4gICAqIEFsbCBpdGVtcyBpbiB0aGUgYXJyYXkgbXVzdCBiZSB1bmlxdWUuXG4gICAqXG4gICAqIEB0b2RvIEF2b2lkIGFsaWFzIGNvbGxpc2lvbnMhXG4gICAqIEB0eXBlIHtLZXl3b3JkRGVmaW5pdGlvbn1cbiAgICogQGV4YW1wbGVcbiAgICoge2FwcGl1bUNsaUFsaWFzZXM6IFsnQicsICdib2JieScsICdyb2JlcnQnXX1cbiAgICovXG4gIGFwcGl1bUNsaUFsaWFzZXM6IHtcbiAgICBrZXl3b3JkOiAnYXBwaXVtQ2xpQWxpYXNlcycsXG4gICAgbWV0YVNjaGVtYToge1xuICAgICAgdHlwZTogJ2FycmF5JyxcbiAgICAgIGl0ZW1zOiB7XG4gICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICBtaW5MZW5ndGg6IDEsXG4gICAgICB9LFxuICAgICAgbWluSXRlbXM6IDEsXG4gICAgICB1bmlxdWVJdGVtczogdHJ1ZSxcbiAgICAgIGRlc2NyaXB0aW9uOiAnTGlzdCBvZiBhbGlhc2VzIGZvciB0aGUgYXJndW1lbnQuIEFsaWFzZXMgc2hvcnRlciB0aGFuIHRocmVlICgzKSBjaGFyYWN0ZXJzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aCBhIHNpbmdsZSBkYXNoOyBvdGhlcndpc2UgdHdvICgyKS4nXG4gICAgfSxcbiAgfSxcbiAgLyoqXG4gICAqIEtleXdvcmQgdG8gcHJvdmlkZSB0aGUgbmFtZSBvZiB0aGUgcHJvcGVydHkgaW4gdGhlIGRlc3RpbmF0aW9uIChwYXJzZWRcbiAgICogYXJncykgb2JqZWN0LiBCeSBkZWZhdWx0LCB0aGlzIHZhbHVlIHdpbGwgYmUgd2hhdGV2ZXIgdGhlIHByb3BlcnR5IG5hbWUgaXMsXG4gICAqIGJ1dCBjYW1lbC1jYXNlZC4gSWYgYSBmbGFnIG5lZWRzIHNvbWV0aGluZyBfb3RoZXJfIHRoYW4ganVzdCBjYW1lbC1jYXNpbmcsXG4gICAqIHVzZSB0aGlzLlxuICAgKiBAdHlwZSB7S2V5d29yZERlZmluaXRpb259XG4gICAqIEBleGFtcGxlXG4gICAqIC8vIGZvciBwcm9wICduby1jb2xvcidcbiAgICoge2FwcGl1bUNsaURlc3Q6ICdOT0NPTE9SJ30gLy8gdmFsdWUgd2lsbCBiZSBzdG9yZWQgYXMgcHJvcGVydHkgYE5PQ09MT1JgIGluc3RlYWQgb2YgYG5vQ29sb3JgXG4gICAqL1xuICBhcHBpdW1DbGlEZXN0OiB7XG4gICAga2V5d29yZDogJ2FwcGl1bUNsaURlc3QnLFxuICAgIG1ldGFTY2hlbWE6IHtcbiAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgbWluTGVuZ3RoOiAxLFxuICAgICAgZGVzY3JpcHRpb246ICdOYW1lIG9mIHRoZSBhc3NvY2lhdGVkIHByb3BlcnR5IGluIHRoZSBwYXJzZWQgQ0xJIGFyZ3VtZW50cyBvYmplY3QnXG4gICAgfSxcbiAgfSxcblxuICAvKipcbiAgICogQ0xJLXNwZWNpZmljIGRlc2NyaXB0aW9uIG9mIHRoZSBwcm9wZXJ0eS4gIFNvbWV0aW1lcyB0aGUgYWxsb3dlZCB0eXBlIGNhblxuICAgKiBiZSBkaWZmZXJlbnQgZW5vdWdoIG9uIHRoZSBDTEkgdGhhdCBwcm92aWRpbmcgYSBkZXNjcmlwdGlvbiB3cml0dGVuIGZvciBhXG4gICAqIGNvbmZpZyBmaWxlIGNvbnRleHQgd291bGRuJ3QgbWFrZSBzZW5zZS5cbiAgICogQHR5cGUge0tleXdvcmREZWZpbml0aW9ufVxuICAgKiBAZXhhbXBsZVxuICAgKiB7YXBwaXVtQ2xpRGVzY3JpcHRpb246ICdUaGlzIGlzIGEgY29tbWEtZGVsaW1pdGVkIHN0cmluZywgYnV0IGluIHRoZSBjb25maWcgZmlsZSBpdCBpcyBhbiBhcnJheSd9XG4gICAqL1xuICBhcHBpdW1DbGlEZXNjcmlwdGlvbjoge1xuICAgIGtleXdvcmQ6ICdhcHBpdW1DbGlEZXNjcmlwdGlvbicsXG4gICAgc2NoZW1hVHlwZTogJ3N0cmluZycsXG4gICAgbWV0YVNjaGVtYToge1xuICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICBtaW5MZW5ndGg6IDEsXG4gICAgICBkZXNjcmlwdGlvbjogJ0Rlc2NyaXB0aW9uIHRvIHByb3ZpZGUgaW4gdGhlIC0taGVscCB0ZXh0IG9mIHRoZSBDTEkuIE92ZXJyaWRlcyBgZGVzY3JpcHRpb25gJ1xuICAgIH0sXG4gIH0sXG5cbiAgLyoqXG4gICAqIFRyYW5zZm9ybWVycyBmb3IgQ0xJIGFyZ3MuIFRoZXNlIHVzdWFsbHkgdGFrZSBzdHJpbmdzIHRoZW4gZG8gc29tZXRoaW5nIHdpdGggdGhlbSwgbGlrZVxuICAgKiByZWFkIGEgZmlsZSBvciBwYXJzZSBmdXJ0aGVyLlxuICAgKiBAdHlwZSB7S2V5d29yZERlZmluaXRpb259XG4gICAqL1xuICBhcHBpdW1DbGlUcmFuc2Zvcm1lcjoge1xuICAgIGtleXdvcmQ6ICdhcHBpdW1DbGlUcmFuc2Zvcm1lcicsXG4gICAgbWV0YVNjaGVtYToge1xuICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICBlbnVtOiBPYmplY3Qua2V5cyh0cmFuc2Zvcm1lcnMpLFxuICAgICAgZGVzY3JpcHRpb246ICdUaGUgbmFtZSBvZiBhIGN1c3RvbSB0cmFuc2Zvcm1lciB0byBydW4gYWdhaW5zdCB0aGUgdmFsdWUgYXMgcHJvdmlkZWQgdmlhIHRoZSBDTEkuJ1xuICAgIH0sXG4gIH0sXG5cbiAgLyoqXG4gICAqIEZsYWcgdG8gdGVsbCBBcHBpdW0gdG8gX25vdF8gcHJvdmlkZSB0aGlzIHByb3BlcnR5IGFzIGEgQ0xJIGFyZ3VtZW50LlxuICAgKiBAdHlwZSB7S2V5d29yZERlZmluaXRpb259XG4gICAqL1xuICBhcHBpdW1DbGlJZ25vcmVkOiB7XG4gICAga2V5d29yZDogJ2FwcGl1bUNsaUlnbm9yZWQnLFxuICAgIG1ldGFTY2hlbWE6IHtcbiAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnSWYgYHRydWVgLCBBcHBpdW0gd2lsbCBub3QgcHJvdmlkZSB0aGlzIHByb3BlcnR5IGFzIGEgQ0xJIGFyZ3VtZW50LiBUaGlzIGlzIE5PVCB0aGUgc2FtZSBhcyBhIFwiaGlkZGVuXCIgYXJndW1lbnQuJyxcbiAgICAgIGVudW06IFt0cnVlXVxuICAgIH1cbiAgfSxcblxuICAvKipcbiAgICogTWFyayB0aGlzIHByb3BlcnR5IGFzIGRlcHJlY2F0ZWQuXG4gICAqIEB0eXBlIHtLZXl3b3JkRGVmaW5pdGlvbn1cbiAgICovXG4gIGFwcGl1bURlcHJlY2F0ZWQ6IHtcbiAgICBrZXl3b3JkOiAnYXBwaXVtRGVwcmVjYXRlZCcsXG4gICAgbWV0YVNjaGVtYToge1xuICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgZGVzY3JpcHRpb246ICdJZiBgdHJ1ZWAsIHRoaXMgcHJvcGVydHkgd2lsbCBiZSBkaXNwbGF5ZWQgYXMgXCJkZXByZWNhdGVkXCIgdG8gdGhlIHVzZXInLFxuICAgICAgZW51bTogW3RydWVdLFxuICAgICAgJGNvbW1lbnQ6ICdKU09OIHNjaGVtYSBkcmFmdC0yMDE5LTA5IGtleXdvcmQgYGRlcHJlY2F0ZWRgIHNlcnZlcyB0aGUgc2FtZSBwdXJwb3NlLiBUaGlzIGtleXdvcmQgc2hvdWxkIGl0c2VsZiBiZSBkZXByZWNhdGVkIGlmIHdlIG1vdmUgdG8gZHJhZnQtMjAxOS0wOSEnXG4gICAgfVxuICB9XG59O1xuXG4vKipcbiAqIFRoZXNlIGFyZSB0aGUgdmFsaWQgdmFsdWVzIGZvciB0aGUgYGFwcGl1bUNsaVRyYW5zZm9ybWVyYCBrZXl3b3JkLlxuICogVW5mb3J0dW5hdGVseSwgVFMgY2Fubm90IGluZmVyIHRoaXMgaW4gYSBKUyBjb250ZXh0LiAgSW4gVFMsIHdlJ2QgdXNlXG4gKiBgYXMgY29uc3RgIHdoZW4gZGVmaW5pbmcgYGFyZ1RyYW5zZm9ybWVyc2AsIHRoZW4gZ2V0IGBrZXlvZiB0eXBlb2YgYXJnVHJhbnNmb3JtZXJzYC4gYWxhcy5cbiAqIEB0eXBlZGVmIHsnY3N2J3wnanNvbid9IEFwcGl1bUNsaVRyYW5zZm9ybWVyTmFtZVxuICovXG5cbi8qKlxuICogVGhlc2UgYXJlIHRoZSBjdXN0b20ga2V5d29yZHMgdGhhdCBBcHBpdW0gcmVjb2duaXplcy5cbiAqXG4gKiBAdHlwZWRlZiBBcHBpdW1KU09OU2NoZW1hS2V5d29yZHNcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbYXBwaXVtQ2xpRGVzdF1cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbYXBwaXVtQ2xpRGVzY3JpcHRpb25dXG4gKiBAcHJvcGVydHkge3N0cmluZ1tdfSBbYXBwaXVtQ2xpQWxpYXNlc11cbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gW2FwcGl1bUNsaUlnbm9yZWRdXG4gKiBAcHJvcGVydHkge0FwcGl1bUNsaVRyYW5zZm9ybWVyTmFtZX0gW2FwcGl1bUNsaVRyYW5zZm9ybWVyXVxuICogQHByb3BlcnR5IHtib29sZWFufSBbYXBwaXVtRGVwcmVjYXRlZF1cbiAqL1xuXG5cbi8qKlxuICogQHR5cGVkZWYge2ltcG9ydCgnYWp2JykuS2V5d29yZERlZmluaXRpb259IEtleXdvcmREZWZpbml0aW9uXG4gKi9cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQ0E7O0FBTU8sTUFBTUEsUUFBUSxHQUFHO0VBWXRCQyxnQkFBZ0IsRUFBRTtJQUNoQkMsT0FBTyxFQUFFLGtCQURPO0lBRWhCQyxVQUFVLEVBQUU7TUFDVkMsSUFBSSxFQUFFLE9BREk7TUFFVkMsS0FBSyxFQUFFO1FBQ0xELElBQUksRUFBRSxRQUREO1FBRUxFLFNBQVMsRUFBRTtNQUZOLENBRkc7TUFNVkMsUUFBUSxFQUFFLENBTkE7TUFPVkMsV0FBVyxFQUFFLElBUEg7TUFRVkMsV0FBVyxFQUFFO0lBUkg7RUFGSSxDQVpJO0VBbUN0QkMsYUFBYSxFQUFFO0lBQ2JSLE9BQU8sRUFBRSxlQURJO0lBRWJDLFVBQVUsRUFBRTtNQUNWQyxJQUFJLEVBQUUsUUFESTtNQUVWRSxTQUFTLEVBQUUsQ0FGRDtNQUdWRyxXQUFXLEVBQUU7SUFISDtFQUZDLENBbkNPO0VBb0R0QkUsb0JBQW9CLEVBQUU7SUFDcEJULE9BQU8sRUFBRSxzQkFEVztJQUVwQlUsVUFBVSxFQUFFLFFBRlE7SUFHcEJULFVBQVUsRUFBRTtNQUNWQyxJQUFJLEVBQUUsUUFESTtNQUVWRSxTQUFTLEVBQUUsQ0FGRDtNQUdWRyxXQUFXLEVBQUU7SUFISDtFQUhRLENBcERBO0VBbUV0Qkksb0JBQW9CLEVBQUU7SUFDcEJYLE9BQU8sRUFBRSxzQkFEVztJQUVwQkMsVUFBVSxFQUFFO01BQ1ZDLElBQUksRUFBRSxRQURJO01BRVZVLElBQUksRUFBRUMsTUFBTSxDQUFDQyxJQUFQLENBQVlDLDZCQUFaLENBRkk7TUFHVlIsV0FBVyxFQUFFO0lBSEg7RUFGUSxDQW5FQTtFQWdGdEJTLGdCQUFnQixFQUFFO0lBQ2hCaEIsT0FBTyxFQUFFLGtCQURPO0lBRWhCQyxVQUFVLEVBQUU7TUFDVkMsSUFBSSxFQUFFLFNBREk7TUFFVkssV0FBVyxFQUFFLGtIQUZIO01BR1ZLLElBQUksRUFBRSxDQUFDLElBQUQ7SUFISTtFQUZJLENBaEZJO0VBNkZ0QkssZ0JBQWdCLEVBQUU7SUFDaEJqQixPQUFPLEVBQUUsa0JBRE87SUFFaEJDLFVBQVUsRUFBRTtNQUNWQyxJQUFJLEVBQUUsU0FESTtNQUVWSyxXQUFXLEVBQUUsd0VBRkg7TUFHVkssSUFBSSxFQUFFLENBQUMsSUFBRCxDQUhJO01BSVZNLFFBQVEsRUFBRTtJQUpBO0VBRkk7QUE3RkksQ0FBakIifQ==