@appium/base-driver 9.17.0 → 10.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. package/build/lib/basedriver/capabilities.d.ts.map +1 -1
  2. package/build/lib/basedriver/capabilities.js +2 -4
  3. package/build/lib/basedriver/capabilities.js.map +1 -1
  4. package/build/lib/basedriver/commands/timeout.js +7 -25
  5. package/build/lib/basedriver/commands/timeout.js.map +1 -1
  6. package/build/lib/basedriver/core.d.ts +0 -8
  7. package/build/lib/basedriver/core.d.ts.map +1 -1
  8. package/build/lib/basedriver/core.js +8 -18
  9. package/build/lib/basedriver/core.js.map +1 -1
  10. package/build/lib/basedriver/driver.js +2 -2
  11. package/build/lib/basedriver/driver.js.map +1 -1
  12. package/build/lib/basedriver/helpers.d.ts +9 -1
  13. package/build/lib/basedriver/helpers.d.ts.map +1 -1
  14. package/build/lib/basedriver/helpers.js +56 -142
  15. package/build/lib/basedriver/helpers.js.map +1 -1
  16. package/build/lib/basedriver/validation.d.ts +7 -0
  17. package/build/lib/basedriver/validation.d.ts.map +1 -0
  18. package/build/lib/basedriver/validation.js +130 -0
  19. package/build/lib/basedriver/validation.js.map +1 -0
  20. package/build/lib/express/middleware.d.ts +0 -6
  21. package/build/lib/express/middleware.d.ts.map +1 -1
  22. package/build/lib/express/middleware.js +12 -64
  23. package/build/lib/express/middleware.js.map +1 -1
  24. package/build/lib/express/server.d.ts.map +1 -1
  25. package/build/lib/express/server.js +1 -2
  26. package/build/lib/express/server.js.map +1 -1
  27. package/build/lib/helpers/capabilities.d.ts +13 -6
  28. package/build/lib/helpers/capabilities.d.ts.map +1 -1
  29. package/build/lib/helpers/capabilities.js +7 -0
  30. package/build/lib/helpers/capabilities.js.map +1 -1
  31. package/build/lib/index.d.ts +1 -0
  32. package/build/lib/index.d.ts.map +1 -1
  33. package/build/lib/index.js +3 -1
  34. package/build/lib/index.js.map +1 -1
  35. package/build/lib/jsonwp-proxy/proxy.d.ts +0 -8
  36. package/build/lib/jsonwp-proxy/proxy.d.ts.map +1 -1
  37. package/build/lib/jsonwp-proxy/proxy.js +1 -29
  38. package/build/lib/jsonwp-proxy/proxy.js.map +1 -1
  39. package/build/lib/protocol/errors.d.ts +171 -277
  40. package/build/lib/protocol/errors.d.ts.map +1 -1
  41. package/build/lib/protocol/errors.js +201 -421
  42. package/build/lib/protocol/errors.js.map +1 -1
  43. package/build/lib/protocol/helpers.d.ts +6 -6
  44. package/build/lib/protocol/helpers.d.ts.map +1 -1
  45. package/build/lib/protocol/helpers.js +11 -7
  46. package/build/lib/protocol/helpers.js.map +1 -1
  47. package/build/lib/protocol/protocol.d.ts +5 -0
  48. package/build/lib/protocol/protocol.d.ts.map +1 -1
  49. package/build/lib/protocol/protocol.js +23 -23
  50. package/build/lib/protocol/protocol.js.map +1 -1
  51. package/build/lib/protocol/routes.d.ts +6 -715
  52. package/build/lib/protocol/routes.d.ts.map +1 -1
  53. package/build/lib/protocol/routes.js +16 -481
  54. package/build/lib/protocol/routes.js.map +1 -1
  55. package/build/lib/protocol/validators.d.ts +4 -7
  56. package/build/lib/protocol/validators.d.ts.map +1 -1
  57. package/build/lib/protocol/validators.js +4 -24
  58. package/build/lib/protocol/validators.js.map +1 -1
  59. package/lib/basedriver/capabilities.ts +2 -4
  60. package/lib/basedriver/commands/timeout.ts +11 -34
  61. package/lib/basedriver/core.ts +10 -19
  62. package/lib/basedriver/driver.ts +3 -3
  63. package/lib/basedriver/helpers.js +61 -167
  64. package/lib/basedriver/validation.ts +145 -0
  65. package/lib/express/middleware.js +16 -75
  66. package/lib/express/server.js +1 -3
  67. package/lib/helpers/capabilities.js +9 -4
  68. package/lib/index.js +2 -0
  69. package/lib/jsonwp-proxy/proxy.js +2 -33
  70. package/lib/protocol/{errors.js → errors.ts} +322 -436
  71. package/lib/protocol/helpers.js +12 -8
  72. package/lib/protocol/protocol.js +25 -23
  73. package/lib/protocol/routes.js +18 -491
  74. package/lib/protocol/validators.ts +19 -0
  75. package/package.json +10 -10
  76. package/build/lib/basedriver/desired-caps.d.ts +0 -5
  77. package/build/lib/basedriver/desired-caps.d.ts.map +0 -1
  78. package/build/lib/basedriver/desired-caps.js +0 -92
  79. package/build/lib/basedriver/desired-caps.js.map +0 -1
  80. package/lib/basedriver/desired-caps.js +0 -103
  81. package/lib/protocol/validators.js +0 -41
@@ -1,92 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.validator = void 0;
7
- const logger_1 = __importDefault(require("./logger"));
8
- const validate_js_1 = __importDefault(require("validate.js"));
9
- const bluebird_1 = __importDefault(require("bluebird"));
10
- exports.validator =
11
- /** @type {import('validate.js').ValidateJS & {promise: typeof import('bluebird')}} */ (validate_js_1.default);
12
- exports.validator.validators.isString = function isString(value) {
13
- if (typeof value === 'string') {
14
- return null;
15
- }
16
- if (typeof value === 'undefined') {
17
- return null;
18
- }
19
- return 'must be of type string';
20
- };
21
- exports.validator.validators.isNumber = function isNumber(value) {
22
- if (typeof value === 'number') {
23
- return null;
24
- }
25
- if (typeof value === 'undefined') {
26
- return null;
27
- }
28
- // allow a string value
29
- if (typeof value === 'string' && !isNaN(Number(value))) {
30
- logger_1.default.warn('Number capability passed in as string. Functionality may be compromised.');
31
- return null;
32
- }
33
- return 'must be of type number';
34
- };
35
- exports.validator.validators.isBoolean = function isBoolean(value) {
36
- if (typeof value === 'boolean') {
37
- return null;
38
- }
39
- // allow a string value
40
- if (typeof value === 'string' && ['true', 'false', ''].includes(value)) {
41
- return null;
42
- }
43
- if (typeof value === 'undefined') {
44
- return null;
45
- }
46
- return 'must be of type boolean';
47
- };
48
- exports.validator.validators.isObject = function isObject(value) {
49
- if (typeof value === 'object') {
50
- return null;
51
- }
52
- if (typeof value === 'undefined') {
53
- return null;
54
- }
55
- return 'must be of type object';
56
- };
57
- exports.validator.validators.isArray = function isArray(value) {
58
- if (Array.isArray(value)) {
59
- return null;
60
- }
61
- if (typeof value === 'undefined') {
62
- return null;
63
- }
64
- return 'must be of type array';
65
- };
66
- exports.validator.validators.deprecated = function deprecated(value, options, key) {
67
- // do not print caps that hasn't been provided.
68
- if (typeof value !== 'undefined' && options) {
69
- logger_1.default.warn(`The '${key}' capability has been deprecated and must not be used anymore. ` +
70
- `Please check the driver documentation for possible alternatives.`);
71
- }
72
- return null;
73
- };
74
- exports.validator.validators.inclusionCaseInsensitive = function inclusionCaseInsensitive(value, options) {
75
- if (typeof value === 'undefined') {
76
- return null;
77
- }
78
- else if (typeof value !== 'string') {
79
- return 'unrecognised';
80
- }
81
- for (let option of options) {
82
- if (option.toLowerCase() === value.toLowerCase()) {
83
- return null;
84
- }
85
- }
86
- return `${value} not part of ${options.toString()}`;
87
- };
88
- exports.validator.promise = bluebird_1.default;
89
- exports.validator.prettify = function prettify(val) {
90
- return val;
91
- };
92
- //# sourceMappingURL=desired-caps.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"desired-caps.js","sourceRoot":"","sources":["../../../lib/basedriver/desired-caps.js"],"names":[],"mappings":";;;;;;AAAA,sDAA2B;AAC3B,8DAAqC;AACrC,wDAAyB;AAEZ,QAAA,SAAS;AACpB,sFAAsF,CAAC,CACrF,qBAAU,CACX,CAAC;AAEJ,iBAAS,CAAC,UAAU,CAAC,QAAQ,GAAG,SAAS,QAAQ,CAAC,KAAK;IACrD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,wBAAwB,CAAC;AAClC,CAAC,CAAC;AACF,iBAAS,CAAC,UAAU,CAAC,QAAQ,GAAG,SAAS,QAAQ,CAAC,KAAK;IACrD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,uBAAuB;IACvB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QACvD,gBAAG,CAAC,IAAI,CAAC,0EAA0E,CAAC,CAAC;QACrF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,wBAAwB,CAAC;AAClC,CAAC,CAAC;AACF,iBAAS,CAAC,UAAU,CAAC,SAAS,GAAG,SAAS,SAAS,CAAC,KAAK;IACvD,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,uBAAuB;IACvB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACvE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,yBAAyB,CAAC;AACnC,CAAC,CAAC;AACF,iBAAS,CAAC,UAAU,CAAC,QAAQ,GAAG,SAAS,QAAQ,CAAC,KAAK;IACrD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,wBAAwB,CAAC;AAClC,CAAC,CAAC;AACF,iBAAS,CAAC,UAAU,CAAC,OAAO,GAAG,SAAS,OAAO,CAAC,KAAK;IACnD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,uBAAuB,CAAC;AACjC,CAAC,CAAC;AACF,iBAAS,CAAC,UAAU,CAAC,UAAU,GAAG,SAAS,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG;IACvE,+CAA+C;IAC/C,IAAI,OAAO,KAAK,KAAK,WAAW,IAAI,OAAO,EAAE,CAAC;QAC5C,gBAAG,CAAC,IAAI,CACN,QAAQ,GAAG,iEAAiE;YAC5E,kEAAkE,CACnE,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AACF,iBAAS,CAAC,UAAU,CAAC,wBAAwB,GAAG,SAAS,wBAAwB,CAAC,KAAK,EAAE,OAAO;IAC9F,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;SAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACrC,OAAO,cAAc,CAAC;IACxB,CAAC;IACD,KAAK,IAAI,MAAM,IAAI,OAAO,EAAE,CAAC;QAC3B,IAAI,MAAM,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACjD,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,GAAG,KAAK,gBAAgB,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;AACtD,CAAC,CAAC;AAEF,iBAAS,CAAC,OAAO,GAAG,kBAAC,CAAC;AACtB,iBAAS,CAAC,QAAQ,GAAG,SAAS,QAAQ,CAAC,GAAG;IACxC,OAAO,GAAG,CAAC;AACb,CAAC,CAAC"}
@@ -1,103 +0,0 @@
1
- import log from './logger';
2
- import _validator from 'validate.js';
3
- import B from 'bluebird';
4
-
5
- export const validator =
6
- /** @type {import('validate.js').ValidateJS & {promise: typeof import('bluebird')}} */ (
7
- _validator
8
- );
9
-
10
- validator.validators.isString = function isString(value) {
11
- if (typeof value === 'string') {
12
- return null;
13
- }
14
-
15
- if (typeof value === 'undefined') {
16
- return null;
17
- }
18
-
19
- return 'must be of type string';
20
- };
21
- validator.validators.isNumber = function isNumber(value) {
22
- if (typeof value === 'number') {
23
- return null;
24
- }
25
-
26
- if (typeof value === 'undefined') {
27
- return null;
28
- }
29
-
30
- // allow a string value
31
- if (typeof value === 'string' && !isNaN(Number(value))) {
32
- log.warn('Number capability passed in as string. Functionality may be compromised.');
33
- return null;
34
- }
35
-
36
- return 'must be of type number';
37
- };
38
- validator.validators.isBoolean = function isBoolean(value) {
39
- if (typeof value === 'boolean') {
40
- return null;
41
- }
42
-
43
- // allow a string value
44
- if (typeof value === 'string' && ['true', 'false', ''].includes(value)) {
45
- return null;
46
- }
47
-
48
- if (typeof value === 'undefined') {
49
- return null;
50
- }
51
-
52
- return 'must be of type boolean';
53
- };
54
- validator.validators.isObject = function isObject(value) {
55
- if (typeof value === 'object') {
56
- return null;
57
- }
58
-
59
- if (typeof value === 'undefined') {
60
- return null;
61
- }
62
-
63
- return 'must be of type object';
64
- };
65
- validator.validators.isArray = function isArray(value) {
66
- if (Array.isArray(value)) {
67
- return null;
68
- }
69
-
70
- if (typeof value === 'undefined') {
71
- return null;
72
- }
73
-
74
- return 'must be of type array';
75
- };
76
- validator.validators.deprecated = function deprecated(value, options, key) {
77
- // do not print caps that hasn't been provided.
78
- if (typeof value !== 'undefined' && options) {
79
- log.warn(
80
- `The '${key}' capability has been deprecated and must not be used anymore. ` +
81
- `Please check the driver documentation for possible alternatives.`
82
- );
83
- }
84
- return null;
85
- };
86
- validator.validators.inclusionCaseInsensitive = function inclusionCaseInsensitive(value, options) {
87
- if (typeof value === 'undefined') {
88
- return null;
89
- } else if (typeof value !== 'string') {
90
- return 'unrecognised';
91
- }
92
- for (let option of options) {
93
- if (option.toLowerCase() === value.toLowerCase()) {
94
- return null;
95
- }
96
- }
97
- return `${value} not part of ${options.toString()}`;
98
- };
99
-
100
- validator.promise = B;
101
- validator.prettify = function prettify(val) {
102
- return val;
103
- };
@@ -1,41 +0,0 @@
1
- import _ from 'lodash';
2
-
3
- function isNumber(o) {
4
- return _.isNumber(o) || !_.isNaN(parseInt(o, 10)) || !_.isNaN(parseFloat(o));
5
- }
6
-
7
- function msValidator(ms) {
8
- if (!_.isNumber(ms) || ms < 0) {
9
- throw new Error('Wait ms must be a number equal to 0 or greater');
10
- }
11
- }
12
-
13
- /**
14
- * @deprecated
15
- */
16
- const validators = {
17
- setUrl: (url) => {
18
- // either an `xyz://`, `about:`, or `data:` scheme is allowed
19
- if (!url || !url.match(/^([a-zA-Z0-9_+.-]+:\/\/)|(about:)|(data:)/)) {
20
- throw new Error('Url or Uri must start with <scheme>://');
21
- }
22
- },
23
- implicitWait: (ms) => {
24
- msValidator(ms);
25
- },
26
- asyncScriptTimeout: (ms) => {
27
- msValidator(ms);
28
- },
29
- clickCurrent: (button) => {
30
- if (!(isNumber(button) || _.isUndefined(button)) || button < 0 || button > 2) {
31
- throw new Error('Click button must be 0, 1, or 2');
32
- }
33
- },
34
- setNetworkConnection: (type) => {
35
- if (!isNumber(type) || [0, 1, 2, 4, 6].indexOf(type) === -1) {
36
- throw new Error('Network type must be one of 0, 1, 2, 4, 6');
37
- }
38
- },
39
- };
40
-
41
- export {validators};