appium 2.0.0-beta.3 → 2.0.0-beta.30

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 (139) 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 +238 -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 +79 -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 +40 -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 +51 -0
  63. package/build/lib/main.d.ts.map +1 -0
  64. package/build/lib/main.js +174 -82
  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/index.js +11 -0
  88. package/lib/appium-config.schema.json +278 -0
  89. package/lib/appium.js +398 -155
  90. package/lib/cli/args.js +174 -377
  91. package/lib/cli/driver-command.js +22 -7
  92. package/lib/cli/extension-command.js +372 -177
  93. package/lib/cli/extension.js +32 -10
  94. package/lib/cli/parser.js +252 -83
  95. package/lib/cli/plugin-command.js +19 -6
  96. package/lib/cli/utils.js +22 -2
  97. package/lib/config-file.js +223 -0
  98. package/lib/config.js +169 -69
  99. package/lib/constants.js +78 -0
  100. package/lib/extension/driver-config.js +249 -0
  101. package/lib/extension/extension-config.js +458 -0
  102. package/lib/extension/index.js +102 -0
  103. package/lib/extension/manifest.js +486 -0
  104. package/lib/extension/package-changed.js +63 -0
  105. package/lib/extension/plugin-config.js +113 -0
  106. package/lib/grid-register.js +25 -22
  107. package/lib/logger.js +1 -1
  108. package/lib/logsink.js +14 -7
  109. package/lib/main.js +233 -83
  110. package/lib/schema/arg-spec.js +232 -0
  111. package/lib/schema/cli-args.js +261 -0
  112. package/lib/schema/cli-transformers.js +122 -0
  113. package/lib/schema/index.js +2 -0
  114. package/lib/schema/keywords.js +134 -0
  115. package/lib/schema/schema.js +734 -0
  116. package/lib/utils.js +85 -129
  117. package/package.json +62 -85
  118. package/scripts/postinstall.js +71 -0
  119. package/types/appium-manifest.d.ts +61 -0
  120. package/types/cli.d.ts +134 -0
  121. package/types/extension.d.ts +56 -0
  122. package/types/external-manifest.d.ts +58 -0
  123. package/types/index.d.ts +7 -0
  124. package/CHANGELOG.md +0 -3515
  125. package/bin/ios-webkit-debug-proxy-launcher.js +0 -71
  126. package/build/lib/cli/npm.js +0 -206
  127. package/build/lib/cli/parser-helpers.js +0 -82
  128. package/build/lib/driver-config.js +0 -77
  129. package/build/lib/drivers.js +0 -96
  130. package/build/lib/extension-config.js +0 -251
  131. package/build/lib/plugin-config.js +0 -59
  132. package/build/lib/plugins.js +0 -14
  133. package/lib/cli/npm.js +0 -183
  134. package/lib/cli/parser-helpers.js +0 -79
  135. package/lib/driver-config.js +0 -46
  136. package/lib/drivers.js +0 -81
  137. package/lib/extension-config.js +0 -208
  138. package/lib/plugin-config.js +0 -34
  139. 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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9zY2hlbWEvYXJnLXNwZWMuanMiXSwibmFtZXMiOlsiQVBQSVVNX0NPTkZJR19TQ0hFTUFfSUQiLCJTRVJWRVJfUFJPUF9OQU1FIiwiU0NIRU1BX0lEX1JFR0VYUCIsIlBST1BFUlRJRVMiLCJBcmdTcGVjIiwibmFtZSIsImV4dFR5cGUiLCJleHROYW1lIiwicmVmIiwiYXJnIiwiZGVzdCIsInJhd0Rlc3QiLCJkZWZhdWx0VmFsdWUiLCJjb25zdHJ1Y3RvciIsInRvQXJnIiwidG9TY2hlbWFSZWYiLCJfIiwiY2FtZWxDYXNlIiwiZGVzdEtleXBhdGgiLCJqb2luIiwiYmFzZVJlZiIsInRvU2NoZW1hQmFzZVJlZiIsInRvTm9ybWFsaXplZEV4dE5hbWUiLCJwcm9wZXJOYW1lIiwia2ViYWJDYXNlIiwicmVwbGFjZSIsImV4dGVuc2lvbkluZm9Gcm9tUm9vdFNjaGVtYUlkIiwic2NoZW1hSWQiLCJtYXRjaGVzIiwibWF0Y2giLCJncm91cHMiLCJub3JtYWxpemVkRXh0TmFtZSIsImNyZWF0ZSIsIm9wdHMiLCJPYmplY3QiLCJmcmVlemUiLCJ0b1N0cmluZyIsInN0ciJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTs7QUFNTyxNQUFNQSx1QkFBdUIsR0FBRyxhQUFoQzs7QUFPQSxNQUFNQyxnQkFBZ0IsR0FBRyxRQUF6Qjs7QUFLUCxNQUFNQyxnQkFBZ0IsR0FBRyxrREFBekI7QUFLQSxNQUFNQyxVQUFVLEdBQUcsWUFBbkI7O0FBU08sTUFBTUMsT0FBTixDQUFjO0FBS25CQyxFQUFBQSxJQUFJO0FBT0pDLEVBQUFBLE9BQU87QUFRUEMsRUFBQUEsT0FBTztBQU9QQyxFQUFBQSxHQUFHO0FBTUhDLEVBQUFBLEdBQUc7QUFTSEMsRUFBQUEsSUFBSTtBQUtKQyxFQUFBQSxPQUFPO0FBT1BDLEVBQUFBLFlBQVk7O0FBWVpDLEVBQUFBLFdBQVcsQ0FBRVIsSUFBRixFQUFRO0FBQUNDLElBQUFBLE9BQUQ7QUFBVUMsSUFBQUEsT0FBVjtB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QUFBO0FBQVYsVUFFRkgsT0FBTyxDQUFDRSxNQUZaO0FBSUEsYUFBTztBQUFDeEIsUUFBQUEsT0FBRDtBQUFVeUIsUUFBQUE7QUFBVixPQUFQO0FBQ0Q7O0FBQ0QsV0FBTyxFQUFQO0FBQ0Q7O0FBV1ksU0FBTkMsTUFBTSxDQUFFM0IsSUFBRixFQUFRNEIsSUFBUixFQUFjO0FBQ3pCLFdBQU9DLE1BQU0sQ0FBQ0MsTUFBUCxDQUFjLElBQUkvQixPQUFKLENBQVlDLElBQVosRUFBa0I0QixJQUFsQixDQUFkLENBQVA7QUFDRDs7QUFPREcsRUFBQUEsUUFBUSxHQUFJO0FBQ1YsUUFBSUMsR0FBRyxHQUFJLGFBQVksS0FBS2hDLElBQUssS0FBSSxLQUFLRyxHQUFJLEdBQTlDOztBQUNBLFFBQUksS0FBS0YsT0FBTCxJQUFnQixLQUFLQyxPQUF6QixFQUFrQztBQUNoQzhCLE1BQUFBLEdBQUcsSUFBSyxVQUFTLEtBQUsvQixPQUFRLElBQUcsS0FBS0MsT0FBUSxHQUE5QztBQUNEOztBQUNELFdBQU84QixHQUFQO0FBQ0Q7O0FBeExrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5cbi8qKlxuICogVGhlIG9yaWdpbmFsIElEIG9mIHRoZSBBcHBpdW0gY29uZmlnIHNjaGVtYS5cbiAqIFdlIHVzZSB0aGlzIGluIHRoZSBDTEkgdG8gY29udmVydCBpdCB0byBgYXJncGFyc2VgIG9wdGlvbnMuXG4gKi9cbmV4cG9ydCBjb25zdCBBUFBJVU1fQ09ORklHX1NDSEVNQV9JRCA9ICdhcHBpdW0uanNvbic7XG5cbi8qKlxuICogVGhlIHNjaGVtYSBwcm9wIGNvbnRhaW5pbmcgc2VydmVyLXJlbGF0ZWQgb3B0aW9ucy4gRXZlcnl0aGluZyBpbiBoZXJlXG4gKiBpcyBcIm5hdGl2ZVwiIHRvIEFwcGl1bS5cbiAqIFVzZWQgYnkge0BsaW5rIGZsYXR0ZW5TY2hlbWF9IGZvciB0cmFuc2Zvcm1pbmcgdGhlIHNjaGVtYSBpbnRvIENMSSBhcmdzLlxuICovXG5leHBvcnQgY29uc3QgU0VSVkVSX1BST1BfTkFNRSA9ICdzZXJ2ZXInO1xuXG4vKipcbiAqIFVzZWQgdG8gcGFyc2UgZXh0ZW5zaW9uIGluZm8gZnJvbSBhIHNjaGVtYSBJRC5cbiAqL1xuY29uc3QgU0NIRU1BX0lEX1JFR0VYUCA9IC9eKD88ZXh0VHlwZT4uKz8pLSg/PG5vcm1hbGl6ZWRFeHROYW1lPi4rKVxcLmpzb24kLztcblxuLyoqXG4gKiBBdm9pZCB0eXBvcyBieSB1c2luZyBjb25zdGFudHMhXG4gKi9cbmNvbnN0IFBST1BFUlRJRVMgPSAncHJvcGVydGllcyc7XG5cbi8qKlxuICogQW4gYEFyZ1NwZWNgIGlzIGEgY2xhc3MgcmVwcmVzZW50aW5nIG1ldGFkYXRhIGFib3V0IGFuIGFyZ3VtZW50IChvciBjb25maWdcbiAqIG9wdGlvbikgdXNlZCBmb3IgY3Jvc3MtcmVmZXJlbmNpbmcuXG4gKlxuICogVGhpcyBjbGFzcyBoYXMgbm8gaW5zdGFuY2UgbWV0aG9kcywgYW5kIGlzIGJhc2ljYWxseSBqdXN0IGEgcmVhZC1vbmx5IFwic3RydWN0XCIuXG4gKiBAdGVtcGxhdGUgRFxuICovXG5leHBvcnQgY2xhc3MgQXJnU3BlYyB7XG4gIC8qKlxuICAgKiBUaGUgY2Fub25pY2FsIG5hbWUgb2YgdGhlIGFyZ3VtZW50LiBDb3JyZXNwb25kcyB0byBrZXkgaW4gc2NoZW1hJ3MgYHByb3BlcnRpZXNgIHByb3AuXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqL1xuICBuYW1lO1xuXG4gIC8qKlxuICAgKiBUaGUgYEV4dGVuc2lvblR5cGVgIG9mIHRoZSBhcmd1bWVudC4gVGhpcyB3aWxsIGJlIHNldCBpZiB0aGUgYXJnIGNhbWUgZnJvbSBhbiBleHRlbnNpb247XG4gICAqIG90aGVyd2lzZSBpdCB3aWxsIGJlIGB1bmRlZmluZWRgLlxuICAgKiBAdHlwZSB7RXh0ZW5zaW9uVHlwZXx1bmRlZmluZWR9XG4gICAqL1xuICBleHRUeXBlO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgZXh0ZW5zaW9uLCBpZiB0aGlzIGFyZ3VtZW50IGNhbWUgZnJvbSBhbiBleHRlbnNpb24uXG4gICAqXG4gICAqIE90aGVyd2lzZSBgdW5kZWZpbmVkYC5cbiAgICogQHR5cGUge3N0cmluZ3x1bmRlZmluZWR9XG4gICAqL1xuICBleHROYW1lO1xuXG4gIC8qKlxuICAgKiBUaGUgc2NoZW1hIElEIChgJGlkYCkgZm9yIHRoZSBhcmd1bWVudC4gIFRoaXMgaXMgYXV0b21hdGljYWxseSBkZXRlcm1pbmVkLCBhbmQgYW55IHVzZXItcHJvdmlkZWQgYCRpZGBzIHdpbGwgYmUgb3ZlcndyaXR0ZW4uXG4gICAqXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqL1xuICByZWY7XG5cbiAgLyoqXG4gICAqIFRoZSBDTEkgYXJndW1lbnQsIHNhbnMgbGVhZGluZyBkYXNoZXMuXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqL1xuICBhcmc7XG5cbiAgLyoqXG4gICAqIFRoZSBkZXNpcmVkIGtleXBhdGggZm9yIHRoZSBhcmd1bWVudCBhZnRlciBhcmd1bWVudHMgaGF2ZSBiZWVuIHBhcnNlZC5cbiAgICpcbiAgICogVHlwaWNhbGx5IHRoaXMgaXMgY2FtZWxDYXNlZC4gIElmIHRoZSBhcmcgY2FtZSBmcm9tIGFuIGV4dGVuc2lvbiwgaXQgd2lsbCBiZSBwcmVmaXhlZCB3aXRoXG4gICAqIGA8ZXh0VHlwZT4uPGV4dE5hbWU+LmBcbiAgICogQHR5cGUge3N0cmluZ31cbiAgICovXG4gIGRlc3Q7XG5cbiAgLyoqXG4gICAqIFRoZSBzYW1lIGFzIHtAbGluayBBcmdTcGVjLmRlc3R9IGJ1dCB3aXRob3V0IHRoZSBsZWFkaW5nIGA8ZXh0VHlwZT4uPGV4dE5hbWU+LmAgcHJlZml4LlxuICAgKi9cbiAgcmF3RGVzdDtcblxuICAvKipcbiAgICogV2hhdGV2ZXIgdGhlIGRlZmF1bHQgdmFsdWUgb2YgdGhpcyBhcmd1bWVudCBpcywgYXMgc3BlY2lmaWVkIGJ5IHRoZVxuICAgKiBgZGVmYXVsdGAgcHJvcGVydHkgb2YgdGhlIHNjaGVtYS5cbiAgICogQHR5cGUge0R8dW5kZWZpbmVkfVxuICAgKi9cbiAgZGVmYXVsdFZhbHVlO1xuXG4gIC8qKlxuICAgKiBCdWlsZHMgc29tZSBjb21wdXRlZCBmaWVsZHMgYW5kIGFzc2lnbnMgdGhlbSB0byB0aGUgaW5zdGFuY2UuXG4gICAqXG4gICAqIFVuZGVmaW5lZCBwcm9wZXJ0aWVzIGFyZSBub3QgYXNzaWduZWQuXG4gICAqXG4gICAqIFRoZSBfY29uc3RydWN0b3JfIGlzIHByaXZhdGUuIFVzZSB7QGxpbmsgQXJnU3BlYy5jcmVhdGV9IGluc3RlYWQuXG4gICAqIEBwcml2YXRlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lXG4gICAqIEBwYXJhbSB7QXJnU3BlY09wdGlvbnM8RD59IFtvcHRzXVxuICAgKi9cbiAgY29uc3RydWN0b3IgKG5hbWUsIHtleHRUeXBlLCBleHROYW1lLCBkZXN0LCBkZWZhdWx0VmFsdWV9ID0ge30pIHtcbiAgICAvLyB3ZSBtdXN0IG5vcm1hbGl6ZSB0aGUgZXh0ZW5zaW9uIG5hbWUgdG8gZml0IGludG8gb3VyIGNvbnZlbnRpb24gZm9yIENMSVxuICAgIC8vIGFyZ3MuXG4gICAgY29uc3QgYXJnID0gQXJnU3BlYy50b0FyZyhuYW1lLCBleHRUeXBlLCBleHROYW1lKTtcblxuICAgIGNvbnN0IHJlZiA9IEFyZ1NwZWMudG9TY2hlbWFSZWYobmFtZSwgZXh0VHlwZSwgZXh0TmFtZSk7XG5cbiAgICAvLyBpZiBubyBleHBsaWNpdCBgZGVzdGAgcHJvdmlkZWQsIGp1c3QgY2FtZWxDYXNlIHRoZSBuYW1lIHRvIGF2b2lkIG5lZWRpbmdcbiAgICAvLyB0byB1c2UgYnJhY2tldCBzeW50YXggd2hlbiBhY2Nlc3NpbmcgcHJvcHMgb24gdGhlIHBhcnNlZCBhcmdzIG9iamVjdC5cbiAgICBjb25zdCByYXdEZXN0ID0gXy5jYW1lbENhc2UoZGVzdCA/PyBuYW1lKTtcblxuICAgIGNvbnN0IGRlc3RLZXlwYXRoID1cbiAgICAgIGV4dFR5cGUgJiYgZXh0TmFtZSA/IFtleHRUeXBlLCBleHROYW1lLCByYXdEZXN0XS5qb2luKCcuJykgOiByYXdEZXN0O1xuXG4gICAgdGhpcy5kZWZhdWx0VmFsdWUgPSBkZWZhdWx0VmFsdWU7XG4gICAgdGhpcy5uYW1lID0gbmFtZTtcbiAgICB0aGlzLmV4dFR5cGUgPSBleHRUeXBlO1xuICAgIHRoaXMuZXh0TmFtZSA9IGV4dE5hbWU7XG4gICAgdGhpcy5hcmcgPSBhcmc7XG4gICAgdGhpcy5kZXN0ID0gZGVzdEtleXBhdGg7XG4gICAgdGhpcy5yZWYgPSByZWY7XG4gICAgdGhpcy5yYXdEZXN0ID0gcmF3RGVzdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIHNjaGVtYSBJRCAoYCRpZGApIGZvciB0aGUgKiphcmd1bWVudCoqIGdpdmVuIHRoZSBwYXJhbWV0ZXJzLlxuICAgKlxuICAgKiBJZiB5b3UgbmVlZCB0aGUgXCJyb290XCIgb3IgXCJiYXNlXCIgc2NoZW1hIElELCB1c2Uge0BsaW5rIEFyZ1NwZWMudG9TY2hlbWFCYXNlUmVmfSBpbnN0ZWFkLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gbmFtZSAtIEFyZ3VtZW50IG5hbWVcbiAgICogQHBhcmFtIHtFeHRlbnNpb25UeXBlfSBbZXh0VHlwZV0gLSBFeHRlbnNpb24gdHlwZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gW2V4dE5hbWVdIC0gRXh0ZW5zaW9uIG5hbWVcbiAgICogQHJldHVybnMge3N0cmluZ30gU2NoZW1hIElEXG4gICAqL1xuICBzdGF0aWMgdG9TY2hlbWFSZWYgKG5hbWUsIGV4dFR5cGUsIGV4dE5hbWUpIHtcbiAgICBjb25zdCBiYXNlUmVmID0gQXJnU3BlYy50b1NjaGVtYUJhc2VSZWYoZXh0VHlwZSwgZXh0TmFtZSk7XG4gICAgaWYgKGV4dFR5cGUgJiYgZXh0TmFtZSkge1xuICAgICAgcmV0dXJuIFtgJHtiYXNlUmVmfSNgLCBQUk9QRVJUSUVTLCBuYW1lXS5qb2luKCcvJyk7XG4gICAgfVxuICAgIHJldHVybiBbYCR7YmFzZVJlZn0jYCwgUFJPUEVSVElFUywgU0VSVkVSX1BST1BfTkFNRSwgUFJPUEVSVElFUywgbmFtZV0uam9pbignLycpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiB0aGUgc2NoZW1hIElEIGZvciBhbiBleHRlbnNpb24gb3IgdGhlIGJhc2Ugc2NoZW1hIElELlxuICAgKiBAcGFyYW0ge0V4dGVuc2lvblR5cGV9IFtleHRUeXBlXSAtIEV4dGVuc2lvbiB0eXBlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbZXh0TmFtZV0gLSBFeHRlbnNpb24gbmFtZVxuICAgKi9cbiAgc3RhdGljIHRvU2NoZW1hQmFzZVJlZiAoZXh0VHlwZSwgZXh0TmFtZSkge1xuICAgIGlmIChleHRUeXBlICYmIGV4dE5hbWUpIHtcbiAgICAgIHJldHVybiBgJHtleHRUeXBlfS0ke0FyZ1NwZWMudG9Ob3JtYWxpemVkRXh0TmFtZShleHROYW1lKX0uanNvbmA7XG4gICAgfVxuICAgIHJldHVybiBBUFBJVU1fQ09ORklHX1NDSEVNQV9JRDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIHVuaXF1ZSBJRCBmb3IgdGhlIGFyZ3VtZW50IGdpdmVuIHRoZSBwYXJhbWV0ZXJzLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gbmFtZSAtIEFyZ3VtZW50IG5hbWVcbiAgICogQHBhcmFtIHtFeHRlbnNpb25UeXBlfSBbZXh0VHlwZV0gLSBFeHRlbnNpb24gdHlwZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gW2V4dE5hbWVdIC0gRXh0ZW5zaW9uIG5hbWVcbiAgICogQHJldHVybnMge3N0cmluZ30gVW5pcXVlIElEXG4gICAqL1xuICBzdGF0aWMgdG9BcmcgKG5hbWUsIGV4dFR5cGUsIGV4dE5hbWUpIHtcbiAgICBjb25zdCBwcm9wZXJOYW1lID0gXy5rZWJhYkNhc2UobmFtZS5yZXBsYWNlKC9eLS0/LywgJycpKTtcbiAgICBpZiAoZXh0VHlwZSAmJiBleHROYW1lKSB7XG4gICAgICByZXR1cm4gW2V4dFR5cGUsIF8ua2ViYWJDYXNlKGV4dE5hbWUpLCBwcm9wZXJOYW1lXS5qb2luKCctJyk7XG4gICAgfVxuICAgIHJldHVybiBwcm9wZXJOYW1lO1xuICB9XG5cbiAgLyoqXG4gICAqIE5vcm1hbGl6ZXMgYSByYXcgZXh0ZW5zaW9uIG5hbWUgKG5vdCBpbmNsdWRpbmcgdGhlIHR5cGUpLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gZXh0TmFtZSAtIEV4dGVuc2lvbiBuYW1lXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IE5vcm1hbGl6ZWQgZXh0ZW5zaW9uIG5hbWVcbiAgICovXG4gIHN0YXRpYyB0b05vcm1hbGl6ZWRFeHROYW1lIChleHROYW1lKSB7XG4gICAgcmV0dXJuIF8ua2ViYWJDYXNlKGV4dE5hbWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZW4gZ2l2ZW4gdGhlIHJvb3QgSUQgb2YgYSBzY2hlbWEgZm9yIGFuIGV4dGVuc2lvbiAoYDxleHRUeXBlPi08bm9ybWFsaXplZEV4dE5hbWU+Lmpzb25gKSBSZXR1cm5zIGFuIG9iamVjdCBjb250YWluaW5nIHRoZSBleHRlbnNpb24gdHlwZSBhbmQgdGhlIF9ub3JtYWxpemVkXyBleHRlbnNpb24gbmFtZS5cbiAgICogQHBhcmFtIHtzdHJpbmd9IHNjaGVtYUlkIC0gUm9vdCBzY2hlbWEgSURcbiAgICogQHJldHVybnMgeyB7ZXh0VHlwZT86IEV4dGVuc2lvblR5cGUsIG5vcm1hbGl6ZWRFeHROYW1lPzogc3RyaW5nfSB9XG4gICAqL1xuICBzdGF0aWMgZXh0ZW5zaW9uSW5mb0Zyb21Sb290U2NoZW1hSWQgKHNjaGVtYUlkKSB7XG4gICAgY29uc3QgbWF0Y2hlcyA9IHNjaGVtYUlkLm1hdGNoKFNDSEVNQV9JRF9SRUdFWFApO1xuICAgIGlmIChtYXRjaGVzPy5ncm91cHMpIHtcbiAgICAgIGNvbnN0IHtleHRUeXBlLCBub3JtYWxpemVkRXh0TmFtZX0gPVxuICAgICAgICAvKiogQHR5cGUgeyB7ZXh0VHlwZTogRXh0ZW5zaW9uVHlwZSwgbm9ybWFsaXplZEV4dE5hbWU6IHN0cmluZ30gfSAqLyAoXG4gICAgICAgICAgbWF0Y2hlcy5ncm91cHNcbiAgICAgICAgKTtcbiAgICAgIHJldHVybiB7ZXh0VHlwZSwgbm9ybWFsaXplZEV4dE5hbWV9O1xuICAgIH1cbiAgICByZXR1cm4ge307XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhbiBgQXJnU3BlY2BcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgLSBUaGUgY2Fub25pY2FsIG5hbWUgb2YgdGhlIGFyZ3VtZW50LiBDb3JyZXNwb25kcyB0byBhIGtleSBpbiBhIHNjaGVtYSdzXG4gICAqIGBwcm9wZXJ0aWVzYCBwcm9wZXJ0eS5cbiAgICogQHRlbXBsYXRlIERcbiAgICogQHBhcmFtIHtBcmdTcGVjT3B0aW9uczxEPn0gW29wdHNdIC0gT3B0aW9uc1xuICAgKiBAcmV0dXJucyB7UmVhZG9ubHk8QXJnU3BlYz59XG4gICAqL1xuICBzdGF0aWMgY3JlYXRlIChuYW1lLCBvcHRzKSB7XG4gICAgcmV0dXJuIE9iamVjdC5mcmVlemUobmV3IEFyZ1NwZWMobmFtZSwgb3B0cykpO1xuICB9XG5cbiAgLyoqXG4gICAqIFN0cmluZyByZXByZXNlbnRhdGlvbiwgdXNlZnVsIGZvciBkZWJ1Z2dpbmdcbiAgICogQHJldHVybnMge3N0cmluZ31cbiAgICovXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIHRvU3RyaW5nICgpIHtcbiAgICBsZXQgc3RyID0gYFtBcmdTcGVjXSAke3RoaXMubmFtZX0gKCR7dGhpcy5yZWZ9KWA7XG4gICAgaWYgKHRoaXMuZXh0VHlwZSAmJiB0aGlzLmV4dE5hbWUpIHtcbiAgICAgIHN0ciArPSBgIChleHQ6ICR7dGhpcy5leHRUeXBlfS8ke3RoaXMuZXh0TmFtZX0pYDtcbiAgICB9XG4gICAgcmV0dXJuIHN0cjtcbiAgfVxufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIHtAbGluayBBcmdTcGVjLmNyZWF0ZX1cbiAqIEB0ZW1wbGF0ZSBEXG4gKiBAdHlwZWRlZiBBcmdTcGVjT3B0aW9uc1xuICogQHByb3BlcnR5IHtzdHJpbmd9IFtleHROYW1lXVxuICogQHByb3BlcnR5IHtFeHRlbnNpb25UeXBlfSBbZXh0VHlwZV1cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbZGVzdF1cbiAqIEBwcm9wZXJ0eSB7RH0gW2RlZmF1bHRWYWx1ZV1cbiAqL1xuXG4vKipcbiAqIEB0eXBlZGVmIHtpbXBvcnQoJy4uL2V4dGVuc2lvbi9tYW5pZmVzdCcpLkV4dGVuc2lvblR5cGV9IEV4dGVuc2lvblR5cGVcbiAqL1xuIl19
@@ -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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9zY2hlbWEvY2xpLWFyZ3MuanMiXSwibmFtZXMiOlsiVFlQRU5BTUVTIiwiT2JqZWN0IiwiZnJlZXplIiwiQVJSQVkiLCJPQkpFQ1QiLCJCT09MRUFOIiwiSU5URUdFUiIsIk5VTUJFUiIsIk5VTEwiLCJTVFJJTkciLCJTSE9SVF9BUkdfQ1VUT0ZGIiwiYWxpYXNUb0ZsYWciLCJhcmdTcGVjIiwiYWxpYXMiLCJleHRUeXBlIiwiZXh0TmFtZSIsIm5hbWUiLCJhcmciLCJpc1Nob3J0IiwibGVuZ3RoIiwiXyIsImtlYmFiQ2FzZSIsInNjcmVhbWluZ1NuYWtlQ2FzZSIsImZsb3ciLCJzbmFrZUNhc2UiLCJ0b1VwcGVyIiwiZ2V0U2NoZW1hVmFsaWRhdG9yIiwicmVmIiwic2NoZW1hSWQiLCJjb2VyY2UiLCJpZGVudGl0eSIsInZhbHVlIiwiY29lcmNlZCIsImVycm9ycyIsImlzRW1wdHkiLCJBcmd1bWVudFR5cGVFcnJvciIsIm1ha2VEZXNjcmlwdGlvbiIsInNjaGVtYSIsImFwcGl1bUNsaURlc2NyaXB0aW9uIiwiZGVzY3JpcHRpb24iLCJhcHBpdW1EZXByZWNhdGVkIiwiZGVzYyIsInN1YlNjaGVtYVRvQXJnRGVmIiwic3ViU2NoZW1hIiwidHlwZSIsImFwcGl1bUNsaUFsaWFzZXMiLCJhcHBpdW1DbGlUcmFuc2Zvcm1lciIsImVudW0iLCJlbnVtVmFsdWVzIiwiYWxpYXNlcyIsIm1hcCIsImFyZ09wdHMiLCJyZXF1aXJlZCIsImhlbHAiLCJhcmdUeXBlRnVuY3Rpb24iLCJhY3Rpb24iLCJjb25zdCIsInRyYW5zZm9ybWVycyIsImpzb24iLCJjc3YiLCJwYXJzZUZsb2F0IiwicGFyc2VJbnQiLCJUeXBlRXJyb3IiLCJtZXRhdmFyIiwiY2hvaWNlcyIsIlN0cmluZyIsInRvUGFyc2VyQXJncyIsImZsYXR0ZW5lZCIsImZpbHRlciIsImFwcGl1bUNsaUlnbm9yZWQiLCJNYXAiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQ0E7O0FB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QUFHLDZCQUFnQkMsTUFBaEIsQ0FBdUIsQ0FBQztBQUFDL0IsSUFBQUE7QUFBRCxHQUFELEtBQWMsQ0FBQ0EsTUFBTSxDQUFDZ0MsZ0JBQTdDLENBQWxCO0FBQ0EsU0FBTyxJQUFJQyxHQUFKLENBQ0xsRCxnQkFBRThCLEdBQUYsQ0FBTWlCLFNBQU4sRUFBaUIsQ0FBQztBQUFDOUIsSUFBQUEsTUFBRDtBQUFTekIsSUFBQUE7QUFBVCxHQUFELEtBQ2Y4QixpQkFBaUIsQ0FBQ0wsTUFBRCxFQUFTekIsT0FBVCxDQURuQixDQURLLENBQVA7QUFLRCIsInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0IHtBcmd1bWVudFR5cGVFcnJvcn0gZnJvbSAnYXJncGFyc2UnO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7Zm9ybWF0RXJyb3JzIGFzIGZvcm1hdEVycm9yc30gZnJvbSAnLi4vY29uZmlnLWZpbGUnO1xuaW1wb3J0IHtmbGF0dGVuU2NoZW1hLCB2YWxpZGF0ZX0gZnJvbSAnLi9zY2hlbWEnO1xuaW1wb3J0IHt0cmFuc2Zvcm1lcnN9IGZyb20gJy4vY2xpLXRyYW5zZm9ybWVycyc7XG5cbi8qKlxuICogVGhpcyBtb2R1bGUgY29uY2VybnMgZnVuY3Rpb25zIHdoaWNoIGNvbnZlcnQgc2NoZW1hIGRlZmluaXRpb25zIHRvXG4gKiBgYXJncGFyc2VgLWNvbXBhdGlibGUgZGF0YSBzdHJ1Y3R1cmVzLCBmb3IgZGVyaXZpbmcgQ0xJIGFyZ3VtZW50cyBmcm9tIGFcbiAqIHNjaGVtYS5cbiAqL1xuXG4vKipcbiAqIExvb2t1cCBvZiBwb3NzaWJsZSB2YWx1ZXMgZm9yIHRoZSBgdHlwZWAgZmllbGQgaW4gYSBKU09OIHNjaGVtYS5cbiAqIEB0eXBlIHtSZWFkb25seTxSZWNvcmQ8c3RyaW5nLCBpbXBvcnQoJ2pzb24tc2NoZW1hJykuSlNPTlNjaGVtYTdUeXBlTmFtZT4+fVxuICovXG5jb25zdCBUWVBFTkFNRVMgPSBPYmplY3QuZnJlZXplKHtcbiAgQVJSQVk6ICdhcnJheScsXG4gIE9CSkVDVDogJ29iamVjdCcsXG4gIEJPT0xFQU46ICdib29sZWFuJyxcbiAgSU5URUdFUjogJ2ludGVnZXInLFxuICBOVU1CRVI6ICdudW1iZXInLFxuICBOVUxMOiAnbnVsbCcsXG4gIFNUUklORzogJ3N0cmluZycsXG59KTtcblxuLyoqXG4gKiBPcHRpb25zIHdpdGggYWxpYXMgbGVuZ3RocyBsZXNzIHRoYW4gdGhpcyB3aWxsIGJlIGNvbnNpZGVyZWQgXCJzaG9ydFwiIGZsYWdzLlxuICovXG5jb25zdCBTSE9SVF9BUkdfQ1VUT0ZGID0gMztcblxuLyoqXG4gKiBDb252ZXJ0IGFuIGFsaWFzIChgZm9vYCkgdG8gYSBmbGFnIChgLS1mb29gKSBvciBhIHNob3J0IGZsYWcgKGAtZmApLlxuICogQHBhcmFtIHtBcmdTcGVjfSBhcmdTcGVjIC0gdGhlIGFyZ3VtZW50IHNwZWNpZmljYXRpb25cbiAqIEBwYXJhbSB7c3RyaW5nfSBbYWxpYXNdIC0gdGhlIGFsaWFzIHRvIGNvbnZlcnQgdG8gYSBmbGFnXG4gKiBAcmV0dXJucyB7c3RyaW5nfSB0aGUgZmxhZ1xuICovXG5mdW5jdGlvbiBhbGlhc1RvRmxhZyAoYXJnU3BlYywgYWxpYXMpIHtcbiAgY29uc3Qge2V4dFR5cGUsIGV4dE5hbWUsIG5hbWV9ID0gYXJnU3BlYztcbiAgY29uc3QgYXJnID0gYWxpYXMgPz8gbmFtZTtcbiAgY29uc3QgaXNTaG9ydCA9IGFyZy5sZW5ndGggPCBTSE9SVF9BUkdfQ1VUT0ZGO1xuICBpZiAoZXh0VHlwZSAmJiBleHROYW1lKSB7XG4gICAgcmV0dXJuIGlzU2hvcnRcbiAgICAgID8gYC0tJHtleHRUeXBlfS0ke18ua2ViYWJDYXNlKGV4dE5hbWUpfS0ke2FyZ31gXG4gICAgICA6IGAtLSR7ZXh0VHlwZX0tJHtfLmtlYmFiQ2FzZShleHROYW1lKX0tJHtfLmtlYmFiQ2FzZShhcmcpfWA7XG4gIH1cbiAgcmV0dXJuIGlzU2hvcnQgPyBgLSR7YXJnfWAgOiBgLS0ke18ua2ViYWJDYXNlKGFyZyl9YDtcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhIHN0cmluZyB0byBTQ1JFQU1JTkdfU05BS0VfQ0FTRVxuICovXG5jb25zdCBzY3JlYW1pbmdTbmFrZUNhc2UgPSBfLmZsb3coXy5zbmFrZUNhc2UsIF8udG9VcHBlcik7XG5cbi8qKlxuICogR2l2ZW4gdW5pcXVlIHByb3BlcnR5IG5hbWUgYG5hbWVgLCByZXR1cm4gYSBmdW5jdGlvbiB3aGljaCB2YWxpZGF0ZXMgYSB2YWx1ZVxuICogYWdhaW5zdCBhIHByb3BlcnR5IHdpdGhpbiB0aGUgc2NoZW1hLlxuICogQHRlbXBsYXRlIENvZXJjZWRcbiAqIEBwYXJhbSB7QXJnU3BlY30gYXJnU3BlYyAtIEFyZ3VtZW50IG5hbWVcbiAqIEBwYXJhbSB7KHZhbHVlOiBzdHJpbmcpID0+IENvZXJjZWR9IFtjb2VyY2VdIC0gRnVuY3Rpb24gdG8gY29lcmNlIHRvIGEgZGlmZmVyZW50XG4gKiBwcmltaXRpdmVcbiAqIEB0b2RvIFNlZSBpZiB3ZSBjYW4gcmVtb3ZlIGBjb2VyY2VgIGJ5IGFsbG93aW5nIEFqdiB0byBjb2VyY2UgaW4gaXRzXG4gKiBjb25zdHJ1Y3RvciBvcHRpb25zXG4gKiBAcmV0dXJuc1xuICovXG5mdW5jdGlvbiBnZXRTY2hlbWFWYWxpZGF0b3IgKHtyZWY6IHNjaGVtYUlkfSwgY29lcmNlID0gXy5pZGVudGl0eSkge1xuICAvKiogQHBhcmFtIHtzdHJpbmd9IHZhbHVlICovXG4gIHJldHVybiAodmFsdWUpID0+IHtcbiAgICBjb25zdCBjb2VyY2VkID0gY29lcmNlKHZhbHVlKTtcbiAgICBjb25zdCBlcnJvcnMgPSB2YWxpZGF0ZShjb2VyY2VkLCBzY2hlbWFJZCk7XG4gICAgaWYgKF8uaXNFbXB0eShlcnJvcnMpKSB7XG4gICAgICByZXR1cm4gY29lcmNlZDtcbiAgICB9XG4gICAgdGhyb3cgbmV3IEFyZ3VtZW50VHlwZUVycm9yKFxuICAgICAgJ1xcblxcbicgKyBmb3JtYXRFcnJvcnMoZXJyb3JzLCB2YWx1ZSwge3NjaGVtYUlkfSksXG4gICAgKTtcbiAgfTtcbn1cblxuLyoqXG4gKiBEZXRlcm1pbmUgdGhlIGRlc2NyaXB0aW9uIGZvciBkaXNwbGF5IG9uIHRoZSBDTEksIGdpdmVuIHRoZSBzY2hlbWEuXG4gKiBAcGFyYW0ge0FwcGl1bUpTT05TY2hlbWF9IHNjaGVtYVxuICogQHJldHVybnMge3N0cmluZ31cbiAqL1xuZnVuY3Rpb24gbWFrZURlc2NyaXB0aW9uIChzY2hlbWEpIHtcbiAgY29uc3Qge2FwcGl1bUNsaURlc2NyaXB0aW9uLCBkZXNjcmlwdGlvbiA9ICcnLCBhcHBpdW1EZXByZWNhdGVkfSA9IHNjaGVtYTtcbiAgbGV0IGRlc2MgPSBhcHBpdW1DbGlEZXNjcmlwdGlvbiA/PyBkZXNjcmlwdGlvbjtcbiAgaWYgKGFwcGl1bURlcHJlY2F0ZWQpIHtcbiAgICBkZXNjID0gYFtERVBSRUNBVEVEXSAke2Rlc2N9YDtcbiAgfVxuICByZXR1cm4gZGVzYztcbn1cblxuLyoqXG4gKiBHaXZlbiBhcmcgYG5hbWVgLCBhIEpTT04gc2NoZW1hIGBzdWJTY2hlbWFgLCBhbmQgb3B0aW9ucywgcmV0dXJuIGFuIGFyZ3VtZW50IGRlZmluaXRpb25cbiAqIGFzIHVuZGVyc3Rvb2QgYnkgYGFyZ3BhcnNlYC5cbiAqIEBwYXJhbSB7QXBwaXVtSlNPTlNjaGVtYX0gc3ViU2NoZW1hIC0gSlNPTiBzY2hlbWEgZm9yIHRoZSBvcHRpb25cbiAqIEBwYXJhbSB7QXJnU3BlY30gYXJnU3BlYyAtIEFyZ3VtZW50IHNwZWMgdHVwbGVcbiAqIEByZXR1cm5zIHtbc3RyaW5nW10sIGltcG9ydCgnYXJncGFyc2UnKS5Bcmd1bWVudE9wdGlvbnNdfSBUdXBsZSBvZiBmbGFnIGFuZCBvcHRpb25zXG4gKi9cbmZ1bmN0aW9uIHN1YlNjaGVtYVRvQXJnRGVmIChzdWJTY2hlbWEsIGFyZ1NwZWMpIHtcbiAgbGV0IHtcbiAgICB0eXBlLFxuICAgIGFwcGl1bUNsaUFsaWFzZXMsXG4gICAgYXBwaXVtQ2xpVHJhbnNmb3JtZXIsXG4gICAgZW51bTogZW51bVZhbHVlcyxcbiAgfSA9IHN1YlNjaGVtYTtcblxuICBjb25zdCB7bmFtZSwgYXJnfSA9IGFyZ1NwZWM7XG5cbiAgY29uc3QgYWxpYXNlcyA9IFtcbiAgICBhbGlhc1RvRmxhZyhhcmdTcGVjKSxcbiAgICAuLi4vKiogQHR5cGUge3N0cmluZ1tdfSAqLyAoYXBwaXVtQ2xpQWxpYXNlcyA/PyBbXSkubWFwKChhbGlhcykgPT5cbiAgICAgIGFsaWFzVG9GbGFnKGFyZ1NwZWMsIGFsaWFzKSxcbiAgICApLFxuICBdO1xuXG4gIC8qKiBAdHlwZSB7aW1wb3J0KCdhcmdwYXJzZScpLkFyZ3VtZW50T3B0aW9uc30gKi9cbiAgbGV0IGFyZ09wdHMgPSB7XG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGhlbHA6IG1ha2VEZXNjcmlwdGlvbihzdWJTY2hlbWEpXG4gIH07XG5cbiAgLyoqXG4gICAqIEdlbmVyYWxseSB3ZSB3aWxsIHByb3ZpZGUgYSBgdHlwZWAgdG8gYGFyZ3BhcnNlYCBhcyBhIGZ1bmN0aW9uIHdoaWNoXG4gICAqIHZhbGlkYXRlcyB1c2luZyBhanYgKHdoaWNoIGlzIG11Y2ggbW9yZSBmdWxsLWZlYXR1cmVkIHRoYW4gd2hhdCBgYXJncGFyc2VgXG4gICAqIGNhbiBvZmZlcikuIFRoZSBleGNlcHRpb24gaXMgYGJvb2xlYW5gLXR5cGUgb3B0aW9ucywgd2hpY2ggaGF2ZSBub1xuICAgKiBgYXJnVHlwZWAuXG4gICAqXG4gICAqIE5vdCBzdXJlIGlmIHRoaXMgdHlwZSBpcyBjb3JyZWN0LCBidXQgaXQncyBub3QgZG9pbmcgd2hhdCBJIHdhbnQuICBJIHdhbnRcbiAgICogdG8gc2F5IFwidGhpcyBpcyBhIGZ1bmN0aW9uIHdoaWNoIHJldHVybnMgc29tZXRoaW5nIG9mIHR5cGUgYFRgIHdoZXJlIGBUYCBpc1xuICAgKiBuZXZlciBhIGBQcm9taXNlYFwiLiAgVGhpcyBmdW5jdGlvbiBtdXN0IGJlIHN5bmMuXG4gICAqIEB0eXBlIHsoKHZhbHVlOiBzdHJpbmcpID0+IHVua25vd24pfHVuZGVmaW5lZH1cbiAgICovXG4gIGxldCBhcmdUeXBlRnVuY3Rpb247XG5cbiAgLy8gaGFuZGxlIHNwZWNpYWwgY2FzZXMgZm9yIHZhcmlvdXMgdHlwZXNcbiAgc3dpdGNoICh0eXBlKSB7XG4gICAgLy8gYm9vbGVhbnMgZG8gbm90IGhhdmUgYSB0eXBlIHBlciBgQXJndW1lbnRPcHRpb25zYCwganVzdCBhbiBcImFjdGlvblwiXG4gICAgLy8gTk9URTogZHVlIHRvIGxpbWl0YXRpb25zIG9mIGBhcmdwYXJzZWAsIHdlIGNhbm5vdCBwcm92aWRlIGZhbmN5IGhlbHAgdGV4dCwgYW5kIG11c3QgcmVseSBvbiBpdHMgaW50ZXJuYWwgZXJyb3IgbWVzc2FnaW5nLlxuICAgIGNhc2UgVFlQRU5BTUVTLkJPT0xFQU46IHtcbiAgICAgIGFyZ09wdHMuYWN0aW9uID0gJ3N0b3JlX2NvbnN0JztcbiAgICAgIGFyZ09wdHMuY29uc3QgPSB0cnVlO1xuICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgY2FzZSBUWVBFTkFNRVMuT0JKRUNUOiB7XG4gICAgICBhcmdUeXBlRnVuY3Rpb24gPSB0cmFuc2Zvcm1lcnMuanNvbjtcbiAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIC8vIGFycmF5cyBhcmUgdHJlYXRlZCBhcyBDU1ZzLCBiZWNhdXNlIGBhcmdwYXJzZWAgZG9lc24ndCBoYW5kbGUgYXJyYXkgZGF0YS5cbiAgICBjYXNlIFRZUEVOQU1FUy5BUlJBWToge1xuICAgICAgYXJnVHlwZUZ1bmN0aW9uID0gdHJhbnNmb3JtZXJzLmNzdjtcbiAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIC8vIFwibnVtYmVyXCIgdHlwZSBpcyBjb2VyY2VkIHRvIGZsb2F0LiBgYXJncGFyc2VgIGRvZXMgdGhpcyBmb3IgdXMgaWYgd2UgdXNlIGBmbG9hdGAgdHlwZSwgYnV0XG4gICAgLy8gd2UgZG9uJ3QuXG4gICAgY2FzZSBUWVBFTkFNRVMuTlVNQkVSOiB7XG4gICAgICBhcmdUeXBlRnVuY3Rpb24gPSBnZXRTY2hlbWFWYWxpZGF0b3IoYXJnU3BlYywgcGFyc2VGbG9hdCk7XG4gICAgICBicmVhaztcbiAgICB9XG5cbiAgICAvLyBcImludGVnZXJcIiBpcyBjb2VyY2VkIHRvIGFuIC4uIGludGVnZXIuICBhZ2FpbiwgYGFyZ3BhcnNlYCB3b3VsZCBkbyB0aGlzIGZvciB1cyBpZiB3ZSB1c2VkIGBpbnRgLlxuICAgIGNhc2UgVFlQRU5BTUVTLklOVEVHRVI6IHtcbiAgICAgIGFyZ1R5cGVGdW5jdGlvbiA9IGdldFNjaGVtYVZhbGlkYXRvcihhcmdTcGVjLCBfLnBhcnNlSW50KTtcbiAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIC8vIHN0cmluZ3MgKGxpa2UgbnVtYmVyIGFuZCBpbnRlZ2VyKSBhcmUgc3ViamVjdCB0byBmdXJ0aGVyIHZhbGlkYXRpb25cbiAgICAvLyAoZS5nLiwgbXVzdCBzYXRpc2Z5IGEgbWFzayBvciByZWdleCBvciBldmVuIHNvbWUgY3VzdG9tIHZhbGlkYXRpb25cbiAgICAvLyBmdW5jdGlvbilcbiAgICBjYXNlIFRZUEVOQU1FUy5TVFJJTkc6IHtcbiAgICAgIGFyZ1R5cGVGdW5jdGlvbiA9IGdldFNjaGVtYVZhbGlkYXRvcihhcmdTcGVjKTtcbiAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIC8vIFRPRE86IHRoZXJlIG1heSBiZSBzb21lIHdheSB0byByZXN0cmljdCB0aGlzIGF0IHRoZSBBanYgbGV2ZWwgLS1cbiAgICAvLyB0aGF0IG1heSBpbnZvbHZlIHBhdGNoaW5nIHRoZSBtZXRhc2NoZW1hLlxuICAgIGNhc2UgVFlQRU5BTUVTLk5VTEw6XG4gICAgLy8gZmFsbHMgdGhyb3VnaFxuICAgIGRlZmF1bHQ6IHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXG4gICAgICAgIGBTY2hlbWEgcHJvcGVydHkgXCIke2FyZ31cIjogXFxgJHt0eXBlfVxcYCB0eXBlIHVua25vd24gb3IgZGlzYWxsb3dlZGAsXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIC8vIG1ldGF2YXIgaXMgdXNlZCBpbiBoZWxwIHRleHQuIGBib29sZWFuYCBjYW5ub3QgaGF2ZSBhIG1ldGF2YXItLWl0IGlzIG5vdFxuICAvLyBkaXNwbGF5ZWQtLWFuZCBgYXJncGFyc2VgIHRocm93cyBpZiB5b3UgZ2l2ZSBpdCBvbmUuXG4gIGlmICh0eXBlICE9PSBUWVBFTkFNRVMuQk9PTEVBTikge1xuICAgIGFyZ09wdHMubWV0YXZhciA9IHNjcmVhbWluZ1NuYWtlQ2FzZShuYW1lKTtcbiAgfVxuXG4gIC8vIHRoZSB2YWxpZGl0eSBvZiBcImFwcGl1bUNsaVRyYW5zZm9ybWVyXCIgc2hvdWxkIGFscmVhZHkgaGF2ZSBiZWVuIGRldGVybWluZWRcbiAgLy8gYnkgYWp2IGR1cmluZyBzY2hlbWEgdmFsaWRhdGlvbiBpbiBgZmluYWxpemVTY2hlbWEoKWAuIHRoZSBgYXJyYXlgICZcbiAgLy8gYG9iamVjdGAgdHlwZXMgaGF2ZSBhbHJlYWR5IGFkZGVkIGEgZm9ybWF0dGVyIChzZWUgYWJvdmUsIHNvIHdlIGRvbid0IGRvIGl0XG4gIC8vIHR3aWNlKS5cbiAgaWYgKFxuICAgIHR5cGUgIT09IFRZUEVOQU1FUy5BUlJBWSAmJlxuICAgIHR5cGUgIT09IFRZUEVOQU1FUy5PQkpFQ1QgJiZcbiAgICBhcHBpdW1DbGlUcmFuc2Zvcm1lclxuICApIHtcbiAgICBhcmdUeXBlRnVuY3Rpb24gPSBfLmZsb3coXG4gICAgICBhcmdUeXBlRnVuY3Rpb24gPz8gXy5pZGVudGl0eSxcbiAgICAgIHRyYW5zZm9ybWVyc1thcHBpdW1DbGlUcmFuc2Zvcm1lcl0sXG4gICAgKTtcbiAgfVxuXG4gIGlmIChhcmdUeXBlRnVuY3Rpb24pIHtcbiAgICBhcmdPcHRzLnR5cGUgPSBhcmdUeXBlRnVuY3Rpb247XG4gIH1cblxuICAvLyBjb252ZXJ0IEpTT04gc2NoZW1hIGBlbnVtYCB0byBgY2hvaWNlc2AuIGBlbnVtYCBjYW4gY29udGFpbiBhbnkgSlNPTiB0eXBlLCBidXQgYGFyZ3BhcnNlYFxuICAvLyBpcyBsaW1pdGVkIHRvIGEgc2luZ2xlIHR5cGUgcGVyIGFyZyAoSSB0aGluaykuICBzbyBsZXQncyBtYWtlIGV2ZXJ5dGhpbmcgYSBzdHJpbmcuXG4gIC8vIGFuZCBtaWdodCBhcyB3ZWxsIF9yZXF1aXJlXyB0aGUgYHR5cGU6IHN0cmluZ2Agd2hpbGUgd2UncmUgYXQgaXQuXG4gIGlmIChlbnVtVmFsdWVzICYmICFfLmlzRW1wdHkoZW51bVZhbHVlcykpIHtcbiAgICBpZiAodHlwZSA9PT0gVFlQRU5BTUVTLlNUUklORykge1xuICAgICAgYXJnT3B0cy5jaG9pY2VzID0gZW51bVZhbHVlcy5tYXAoU3RyaW5nKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcbiAgICAgICAgYFByb2JsZW0gd2l0aCBzY2hlbWEgZm9yICR7YXJnfTsgXFxgZW51bVxcYCBpcyBvbmx5IHN1cHBvcnRlZCBmb3IgXFxgdHlwZTogJ3N0cmluZydcXGBgLFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gW2FsaWFzZXMsIGFyZ09wdHNdO1xufVxuXG4vKipcbiAqIENvbnZlcnRzIHRoZSBmaW5hbGl6ZWQsIGZsYXR0ZW5lZCBzY2hlbWEgcmVwcmVzZW50YXRpb24gaW50b1xuICogQXJndW1lbnREZWZpbml0aW9ucyBmb3IgaGFuZG9mZiB0byBgYXJncGFyc2VgLlxuICpcbiAqIEB0aHJvd3MgSWYgc2NoZW1hIGhhcyBub3QgYmVlbiBhZGRlZCB0byBhanYgKHZpYSBgZmluYWxpemVTY2hlbWEoKWApXG4gKiBAcmV0dXJucyB7aW1wb3J0KCcuLi9jbGkvYXJncycpLkFyZ3VtZW50RGVmaW5pdGlvbnN9IEEgbWFwIG9mIGFycnlhcyBvZlxuICogYWxpYXNlcyB0byBgYXJncGFyc2VgIGFyZ3VtZW50czsgZW1wdHkgaWYgbm8gc2NoZW1hIGZvdW5kXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0b1BhcnNlckFyZ3MgKCkge1xuICBjb25zdCBmbGF0dGVuZWQgPSBmbGF0dGVuU2NoZW1hKCkuZmlsdGVyKCh7c2NoZW1hfSkgPT4gIXNjaGVtYS5hcHBpdW1DbGlJZ25vcmVkKTtcbiAgcmV0dXJuIG5ldyBNYXAoXG4gICAgXy5tYXAoZmxhdHRlbmVkLCAoe3NjaGVtYSwgYXJnU3BlY30pID0+XG4gICAgICBzdWJTY2hlbWFUb0FyZ0RlZihzY2hlbWEsIGFyZ1NwZWMpLFxuICAgICksXG4gICk7XG59XG5cbi8qKlxuICogQHRlbXBsYXRlIFRcbiAqIEB0eXBlZGVmIHtpbXBvcnQoJ2Fqdi9kaXN0L3R5cGVzJykuRm9ybWF0VmFsaWRhdG9yPFQ+fSBGb3JtYXRWYWxpZGF0b3I8VD5cbiAqL1xuXG4vKipcbiAqIEEgSlNPTiA3IHNjaGVtYSB3aXRoIG91ciBjdXN0b20ga2V5d29yZHMuXG4gKiBAdHlwZWRlZiB7aW1wb3J0KCcuL2tleXdvcmRzJykuQXBwaXVtSlNPTlNjaGVtYUtleXdvcmRzICYgaW1wb3J0KCdqc29uLXNjaGVtYScpLkpTT05TY2hlbWE3fSBBcHBpdW1KU09OU2NoZW1hXG4gKi9cblxuLyoqXG4gKiBAdHlwZWRlZiB7aW1wb3J0KCcuL2FyZy1zcGVjJykuQXJnU3BlY30gQXJnU3BlY1xuICovXG4iXX0=
@@ -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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9zY2hlbWEvY2xpLXRyYW5zZm9ybWVycy5qcyJdLCJuYW1lcyI6WyJwYXJzZUNzdkxpbmUiLCJ2YWx1ZSIsInNwbGl0IiwibWFwIiwidiIsInRyaW0iLCJmaWx0ZXIiLCJCb29sZWFuIiwicGFyc2VDc3ZGaWxlIiwiZmxhdE1hcCIsInRyYW5zZm9ybWVycyIsImNzdiIsImJvZHkiLCJlcnIiLCJjb2RlIiwiQXJndW1lbnRUeXBlRXJyb3IiLCJtZXNzYWdlIiwianNvbiIsImpzb25PclBhdGgiLCJsb2FkZWRGcm9tRmlsZSIsInJlc3VsdCIsIkpTT04iLCJwYXJzZSIsIl8iLCJpc1BsYWluT2JqZWN0IiwiRXJyb3IiLCJ0cnVuY2F0ZSIsImxlbmd0aCIsImUiLCJtc2ciLCJUeXBlRXJyb3IiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBZ0JBLFNBQVNBLFlBQVQsQ0FBdUJDLEtBQXZCLEVBQThCO0FBQzVCLFNBQU9BLEtBQUssQ0FDVEMsS0FESSxDQUNFLEdBREYsRUFFSkMsR0FGSSxDQUVDQyxDQUFELElBQU9BLENBQUMsQ0FBQ0MsSUFBRixFQUZQLEVBR0pDLE1BSEksQ0FHR0MsT0FISCxDQUFQO0FBSUQ7O0FBT0QsU0FBU0MsWUFBVCxDQUF1QlAsS0FBdkIsRUFBOEI7QUFDNUIsU0FBT0EsS0FBSyxDQUNUQyxLQURJLENBQ0UsT0FERixFQUVKQyxHQUZJLENBRUNDLENBQUQsSUFBT0EsQ0FBQyxDQUFDQyxJQUFGLEVBRlAsRUFHSkMsTUFISSxDQUdHQyxPQUhILEVBSUpFLE9BSkksQ0FJSVQsWUFKSixDQUFQO0FBS0Q7O0FBaUJNLE1BQU1VLFlBQVksR0FBRztBQU8xQkMsRUFBQUEsR0FBRyxFQUFHVixLQUFELElBQVc7QUFDZCxRQUFJVyxJQUFKOztBQUdBLFFBQUk7QUFDRkEsTUFBQUEsSUFBSSxHQUFHLHNCQUFhWCxLQUFiLEVBQW9CLE1BQXBCLENBQVA7QUFDRCxLQUZELENBRUUsT0FBT1ksR0FBUCxFQUFZO0FBQ1osVUFBSUEsR0FBRyxDQUFDQyxJQUFKLEtBQWEsUUFBakIsRUFBMkI7QUFDekIsY0FBTSxJQUFJQywyQkFBSixDQUNILHVCQUFzQkgsSUFBSyxLQUFJQyxHQUFHLENBQUNHLE9BQVEsRUFEeEMsQ0FBTjtBQUdEO0FBQ0Y7O0FBRUQsUUFBSTtBQUNGLGFBQU9KLElBQUksR0FBR0osWUFBWSxDQUFDSSxJQUFELENBQWYsR0FBd0JaLFlBQVksQ0FBQ0MsS0FBRCxDQUEvQztBQUNELEtBRkQsQ0FFRSxPQUFPWSxHQUFQLEVBQVk7QUFDWixZQUFNLElBQUlFLDJCQUFKLENBQ0osdURBREksQ0FBTjtBQUdEO0FBQ0YsR0E1QnlCO0FBbUMxQkUsRUFBQUEsSUFBSSxFQUFHQyxVQUFELElBQWdCO0FBQ3BCLFFBQUlELElBQUksR0FBR0MsVUFBWDtBQUNBLFFBQUlDLGNBQWMsR0FBRyxLQUFyQjs7QUFDQSxRQUFJO0FBTUZGLE1BQUFBLElBQUksR0FBRyxzQkFBYUMsVUFBYixFQUF5QixNQUF6QixDQUFQO0FBQ0FDLE1BQUFBLGNBQWMsR0FBRyxJQUFqQjtBQUNELEtBUkQsQ0FRRSxPQUFPTixHQUFQLEVBQVk7QUFFWixVQUFJQSxHQUFHLENBQUNDLElBQUosS0FBYSxRQUFqQixFQUEyQjtBQUN6QixjQUFNRCxHQUFOO0FBQ0Q7QUFDRjs7QUFDRCxRQUFJO0FBQ0YsWUFBTU8sTUFBTSxHQUFHQyxJQUFJLENBQUNDLEtBQUwsQ0FBV0wsSUFBWCxDQUFmOztBQUNBLFVBQUksQ0FBQ00sZ0JBQUVDLGFBQUYsQ0FBZ0JKLE1BQWhCLENBQUwsRUFBOEI7QUFDNUIsY0FBTSxJQUFJSyxLQUFKLENBQ0gsSUFBR0YsZ0JBQUVHLFFBQUYsQ0FBV04sTUFBWCxFQUFtQjtBQUFDTyxVQUFBQSxNQUFNLEVBQUU7QUFBVCxTQUFuQixDQUFrQyxvQkFEbEMsQ0FBTjtBQUdEOztBQUNELGFBQU9QLE1BQVA7QUFDRCxLQVJELENBUUUsT0FBT1EsQ0FBUCxFQUFVO0FBQ1YsWUFBTUMsR0FBRyxHQUFHVixjQUFjLEdBQ3JCLDBCQUF5QkQsVUFBVyx3QkFEZixHQUVyQix5Q0FGTDtBQUdBLFlBQU0sSUFBSVksU0FBSixDQUFlLEdBQUVELEdBQUkscUJBQW9CRCxDQUFDLENBQUNaLE9BQVEsRUFBbkQsQ0FBTjtBQUNEO0FBQ0Y7QUFsRXlCLENBQXJCIiwic291cmNlc0NvbnRlbnQiOlsiXG5pbXBvcnQgeyBBcmd1bWVudFR5cGVFcnJvciB9IGZyb20gJ2FyZ3BhcnNlJztcbmltcG9ydCB7IHJlYWRGaWxlU3luYyB9IGZyb20gJ2ZzJztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5cbi8qKlxuICogVGhpcyBtb2R1bGUgcHJvdmlkZXMgY3VzdG9tIGtleXdvcmRzIGZvciBBcHBpdW0gc2NoZW1hcywgYXMgd2VsbCBhc1xuICogXCJ0cmFuc2Zvcm1lcnNcIiAoc2VlIGBhcmdUcmFuc2Zvcm1lcnNgIGJlbG93KS5cbiAqXG4gKiBDdXN0b20ga2V5d29yZHMgYXJlIGp1c3QgcHJvcGVydGllcyB0aGF0IHdpbGwgYXBwZWFyIGluIGEgc2NoZW1hIChlLmcuLFxuICogYGFwcGl1bS1jb25maWctc2NoZW1hLmpzYCkgYmV5b25kIHdoYXQgdGhlIEpTT04gU2NoZW1hIHNwZWMgb2ZmZXJzLiAgVGhlc2VcbiAqIGFyZSB1c2FibGUgYnkgZXh0ZW5zaW9ucywgYXMgd2VsbC5cbiAqL1xuXG4vKipcbiAqIFNwbGl0cyBhIENTViBzdHJpbmcgaW50byBhbiBhcnJheVxuICogQHBhcmFtIHtzdHJpbmd9IHZhbHVlXG4gKiBAcmV0dXJucyB7c3RyaW5nW119XG4gKi9cbmZ1bmN0aW9uIHBhcnNlQ3N2TGluZSAodmFsdWUpIHtcbiAgcmV0dXJuIHZhbHVlXG4gICAgLnNwbGl0KCcsJylcbiAgICAubWFwKCh2KSA9PiB2LnRyaW0oKSlcbiAgICAuZmlsdGVyKEJvb2xlYW4pO1xufVxuXG4vKipcbiAqIFNwbGl0IGEgZmlsZSBieSBuZXdsaW5lIHRoZW4gY2FsbHMge0BsaW5rIHBhcnNlQ3N2TGluZX0gb24gZWFjaCBsaW5lLlxuICogQHBhcmFtIHtzdHJpbmd9IHZhbHVlXG4gKiBAcmV0dXJucyB7c3RyaW5nW119XG4gKi9cbmZ1bmN0aW9uIHBhcnNlQ3N2RmlsZSAodmFsdWUpIHtcbiAgcmV0dXJuIHZhbHVlXG4gICAgLnNwbGl0KC9cXHI/XFxuLylcbiAgICAubWFwKCh2KSA9PiB2LnRyaW0oKSlcbiAgICAuZmlsdGVyKEJvb2xlYW4pXG4gICAgLmZsYXRNYXAocGFyc2VDc3ZMaW5lKTtcbn1cblxuLyoqXG4gKiBOYW1lc3BhY2UgY29udGFpbmluZyBfdHJhbnNmb3JtZXJzXyBmb3IgQ0xJIGFyZ3VtZW50cy4gIFwiVmFsaWRhdG9yc1wiIGFuZFxuICogXCJmb3JtYXR0ZXJzXCIgZG8gbm90IGFjdHVhbGx5IG1vZGlmeSB0aGUgdmFsdWUsIGJ1dCB0aGVzZSBkby5cbiAqXG4gKiBVc2UgY2FzZSBpcyBmb3Igd2hlbiB0aGUgY29uZmlnIGZpbGUgY2FuIGFjY2VwdCBlLmcuLCBhIGBzdHJpbmdbXWAsIGJ1dCB0aGVcbiAqIENMSSBjYW4gb25seSB0YWtlIGEgYHN0cmluZ2AgKGFzIGBhcmdwYXJzZWAgc2VlbXMgdG8gYmUgbGltaXRlZCBpbiB0aGF0XG4gKiBmYXNoaW9uOyBpdCBhbHNvIGNhbm5vdCB1bmRlcnN0YW5kIGFuIGFyZ3VtZW50IGhhdmluZyBtdWx0aXBsZSB0eXBlcykuXG4gKlxuICogRm9yIGV4YW1wbGUsIHRoZSBgY3N2YCB0cmFuc2Zvcm0gdGFrZXMgYSBgc3RyaW5nYCBhbmQgcmV0dXJucyBhIGBzdHJpbmdbXWAgYnlcbiAqIHNwbGl0dGluZyBpdCBieSBjb21tYS0tX29yXyBpZiB0aGF0IGBzdHJpbmdgIGhhcHBlbnMgdG8gYmUgYVxuICogZmlsZXBhdGgtLXJlYWRpbmcgdGhlIGZpbGUgYXMgYSBgLmNzdmAuXG4gKlxuICogVGhpcyBjb250YWlucyBzb21lIGNvcHktcGFzdGVkIGNvZGUgZnJvbSBgbGliL2NsaS9wYXJzZXItaGVscGVycy5qc2AsIHdoaWNoIHdhc1xuICogb2JsaXRlcmF0ZWQuXG4gKi9cbmV4cG9ydCBjb25zdCB0cmFuc2Zvcm1lcnMgPSB7XG4gIC8qKlxuICAgKiBHaXZlbiBhIENTVi1zdHlsZSBzdHJpbmcgb3IgcGF0aG5hbWUsIHBhcnNlIGl0IGludG8gYW4gYXJyYXkuXG4gICAqIFRoZSBmaWxlIGNhbiBhbHNvIGJlIHNwbGl0IG9uIG5ld2xpbmVzLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gdmFsdWVcbiAgICogQHJldHVybnMge3N0cmluZ1tdfVxuICAgKi9cbiAgY3N2OiAodmFsdWUpID0+IHtcbiAgICBsZXQgYm9keTtcbiAgICAvLyBzaW5jZSB0aGlzIHZhbHVlIGNvdWxkIGJlIGEgc2luZ2xlIHN0cmluZyAobm8gY29tbWFzKSBfb3JfIGEgcGF0aG5hbWUsIHdlIHdpbGwgbmVlZFxuICAgIC8vIHRvIGF0dGVtcHQgdG8gcGFyc2UgaXQgYXMgYSBmaWxlIF9maXJzdF8uXG4gICAgdHJ5IHtcbiAgICAgIGJvZHkgPSByZWFkRmlsZVN5bmModmFsdWUsICd1dGY4Jyk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBpZiAoZXJyLmNvZGUgIT09ICdFTk9FTlQnKSB7XG4gICAgICAgIHRocm93IG5ldyBBcmd1bWVudFR5cGVFcnJvcihcbiAgICAgICAgICBgQ291bGQgbm90IHJlYWQgZmlsZSAke2JvZHl9OiAke2Vyci5tZXNzYWdlfWAsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBib2R5ID8gcGFyc2VDc3ZGaWxlKGJvZHkpIDogcGFyc2VDc3ZMaW5lKHZhbHVlKTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIHRocm93IG5ldyBBcmd1bWVudFR5cGVFcnJvcihcbiAgICAgICAgJ011c3QgYmUgYSBjb21tYS1kZWxpbWl0ZWQgc3RyaW5nLCBlLmcuLCBcImZvbyxiYXIsYmF6XCInLFxuICAgICAgKTtcbiAgICB9XG4gIH0sXG5cbiAgLyoqXG4gICAqIFBhcnNlIGEgc3RyaW5nIHdoaWNoIGNvdWxkIGJlIGEgcGF0aCB0byBhIEpTT04gZmlsZSBvciBhIEpTT04gc3RyaW5nLlxuICAgKiBAcGFyYW0ge3N0cmluZ30ganNvbk9yUGF0aFxuICAgKiBAcmV0dXJucyB7b2JqZWN0fVxuICAgKi9cbiAganNvbjogKGpzb25PclBhdGgpID0+IHtcbiAgICBsZXQganNvbiA9IGpzb25PclBhdGg7XG4gICAgbGV0IGxvYWRlZEZyb21GaWxlID0gZmFsc2U7XG4gICAgdHJ5IHtcbiAgICAgIC8vIHVzZSBzeW5jaHJvbm91cyBmaWxlIGFjY2VzcywgYXMgYGFyZ3BhcnNlYCBwcm92aWRlcyBubyB3YXkgb2YgZWl0aGVyXG4gICAgICAvLyBhd2FpdGluZyBvciB1c2luZyBjYWxsYmFja3MuIFRoaXMgc3RlcCBoYXBwZW5zIGluIHN0YXJ0dXAsIGluIHdoYXQgaXNcbiAgICAgIC8vIGVmZmVjdGl2ZWx5IGNvbW1hbmQtbGluZSBjb2RlLCBzbyBub3RoaW5nIGlzIGJsb2NrZWQgaW4gdGVybXMgb2ZcbiAgICAgIC8vIHNlc3Npb25zLCBzbyBob2xkaW5nIHVwIHRoZSBldmVudCBsb29wIGRvZXMgbm90IGluY3VyIHRoZSB1c3VhbFxuICAgICAgLy8gZHJhd2JhY2tzLlxuICAgICAganNvbiA9IHJlYWRGaWxlU3luYyhqc29uT3JQYXRoLCAndXRmOCcpO1xuICAgICAgbG9hZGVkRnJvbUZpbGUgPSB0cnVlO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgLy8gdW5yZWFkYWJsZSBmaWxlcyBkb24ndCBjb3VudC4uLiBidXQgb3RoZXIgcHJvYmxlbXMgZG8uXG4gICAgICBpZiAoZXJyLmNvZGUgIT09ICdFTk9FTlQnKSB7XG4gICAgICAgIHRocm93IGVycjtcbiAgICAgIH1cbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IEpTT04ucGFyc2UoanNvbik7XG4gICAgICBpZiAoIV8uaXNQbGFpbk9iamVjdChyZXN1bHQpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBgJyR7Xy50cnVuY2F0ZShyZXN1bHQsIHtsZW5ndGg6IDEwMH0pfScgaXMgbm90IGFuIG9iamVjdGAsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGNvbnN0IG1zZyA9IGxvYWRlZEZyb21GaWxlXG4gICAgICAgID8gYFRoZSBwcm92aWRlZCB2YWx1ZSBvZiAnJHtqc29uT3JQYXRofScgbXVzdCBiZSBhIHZhbGlkIEpTT05gXG4gICAgICAgIDogYFRoZSBwcm92aWRlZCB2YWx1ZSBtdXN0IGJlIGEgdmFsaWQgSlNPTmA7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKGAke21zZ30uIE9yaWdpbmFsIGVycm9yOiAke2UubWVzc2FnZX1gKTtcbiAgICB9XG4gIH0sXG59O1xuIl19
@@ -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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9zY2hlbWEvaW5kZXguanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFDQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc2NoZW1hJztcbmV4cG9ydCAqIGZyb20gJy4vY2xpLWFyZ3MnO1xuIl19
@@ -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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9zY2hlbWEva2V5d29yZHMuanMiXSwibmFtZXMiOlsia2V5d29yZHMiLCJhcHBpdW1DbGlBbGlhc2VzIiwia2V5d29yZCIsIm1ldGFTY2hlbWEiLCJ0eXBlIiwiaXRlbXMiLCJtaW5MZW5ndGgiLCJtaW5JdGVtcyIsInVuaXF1ZUl0ZW1zIiwiZGVzY3JpcHRpb24iLCJhcHBpdW1DbGlEZXN0IiwiYXBwaXVtQ2xpRGVzY3JpcHRpb24iLCJzY2hlbWFUeXBlIiwiYXBwaXVtQ2xpVHJhbnNmb3JtZXIiLCJlbnVtIiwiT2JqZWN0Iiwia2V5cyIsInRyYW5zZm9ybWVycyIsImFwcGl1bUNsaUlnbm9yZWQiLCJhcHBpdW1EZXByZWNhdGVkIiwiJGNvbW1lbnQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUNBOztBQU1PLE1BQU1BLFFBQVEsR0FBRztBQVl0QkMsRUFBQUEsZ0JBQWdCLEVBQUU7QUFDaEJDLElBQUFBLE9BQU8sRUFBRSxrQkFETztBQUVoQkMsSUFBQUEsVUFBVSxFQUFFO0FBQ1ZDLE1BQUFBLElBQUksRUFBRSxPQURJO0FBRVZDLE1BQUFBLEtBQUssRUFBRTtBQUNMRCxRQUFBQSxJQUFJLEVBQUUsUUFERDtBQUVMRSxRQUFBQSxTQUFTLEVBQUU7QUFGTixPQUZHO0FBTVZDLE1BQUFBLFFBQVEsRUFBRSxDQU5BO0FBT1ZDLE1BQUFBLFdBQVcsRUFBRSxJQVBIO0FBUVZDLE1BQUFBLFdBQVcsRUFBRTtBQVJIO0FBRkksR0FaSTtBQW1DdEJDLEVBQUFBLGFBQWEsRUFBRTtBQUNiUixJQUFBQSxPQUFPLEVBQUUsZUFESTtBQUViQyxJQUFBQSxVQUFVLEVBQUU7QUFDVkMsTUFBQUEsSUFBSSxFQUFFLFFBREk7QUFFVkUsTUFBQUEsU0FBUyxFQUFFLENBRkQ7QUFHVkcsTUFBQUEsV0FBVyxFQUFFO0FBSEg7QUFGQyxHQW5DTztBQW9EdEJFLEVBQUFBLG9CQUFvQixFQUFFO0FBQ3BCVCxJQUFBQSxPQUFPLEVBQUUsc0JBRFc7QUFFcEJVLElBQUFBLFVBQVUsRUFBRSxRQUZRO0FBR3BCVCxJQUFBQSxVQUFVLEVBQUU7QUFDVkMsTUFBQUEsSUFBSSxFQUFFLFFBREk7QUFFVkUsTUFBQUEsU0FBUyxFQUFFLENBRkQ7QUFHVkcsTUFBQUEsV0FBVyxFQUFFO0FBSEg7QUFIUSxHQXBEQTtBQW1FdEJJLEVBQUFBLG9CQUFvQixFQUFFO0FBQ3BCWCxJQUFBQSxPQUFPLEVBQUUsc0JBRFc7QUFFcEJDLElBQUFBLFVBQVUsRUFBRTtBQUNWQyxNQUFBQSxJQUFJLEVBQUUsUUFESTtBQUVWVSxNQUFBQSxJQUFJLEVBQUVDLE1BQU0sQ0FBQ0MsSUFBUCxDQUFZQyw2QkFBWixDQUZJO0FBR1ZSLE1BQUFBLFdBQVcsRUFBRTtBQUhIO0FBRlEsR0FuRUE7QUFnRnRCUyxFQUFBQSxnQkFBZ0IsRUFBRTtBQUNoQmhCLElBQUFBLE9BQU8sRUFBRSxrQkFETztBQUVoQkMsSUFBQUEsVUFBVSxFQUFFO0FBQ1ZDLE1BQUFBLElBQUksRUFBRSxTQURJO0FBRVZLLE1BQUFBLFdBQVcsRUFBRSxrSEFGSDtBQUdWSyxNQUFBQSxJQUFJLEVBQUUsQ0FBQyxJQUFEO0FBSEk7QUFGSSxHQWhGSTtBQTZGdEJLLEVBQUFBLGdCQUFnQixFQUFFO0FBQ2hCakIsSUFBQUEsT0FBTyxFQUFFLGtCQURPO0FBRWhCQyxJQUFBQSxVQUFVLEVBQUU7QUFDVkMsTUFBQUEsSUFBSSxFQUFFLFNBREk7QUFFVkssTUFBQUEsV0FBVyxFQUFFLHdFQUZIO0FBR1ZLLE1BQUFBLElBQUksRUFBRSxDQUFDLElBQUQsQ0FISTtBQUlWTSxNQUFBQSxRQUFRLEVBQUU7QUFKQTtBQUZJO0FBN0ZJLENBQWpCIiwic291cmNlc0NvbnRlbnQiOlsiXG5pbXBvcnQgeyB0cmFuc2Zvcm1lcnMgfSBmcm9tICcuL2NsaS10cmFuc2Zvcm1lcnMnO1xuXG4vKipcbiAqIENvbGxlY3Rpb24gb2Yga2V5d29yZCBkZWZpbml0aW9ucyB0byBhZGQgdG8gdGhlIHNpbmdsZXRvbiBgQWp2YCBpbnN0YW5jZS5cbiAqIEB0eXBlIHtSZWNvcmQ8c3RyaW5nLEtleXdvcmREZWZpbml0aW9uPn1cbiAqL1xuZXhwb3J0IGNvbnN0IGtleXdvcmRzID0ge1xuICAvKipcbiAgICogS2V5d29yZCB0byBwcm92aWRlIGEgbGlzdCBvZiBjb21tYW5kIGFsaWFzIG5hbWVzIGZvciB0aGUgQ0xJLlxuICAgKlxuICAgKiBJZiBkZWZpbmVkLCB0aGVyZSBtdXN0IGJlIGF0IGxlYXN0IG9uZSBpdGVtIGluIHRoZSBhcnJheSBhbmQgaXQgbXVzdCBiZSBub24tZW1wdHkuXG4gICAqIEFsbCBpdGVtcyBpbiB0aGUgYXJyYXkgbXVzdCBiZSB1bmlxdWUuXG4gICAqXG4gICAqIEB0b2RvIEF2b2lkIGFsaWFzIGNvbGxpc2lvbnMhXG4gICAqIEB0eXBlIHtLZXl3b3JkRGVmaW5pdGlvbn1cbiAgICogQGV4YW1wbGVcbiAgICoge2FwcGl1bUNsaUFsaWFzZXM6IFsnQicsICdib2JieScsICdyb2JlcnQnXX1cbiAgICovXG4gIGFwcGl1bUNsaUFsaWFzZXM6IHtcbiAgICBrZXl3b3JkOiAnYXBwaXVtQ2xpQWxpYXNlcycsXG4gICAgbWV0YVNjaGVtYToge1xuICAgICAgdHlwZTogJ2FycmF5JyxcbiAgICAgIGl0ZW1zOiB7XG4gICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICBtaW5MZW5ndGg6IDEsXG4gICAgICB9LFxuICAgICAgbWluSXRlbXM6IDEsXG4gICAgICB1bmlxdWVJdGVtczogdHJ1ZSxcbiAgICAgIGRlc2NyaXB0aW9uOiAnTGlzdCBvZiBhbGlhc2VzIGZvciB0aGUgYXJndW1lbnQuIEFsaWFzZXMgc2hvcnRlciB0aGFuIHRocmVlICgzKSBjaGFyYWN0ZXJzIHdpbGwgYmUgcHJlZml4ZWQgd2l0aCBhIHNpbmdsZSBkYXNoOyBvdGhlcndpc2UgdHdvICgyKS4nXG4gICAgfSxcbiAgfSxcbiAgLyoqXG4gICAqIEtleXdvcmQgdG8gcHJvdmlkZSB0aGUgbmFtZSBvZiB0aGUgcHJvcGVydHkgaW4gdGhlIGRlc3RpbmF0aW9uIChwYXJzZWRcbiAgICogYXJncykgb2JqZWN0LiBCeSBkZWZhdWx0LCB0aGlzIHZhbHVlIHdpbGwgYmUgd2hhdGV2ZXIgdGhlIHByb3BlcnR5IG5hbWUgaXMsXG4gICAqIGJ1dCBjYW1lbC1jYXNlZC4gSWYgYSBmbGFnIG5lZWRzIHNvbWV0aGluZyBfb3RoZXJfIHRoYW4ganVzdCBjYW1lbC1jYXNpbmcsXG4gICAqIHVzZSB0aGlzLlxuICAgKiBAdHlwZSB7S2V5d29yZERlZmluaXRpb259XG4gICAqIEBleGFtcGxlXG4gICAqIC8vIGZvciBwcm9wICduby1jb2xvcidcbiAgICoge2FwcGl1bUNsaURlc3Q6ICdOT0NPTE9SJ30gLy8gdmFsdWUgd2lsbCBiZSBzdG9yZWQgYXMgcHJvcGVydHkgYE5PQ09MT1JgIGluc3RlYWQgb2YgYG5vQ29sb3JgXG4gICAqL1xuICBhcHBpdW1DbGlEZXN0OiB7XG4gICAga2V5d29yZDogJ2FwcGl1bUNsaURlc3QnLFxuICAgIG1ldGFTY2hlbWE6IHtcbiAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgbWluTGVuZ3RoOiAxLFxuICAgICAgZGVzY3JpcHRpb246ICdOYW1lIG9mIHRoZSBhc3NvY2lhdGVkIHByb3BlcnR5IGluIHRoZSBwYXJzZWQgQ0xJIGFyZ3VtZW50cyBvYmplY3QnXG4gICAgfSxcbiAgfSxcblxuICAvKipcbiAgICogQ0xJLXNwZWNpZmljIGRlc2NyaXB0aW9uIG9mIHRoZSBwcm9wZXJ0eS4gIFNvbWV0aW1lcyB0aGUgYWxsb3dlZCB0eXBlIGNhblxuICAgKiBiZSBkaWZmZXJlbnQgZW5vdWdoIG9uIHRoZSBDTEkgdGhhdCBwcm92aWRpbmcgYSBkZXNjcmlwdGlvbiB3cml0dGVuIGZvciBhXG4gICAqIGNvbmZpZyBmaWxlIGNvbnRleHQgd291bGRuJ3QgbWFrZSBzZW5zZS5cbiAgICogQHR5cGUge0tleXdvcmREZWZpbml0aW9ufVxuICAgKiBAZXhhbXBsZVxuICAgKiB7YXBwaXVtQ2xpRGVzY3JpcHRpb246ICdUaGlzIGlzIGEgY29tbWEtZGVsaW1pdGVkIHN0cmluZywgYnV0IGluIHRoZSBjb25maWcgZmlsZSBpdCBpcyBhbiBhcnJheSd9XG4gICAqL1xuICBhcHBpdW1DbGlEZXNjcmlwdGlvbjoge1xuICAgIGtleXdvcmQ6ICdhcHBpdW1DbGlEZXNjcmlwdGlvbicsXG4gICAgc2NoZW1hVHlwZTogJ3N0cmluZycsXG4gICAgbWV0YVNjaGVtYToge1xuICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICBtaW5MZW5ndGg6IDEsXG4gICAgICBkZXNjcmlwdGlvbjogJ0Rlc2NyaXB0aW9uIHRvIHByb3ZpZGUgaW4gdGhlIC0taGVscCB0ZXh0IG9mIHRoZSBDTEkuIE92ZXJyaWRlcyBgZGVzY3JpcHRpb25gJ1xuICAgIH0sXG4gIH0sXG5cbiAgLyoqXG4gICAqIFRyYW5zZm9ybWVycyBmb3IgQ0xJIGFyZ3MuIFRoZXNlIHVzdWFsbHkgdGFrZSBzdHJpbmdzIHRoZW4gZG8gc29tZXRoaW5nIHdpdGggdGhlbSwgbGlrZVxuICAgKiByZWFkIGEgZmlsZSBvciBwYXJzZSBmdXJ0aGVyLlxuICAgKiBAdHlwZSB7S2V5d29yZERlZmluaXRpb259XG4gICAqL1xuICBhcHBpdW1DbGlUcmFuc2Zvcm1lcjoge1xuICAgIGtleXdvcmQ6ICdhcHBpdW1DbGlUcmFuc2Zvcm1lcicsXG4gICAgbWV0YVNjaGVtYToge1xuICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICBlbnVtOiBPYmplY3Qua2V5cyh0cmFuc2Zvcm1lcnMpLFxuICAgICAgZGVzY3JpcHRpb246ICdUaGUgbmFtZSBvZiBhIGN1c3RvbSB0cmFuc2Zvcm1lciB0byBydW4gYWdhaW5zdCB0aGUgdmFsdWUgYXMgcHJvdmlkZWQgdmlhIHRoZSBDTEkuJ1xuICAgIH0sXG4gIH0sXG5cbiAgLyoqXG4gICAqIEZsYWcgdG8gdGVsbCBBcHBpdW0gdG8gX25vdF8gcHJvdmlkZSB0aGlzIHByb3BlcnR5IGFzIGEgQ0xJIGFyZ3VtZW50LlxuICAgKiBAdHlwZSB7S2V5d29yZERlZmluaXRpb259XG4gICAqL1xuICBhcHBpdW1DbGlJZ25vcmVkOiB7XG4gICAga2V5d29yZDogJ2FwcGl1bUNsaUlnbm9yZWQnLFxuICAgIG1ldGFTY2hlbWE6IHtcbiAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnSWYgYHRydWVgLCBBcHBpdW0gd2lsbCBub3QgcHJvdmlkZSB0aGlzIHByb3BlcnR5IGFzIGEgQ0xJIGFyZ3VtZW50LiBUaGlzIGlzIE5PVCB0aGUgc2FtZSBhcyBhIFwiaGlkZGVuXCIgYXJndW1lbnQuJyxcbiAgICAgIGVudW06IFt0cnVlXVxuICAgIH1cbiAgfSxcblxuICAvKipcbiAgICogTWFyayB0aGlzIHByb3BlcnR5IGFzIGRlcHJlY2F0ZWQuXG4gICAqIEB0eXBlIHtLZXl3b3JkRGVmaW5pdGlvbn1cbiAgICovXG4gIGFwcGl1bURlcHJlY2F0ZWQ6IHtcbiAgICBrZXl3b3JkOiAnYXBwaXVtRGVwcmVjYXRlZCcsXG4gICAgbWV0YVNjaGVtYToge1xuICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgZGVzY3JpcHRpb246ICdJZiBgdHJ1ZWAsIHRoaXMgcHJvcGVydHkgd2lsbCBiZSBkaXNwbGF5ZWQgYXMgXCJkZXByZWNhdGVkXCIgdG8gdGhlIHVzZXInLFxuICAgICAgZW51bTogW3RydWVdLFxuICAgICAgJGNvbW1lbnQ6ICdKU09OIHNjaGVtYSBkcmFmdC0yMDE5LTA5IGtleXdvcmQgYGRlcHJlY2F0ZWRgIHNlcnZlcyB0aGUgc2FtZSBwdXJwb3NlLiBUaGlzIGtleXdvcmQgc2hvdWxkIGl0c2VsZiBiZSBkZXByZWNhdGVkIGlmIHdlIG1vdmUgdG8gZHJhZnQtMjAxOS0wOSEnXG4gICAgfVxuICB9XG59O1xuXG4vKipcbiAqIFRoZXNlIGFyZSB0aGUgdmFsaWQgdmFsdWVzIGZvciB0aGUgYGFwcGl1bUNsaVRyYW5zZm9ybWVyYCBrZXl3b3JkLlxuICogVW5mb3J0dW5hdGVseSwgVFMgY2Fubm90IGluZmVyIHRoaXMgaW4gYSBKUyBjb250ZXh0LiAgSW4gVFMsIHdlJ2QgdXNlXG4gKiBgYXMgY29uc3RgIHdoZW4gZGVmaW5pbmcgYGFyZ1RyYW5zZm9ybWVyc2AsIHRoZW4gZ2V0IGBrZXlvZiB0eXBlb2YgYXJnVHJhbnNmb3JtZXJzYC4gYWxhcy5cbiAqIEB0eXBlZGVmIHsnY3N2J3wnanNvbid9IEFwcGl1bUNsaVRyYW5zZm9ybWVyTmFtZVxuICovXG5cbi8qKlxuICogVGhlc2UgYXJlIHRoZSBjdXN0b20ga2V5d29yZHMgdGhhdCBBcHBpdW0gcmVjb2duaXplcy5cbiAqXG4gKiBAdHlwZWRlZiBBcHBpdW1KU09OU2NoZW1hS2V5d29yZHNcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbYXBwaXVtQ2xpRGVzdF1cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbYXBwaXVtQ2xpRGVzY3JpcHRpb25dXG4gKiBAcHJvcGVydHkge3N0cmluZ1tdfSBbYXBwaXVtQ2xpQWxpYXNlc11cbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gW2FwcGl1bUNsaUlnbm9yZWRdXG4gKiBAcHJvcGVydHkge0FwcGl1bUNsaVRyYW5zZm9ybWVyTmFtZX0gW2FwcGl1bUNsaVRyYW5zZm9ybWVyXVxuICogQHByb3BlcnR5IHtib29sZWFufSBbYXBwaXVtRGVwcmVjYXRlZF1cbiAqL1xuXG5cbi8qKlxuICogQHR5cGVkZWYge2ltcG9ydCgnYWp2JykuS2V5d29yZERlZmluaXRpb259IEtleXdvcmREZWZpbml0aW9uXG4gKi9cbiJdfQ==