forked from appium/appium
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathargsparse-actions.js
77 lines (60 loc) · 1.82 KB
/
argsparse-actions.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
import { Action } from 'argparse';
const DEFAULT_CAPS_ARG = '--default-capabilities';
class StoreDeprecatedAction extends Action {
constructor (options = {}) {
const opts = Object.assign({}, options);
let helpPrefix = '[DEPRECATED]';
if (opts.deprecated_for) {
helpPrefix = `[DEPRECATED, use ${opts.deprecated_for} instead]`;
delete opts.deprecated_for;
}
if (opts.help) {
opts.help = `${helpPrefix} - ${opts.help}`;
} else {
opts.help = helpPrefix;
}
super(opts);
}
call (parser, namespace, values) {
namespace[this.dest] = values;
}
}
class StoreDeprecatedTrueAction extends StoreDeprecatedAction {
constructor (options = {}) {
super(Object.assign({}, options, {const: true, nargs: 0}));
}
call (parser, namespace) {
namespace[this.dest] = this.const;
}
}
class StoreDeprecatedDefaultCapabilityAction extends StoreDeprecatedAction {
constructor (options = {}) {
super(Object.assign({}, options, {deprecated_for: DEFAULT_CAPS_ARG}));
}
_writeDefaultCap (namespace, value) {
namespace[this.dest] = value;
if (value === this.default) {
return;
}
if (!namespace.defaultCapabilities) {
namespace.defaultCapabilities = {};
}
namespace.defaultCapabilities[this.dest] = value;
}
call (parser, namespace, values) {
this._writeDefaultCap(namespace, values);
}
}
class StoreDeprecatedDefaultCapabilityTrueAction extends StoreDeprecatedDefaultCapabilityAction {
constructor (options = {}) {
super(Object.assign({}, options, {const: true, nargs: 0}));
}
call (parser, namespace) {
this._writeDefaultCap(namespace, this.const);
}
}
export {
StoreDeprecatedAction, StoreDeprecatedTrueAction,
StoreDeprecatedDefaultCapabilityAction, StoreDeprecatedDefaultCapabilityTrueAction,
DEFAULT_CAPS_ARG,
};