@appium/base-driver 8.7.3 → 9.0.0

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 (121) hide show
  1. package/build/lib/basedriver/capabilities.d.ts +11 -163
  2. package/build/lib/basedriver/capabilities.d.ts.map +1 -1
  3. package/build/lib/basedriver/capabilities.js +354 -236
  4. package/build/lib/basedriver/capabilities.js.map +1 -1
  5. package/build/lib/basedriver/commands/event.d.ts +7 -6
  6. package/build/lib/basedriver/commands/event.d.ts.map +1 -1
  7. package/build/lib/basedriver/commands/event.js +55 -35
  8. package/build/lib/basedriver/commands/event.js.map +1 -1
  9. package/build/lib/basedriver/commands/execute.d.ts +7 -6
  10. package/build/lib/basedriver/commands/execute.d.ts.map +1 -1
  11. package/build/lib/basedriver/commands/execute.js +66 -58
  12. package/build/lib/basedriver/commands/execute.js.map +1 -1
  13. package/build/lib/basedriver/commands/find.d.ts +9 -7
  14. package/build/lib/basedriver/commands/find.d.ts.map +1 -1
  15. package/build/lib/basedriver/commands/find.js +102 -54
  16. package/build/lib/basedriver/commands/find.js.map +1 -1
  17. package/build/lib/basedriver/commands/index.d.ts +3 -7
  18. package/build/lib/basedriver/commands/index.d.ts.map +1 -1
  19. package/build/lib/basedriver/commands/index.js +30 -33
  20. package/build/lib/basedriver/commands/index.js.map +1 -1
  21. package/build/lib/basedriver/commands/log.d.ts +8 -9
  22. package/build/lib/basedriver/commands/log.d.ts.map +1 -1
  23. package/build/lib/basedriver/commands/log.js +54 -38
  24. package/build/lib/basedriver/commands/log.js.map +1 -1
  25. package/build/lib/basedriver/commands/session.d.ts +7 -6
  26. package/build/lib/basedriver/commands/session.d.ts.map +1 -1
  27. package/build/lib/basedriver/commands/session.js +46 -39
  28. package/build/lib/basedriver/commands/session.js.map +1 -1
  29. package/build/lib/basedriver/commands/settings.d.ts +7 -7
  30. package/build/lib/basedriver/commands/settings.d.ts.map +1 -1
  31. package/build/lib/basedriver/commands/settings.js +35 -28
  32. package/build/lib/basedriver/commands/settings.js.map +1 -1
  33. package/build/lib/basedriver/commands/timeout.d.ts +7 -5
  34. package/build/lib/basedriver/commands/timeout.d.ts.map +1 -1
  35. package/build/lib/basedriver/commands/timeout.js +144 -162
  36. package/build/lib/basedriver/commands/timeout.js.map +1 -1
  37. package/build/lib/basedriver/core.d.ts +6 -157
  38. package/build/lib/basedriver/core.d.ts.map +1 -1
  39. package/build/lib/basedriver/core.js +361 -230
  40. package/build/lib/basedriver/core.js.map +1 -1
  41. package/build/lib/basedriver/desired-caps.js +80 -110
  42. package/build/lib/basedriver/desired-caps.js.map +1 -1
  43. package/build/lib/basedriver/device-settings.js +57 -62
  44. package/build/lib/basedriver/device-settings.js.map +1 -1
  45. package/build/lib/basedriver/driver.d.ts +11 -262
  46. package/build/lib/basedriver/driver.d.ts.map +1 -1
  47. package/build/lib/basedriver/driver.js +362 -262
  48. package/build/lib/basedriver/driver.js.map +1 -1
  49. package/build/lib/basedriver/helpers.js +500 -495
  50. package/build/lib/basedriver/helpers.js.map +1 -1
  51. package/build/lib/basedriver/logger.d.ts +1 -1
  52. package/build/lib/basedriver/logger.d.ts.map +1 -1
  53. package/build/lib/basedriver/logger.js +5 -15
  54. package/build/lib/basedriver/logger.js.map +1 -1
  55. package/build/lib/constants.js +14 -14
  56. package/build/lib/constants.js.map +1 -1
  57. package/build/lib/express/crash.js +8 -15
  58. package/build/lib/express/crash.js.map +1 -1
  59. package/build/lib/express/express-logging.js +49 -59
  60. package/build/lib/express/express-logging.js.map +1 -1
  61. package/build/lib/express/idempotency.js +125 -177
  62. package/build/lib/express/idempotency.js.map +1 -1
  63. package/build/lib/express/logger.d.ts +1 -1
  64. package/build/lib/express/logger.d.ts.map +1 -1
  65. package/build/lib/express/logger.js +5 -15
  66. package/build/lib/express/logger.js.map +1 -1
  67. package/build/lib/express/middleware.js +82 -107
  68. package/build/lib/express/middleware.js.map +1 -1
  69. package/build/lib/express/server.d.ts +17 -5
  70. package/build/lib/express/server.d.ts.map +1 -1
  71. package/build/lib/express/server.js +259 -224
  72. package/build/lib/express/server.js.map +1 -1
  73. package/build/lib/express/static.js +64 -81
  74. package/build/lib/express/static.js.map +1 -1
  75. package/build/lib/express/websocket.js +115 -87
  76. package/build/lib/express/websocket.js.map +1 -1
  77. package/build/lib/helpers/capabilities.d.ts +1 -59
  78. package/build/lib/helpers/capabilities.d.ts.map +1 -1
  79. package/build/lib/helpers/capabilities.js +72 -69
  80. package/build/lib/helpers/capabilities.js.map +1 -1
  81. package/build/lib/index.js +64 -180
  82. package/build/lib/index.js.map +1 -1
  83. package/build/lib/jsonwp-proxy/protocol-converter.js +215 -227
  84. package/build/lib/jsonwp-proxy/protocol-converter.js.map +1 -1
  85. package/build/lib/jsonwp-proxy/proxy.d.ts.map +1 -1
  86. package/build/lib/jsonwp-proxy/proxy.js +355 -393
  87. package/build/lib/jsonwp-proxy/proxy.js.map +1 -1
  88. package/build/lib/jsonwp-status/status.js +119 -130
  89. package/build/lib/jsonwp-status/status.js.map +1 -1
  90. package/build/lib/protocol/errors.d.ts +135 -32
  91. package/build/lib/protocol/errors.d.ts.map +1 -1
  92. package/build/lib/protocol/errors.js +871 -919
  93. package/build/lib/protocol/errors.js.map +1 -1
  94. package/build/lib/protocol/helpers.js +37 -37
  95. package/build/lib/protocol/helpers.js.map +1 -1
  96. package/build/lib/protocol/index.js +22 -109
  97. package/build/lib/protocol/index.js.map +1 -1
  98. package/build/lib/protocol/protocol.js +394 -350
  99. package/build/lib/protocol/protocol.js.map +1 -1
  100. package/build/lib/protocol/routes.d.ts +1238 -4
  101. package/build/lib/protocol/routes.d.ts.map +1 -1
  102. package/build/lib/protocol/routes.js +964 -1327
  103. package/build/lib/protocol/routes.js.map +1 -1
  104. package/build/lib/protocol/validators.js +32 -39
  105. package/build/lib/protocol/validators.js.map +1 -1
  106. package/build/tsconfig.tsbuildinfo +1 -1
  107. package/lib/basedriver/capabilities.js +80 -39
  108. package/lib/basedriver/commands/event.js +10 -5
  109. package/lib/basedriver/commands/execute.js +14 -9
  110. package/lib/basedriver/commands/find.js +18 -12
  111. package/lib/basedriver/commands/index.js +21 -16
  112. package/lib/basedriver/commands/log.js +24 -18
  113. package/lib/basedriver/commands/session.js +10 -5
  114. package/lib/basedriver/commands/settings.js +9 -6
  115. package/lib/basedriver/commands/timeout.js +10 -4
  116. package/lib/basedriver/core.js +2 -3
  117. package/lib/basedriver/driver.js +12 -16
  118. package/lib/express/server.js +6 -3
  119. package/lib/protocol/errors.js +155 -44
  120. package/lib/protocol/routes.js +11 -7
  121. package/package.json +14 -16
@@ -1 +1 @@
1
- {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../../../lib/basedriver/commands/settings.js"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,oCAHW,2CAAoC,GAClC,YAAY,CAuBxB;gCAGY,OAAO,eAAe,EAAE,gBAAgB;sBACxC,OAAO,OAAO,EAAE,OAAO;2BACvB,OAAO,WAAW,EAAE,cAAc,CAAC,OAAO,eAAe,EAAE,eAAe,GAAG,OAAO,eAAe,EAAE,aAAa,GAAG,OAAO,eAAe,EAAE,YAAY,GAAG,OAAO,eAAe,EAAE,WAAW,GAAG,iBAAiB,CAAC"}
1
+ {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../../../lib/basedriver/commands/settings.js"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,yJAqBC;0BAGY,OAAO,eAAe,EAAE,WAAW;gCACnC,OAAO,eAAe,EAAE,iBAAiB;mGAIzC,OAAO,WAAW,EAAE,cAAc,CAAC,CAAC,EAAE,OAAO,eAAe,EAAE,gBAAgB,GAAG,OAAO,eAAe,EAAE,cAAc,GAAG,OAAO,eAAe,EAAE,aAAa,GAAG,OAAO,eAAe,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC"}
@@ -1,32 +1,39 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.SettingsMixin = SettingsMixin;
7
-
8
- require("source-map-support/register");
9
-
2
+ // @ts-check
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.SettingsMixin = void 0;
5
+ /**
6
+ * @template {Constraints} C
7
+ * @param {import('./log').LogBase<C>} Base
8
+ * @returns {SettingsBase<C>}
9
+ */
10
10
  function SettingsMixin(Base) {
11
- class SettingsCommands extends Base {
12
- async updateSettings(newSettings) {
13
- if (!this.settings) {
14
- this.log.errorAndThrow('Cannot update settings; settings object not found');
15
- }
16
-
17
- return await this.settings.update(newSettings);
18
- }
19
-
20
- async getSettings() {
21
- if (!this.settings) {
22
- this.log.errorAndThrow('Cannot get settings; settings object not found');
23
- }
24
-
25
- return await this.settings.getSettings();
11
+ /**
12
+ * @implements {ISettingsCommands}
13
+ */
14
+ class SettingsCommands extends Base {
15
+ async updateSettings(newSettings) {
16
+ if (!this.settings) {
17
+ this.log.errorAndThrow('Cannot update settings; settings object not found');
18
+ }
19
+ return await this.settings.update(newSettings);
20
+ }
21
+ async getSettings() {
22
+ if (!this.settings) {
23
+ this.log.errorAndThrow('Cannot get settings; settings object not found');
24
+ }
25
+ return await this.settings.getSettings();
26
+ }
26
27
  }
27
-
28
- }
29
-
30
- return SettingsCommands;
28
+ return SettingsCommands;
31
29
  }
32
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTZXR0aW5nc01peGluIiwiQmFzZSIsIlNldHRpbmdzQ29tbWFuZHMiLCJ1cGRhdGVTZXR0aW5ncyIsIm5ld1NldHRpbmdzIiwic2V0dGluZ3MiLCJsb2ciLCJlcnJvckFuZFRocm93IiwidXBkYXRlIiwiZ2V0U2V0dGluZ3MiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWIvYmFzZWRyaXZlci9jb21tYW5kcy9zZXR0aW5ncy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtY2hlY2tcblxuLyoqXG4gKlxuICogQHBhcmFtIHtSZXR1cm5UeXBlPGltcG9ydCgnLi9sb2cnKS5Mb2dNaXhpbj59IEJhc2VcbiAqIEByZXR1cm5zIHtTZXR0aW5nc0Jhc2V9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBTZXR0aW5nc01peGluKEJhc2UpIHtcbiAgLyoqXG4gICAqIEBpbXBsZW1lbnRzIHtJU2V0dGluZ3NDb21tYW5kc31cbiAgICovXG4gIGNsYXNzIFNldHRpbmdzQ29tbWFuZHMgZXh0ZW5kcyBCYXNlIHtcbiAgICBhc3luYyB1cGRhdGVTZXR0aW5ncyhuZXdTZXR0aW5ncykge1xuICAgICAgaWYgKCF0aGlzLnNldHRpbmdzKSB7XG4gICAgICAgIHRoaXMubG9nLmVycm9yQW5kVGhyb3coJ0Nhbm5vdCB1cGRhdGUgc2V0dGluZ3M7IHNldHRpbmdzIG9iamVjdCBub3QgZm91bmQnKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBhd2FpdCB0aGlzLnNldHRpbmdzLnVwZGF0ZShuZXdTZXR0aW5ncyk7XG4gICAgfVxuXG4gICAgYXN5bmMgZ2V0U2V0dGluZ3MoKSB7XG4gICAgICBpZiAoIXRoaXMuc2V0dGluZ3MpIHtcbiAgICAgICAgdGhpcy5sb2cuZXJyb3JBbmRUaHJvdygnQ2Fubm90IGdldCBzZXR0aW5nczsgc2V0dGluZ3Mgb2JqZWN0IG5vdCBmb3VuZCcpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuc2V0dGluZ3MuZ2V0U2V0dGluZ3MoKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gU2V0dGluZ3NDb21tYW5kcztcbn1cblxuLyoqXG4gKiBAdHlwZWRlZiB7aW1wb3J0KCdAYXBwaXVtL3R5cGVzJykuU2V0dGluZ3NDb21tYW5kc30gSVNldHRpbmdzQ29tbWFuZHNcbiAqIEB0eXBlZGVmIHtpbXBvcnQoJy4vbG9nJykuTG9nQmFzZX0gTG9nQmFzZVxuICogQHR5cGVkZWYge2ltcG9ydCgnLi4vZHJpdmVyJykuQmFzZURyaXZlckJhc2U8aW1wb3J0KCdAYXBwaXVtL3R5cGVzJykuVGltZW91dENvbW1hbmRzICYgaW1wb3J0KCdAYXBwaXVtL3R5cGVzJykuRXZlbnRDb21tYW5kcyAmIGltcG9ydCgnQGFwcGl1bS90eXBlcycpLkZpbmRDb21tYW5kcyAmIGltcG9ydCgnQGFwcGl1bS90eXBlcycpLkxvZ0NvbW1hbmRzICYgSVNldHRpbmdzQ29tbWFuZHM+fSBTZXR0aW5nc0Jhc2VcbiAqL1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFPTyxTQUFTQSxhQUFULENBQXVCQyxJQUF2QixFQUE2QjtFQUlsQyxNQUFNQyxnQkFBTixTQUErQkQsSUFBL0IsQ0FBb0M7SUFDZCxNQUFkRSxjQUFjLENBQUNDLFdBQUQsRUFBYztNQUNoQyxJQUFJLENBQUMsS0FBS0MsUUFBVixFQUFvQjtRQUNsQixLQUFLQyxHQUFMLENBQVNDLGFBQVQsQ0FBdUIsbURBQXZCO01BQ0Q7O01BQ0QsT0FBTyxNQUFNLEtBQUtGLFFBQUwsQ0FBY0csTUFBZCxDQUFxQkosV0FBckIsQ0FBYjtJQUNEOztJQUVnQixNQUFYSyxXQUFXLEdBQUc7TUFDbEIsSUFBSSxDQUFDLEtBQUtKLFFBQVYsRUFBb0I7UUFDbEIsS0FBS0MsR0FBTCxDQUFTQyxhQUFULENBQXVCLGdEQUF2QjtNQUNEOztNQUNELE9BQU8sTUFBTSxLQUFLRixRQUFMLENBQWNJLFdBQWQsRUFBYjtJQUNEOztFQWJpQzs7RUFnQnBDLE9BQU9QLGdCQUFQO0FBQ0QifQ==
30
+ exports.SettingsMixin = SettingsMixin;
31
+ /**
32
+ * @typedef {import('@appium/types').Constraints} Constraints
33
+ * @typedef {import('@appium/types').ISettingsCommands} ISettingsCommands
34
+ */
35
+ /**
36
+ * @template {Constraints} C
37
+ * @typedef {import('../driver').BaseDriverBase<C, import('@appium/types').ITimeoutCommands & import('@appium/types').IEventCommands & import('@appium/types').IFindCommands & import('@appium/types').ILogCommands<C> & ISettingsCommands>} SettingsBase
38
+ */
39
+ //# sourceMappingURL=settings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"settings.js","names":["SettingsMixin","Base","SettingsCommands","updateSettings","newSettings","settings","log","errorAndThrow","update","getSettings"],"sources":["../../../../lib/basedriver/commands/settings.js"],"sourcesContent":["// @ts-check\n\n/**\n *\n * @param {ReturnType<import('./log').LogMixin>} Base\n * @returns {SettingsBase}\n */\nexport function SettingsMixin(Base) {\n /**\n * @implements {ISettingsCommands}\n */\n class SettingsCommands extends Base {\n async updateSettings(newSettings) {\n if (!this.settings) {\n this.log.errorAndThrow('Cannot update settings; settings object not found');\n }\n return await this.settings.update(newSettings);\n }\n\n async getSettings() {\n if (!this.settings) {\n this.log.errorAndThrow('Cannot get settings; settings object not found');\n }\n return await this.settings.getSettings();\n }\n }\n\n return SettingsCommands;\n}\n\n/**\n * @typedef {import('@appium/types').SettingsCommands} ISettingsCommands\n * @typedef {import('./log').LogBase} LogBase\n * @typedef {import('../driver').BaseDriverBase<import('@appium/types').TimeoutCommands & import('@appium/types').EventCommands & import('@appium/types').FindCommands & import('@appium/types').LogCommands & ISettingsCommands>} SettingsBase\n */\n"],"mappings":";;;;;;;;;AAOO,SAASA,aAAT,CAAuBC,IAAvB,EAA6B;EAIlC,MAAMC,gBAAN,SAA+BD,IAA/B,CAAoC;IACd,MAAdE,cAAc,CAACC,WAAD,EAAc;MAChC,IAAI,CAAC,KAAKC,QAAV,EAAoB;QAClB,KAAKC,GAAL,CAASC,aAAT,CAAuB,mDAAvB;MACD;;MACD,OAAO,MAAM,KAAKF,QAAL,CAAcG,MAAd,CAAqBJ,WAArB,CAAb;IACD;;IAEgB,MAAXK,WAAW,GAAG;MAClB,IAAI,CAAC,KAAKJ,QAAV,EAAoB;QAClB,KAAKC,GAAL,CAASC,aAAT,CAAuB,gDAAvB;MACD;;MACD,OAAO,MAAM,KAAKF,QAAL,CAAcI,WAAd,EAAb;IACD;;EAbiC;;EAgBpC,OAAOP,gBAAP;AACD"}
1
+ {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../../lib/basedriver/commands/settings.js"],"names":[],"mappings":";AAAA,YAAY;;;AAEZ;;;;GAIG;AACH,SAAgB,aAAa,CAAC,IAAI;IAChC;;OAEG;IACH,MAAM,gBAAiB,SAAQ,IAAI;QACjC,KAAK,CAAC,cAAc,CAAC,WAAW;YAC9B,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAClB,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,mDAAmD,CAAC,CAAC;aAC7E;YACD,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACjD,CAAC;QAED,KAAK,CAAC,WAAW;YACf,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAClB,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,gDAAgD,CAAC,CAAC;aAC1E;YACD,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;QAC3C,CAAC;KACF;IAED,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AArBD,sCAqBC;AAED;;;GAGG;AACH;;;GAGG"}
@@ -1,8 +1,10 @@
1
1
  /**
2
- * @param {import('../driver').BaseDriverBase} Base
3
- * @returns {TimeoutBase}
2
+ * @template {Constraints} C
3
+ * @param {import('../driver').BaseDriverBase<C>} Base
4
+ * @returns {TimeoutBase<C>}
4
5
  */
5
- export function TimeoutMixin(Base: import('../driver').BaseDriverBase): TimeoutBase;
6
- export type ITimeoutCommands = import('@appium/types').TimeoutCommands;
7
- export type TimeoutBase = import('../driver').BaseDriverBase<ITimeoutCommands>;
6
+ export function TimeoutMixin<C extends Readonly<Record<string, import("@appium/types").Constraint>>>(Base: import("../driver").BaseDriverBase<C, {}, {}>): TimeoutBase<C>;
7
+ export type ITimeoutCommands = import('@appium/types').ITimeoutCommands;
8
+ export type Constraints = import('@appium/types').Constraints;
9
+ export type TimeoutBase<C extends Readonly<Record<string, import("@appium/types").Constraint>>> = import('../driver').BaseDriverBase<C, ITimeoutCommands>;
8
10
  //# sourceMappingURL=timeout.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"timeout.d.ts","sourceRoot":"","sources":["../../../../lib/basedriver/commands/timeout.js"],"names":[],"mappings":"AAWA;;;GAGG;AACH,mCAHW,OAAO,WAAW,EAAE,cAAc,GAChC,WAAW,CA+IvB;+BAGY,OAAO,eAAe,EAAE,eAAe;0BACvC,OAAO,WAAW,EAAE,cAAc,CAAC,gBAAgB,CAAC"}
1
+ {"version":3,"file":"timeout.d.ts","sourceRoot":"","sources":["../../../../lib/basedriver/commands/timeout.js"],"names":[],"mappings":"AAWA;;;;GAIG;AACH,0KA6IC;+BAGY,OAAO,eAAe,EAAE,gBAAgB;0BACxC,OAAO,eAAe,EAAE,WAAW;kGAKnC,OAAO,WAAW,EAAE,cAAc,CAAC,CAAC,EAAE,gBAAgB,CAAC"}
@@ -1,170 +1,152 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.TimeoutMixin = TimeoutMixin;
7
-
8
- require("source-map-support/register");
9
-
10
- var _asyncbox = require("asyncbox");
11
-
12
- var _lodash = _interopRequireDefault(require("lodash"));
13
-
14
- var _support = require("@appium/support");
15
-
16
- var _protocol = require("../../protocol");
17
-
18
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
-
2
+ // @ts-check
3
+ var __importDefault = (this && this.__importDefault) || function (mod) {
4
+ return (mod && mod.__esModule) ? mod : { "default": mod };
5
+ };
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.TimeoutMixin = void 0;
8
+ /* eslint-disable no-unused-vars */
9
+ /* eslint-disable require-await */
10
+ const asyncbox_1 = require("asyncbox");
11
+ const lodash_1 = __importDefault(require("lodash"));
12
+ const support_1 = require("@appium/support");
13
+ const protocol_1 = require("../../protocol");
20
14
  const MIN_TIMEOUT = 0;
21
-
15
+ /**
16
+ * @template {Constraints} C
17
+ * @param {import('../driver').BaseDriverBase<C>} Base
18
+ * @returns {TimeoutBase<C>}
19
+ */
22
20
  function TimeoutMixin(Base) {
23
- class TimeoutCommands extends Base {
24
- async timeouts(type, ms, script, pageLoad, implicit) {
25
- if (_support.util.hasValue(type) && _support.util.hasValue(ms)) {
26
- this.log.debug(`MJSONWP timeout arguments: ${JSON.stringify({
27
- type,
28
- ms
29
- })}}`);
30
-
31
- switch (type) {
32
- case 'command':
33
- await this.newCommandTimeout(ms);
34
- return;
35
-
36
- case 'implicit':
37
- await this.implicitWaitMJSONWP(ms);
38
- return;
39
-
40
- case 'page load':
41
- await this.pageLoadTimeoutMJSONWP(ms);
42
- return;
43
-
44
- case 'script':
45
- await this.scriptTimeoutMJSONWP(ms);
46
- return;
47
-
48
- default:
49
- throw new Error(`'${type}' type is not supported for MJSONWP timeout`);
21
+ /**
22
+ * @implements {ITimeoutCommands}
23
+ */
24
+ class TimeoutCommands extends Base {
25
+ async timeouts(type, ms, script, pageLoad, implicit) {
26
+ if (support_1.util.hasValue(type) && support_1.util.hasValue(ms)) {
27
+ this.log.debug(`MJSONWP timeout arguments: ${JSON.stringify({ type, ms })}}`);
28
+ switch (type) {
29
+ case 'command':
30
+ await this.newCommandTimeout(ms);
31
+ return;
32
+ case 'implicit':
33
+ await this.implicitWaitMJSONWP(ms);
34
+ return;
35
+ case 'page load':
36
+ await this.pageLoadTimeoutMJSONWP(ms);
37
+ return;
38
+ case 'script':
39
+ await this.scriptTimeoutMJSONWP(ms);
40
+ return;
41
+ default:
42
+ throw new Error(`'${type}' type is not supported for MJSONWP timeout`);
43
+ }
44
+ }
45
+ // Otherwise assume it is W3C protocol
46
+ this.log.debug(`W3C timeout argument: ${JSON.stringify({
47
+ script,
48
+ pageLoad,
49
+ implicit,
50
+ })}}`);
51
+ if (support_1.util.hasValue(script)) {
52
+ await this.scriptTimeoutW3C(script);
53
+ }
54
+ if (support_1.util.hasValue(pageLoad)) {
55
+ await this.pageLoadTimeoutW3C(pageLoad);
56
+ }
57
+ if (support_1.util.hasValue(implicit)) {
58
+ await this.implicitWaitW3C(implicit);
59
+ }
50
60
  }
51
- }
52
-
53
- this.log.debug(`W3C timeout argument: ${JSON.stringify({
54
- script,
55
- pageLoad,
56
- implicit
57
- })}}`);
58
-
59
- if (_support.util.hasValue(script)) {
60
- await this.scriptTimeoutW3C(script);
61
- }
62
-
63
- if (_support.util.hasValue(pageLoad)) {
64
- await this.pageLoadTimeoutW3C(pageLoad);
65
- }
66
-
67
- if (_support.util.hasValue(implicit)) {
68
- await this.implicitWaitW3C(implicit);
69
- }
70
- }
71
-
72
- async getTimeouts() {
73
- return {
74
- command: this.newCommandTimeoutMs,
75
- implicit: this.implicitWaitMs
76
- };
77
- }
78
-
79
- async implicitWaitW3C(ms) {
80
- await this.implicitWait(ms);
81
- }
82
-
83
- async implicitWaitMJSONWP(ms) {
84
- await this.implicitWait(ms);
85
- }
86
-
87
- async implicitWait(ms) {
88
- await this.setImplicitWait(this.parseTimeoutArgument(ms));
89
- }
90
-
91
- async pageLoadTimeoutW3C(ms) {
92
- throw new _protocol.errors.NotImplementedError('Not implemented yet for pageLoad.');
93
- }
94
-
95
- async pageLoadTimeoutMJSONWP(ms) {
96
- throw new _protocol.errors.NotImplementedError('Not implemented yet for pageLoad.');
97
- }
98
-
99
- async scriptTimeoutW3C(ms) {
100
- throw new _protocol.errors.NotImplementedError('Not implemented yet for script.');
101
- }
102
-
103
- async scriptTimeoutMJSONWP(ms) {
104
- throw new _protocol.errors.NotImplementedError('Not implemented yet for script.');
105
- }
106
-
107
- async newCommandTimeout(ms) {
108
- this.setNewCommandTimeout(this.parseTimeoutArgument(ms));
109
- }
110
-
111
- setImplicitWait(ms) {
112
- this.implicitWaitMs = ms;
113
- this.log.debug(`Set implicit wait to ${ms}ms`);
114
-
115
- if (this.managedDrivers && this.managedDrivers.length) {
116
- this.log.debug('Setting implicit wait on managed drivers');
117
-
118
- for (let driver of this.managedDrivers) {
119
- if (_lodash.default.isFunction(driver.setImplicitWait)) {
120
- driver.setImplicitWait(ms);
121
- }
61
+ async getTimeouts() {
62
+ return {
63
+ command: this.newCommandTimeoutMs,
64
+ implicit: this.implicitWaitMs,
65
+ };
122
66
  }
123
- }
124
- }
125
-
126
- setNewCommandTimeout(ms) {
127
- this.newCommandTimeoutMs = ms;
128
- this.log.debug(`Set new command timeout to ${ms}ms`);
129
-
130
- if (this.managedDrivers && this.managedDrivers.length) {
131
- this.log.debug('Setting new command timeout on managed drivers');
132
-
133
- for (let driver of this.managedDrivers) {
134
- if (_lodash.default.isFunction(driver.setNewCommandTimeout)) {
135
- driver.setNewCommandTimeout(ms);
136
- }
67
+ // implicit
68
+ async implicitWaitW3C(ms) {
69
+ await this.implicitWait(ms);
70
+ }
71
+ async implicitWaitMJSONWP(ms) {
72
+ await this.implicitWait(ms);
73
+ }
74
+ async implicitWait(ms) {
75
+ await this.setImplicitWait(this.parseTimeoutArgument(ms));
76
+ }
77
+ // pageLoad
78
+ async pageLoadTimeoutW3C(ms) {
79
+ throw new protocol_1.errors.NotImplementedError('Not implemented yet for pageLoad.');
80
+ }
81
+ async pageLoadTimeoutMJSONWP(ms) {
82
+ throw new protocol_1.errors.NotImplementedError('Not implemented yet for pageLoad.');
83
+ }
84
+ // script
85
+ async scriptTimeoutW3C(ms) {
86
+ throw new protocol_1.errors.NotImplementedError('Not implemented yet for script.');
87
+ }
88
+ async scriptTimeoutMJSONWP(ms) {
89
+ throw new protocol_1.errors.NotImplementedError('Not implemented yet for script.');
90
+ }
91
+ // command
92
+ async newCommandTimeout(ms) {
93
+ this.setNewCommandTimeout(this.parseTimeoutArgument(ms));
94
+ }
95
+ setImplicitWait(ms) {
96
+ // eslint-disable-line require-await
97
+ this.implicitWaitMs = ms;
98
+ this.log.debug(`Set implicit wait to ${ms}ms`);
99
+ if (this.managedDrivers && this.managedDrivers.length) {
100
+ this.log.debug('Setting implicit wait on managed drivers');
101
+ for (let driver of this.managedDrivers) {
102
+ if (lodash_1.default.isFunction(driver.setImplicitWait)) {
103
+ driver.setImplicitWait(ms);
104
+ }
105
+ }
106
+ }
107
+ }
108
+ setNewCommandTimeout(ms) {
109
+ this.newCommandTimeoutMs = ms;
110
+ this.log.debug(`Set new command timeout to ${ms}ms`);
111
+ if (this.managedDrivers && this.managedDrivers.length) {
112
+ this.log.debug('Setting new command timeout on managed drivers');
113
+ for (let driver of this.managedDrivers) {
114
+ if (lodash_1.default.isFunction(driver.setNewCommandTimeout)) {
115
+ driver.setNewCommandTimeout(ms);
116
+ }
117
+ }
118
+ }
119
+ }
120
+ async implicitWaitForCondition(condFn) {
121
+ this.log.debug(`Waiting up to ${this.implicitWaitMs} ms for condition`);
122
+ let wrappedCondFn = async (...args) => {
123
+ // reset command timeout
124
+ await this.clearNewCommandTimeout();
125
+ return await condFn(...args);
126
+ };
127
+ return await (0, asyncbox_1.waitForCondition)(wrappedCondFn, {
128
+ waitMs: this.implicitWaitMs,
129
+ intervalMs: 500,
130
+ logger: this.log,
131
+ });
132
+ }
133
+ parseTimeoutArgument(ms) {
134
+ let duration = parseInt(ms, 10);
135
+ if (lodash_1.default.isNaN(duration) || duration < MIN_TIMEOUT) {
136
+ throw new protocol_1.errors.UnknownError(`Invalid timeout value '${ms}'`);
137
+ }
138
+ return duration;
137
139
  }
138
- }
139
- }
140
-
141
- async implicitWaitForCondition(condFn) {
142
- this.log.debug(`Waiting up to ${this.implicitWaitMs} ms for condition`);
143
-
144
- let wrappedCondFn = async (...args) => {
145
- await this.clearNewCommandTimeout();
146
- return await condFn(...args);
147
- };
148
-
149
- return await (0, _asyncbox.waitForCondition)(wrappedCondFn, {
150
- waitMs: this.implicitWaitMs,
151
- intervalMs: 500,
152
- logger: this.log
153
- });
154
- }
155
-
156
- parseTimeoutArgument(ms) {
157
- let duration = parseInt(ms, 10);
158
-
159
- if (_lodash.default.isNaN(duration) || duration < MIN_TIMEOUT) {
160
- throw new _protocol.errors.UnknownError(`Invalid timeout value '${ms}'`);
161
- }
162
-
163
- return duration;
164
140
  }
165
-
166
- }
167
-
168
- return TimeoutCommands;
141
+ return TimeoutCommands;
169
142
  }
170
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJNSU5fVElNRU9VVCIsIlRpbWVvdXRNaXhpbiIsIkJhc2UiLCJUaW1lb3V0Q29tbWFuZHMiLCJ0aW1lb3V0cyIsInR5cGUiLCJtcyIsInNjcmlwdCIsInBhZ2VMb2FkIiwiaW1wbGljaXQiLCJ1dGlsIiwiaGFzVmFsdWUiLCJsb2ciLCJkZWJ1ZyIsIkpTT04iLCJzdHJpbmdpZnkiLCJuZXdDb21tYW5kVGltZW91dCIsImltcGxpY2l0V2FpdE1KU09OV1AiLCJwYWdlTG9hZFRpbWVvdXRNSlNPTldQIiwic2NyaXB0VGltZW91dE1KU09OV1AiLCJFcnJvciIsInNjcmlwdFRpbWVvdXRXM0MiLCJwYWdlTG9hZFRpbWVvdXRXM0MiLCJpbXBsaWNpdFdhaXRXM0MiLCJnZXRUaW1lb3V0cyIsImNvbW1hbmQiLCJuZXdDb21tYW5kVGltZW91dE1zIiwiaW1wbGljaXRXYWl0TXMiLCJpbXBsaWNpdFdhaXQiLCJzZXRJbXBsaWNpdFdhaXQiLCJwYXJzZVRpbWVvdXRBcmd1bWVudCIsImVycm9ycyIsIk5vdEltcGxlbWVudGVkRXJyb3IiLCJzZXROZXdDb21tYW5kVGltZW91dCIsIm1hbmFnZWREcml2ZXJzIiwibGVuZ3RoIiwiZHJpdmVyIiwiXyIsImlzRnVuY3Rpb24iLCJpbXBsaWNpdFdhaXRGb3JDb25kaXRpb24iLCJjb25kRm4iLCJ3cmFwcGVkQ29uZEZuIiwiYXJncyIsImNsZWFyTmV3Q29tbWFuZFRpbWVvdXQiLCJ3YWl0Rm9yQ29uZGl0aW9uIiwid2FpdE1zIiwiaW50ZXJ2YWxNcyIsImxvZ2dlciIsImR1cmF0aW9uIiwicGFyc2VJbnQiLCJpc05hTiIsIlVua25vd25FcnJvciJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9iYXNlZHJpdmVyL2NvbW1hbmRzL3RpbWVvdXQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5cbi8qIGVzbGludC1kaXNhYmxlIG5vLXVudXNlZC12YXJzICovXG4vKiBlc2xpbnQtZGlzYWJsZSByZXF1aXJlLWF3YWl0ICovXG5pbXBvcnQge3dhaXRGb3JDb25kaXRpb259IGZyb20gJ2FzeW5jYm94JztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQge3V0aWx9IGZyb20gJ0BhcHBpdW0vc3VwcG9ydCc7XG5pbXBvcnQge2Vycm9yc30gZnJvbSAnLi4vLi4vcHJvdG9jb2wnO1xuXG5jb25zdCBNSU5fVElNRU9VVCA9IDA7XG5cbi8qKlxuICogQHBhcmFtIHtpbXBvcnQoJy4uL2RyaXZlcicpLkJhc2VEcml2ZXJCYXNlfSBCYXNlXG4gKiBAcmV0dXJucyB7VGltZW91dEJhc2V9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBUaW1lb3V0TWl4aW4oQmFzZSkge1xuICAvKipcbiAgICogQGltcGxlbWVudHMge0lUaW1lb3V0Q29tbWFuZHN9XG4gICAqL1xuICBjbGFzcyBUaW1lb3V0Q29tbWFuZHMgZXh0ZW5kcyBCYXNlIHtcbiAgICBhc3luYyB0aW1lb3V0cyh0eXBlLCBtcywgc2NyaXB0LCBwYWdlTG9hZCwgaW1wbGljaXQpIHtcbiAgICAgIGlmICh1dGlsLmhhc1ZhbHVlKHR5cGUpICYmIHV0aWwuaGFzVmFsdWUobXMpKSB7XG4gICAgICAgIHRoaXMubG9nLmRlYnVnKGBNSlNPTldQIHRpbWVvdXQgYXJndW1lbnRzOiAke0pTT04uc3RyaW5naWZ5KHt0eXBlLCBtc30pfX1gKTtcblxuICAgICAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgICAgICBjYXNlICdjb21tYW5kJzpcbiAgICAgICAgICAgIGF3YWl0IHRoaXMubmV3Q29tbWFuZFRpbWVvdXQobXMpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIGNhc2UgJ2ltcGxpY2l0JzpcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuaW1wbGljaXRXYWl0TUpTT05XUChtcyk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgY2FzZSAncGFnZSBsb2FkJzpcbiAgICAgICAgICAgIGF3YWl0IHRoaXMucGFnZUxvYWRUaW1lb3V0TUpTT05XUChtcyk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgY2FzZSAnc2NyaXB0JzpcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuc2NyaXB0VGltZW91dE1KU09OV1AobXMpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYCcke3R5cGV9JyB0eXBlIGlzIG5vdCBzdXBwb3J0ZWQgZm9yIE1KU09OV1AgdGltZW91dGApO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIE90aGVyd2lzZSBhc3N1bWUgaXQgaXMgVzNDIHByb3RvY29sXG4gICAgICB0aGlzLmxvZy5kZWJ1ZyhcbiAgICAgICAgYFczQyB0aW1lb3V0IGFyZ3VtZW50OiAke0pTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICBzY3JpcHQsXG4gICAgICAgICAgcGFnZUxvYWQsXG4gICAgICAgICAgaW1wbGljaXQsXG4gICAgICAgIH0pfX1gXG4gICAgICApO1xuICAgICAgaWYgKHV0aWwuaGFzVmFsdWUoc2NyaXB0KSkge1xuICAgICAgICBhd2FpdCB0aGlzLnNjcmlwdFRpbWVvdXRXM0Moc2NyaXB0KTtcbiAgICAgIH1cbiAgICAgIGlmICh1dGlsLmhhc1ZhbHVlKHBhZ2VMb2FkKSkge1xuICAgICAgICBhd2FpdCB0aGlzLnBhZ2VMb2FkVGltZW91dFczQyhwYWdlTG9hZCk7XG4gICAgICB9XG4gICAgICBpZiAodXRpbC5oYXNWYWx1ZShpbXBsaWNpdCkpIHtcbiAgICAgICAgYXdhaXQgdGhpcy5pbXBsaWNpdFdhaXRXM0MoaW1wbGljaXQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGFzeW5jIGdldFRpbWVvdXRzKCkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY29tbWFuZDogdGhpcy5uZXdDb21tYW5kVGltZW91dE1zLFxuICAgICAgICBpbXBsaWNpdDogdGhpcy5pbXBsaWNpdFdhaXRNcyxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgLy8gaW1wbGljaXRcbiAgICBhc3luYyBpbXBsaWNpdFdhaXRXM0MobXMpIHtcbiAgICAgIGF3YWl0IHRoaXMuaW1wbGljaXRXYWl0KG1zKTtcbiAgICB9XG5cbiAgICBhc3luYyBpbXBsaWNpdFdhaXRNSlNPTldQKG1zKSB7XG4gICAgICBhd2FpdCB0aGlzLmltcGxpY2l0V2FpdChtcyk7XG4gICAgfVxuXG4gICAgYXN5bmMgaW1wbGljaXRXYWl0KG1zKSB7XG4gICAgICBhd2FpdCB0aGlzLnNldEltcGxpY2l0V2FpdCh0aGlzLnBhcnNlVGltZW91dEFyZ3VtZW50KG1zKSk7XG4gICAgfVxuXG4gICAgLy8gcGFnZUxvYWRcbiAgICBhc3luYyBwYWdlTG9hZFRpbWVvdXRXM0MobXMpIHtcbiAgICAgIHRocm93IG5ldyBlcnJvcnMuTm90SW1wbGVtZW50ZWRFcnJvcignTm90IGltcGxlbWVudGVkIHlldCBmb3IgcGFnZUxvYWQuJyk7XG4gICAgfVxuXG4gICAgYXN5bmMgcGFnZUxvYWRUaW1lb3V0TUpTT05XUChtcykge1xuICAgICAgdGhyb3cgbmV3IGVycm9ycy5Ob3RJbXBsZW1lbnRlZEVycm9yKCdOb3QgaW1wbGVtZW50ZWQgeWV0IGZvciBwYWdlTG9hZC4nKTtcbiAgICB9XG5cbiAgICAvLyBzY3JpcHRcbiAgICBhc3luYyBzY3JpcHRUaW1lb3V0VzNDKG1zKSB7XG4gICAgICB0aHJvdyBuZXcgZXJyb3JzLk5vdEltcGxlbWVudGVkRXJyb3IoJ05vdCBpbXBsZW1lbnRlZCB5ZXQgZm9yIHNjcmlwdC4nKTtcbiAgICB9XG5cbiAgICBhc3luYyBzY3JpcHRUaW1lb3V0TUpTT05XUChtcykge1xuICAgICAgdGhyb3cgbmV3IGVycm9ycy5Ob3RJbXBsZW1lbnRlZEVycm9yKCdOb3QgaW1wbGVtZW50ZWQgeWV0IGZvciBzY3JpcHQuJyk7XG4gICAgfVxuXG4gICAgLy8gY29tbWFuZFxuICAgIGFzeW5jIG5ld0NvbW1hbmRUaW1lb3V0KG1zKSB7XG4gICAgICB0aGlzLnNldE5ld0NvbW1hbmRUaW1lb3V0KHRoaXMucGFyc2VUaW1lb3V0QXJndW1lbnQobXMpKTtcbiAgICB9XG5cbiAgICBzZXRJbXBsaWNpdFdhaXQobXMpIHtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLWxpbmUgcmVxdWlyZS1hd2FpdFxuICAgICAgdGhpcy5pbXBsaWNpdFdhaXRNcyA9IG1zO1xuICAgICAgdGhpcy5sb2cuZGVidWcoYFNldCBpbXBsaWNpdCB3YWl0IHRvICR7bXN9bXNgKTtcbiAgICAgIGlmICh0aGlzLm1hbmFnZWREcml2ZXJzICYmIHRoaXMubWFuYWdlZERyaXZlcnMubGVuZ3RoKSB7XG4gICAgICAgIHRoaXMubG9nLmRlYnVnKCdTZXR0aW5nIGltcGxpY2l0IHdhaXQgb24gbWFuYWdlZCBkcml2ZXJzJyk7XG4gICAgICAgIGZvciAobGV0IGRyaXZlciBvZiB0aGlzLm1hbmFnZWREcml2ZXJzKSB7XG4gICAgICAgICAgaWYgKF8uaXNGdW5jdGlvbihkcml2ZXIuc2V0SW1wbGljaXRXYWl0KSkge1xuICAgICAgICAgICAgZHJpdmVyLnNldEltcGxpY2l0V2FpdChtcyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgc2V0TmV3Q29tbWFuZFRpbWVvdXQobXMpIHtcbiAgICAgIHRoaXMubmV3Q29tbWFuZFRpbWVvdXRNcyA9IG1zO1xuICAgICAgdGhpcy5sb2cuZGVidWcoYFNldCBuZXcgY29tbWFuZCB0aW1lb3V0IHRvICR7bXN9bXNgKTtcbiAgICAgIGlmICh0aGlzLm1hbmFnZWREcml2ZXJzICYmIHRoaXMubWFuYWdlZERyaXZlcnMubGVuZ3RoKSB7XG4gICAgICAgIHRoaXMubG9nLmRlYnVnKCdTZXR0aW5nIG5ldyBjb21tYW5kIHRpbWVvdXQgb24gbWFuYWdlZCBkcml2ZXJzJyk7XG4gICAgICAgIGZvciAobGV0IGRyaXZlciBvZiB0aGlzLm1hbmFnZWREcml2ZXJzKSB7XG4gICAgICAgICAgaWYgKF8uaXNGdW5jdGlvbihkcml2ZXIuc2V0TmV3Q29tbWFuZFRpbWVvdXQpKSB7XG4gICAgICAgICAgICBkcml2ZXIuc2V0TmV3Q29tbWFuZFRpbWVvdXQobXMpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGFzeW5jIGltcGxpY2l0V2FpdEZvckNvbmRpdGlvbihjb25kRm4pIHtcbiAgICAgIHRoaXMubG9nLmRlYnVnKGBXYWl0aW5nIHVwIHRvICR7dGhpcy5pbXBsaWNpdFdhaXRNc30gbXMgZm9yIGNvbmRpdGlvbmApO1xuICAgICAgbGV0IHdyYXBwZWRDb25kRm4gPSBhc3luYyAoLi4uYXJncykgPT4ge1xuICAgICAgICAvLyByZXNldCBjb21tYW5kIHRpbWVvdXRcbiAgICAgICAgYXdhaXQgdGhpcy5jbGVhck5ld0NvbW1hbmRUaW1lb3V0KCk7XG5cbiAgICAgICAgcmV0dXJuIGF3YWl0IGNvbmRGbiguLi5hcmdzKTtcbiAgICAgIH07XG4gICAgICByZXR1cm4gYXdhaXQgd2FpdEZvckNvbmRpdGlvbih3cmFwcGVkQ29uZEZuLCB7XG4gICAgICAgIHdhaXRNczogdGhpcy5pbXBsaWNpdFdhaXRNcyxcbiAgICAgICAgaW50ZXJ2YWxNczogNTAwLFxuICAgICAgICBsb2dnZXI6IHRoaXMubG9nLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcGFyc2VUaW1lb3V0QXJndW1lbnQobXMpIHtcbiAgICAgIGxldCBkdXJhdGlvbiA9IHBhcnNlSW50KG1zLCAxMCk7XG4gICAgICBpZiAoXy5pc05hTihkdXJhdGlvbikgfHwgZHVyYXRpb24gPCBNSU5fVElNRU9VVCkge1xuICAgICAgICB0aHJvdyBuZXcgZXJyb3JzLlVua25vd25FcnJvcihgSW52YWxpZCB0aW1lb3V0IHZhbHVlICcke21zfSdgKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBkdXJhdGlvbjtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gVGltZW91dENvbW1hbmRzO1xufVxuXG4vKipcbiAqIEB0eXBlZGVmIHtpbXBvcnQoJ0BhcHBpdW0vdHlwZXMnKS5UaW1lb3V0Q29tbWFuZHN9IElUaW1lb3V0Q29tbWFuZHNcbiAqIEB0eXBlZGVmIHtpbXBvcnQoJy4uL2RyaXZlcicpLkJhc2VEcml2ZXJCYXNlPElUaW1lb3V0Q29tbWFuZHM+fSBUaW1lb3V0QmFzZVxuICovXG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUlBOztBQUNBOztBQUNBOztBQUNBOzs7O0FBRUEsTUFBTUEsV0FBVyxHQUFHLENBQXBCOztBQU1PLFNBQVNDLFlBQVQsQ0FBc0JDLElBQXRCLEVBQTRCO0VBSWpDLE1BQU1DLGVBQU4sU0FBOEJELElBQTlCLENBQW1DO0lBQ25CLE1BQVJFLFFBQVEsQ0FBQ0MsSUFBRCxFQUFPQyxFQUFQLEVBQVdDLE1BQVgsRUFBbUJDLFFBQW5CLEVBQTZCQyxRQUE3QixFQUF1QztNQUNuRCxJQUFJQyxhQUFBLENBQUtDLFFBQUwsQ0FBY04sSUFBZCxLQUF1QkssYUFBQSxDQUFLQyxRQUFMLENBQWNMLEVBQWQsQ0FBM0IsRUFBOEM7UUFDNUMsS0FBS00sR0FBTCxDQUFTQyxLQUFULENBQWdCLDhCQUE2QkMsSUFBSSxDQUFDQyxTQUFMLENBQWU7VUFBQ1YsSUFBRDtVQUFPQztRQUFQLENBQWYsQ0FBMkIsR0FBeEU7O1FBRUEsUUFBUUQsSUFBUjtVQUNFLEtBQUssU0FBTDtZQUNFLE1BQU0sS0FBS1csaUJBQUwsQ0FBdUJWLEVBQXZCLENBQU47WUFDQTs7VUFDRixLQUFLLFVBQUw7WUFDRSxNQUFNLEtBQUtXLG1CQUFMLENBQXlCWCxFQUF6QixDQUFOO1lBQ0E7O1VBQ0YsS0FBSyxXQUFMO1lBQ0UsTUFBTSxLQUFLWSxzQkFBTCxDQUE0QlosRUFBNUIsQ0FBTjtZQUNBOztVQUNGLEtBQUssUUFBTDtZQUNFLE1BQU0sS0FBS2Esb0JBQUwsQ0FBMEJiLEVBQTFCLENBQU47WUFDQTs7VUFDRjtZQUNFLE1BQU0sSUFBSWMsS0FBSixDQUFXLElBQUdmLElBQUssNkNBQW5CLENBQU47UUFkSjtNQWdCRDs7TUFHRCxLQUFLTyxHQUFMLENBQVNDLEtBQVQsQ0FDRyx5QkFBd0JDLElBQUksQ0FB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
143
+ exports.TimeoutMixin = TimeoutMixin;
144
+ /**
145
+ * @typedef {import('@appium/types').ITimeoutCommands} ITimeoutCommands
146
+ * @typedef {import('@appium/types').Constraints} Constraints
147
+ */
148
+ /**
149
+ * @template {Constraints} C
150
+ * @typedef {import('../driver').BaseDriverBase<C, ITimeoutCommands>} TimeoutBase
151
+ */
152
+ //# sourceMappingURL=timeout.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"timeout.js","names":["MIN_TIMEOUT","TimeoutMixin","Base","TimeoutCommands","timeouts","type","ms","script","pageLoad","implicit","util","hasValue","log","debug","JSON","stringify","newCommandTimeout","implicitWaitMJSONWP","pageLoadTimeoutMJSONWP","scriptTimeoutMJSONWP","Error","scriptTimeoutW3C","pageLoadTimeoutW3C","implicitWaitW3C","getTimeouts","command","newCommandTimeoutMs","implicitWaitMs","implicitWait","setImplicitWait","parseTimeoutArgument","errors","NotImplementedError","setNewCommandTimeout","managedDrivers","length","driver","_","isFunction","implicitWaitForCondition","condFn","wrappedCondFn","args","clearNewCommandTimeout","waitForCondition","waitMs","intervalMs","logger","duration","parseInt","isNaN","UnknownError"],"sources":["../../../../lib/basedriver/commands/timeout.js"],"sourcesContent":["// @ts-check\n\n/* eslint-disable no-unused-vars */\n/* eslint-disable require-await */\nimport {waitForCondition} from 'asyncbox';\nimport _ from 'lodash';\nimport {util} from '@appium/support';\nimport {errors} from '../../protocol';\n\nconst MIN_TIMEOUT = 0;\n\n/**\n * @param {import('../driver').BaseDriverBase} Base\n * @returns {TimeoutBase}\n */\nexport function TimeoutMixin(Base) {\n /**\n * @implements {ITimeoutCommands}\n */\n class TimeoutCommands extends Base {\n async timeouts(type, ms, script, pageLoad, implicit) {\n if (util.hasValue(type) && util.hasValue(ms)) {\n this.log.debug(`MJSONWP timeout arguments: ${JSON.stringify({type, ms})}}`);\n\n switch (type) {\n case 'command':\n await this.newCommandTimeout(ms);\n return;\n case 'implicit':\n await this.implicitWaitMJSONWP(ms);\n return;\n case 'page load':\n await this.pageLoadTimeoutMJSONWP(ms);\n return;\n case 'script':\n await this.scriptTimeoutMJSONWP(ms);\n return;\n default:\n throw new Error(`'${type}' type is not supported for MJSONWP timeout`);\n }\n }\n\n // Otherwise assume it is W3C protocol\n this.log.debug(\n `W3C timeout argument: ${JSON.stringify({\n script,\n pageLoad,\n implicit,\n })}}`\n );\n if (util.hasValue(script)) {\n await this.scriptTimeoutW3C(script);\n }\n if (util.hasValue(pageLoad)) {\n await this.pageLoadTimeoutW3C(pageLoad);\n }\n if (util.hasValue(implicit)) {\n await this.implicitWaitW3C(implicit);\n }\n }\n\n async getTimeouts() {\n return {\n command: this.newCommandTimeoutMs,\n implicit: this.implicitWaitMs,\n };\n }\n\n // implicit\n async implicitWaitW3C(ms) {\n await this.implicitWait(ms);\n }\n\n async implicitWaitMJSONWP(ms) {\n await this.implicitWait(ms);\n }\n\n async implicitWait(ms) {\n await this.setImplicitWait(this.parseTimeoutArgument(ms));\n }\n\n // pageLoad\n async pageLoadTimeoutW3C(ms) {\n throw new errors.NotImplementedError('Not implemented yet for pageLoad.');\n }\n\n async pageLoadTimeoutMJSONWP(ms) {\n throw new errors.NotImplementedError('Not implemented yet for pageLoad.');\n }\n\n // script\n async scriptTimeoutW3C(ms) {\n throw new errors.NotImplementedError('Not implemented yet for script.');\n }\n\n async scriptTimeoutMJSONWP(ms) {\n throw new errors.NotImplementedError('Not implemented yet for script.');\n }\n\n // command\n async newCommandTimeout(ms) {\n this.setNewCommandTimeout(this.parseTimeoutArgument(ms));\n }\n\n setImplicitWait(ms) {\n // eslint-disable-line require-await\n this.implicitWaitMs = ms;\n this.log.debug(`Set implicit wait to ${ms}ms`);\n if (this.managedDrivers && this.managedDrivers.length) {\n this.log.debug('Setting implicit wait on managed drivers');\n for (let driver of this.managedDrivers) {\n if (_.isFunction(driver.setImplicitWait)) {\n driver.setImplicitWait(ms);\n }\n }\n }\n }\n\n setNewCommandTimeout(ms) {\n this.newCommandTimeoutMs = ms;\n this.log.debug(`Set new command timeout to ${ms}ms`);\n if (this.managedDrivers && this.managedDrivers.length) {\n this.log.debug('Setting new command timeout on managed drivers');\n for (let driver of this.managedDrivers) {\n if (_.isFunction(driver.setNewCommandTimeout)) {\n driver.setNewCommandTimeout(ms);\n }\n }\n }\n }\n\n async implicitWaitForCondition(condFn) {\n this.log.debug(`Waiting up to ${this.implicitWaitMs} ms for condition`);\n let wrappedCondFn = async (...args) => {\n // reset command timeout\n await this.clearNewCommandTimeout();\n\n return await condFn(...args);\n };\n return await waitForCondition(wrappedCondFn, {\n waitMs: this.implicitWaitMs,\n intervalMs: 500,\n logger: this.log,\n });\n }\n\n parseTimeoutArgument(ms) {\n let duration = parseInt(ms, 10);\n if (_.isNaN(duration) || duration < MIN_TIMEOUT) {\n throw new errors.UnknownError(`Invalid timeout value '${ms}'`);\n }\n return duration;\n }\n }\n\n return TimeoutCommands;\n}\n\n/**\n * @typedef {import('@appium/types').TimeoutCommands} ITimeoutCommands\n * @typedef {import('../driver').BaseDriverBase<ITimeoutCommands>} TimeoutBase\n */\n"],"mappings":";;;;;;;;;AAIA;;AACA;;AACA;;AACA;;;;AAEA,MAAMA,WAAW,GAAG,CAApB;;AAMO,SAASC,YAAT,CAAsBC,IAAtB,EAA4B;EAIjC,MAAMC,eAAN,SAA8BD,IAA9B,CAAmC;IACnB,MAARE,QAAQ,CAACC,IAAD,EAAOC,EAAP,EAAWC,MAAX,EAAmBC,QAAnB,EAA6BC,QAA7B,EAAuC;MACnD,IAAIC,aAAA,CAAKC,QAAL,CAAcN,IAAd,KAAuBK,aAAA,CAAKC,QAAL,CAAcL,EAAd,CAA3B,EAA8C;QAC5C,KAAKM,GAAL,CAASC,KAAT,CAAgB,8BAA6BC,IAAI,CAACC,SAAL,CAAe;UAACV,IAAD;UAAOC;QAAP,CAAf,CAA2B,GAAxE;;QAEA,QAAQD,IAAR;UACE,KAAK,SAAL;YACE,MAAM,KAAKW,iBAAL,CAAuBV,EAAvB,CAAN;YACA;;UACF,KAAK,UAAL;YACE,MAAM,KAAKW,mBAAL,CAAyBX,EAAzB,CAAN;YACA;;UACF,KAAK,WAAL;YACE,MAAM,KAAKY,sBAAL,CAA4BZ,EAA5B,CAAN;YACA;;UACF,KAAK,QAAL;YACE,MAAM,KAAKa,oBAAL,CAA0Bb,EAA1B,CAAN;YACA;;UACF;YACE,MAAM,IAAIc,KAAJ,CAAW,IAAGf,IAAK,6CAAnB,CAAN;QAdJ;MAgBD;;MAGD,KAAKO,GAAL,CAASC,KAAT,CACG,yBAAwBC,IAAI,CAACC,SAAL,CAAe;QACtCR,MADsC;QAEtCC,QAFsC;QAGtCC;MAHsC,CAAf,CAItB,GALL;;MAOA,IAAIC,aAAA,CAAKC,QAAL,CAAcJ,MAAd,CAAJ,EAA2B;QACzB,MAAM,KAAKc,gBAAL,CAAsBd,MAAtB,CAAN;MACD;;MACD,IAAIG,aAAA,CAAKC,QAAL,CAAcH,QAAd,CAAJ,EAA6B;QAC3B,MAAM,KAAKc,kBAAL,CAAwBd,QAAxB,CAAN;MACD;;MACD,IAAIE,aAAA,CAAKC,QAAL,CAAcF,QAAd,CAAJ,EAA6B;QAC3B,MAAM,KAAKc,eAAL,CAAqBd,QAArB,CAAN;MACD;IACF;;IAEgB,MAAXe,WAAW,GAAG;MAClB,OAAO;QACLC,OAAO,EAAE,KAAKC,mBADT;QAELjB,QAAQ,EAAE,KAAKkB;MAFV,CAAP;IAID;;IAGoB,MAAfJ,eAAe,CAACjB,EAAD,EAAK;MACxB,MAAM,KAAKsB,YAAL,CAAkBtB,EAAlB,CAAN;IACD;;IAEwB,MAAnBW,mBAAmB,CAACX,EAAD,EAAK;MAC5B,MAAM,KAAKsB,YAAL,CAAkBtB,EAAlB,CAAN;IACD;;IAEiB,MAAZsB,YAAY,CAACtB,EAAD,EAAK;MACrB,MAAM,KAAKuB,eAAL,CAAqB,KAAKC,oBAAL,CAA0BxB,EAA1B,CAArB,CAAN;IACD;;IAGuB,MAAlBgB,kBAAkB,CAAChB,EAAD,EAAK;MAC3B,MAAM,IAAIyB,gBAAA,CAAOC,mBAAX,CAA+B,mCAA/B,CAAN;IACD;;IAE2B,MAAtBd,sBAAsB,CAACZ,EAAD,EAAK;MAC/B,MAAM,IAAIyB,gBAAA,CAAOC,mBAAX,CAA+B,mCAA/B,CAAN;IACD;;IAGqB,MAAhBX,gBAAgB,CAACf,EAAD,EAAK;MACzB,MAAM,IAAIyB,gBAAA,CAAOC,mBAAX,CAA+B,iCAA/B,CAAN;IACD;;IAEyB,MAApBb,oBAAoB,CAACb,EAAD,EAAK;MAC7B,MAAM,IAAIyB,gBAAA,CAAOC,mBAAX,CAA+B,iCAA/B,CAAN;IACD;;IAGsB,MAAjBhB,iBAAiB,CAACV,EAAD,EAAK;MAC1B,KAAK2B,oBAAL,CAA0B,KAAKH,oBAAL,CAA0BxB,EAA1B,CAA1B;IACD;;IAEDuB,eAAe,CAACvB,EAAD,EAAK;MAElB,KAAKqB,cAAL,GAAsBrB,EAAtB;MACA,KAAKM,GAAL,CAASC,KAAT,CAAgB,wBAAuBP,EAAG,IAA1C;;MACA,IAAI,KAAK4B,cAAL,IAAuB,KAAKA,cAAL,CAAoBC,MAA/C,EAAuD;QACrD,KAAKvB,GAAL,CAASC,KAAT,CAAe,0CAAf;;QACA,KAAK,IAAIuB,MAAT,IAAmB,KAAKF,cAAxB,EAAwC;UACtC,IAAIG,eAAA,CAAEC,UAAF,CAAaF,MAAM,CAACP,eAApB,CAAJ,EAA0C;YACxCO,MAAM,CAACP,eAAP,CAAuBvB,EAAvB;UACD;QACF;MACF;IACF;;IAED2B,oBAAoB,CAAC3B,EAAD,EAAK;MACvB,KAAKoB,mBAAL,GAA2BpB,EAA3B;MACA,KAAKM,GAAL,CAASC,KAAT,CAAgB,8BAA6BP,EAAG,IAAhD;;MACA,IAAI,KAAK4B,cAAL,IAAuB,KAAKA,cAAL,CAAoBC,MAA/C,EAAuD;QACrD,KAAKvB,GAAL,CAASC,KAAT,CAAe,gDAAf;;QACA,KAAK,IAAIuB,MAAT,IAAmB,KAAKF,cAAxB,EAAwC;UACtC,IAAIG,eAAA,CAAEC,UAAF,CAAaF,MAAM,CAACH,oBAApB,CAAJ,EAA+C;YAC7CG,MAAM,CAACH,oBAAP,CAA4B3B,EAA5B;UACD;QACF;MACF;IACF;;IAE6B,MAAxBiC,wBAAwB,CAACC,MAAD,EAAS;MACrC,KAAK5B,GAAL,CAASC,KAAT,CAAgB,iBAAgB,KAAKc,cAAe,mBAApD;;MACA,IAAIc,aAAa,GAAG,OAAO,GAAGC,IAAV,KAAmB;QAErC,MAAM,KAAKC,sBAAL,EAAN;QAEA,OAAO,MAAMH,MAAM,CAAC,GAAGE,IAAJ,CAAnB;MACD,CALD;;MAMA,OAAO,MAAM,IAAAE,0BAAA,EAAiBH,aAAjB,EAAgC;QAC3CI,MAAM,EAAE,KAAKlB,cAD8B;QAE3CmB,UAAU,EAAE,GAF+B;QAG3CC,MAAM,EAAE,KAAKnC;MAH8B,CAAhC,CAAb;IAKD;;IAEDkB,oBAAoB,CAACxB,EAAD,EAAK;MACvB,IAAI0C,QAAQ,GAAGC,QAAQ,CAAC3C,EAAD,EAAK,EAAL,CAAvB;;MACA,IAAI+B,eAAA,CAAEa,KAAF,CAAQF,QAAR,KAAqBA,QAAQ,GAAGhD,WAApC,EAAiD;QAC/C,MAAM,IAAI+B,gBAAA,CAAOoB,YAAX,CAAyB,0BAAyB7C,EAAG,GAArD,CAAN;MACD;;MACD,OAAO0C,QAAP;IACD;;EArIgC;;EAwInC,OAAO7C,eAAP;AACD"}
1
+ {"version":3,"file":"timeout.js","sourceRoot":"","sources":["../../../../lib/basedriver/commands/timeout.js"],"names":[],"mappings":"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"}