@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,59 +1,107 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.FindMixin = FindMixin;
7
-
8
- require("source-map-support/register");
9
-
10
- var _protocol = require("../../protocol");
11
-
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FindMixin = void 0;
4
+ /* eslint-disable no-unused-vars */
5
+ /* eslint-disable require-await */
6
+ // @ts-check
7
+ const protocol_1 = require("../../protocol");
8
+ /**
9
+ * @template {Constraints} C
10
+ * @param {import('./event').EventBase<C>} Base
11
+ * @returns {FindBase<C>}
12
+ */
12
13
  function FindMixin(Base) {
13
- class FindCommands extends Base {
14
- async findElement(strategy, selector) {
15
- return await this.findElOrElsWithProcessing(strategy, selector, false);
16
- }
17
-
18
- async findElements(strategy, selector) {
19
- return await this.findElOrElsWithProcessing(strategy, selector, true);
20
- }
21
-
22
- async findElementFromElement(strategy, selector, elementId) {
23
- return await this.findElOrElsWithProcessing(strategy, selector, false, elementId);
24
- }
25
-
26
- async findElementsFromElement(strategy, selector, elementId) {
27
- return await this.findElOrElsWithProcessing(strategy, selector, true, elementId);
28
- }
29
-
30
- async findElOrEls(strategy, selector, mult, context) {
31
- throw new _protocol.errors.NotImplementedError('Not implemented yet for find.');
32
- }
33
-
34
- async getPageSource() {
35
- throw new _protocol.errors.NotImplementedError('Not implemented yet for find.');
36
- }
37
-
38
- async findElOrElsWithProcessing(strategy, selector, mult, context) {
39
- this.validateLocatorStrategy(strategy);
40
-
41
- try {
42
- return await this.findElOrEls(strategy, selector, mult, context);
43
- } catch (err) {
44
- if (this.opts.printPageSourceOnFindFailure) {
45
- const src = await this.getPageSource();
46
- this.log.debug(`Error finding element${mult ? 's' : ''}: ${err.message}`);
47
- this.log.debug(`Page source requested through 'printPageSourceOnFindFailure':`);
48
- this.log.debug(src);
14
+ /**
15
+ * @implements {IFindCommands}
16
+ */
17
+ class FindCommands extends Base {
18
+ /**
19
+ *
20
+ * @returns {Promise<Element>}
21
+ */
22
+ async findElement(strategy, selector) {
23
+ return await this.findElOrElsWithProcessing(strategy, selector, false);
24
+ }
25
+ /**
26
+ *
27
+ * @returns {Promise<Element[]>}
28
+ */
29
+ async findElements(strategy, selector) {
30
+ return await this.findElOrElsWithProcessing(strategy, selector, true);
31
+ }
32
+ /**
33
+ *
34
+ * @returns {Promise<Element>}
35
+ */
36
+ async findElementFromElement(strategy, selector, elementId) {
37
+ return await this.findElOrElsWithProcessing(strategy, selector, false, elementId);
38
+ }
39
+ /**
40
+ *
41
+ * @returns {Promise<Element[]>}
42
+ */
43
+ async findElementsFromElement(strategy, selector, elementId) {
44
+ return await this.findElOrElsWithProcessing(strategy, selector, true, elementId);
45
+ }
46
+ /**
47
+ * Returns an object which adheres to the way the JSON Wire Protocol represents elements:
48
+ *
49
+ * Override this for your own driver!
50
+ * @template {boolean} Mult
51
+ * @template [Ctx=any]
52
+ * @param {string} strategy
53
+ * @param {string} selector
54
+ * @param {Mult} mult
55
+ * @param {Ctx} [context]
56
+ * @returns {Promise<Mult extends true ? Element[] : Element>}
57
+ */
58
+ async findElOrEls(strategy, selector, mult, context) {
59
+ throw new protocol_1.errors.NotImplementedError('Not implemented yet for find.');
60
+ }
61
+ /**
62
+ * @returns {Promise<string>}
63
+ */
64
+ async getPageSource() {
65
+ throw new protocol_1.errors.NotImplementedError('Not implemented yet for find.');
66
+ }
67
+ /**
68
+ * @template {boolean} Mult
69
+ * @template [Ctx=any]
70
+ * @param {string} strategy
71
+ * @param {string} selector
72
+ * @param {Mult} mult
73
+ * @param {Ctx} [context]
74
+ * @returns {Promise<Mult extends true ? Element[] : Element>}
75
+ */
76
+ async findElOrElsWithProcessing(strategy, selector, mult, context) {
77
+ this.validateLocatorStrategy(strategy);
78
+ try {
79
+ return await this.findElOrEls(strategy, selector, mult, context);
80
+ }
81
+ catch (err) {
82
+ if (this.opts.printPageSourceOnFindFailure) {
83
+ const src = await this.getPageSource();
84
+ this.log.debug(`Error finding element${mult ? 's' : ''}: ${err.message}`);
85
+ this.log.debug(`Page source requested through 'printPageSourceOnFindFailure':`);
86
+ this.log.debug(src);
87
+ }
88
+ // still want the error to occur
89
+ throw err;
90
+ }
49
91
  }
50
-
51
- throw err;
52
- }
53
92
  }
54
-
55
- }
56
-
57
- return FindCommands;
93
+ return FindCommands;
58
94
  }
59
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJGaW5kTWl4aW4iLCJCYXNlIiwiRmluZENvbW1hbmRzIiwiZmluZEVsZW1lbnQiLCJzdHJhdGVneSIsInNlbGVjdG9yIiwiZmluZEVsT3JFbHNXaXRoUHJvY2Vzc2luZyIsImZpbmRFbGVtZW50cyIsImZpbmRFbGVtZW50RnJvbUVsZW1lbnQiLCJlbGVtZW50SWQiLCJmaW5kRWxlbWVudHNGcm9tRWxlbWVudCIsImZpbmRFbE9yRWxzIiwibXVsdCIsImNvbnRleHQiLCJlcnJvcnMiLCJOb3RJbXBsZW1lbnRlZEVycm9yIiwiZ2V0UGFnZVNvdXJjZSIsInZhbGlkYXRlTG9jYXRvclN0cmF0ZWd5IiwiZXJyIiwib3B0cyIsInByaW50UGFnZVNvdXJjZU9uRmluZEZhaWx1cmUiLCJzcmMiLCJsb2ciLCJkZWJ1ZyIsIm1lc3NhZ2UiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWIvYmFzZWRyaXZlci9jb21tYW5kcy9maW5kLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXVudXNlZC12YXJzICovXG4vKiBlc2xpbnQtZGlzYWJsZSByZXF1aXJlLWF3YWl0ICovXG4vLyBAdHMtY2hlY2tcbmltcG9ydCB7ZXJyb3JzfSBmcm9tICcuLi8uLi9wcm90b2NvbCc7XG5cbi8qKlxuICpcbiAqIEBwYXJhbSB7RXZlbnRCYXNlfSBCYXNlXG4gKiBAcmV0dXJucyB7RmluZEJhc2V9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBGaW5kTWl4aW4oQmFzZSkge1xuICAvKipcbiAgICogQGltcGxlbWVudHMge0lGaW5kQ29tbWFuZHN9XG4gICAqL1xuICBjbGFzcyBGaW5kQ29tbWFuZHMgZXh0ZW5kcyBCYXNlIHtcbiAgICAvKipcbiAgICAgKlxuICAgICAqIEByZXR1cm5zIHtQcm9taXNlPEVsZW1lbnQ+fVxuICAgICAqL1xuICAgIGFzeW5jIGZpbmRFbGVtZW50KHN0cmF0ZWd5LCBzZWxlY3Rvcikge1xuICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuZmluZEVsT3JFbHNXaXRoUHJvY2Vzc2luZyhzdHJhdGVneSwgc2VsZWN0b3IsIGZhbHNlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKlxuICAgICAqIEByZXR1cm5zIHtQcm9taXNlPEVsZW1lbnRbXT59XG4gICAgICovXG4gICAgYXN5bmMgZmluZEVsZW1lbnRzKHN0cmF0ZWd5LCBzZWxlY3Rvcikge1xuICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuZmluZEVsT3JFbHNXaXRoUHJvY2Vzc2luZyhzdHJhdGVneSwgc2VsZWN0b3IsIHRydWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqXG4gICAgICogQHJldHVybnMge1Byb21pc2U8RWxlbWVudD59XG4gICAgICovXG4gICAgYXN5bmMgZmluZEVsZW1lbnRGcm9tRWxlbWVudChzdHJhdGVneSwgc2VsZWN0b3IsIGVsZW1lbnRJZCkge1xuICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuZmluZEVsT3JFbHNXaXRoUHJvY2Vzc2luZyhzdHJhdGVneSwgc2VsZWN0b3IsIGZhbHNlLCBlbGVtZW50SWQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqXG4gICAgICogQHJldHVybnMge1Byb21pc2U8RWxlbWVudFtdPn1cbiAgICAgKi9cbiAgICBhc3luYyBmaW5kRWxlbWVudHNGcm9tRWxlbWVudChzdHJhdGVneSwgc2VsZWN0b3IsIGVsZW1lbnRJZCkge1xuICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuZmluZEVsT3JFbHNXaXRoUHJvY2Vzc2luZyhzdHJhdGVneSwgc2VsZWN0b3IsIHRydWUsIGVsZW1lbnRJZCk7XG4gICAgfVxuICAgIC8vIE92ZXJyaWRlIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb24gZm9yIHlvdXIgb3duIGRyaXZlciwgYW5kIHRoZSByZXN0IGlzIHRha2VuXG4gICAgLy8gY2FyZSBvZiFcbiAgICAvLyBSZXR1cm5zIGFuIG9iamVjdCB3aGljaCBhZGhlcmVzIHRvIHRoZSB3YXkgdGhlIEpTT04gV2lyZSBQcm90b2NvbCByZXByZXNlbnRzIGVsZW1lbnRzOlxuICAgIC8vIHsgRUxFTUVOVDogIyB9ICAgIGVnOiB7IEVMRU1FTlQ6IDMgfSAgb3IgeyBFTEVNRU5UOiAxLjAyMyB9XG4gICAgLyoqXG4gICAgICogQHRlbXBsYXRlIHtib29sZWFufSBNdWx0XG4gICAgICogQHBhcmFtIHtzdHJpbmd9IHN0cmF0ZWd5XG4gICAgICogQHBhcmFtIHtzdHJpbmd9IHNlbGVjdG9yXG4gICAgICogQHBhcmFtIHtNdWx0fSBtdWx0XG4gICAgICogQHBhcmFtIHtzdHJpbmd9IFtjb250ZXh0XVxuICAgICAqIEByZXR1cm5zIHtQcm9taXNlPE11bHQgZXh0ZW5kcyB0cnVlID8gRWxlbWVudFtdIDogRWxlbWVudD59XG4gICAgICovXG4gICAgYXN5bmMgZmluZEVsT3JFbHMoc3RyYXRlZ3ksIHNlbGVjdG9yLCBtdWx0LCBjb250ZXh0KSB7XG4gICAgICB0aHJvdyBuZXcgZXJyb3JzLk5vdEltcGxlbWVudGVkRXJyb3IoJ05vdCBpbXBsZW1lbnRlZCB5ZXQgZm9yIGZpbmQuJyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQHJldHVybnMge1Byb21pc2U8c3RyaW5nPn1cbiAgICAgKi9cbiAgICBhc3luYyBnZXRQYWdlU291cmNlKCkge1xuICAgICAgdGhyb3cgbmV3IGVycm9ycy5Ob3RJbXBsZW1lbnRlZEVycm9yKCdOb3QgaW1wbGVtZW50ZWQgeWV0IGZvciBmaW5kLicpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBAdGVtcGxhdGUge2Jvb2xlYW59IE11bHRcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gc3RyYXRlZ3lcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gc2VsZWN0b3JcbiAgICAgKiBAcGFyYW0ge011bHR9IG11bHRcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW2NvbnRleHRdXG4gICAgICogQHJldHVybnMge1Byb21pc2U8TXVsdCBleHRlbmRzIHRydWUgPyBFbGVtZW50W10gOiBFbGVtZW50Pn1cbiAgICAgKi9cbiAgICBhc3luYyBmaW5kRWxPckVsc1dpdGhQcm9jZXNzaW5nKHN0cmF0ZWd5LCBzZWxlY3RvciwgbXVsdCwgY29udGV4dCkge1xuICAgICAgdGhpcy52YWxpZGF0ZUxvY2F0b3JTdHJhdGVneShzdHJhdGVneSk7XG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5maW5kRWxPckVscyhzdHJhdGVneSwgc2VsZWN0b3IsIG11bHQsIGNvbnRleHQpO1xuICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIGlmICh0aGlzLm9wdHMucHJpbnRQYWdlU291cmNlT25GaW5kRmFpbHVyZSkge1xuICAgICAgICAgIGNvbnN0IHNyYyA9IGF3YWl0IHRoaXMuZ2V0UGFnZVNvdXJjZSgpO1xuICAgICAgICAgIHRoaXMubG9nLmRlYnVnKGBFcnJvciBmaW5kaW5nIGVsZW1lbnQke211bHQgPyAncycgOiAnJ306ICR7ZXJyLm1lc3NhZ2V9YCk7XG4gICAgICAgICAgdGhpcy5sb2cuZGVidWcoYFBhZ2Ugc291cmNlIHJlcXVlc3RlZCB0aHJvdWdoICdwcmludFBhZ2VTb3VyY2VPbkZpbmRGYWlsdXJlJzpgKTtcbiAgICAgICAgICB0aGlzLmxvZy5kZWJ1ZyhzcmMpO1xuICAgICAgICB9XG4gICAgICAgIC8vIHN0aWxsIHdhbnQgdGhlIGVycm9yIHRvIG9jY3VyXG4gICAgICAgIHRocm93IGVycjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gRmluZENvbW1hbmRzO1xufVxuXG4vKipcbiAqIEB0eXBlZGVmIHtpbXBvcnQoJ0BhcHBpdW0vdHlwZXMnKS5FbGVtZW50fSBFbGVtZW50XG4gKiBAdHlwZWRlZiB7aW1wb3J0KCdAYXBwaXVtL3R5cGVzJykuRmluZENvbW1hbmRzfSBJRmluZENvbW1hbmRzXG4gKiBAdHlwZWRlZiB7aW1wb3J0KCcuL2V2ZW50JykuRXZlbnRCYXNlfSBFdmVudEJhc2VcbiAqIEB0eXBlZGVmIHtpbXBvcnQoJy4uL2RyaXZlcicpLkJhc2VEcml2ZXJCYXNlPGltcG9ydCgnQGFwcGl1bS90eXBlcycpLlRpbWVvdXRDb21tYW5kcyAmIGltcG9ydCgnQGFwcGl1bS90eXBlcycpLkV2ZW50Q29tbWFuZHMgJiBJRmluZENvbW1hbmRzPn0gRmluZEJhc2VcbiAqL1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFHQTs7QUFPTyxTQUFTQSxTQUFULENBQW1CQyxJQUFuQixFQUF5QjtFQUk5QixNQUFNQyxZQUFOLFNBQTJCRCxJQUEzQixDQUFnQztJQUtiLE1BQVhFLFdBQVcsQ0FBQ0MsUUFBRCxFQUFXQyxRQUFYLEVBQXFCO01BQ3BDLE9BQU8sTUFBTSxLQUFLQyx5QkFBTCxDQUErQkYsUUFBL0IsRUFBeUNDLFFBQXpDLEVBQW1ELEtBQW5ELENBQWI7SUFDRDs7SUFNaUIsTUFBWkUsWUFBWSxDQUFDSCxRQUFELEVBQVdDLFFBQVgsRUFBcUI7TUFDckMsT0FBTyxNQUFNLEtBQUtDLHlCQUFMLENBQStCRixRQUEvQixFQUF5Q0MsUUFBekMsRUFBbUQsSUFBbkQsQ0FBYjtJQUNEOztJQU0yQixNQUF0Qkcsc0JBQXNCLENBQUNKLFFBQUQsRUFBV0MsUUFBWCxFQUFxQkksU0FBckIsRUFBZ0M7TUFDMUQsT0FBTyxNQUFNLEtBQUtILHlCQUFMLENBQStCRixRQUEvQixFQUF5Q0MsUUFBekMsRUFBbUQsS0FBbkQsRUFBMERJLFNBQTFELENBQWI7SUFDRDs7SUFNNEIsTUFBdkJDLHVCQUF1QixDQUFDTixRQUFELEVBQVdDLFFBQVgsRUFBcUJJLFNBQXJCLEVBQWdDO01BQzNELE9BQU8sTUFBTSxLQUFLSCx5QkFBTCxDQUErQkYsUUFBL0IsRUFBeUNDLFFBQXpDLEVBQW1ELElBQW5ELEVBQXlESSxTQUF6RCxDQUFiO0lBQ0Q7O0lBYWdCLE1BQVhFLFdBQVcsQ0FBQ1AsUUFBRCxFQUFXQyxRQUFYLEVBQXFCTyxJQUFyQixFQUEyQkMsT0FBM0IsRUFBb0M7TUFDbkQsTUFBTSxJQUFJQyxnQkFBQSxDQUFPQyxtQkFBWCxDQUErQiwrQkFBL0IsQ0FBTjtJQUNEOztJQUtrQixNQUFiQyxhQUFhLEdBQUc7TUFDcEIsTUFBTSxJQUFJRixnQkFBQSxDQUFPQyxtQkFBWCxDQUErQiwrQkFBL0IsQ0FBTjtJQUNEOztJQVM4QixNQUF6QlQseUJBQXlCLENBQUNGLFFBQUQsRUFBV0MsUUFBWCxFQUFxQk8sSUFBckIsRUFBMkJDLE9BQTNCLEVBQW9DO01BQ2pFLEtBQUtJLHVCQUFMLENBQTZCYixRQUE3Qjs7TUFDQSxJQUFJO1FBQ0YsT0FBTyxNQUFNLEtBQUtPLFdBQUwsQ0FBaUJQLFFBQWpCLEVBQTJCQyxRQUEzQixFQUFxQ08sSUFBckMsRUFBMkNDLE9BQTNDLENBQWI7TUFDRCxDQUZELENBRUUsT0FBT0ssR0FBUCxFQUFZO1FBQ1osSUFBSSxLQUFLQyxJQUFMLENBQVVDLDRCQUFkLEVBQTRDO1VBQzFDLE1BQU1DLEdBQUcsR0FBRyxNQUFNLEtBQUtMLGFBQUwsRUFBbEI7VUFDQSxLQUFLTSxHQUFMLENBQVNDLEtBQVQsQ0FBZ0Isd0JBQXVCWCxJQUFJLEdBQUcsR0FBSCxHQUFTLEVBQUcsS0FBSU0sR0FBRyxDQUFDTSxPQUFRLEVBQXZFO1VBQ0EsS0FBS0YsR0FBTCxDQUFTQyxLQUFULENBQWdCLCtEQUFoQjtVQUNBLEtBQUtELEdBQUwsQ0FBU0MsS0FBVCxDQUFlRixHQUFmO1FBQ0Q7O1FBRUQsTUFBTUgsR0FBTjtNQUNEO0lBQ0Y7O0VBNUU2Qjs7RUErRWhDLE9BQU9oQixZQUFQO0FBQ0QifQ==
95
+ exports.FindMixin = FindMixin;
96
+ /**
97
+ * @typedef {import('@appium/types').Element} Element
98
+ * @typedef {import('@appium/types').Constraints} Constraints
99
+ * @typedef {import('@appium/types').IFindCommands} IFindCommands
100
+ * @typedef {import('@appium/types').ITimeoutCommands} ITimeoutCommands
101
+ * @typedef {import('@appium/types').IEventCommands} IEventCommands
102
+ */
103
+ /**
104
+ * @template {Constraints} C
105
+ * @typedef {import('../driver').BaseDriverBase<C, ITimeoutCommands & IEventCommands & IFindCommands>} FindBase
106
+ */
107
+ //# sourceMappingURL=find.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"find.js","names":["FindMixin","Base","FindCommands","findElement","strategy","selector","findElOrElsWithProcessing","findElements","findElementFromElement","elementId","findElementsFromElement","findElOrEls","mult","context","errors","NotImplementedError","getPageSource","validateLocatorStrategy","err","opts","printPageSourceOnFindFailure","src","log","debug","message"],"sources":["../../../../lib/basedriver/commands/find.js"],"sourcesContent":["/* eslint-disable no-unused-vars */\n/* eslint-disable require-await */\n// @ts-check\nimport {errors} from '../../protocol';\n\n/**\n *\n * @param {EventBase} Base\n * @returns {FindBase}\n */\nexport function FindMixin(Base) {\n /**\n * @implements {IFindCommands}\n */\n class FindCommands extends Base {\n /**\n *\n * @returns {Promise<Element>}\n */\n async findElement(strategy, selector) {\n return await this.findElOrElsWithProcessing(strategy, selector, false);\n }\n\n /**\n *\n * @returns {Promise<Element[]>}\n */\n async findElements(strategy, selector) {\n return await this.findElOrElsWithProcessing(strategy, selector, true);\n }\n\n /**\n *\n * @returns {Promise<Element>}\n */\n async findElementFromElement(strategy, selector, elementId) {\n return await this.findElOrElsWithProcessing(strategy, selector, false, elementId);\n }\n\n /**\n *\n * @returns {Promise<Element[]>}\n */\n async findElementsFromElement(strategy, selector, elementId) {\n return await this.findElOrElsWithProcessing(strategy, selector, true, elementId);\n }\n // Override the following function for your own driver, and the rest is taken\n // care of!\n // Returns an object which adheres to the way the JSON Wire Protocol represents elements:\n // { ELEMENT: # } eg: { ELEMENT: 3 } or { ELEMENT: 1.023 }\n /**\n * @template {boolean} Mult\n * @param {string} strategy\n * @param {string} selector\n * @param {Mult} mult\n * @param {string} [context]\n * @returns {Promise<Mult extends true ? Element[] : Element>}\n */\n async findElOrEls(strategy, selector, mult, context) {\n throw new errors.NotImplementedError('Not implemented yet for find.');\n }\n\n /**\n * @returns {Promise<string>}\n */\n async getPageSource() {\n throw new errors.NotImplementedError('Not implemented yet for find.');\n }\n /**\n * @template {boolean} Mult\n * @param {string} strategy\n * @param {string} selector\n * @param {Mult} mult\n * @param {string} [context]\n * @returns {Promise<Mult extends true ? Element[] : Element>}\n */\n async findElOrElsWithProcessing(strategy, selector, mult, context) {\n this.validateLocatorStrategy(strategy);\n try {\n return await this.findElOrEls(strategy, selector, mult, context);\n } catch (err) {\n if (this.opts.printPageSourceOnFindFailure) {\n const src = await this.getPageSource();\n this.log.debug(`Error finding element${mult ? 's' : ''}: ${err.message}`);\n this.log.debug(`Page source requested through 'printPageSourceOnFindFailure':`);\n this.log.debug(src);\n }\n // still want the error to occur\n throw err;\n }\n }\n }\n\n return FindCommands;\n}\n\n/**\n * @typedef {import('@appium/types').Element} Element\n * @typedef {import('@appium/types').FindCommands} IFindCommands\n * @typedef {import('./event').EventBase} EventBase\n * @typedef {import('../driver').BaseDriverBase<import('@appium/types').TimeoutCommands & import('@appium/types').EventCommands & IFindCommands>} FindBase\n */\n"],"mappings":";;;;;;;;;AAGA;;AAOO,SAASA,SAAT,CAAmBC,IAAnB,EAAyB;EAI9B,MAAMC,YAAN,SAA2BD,IAA3B,CAAgC;IAKb,MAAXE,WAAW,CAACC,QAAD,EAAWC,QAAX,EAAqB;MACpC,OAAO,MAAM,KAAKC,yBAAL,CAA+BF,QAA/B,EAAyCC,QAAzC,EAAmD,KAAnD,CAAb;IACD;;IAMiB,MAAZE,YAAY,CAACH,QAAD,EAAWC,QAAX,EAAqB;MACrC,OAAO,MAAM,KAAKC,yBAAL,CAA+BF,QAA/B,EAAyCC,QAAzC,EAAmD,IAAnD,CAAb;IACD;;IAM2B,MAAtBG,sBAAsB,CAACJ,QAAD,EAAWC,QAAX,EAAqBI,SAArB,EAAgC;MAC1D,OAAO,MAAM,KAAKH,yBAAL,CAA+BF,QAA/B,EAAyCC,QAAzC,EAAmD,KAAnD,EAA0DI,SAA1D,CAAb;IACD;;IAM4B,MAAvBC,uBAAuB,CAACN,QAAD,EAAWC,QAAX,EAAqBI,SAArB,EAAgC;MAC3D,OAAO,MAAM,KAAKH,yBAAL,CAA+BF,QAA/B,EAAyCC,QAAzC,EAAmD,IAAnD,EAAyDI,SAAzD,CAAb;IACD;;IAagB,MAAXE,WAAW,CAACP,QAAD,EAAWC,QAAX,EAAqBO,IAArB,EAA2BC,OAA3B,EAAoC;MACnD,MAAM,IAAIC,gBAAA,CAAOC,mBAAX,CAA+B,+BAA/B,CAAN;IACD;;IAKkB,MAAbC,aAAa,GAAG;MACpB,MAAM,IAAIF,gBAAA,CAAOC,mBAAX,CAA+B,+BAA/B,CAAN;IACD;;IAS8B,MAAzBT,yBAAyB,CAACF,QAAD,EAAWC,QAAX,EAAqBO,IAArB,EAA2BC,OAA3B,EAAoC;MACjE,KAAKI,uBAAL,CAA6Bb,QAA7B;;MACA,IAAI;QACF,OAAO,MAAM,KAAKO,WAAL,CAAiBP,QAAjB,EAA2BC,QAA3B,EAAqCO,IAArC,EAA2CC,OAA3C,CAAb;MACD,CAFD,CAEE,OAAOK,GAAP,EAAY;QACZ,IAAI,KAAKC,IAAL,CAAUC,4BAAd,EAA4C;UAC1C,MAAMC,GAAG,GAAG,MAAM,KAAKL,aAAL,EAAlB;UACA,KAAKM,GAAL,CAASC,KAAT,CAAgB,wBAAuBX,IAAI,GAAG,GAAH,GAAS,EAAG,KAAIM,GAAG,CAACM,OAAQ,EAAvE;UACA,KAAKF,GAAL,CAASC,KAAT,CAAgB,+DAAhB;UACA,KAAKD,GAAL,CAASC,KAAT,CAAeF,GAAf;QACD;;QAED,MAAMH,GAAN;MACD;IACF;;EA5E6B;;EA+EhC,OAAOhB,YAAP;AACD"}
1
+ {"version":3,"file":"find.js","sourceRoot":"","sources":["../../../../lib/basedriver/commands/find.js"],"names":[],"mappings":";;;AAAA,mCAAmC;AACnC,kCAAkC;AAClC,YAAY;AACZ,6CAAsC;AAEtC;;;;GAIG;AACH,SAAgB,SAAS,CAAC,IAAI;IAC5B;;OAEG;IACH,MAAM,YAAa,SAAQ,IAAI;QAC7B;;;WAGG;QACH,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,QAAQ;YAClC,OAAO,MAAM,IAAI,CAAC,yBAAyB,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;QACzE,CAAC;QAED;;;WAGG;QACH,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,QAAQ;YACnC,OAAO,MAAM,IAAI,CAAC,yBAAyB,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QACxE,CAAC;QAED;;;WAGG;QACH,KAAK,CAAC,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS;YACxD,OAAO,MAAM,IAAI,CAAC,yBAAyB,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QACpF,CAAC;QAED;;;WAGG;QACH,KAAK,CAAC,uBAAuB,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS;YACzD,OAAO,MAAM,IAAI,CAAC,yBAAyB,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;QACnF,CAAC;QACD;;;;;;;;;;;WAWG;QACH,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO;YACjD,MAAM,IAAI,iBAAM,CAAC,mBAAmB,CAAC,+BAA+B,CAAC,CAAC;QACxE,CAAC;QAED;;WAEG;QACH,KAAK,CAAC,aAAa;YACjB,MAAM,IAAI,iBAAM,CAAC,mBAAmB,CAAC,+BAA+B,CAAC,CAAC;QACxE,CAAC;QACD;;;;;;;;WAQG;QACH,KAAK,CAAC,yBAAyB,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO;YAC/D,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;YACvC,IAAI;gBACF,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;aAClE;YAAC,OAAO,GAAG,EAAE;gBACZ,IAAI,IAAI,CAAC,IAAI,CAAC,4BAA4B,EAAE;oBAC1C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;oBACvC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,wBAAwB,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;oBAC1E,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,+DAA+D,CAAC,CAAC;oBAChF,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;iBACrB;gBACD,gCAAgC;gBAChC,MAAM,GAAG,CAAC;aACX;QACH,CAAC;KACF;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AArFD,8BAqFC;AAED;;;;;;GAMG;AACH;;;GAGG"}
@@ -1,8 +1,4 @@
1
- /**
2
- * Applies all the mixins to the `BaseDriverBase` class.
3
- * Returns a `BaseDriver` class.
4
- * @param {BaseDriverBase} Base
5
- */
6
- export function createBaseDriverClass(Base: BaseDriverBase): import("./execute").ExecuteBase;
7
- export type BaseDriverBase<T = {}> = import('../driver').BaseDriverBase<T>;
1
+ export function createBaseDriverClass<C_1 extends Readonly<Record<string, import("@appium/types").Constraint>>>(Base: import("../driver").BaseDriverBase<C_1, {}, {}>): import("./execute").ExecuteBase<C_1>;
2
+ export type BaseDriverBase<C_1 extends Readonly<Record<string, import("@appium/types").Constraint>>> = import('../driver').BaseDriverBase<C>;
3
+ export type Constraints = import('@appium/types').Constraints;
8
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../lib/basedriver/commands/index.js"],"names":[],"mappings":"AAUA;;;;GAIG;AACH,4CAFW,cAAc,mCAWxB;qCAIY,OAAO,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../lib/basedriver/commands/index.js"],"names":[],"mappings":"AAmCy3K,6MAAmB;uGAN/3K,OAAO,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC;0BAIrC,OAAO,eAAe,EAAE,WAAW"}
@@ -1,34 +1,31 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.createBaseDriverClass = createBaseDriverClass;
7
-
8
- require("source-map-support/register");
9
-
10
- var _event = require("./event");
11
-
12
- var _find = require("./find");
13
-
14
- var _log = require("./log");
15
-
16
- var _session = require("./session");
17
-
18
- var _settings = require("./settings");
19
-
20
- var _timeout = require("./timeout");
21
-
22
- var _execute = require("./execute");
23
-
24
- function createBaseDriverClass(Base) {
25
- const WithTimeoutCommands = (0, _timeout.TimeoutMixin)(Base);
26
- const WithEventCommands = (0, _event.EventMixin)(WithTimeoutCommands);
27
- const WithFindCommands = (0, _find.FindMixin)(WithEventCommands);
28
- const WithLogCommands = (0, _log.LogMixin)(WithFindCommands);
29
- const WithSettingsCommands = (0, _settings.SettingsMixin)(WithLogCommands);
30
- const WithSessionCommands = (0, _session.SessionMixin)(WithSettingsCommands);
31
- const WithExecuteCommands = (0, _execute.ExecuteMixin)(WithSessionCommands);
32
- return WithExecuteCommands;
33
- }
34
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGVCYXNlRHJpdmVyQ2xhc3MiLCJCYXNlIiwiV2l0aFRpbWVvdXRDb21tYW5kcyIsIlRpbWVvdXRNaXhpbiIsIldpdGhFdmVudENvbW1hbmRzIiwiRXZlbnRNaXhpbiIsIldpdGhGaW5kQ29tbWFuZHMiLCJGaW5kTWl4aW4iLCJXaXRoTG9nQ29tbWFuZHMiLCJMb2dNaXhpbiIsIldpdGhTZXR0aW5nc0NvbW1hbmRzIiwiU2V0dGluZ3NNaXhpbiIsIldpdGhTZXNzaW9uQ29tbWFuZHMiLCJTZXNzaW9uTWl4aW4iLCJXaXRoRXhlY3V0ZUNvbW1hbmRzIiwiRXhlY3V0ZU1peGluIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGliL2Jhc2Vkcml2ZXIvY29tbWFuZHMvaW5kZXguanMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5cbmltcG9ydCB7RXZlbnRNaXhpbn0gZnJvbSAnLi9ldmVudCc7XG5pbXBvcnQge0ZpbmRNaXhpbn0gZnJvbSAnLi9maW5kJztcbmltcG9ydCB7TG9nTWl4aW59IGZyb20gJy4vbG9nJztcbmltcG9ydCB7U2Vzc2lvbk1peGlufSBmcm9tICcuL3Nlc3Npb24nO1xuaW1wb3J0IHtTZXR0aW5nc01peGlufSBmcm9tICcuL3NldHRpbmdzJztcbmltcG9ydCB7VGltZW91dE1peGlufSBmcm9tICcuL3RpbWVvdXQnO1xuaW1wb3J0IHtFeGVjdXRlTWl4aW59IGZyb20gJy4vZXhlY3V0ZSc7XG5cbi8qKlxuICogQXBwbGllcyBhbGwgdGhlIG1peGlucyB0byB0aGUgYEJhc2VEcml2ZXJCYXNlYCBjbGFzcy5cbiAqIFJldHVybnMgYSBgQmFzZURyaXZlcmAgY2xhc3MuXG4gKiBAcGFyYW0ge0Jhc2VEcml2ZXJCYXNlfSBCYXNlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVCYXNlRHJpdmVyQ2xhc3MoQmFzZSkge1xuICBjb25zdCBXaXRoVGltZW91dENvbW1hbmRzID0gVGltZW91dE1peGluKEJhc2UpO1xuICBjb25zdCBXaXRoRXZlbnRDb21tYW5kcyA9IEV2ZW50TWl4aW4oV2l0aFRpbWVvdXRDb21tYW5kcyk7XG4gIGNvbnN0IFdpdGhGaW5kQ29tbWFuZHMgPSBGaW5kTWl4aW4oV2l0aEV2ZW50Q29tbWFuZHMpO1xuICBjb25zdCBXaXRoTG9nQ29tbWFuZHMgPSBMb2dNaXhpbihXaXRoRmluZENvbW1hbmRzKTtcbiAgY29uc3QgV2l0aFNldHRpbmdzQ29tbWFuZHMgPSBTZXR0aW5nc01peGluKFdpdGhMb2dDb21tYW5kcyk7XG4gIGNvbnN0IFdpdGhTZXNzaW9uQ29tbWFuZHMgPSBTZXNzaW9uTWl4aW4oV2l0aFNldHRpbmdzQ29tbWFuZHMpO1xuICBjb25zdCBXaXRoRXhlY3V0ZUNvbW1hbmRzID0gRXhlY3V0ZU1peGluKFdpdGhTZXNzaW9uQ29tbWFuZHMpO1xuICByZXR1cm4gV2l0aEV4ZWN1dGVDb21tYW5kcztcbn1cblxuLyoqXG4gKiBAdGVtcGxhdGUgW1Q9e31dXG4gKiBAdHlwZWRlZiB7aW1wb3J0KCcuLi9kcml2ZXInKS5CYXNlRHJpdmVyQmFzZTxUPn0gQmFzZURyaXZlckJhc2VcbiAqL1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFPTyxTQUFTQSxxQkFBVCxDQUErQkMsSUFBL0IsRUFBcUM7RUFDMUMsTUFBTUMsbUJBQW1CLEdBQUcsSUFBQUMscUJBQUEsRUFBYUYsSUFBYixDQUE1QjtFQUNBLE1BQU1HLGlCQUFpQixHQUFHLElBQUFDLGlCQUFBLEVBQVdILG1CQUFYLENBQTFCO0VBQ0EsTUFBTUksZ0JBQWdCLEdBQUcsSUFBQUMsZUFBQSxFQUFVSCxpQkFBVixDQUF6QjtFQUNBLE1BQU1JLGVBQWUsR0FBRyxJQUFBQyxhQUFBLEVBQVNILGdCQUFULENBQXhCO0VBQ0EsTUFBTUksb0JBQW9CLEdBQUcsSUFBQUMsdUJBQUEsRUFBY0gsZUFBZCxDQUE3QjtFQUNBLE1BQU1JLG1CQUFtQixHQUFHLElBQUFDLHFCQUFBLEVBQWFILG9CQUFiLENBQTVCO0VBQ0EsTUFBTUksbUJBQW1CLEdBQUcsSUFBQUMscUJBQUEsRUFBYUgsbUJBQWIsQ0FBNUI7RUFDQSxPQUFPRSxtQkFBUDtBQUNEIn0=
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.createBaseDriverClass = void 0;
7
+ // @ts-check
8
+ const lodash_1 = __importDefault(require("lodash"));
9
+ const event_1 = require("./event");
10
+ const find_1 = require("./find");
11
+ const log_1 = require("./log");
12
+ const session_1 = require("./session");
13
+ const settings_1 = require("./settings");
14
+ const timeout_1 = require("./timeout");
15
+ const execute_1 = require("./execute");
16
+ /**
17
+ * Applies all the mixins to the `BaseDriverBase` class; returns a `BaseDriver` class definition.
18
+ * Each mixin is applied in the order it is listed here, and each type is a union with the previous.
19
+ *
20
+ * @template {Constraints} C
21
+ * @param {BaseDriverBase<C>} Base
22
+ */
23
+ exports.createBaseDriverClass = lodash_1.default.flow(timeout_1.TimeoutMixin, event_1.EventMixin, find_1.FindMixin, log_1.LogMixin, settings_1.SettingsMixin, session_1.SessionMixin, execute_1.ExecuteMixin);
24
+ /**
25
+ * @template {Constraints} C
26
+ * @typedef {import('../driver').BaseDriverBase<C>} BaseDriverBase
27
+ */
28
+ /**
29
+ * @typedef {import('@appium/types').Constraints} Constraints
30
+ */
31
+ //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["createBaseDriverClass","Base","WithTimeoutCommands","TimeoutMixin","WithEventCommands","EventMixin","WithFindCommands","FindMixin","WithLogCommands","LogMixin","WithSettingsCommands","SettingsMixin","WithSessionCommands","SessionMixin","WithExecuteCommands","ExecuteMixin"],"sources":["../../../../lib/basedriver/commands/index.js"],"sourcesContent":["// @ts-check\n\nimport {EventMixin} from './event';\nimport {FindMixin} from './find';\nimport {LogMixin} from './log';\nimport {SessionMixin} from './session';\nimport {SettingsMixin} from './settings';\nimport {TimeoutMixin} from './timeout';\nimport {ExecuteMixin} from './execute';\n\n/**\n * Applies all the mixins to the `BaseDriverBase` class.\n * Returns a `BaseDriver` class.\n * @param {BaseDriverBase} Base\n */\nexport function createBaseDriverClass(Base) {\n const WithTimeoutCommands = TimeoutMixin(Base);\n const WithEventCommands = EventMixin(WithTimeoutCommands);\n const WithFindCommands = FindMixin(WithEventCommands);\n const WithLogCommands = LogMixin(WithFindCommands);\n const WithSettingsCommands = SettingsMixin(WithLogCommands);\n const WithSessionCommands = SessionMixin(WithSettingsCommands);\n const WithExecuteCommands = ExecuteMixin(WithSessionCommands);\n return WithExecuteCommands;\n}\n\n/**\n * @template [T={}]\n * @typedef {import('../driver').BaseDriverBase<T>} BaseDriverBase\n */\n"],"mappings":";;;;;;;;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAOO,SAASA,qBAAT,CAA+BC,IAA/B,EAAqC;EAC1C,MAAMC,mBAAmB,GAAG,IAAAC,qBAAA,EAAaF,IAAb,CAA5B;EACA,MAAMG,iBAAiB,GAAG,IAAAC,iBAAA,EAAWH,mBAAX,CAA1B;EACA,MAAMI,gBAAgB,GAAG,IAAAC,eAAA,EAAUH,iBAAV,CAAzB;EACA,MAAMI,eAAe,GAAG,IAAAC,aAAA,EAASH,gBAAT,CAAxB;EACA,MAAMI,oBAAoB,GAAG,IAAAC,uBAAA,EAAcH,eAAd,CAA7B;EACA,MAAMI,mBAAmB,GAAG,IAAAC,qBAAA,EAAaH,oBAAb,CAA5B;EACA,MAAMI,mBAAmB,GAAG,IAAAC,qBAAA,EAAaH,mBAAb,CAA5B;EACA,OAAOE,mBAAP;AACD"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/basedriver/commands/index.js"],"names":[],"mappings":";;;;;;AAAA,YAAY;AACZ,oDAAuB;AACvB,mCAAmC;AACnC,iCAAiC;AACjC,+BAA+B;AAC/B,uCAAuC;AACvC,yCAAyC;AACzC,uCAAuC;AACvC,uCAAuC;AAEvC;;;;;;GAMG;AACU,QAAA,qBAAqB,GAAG,gBAAC,CAAC,IAAI,CACzC,sBAAY,EACZ,kBAAU,EACV,gBAAS,EACT,cAAQ,EACR,wBAAa,EACb,sBAAY,EACZ,sBAAY,CACb,CAAC;AAEF;;;GAGG;AAEH;;GAEG"}
@@ -1,12 +1,11 @@
1
1
  /**
2
- *
3
- * @param {FindBase} Base
4
- * @returns {LogBase}
2
+ * @template {Constraints} C
3
+ * @param {import('./find').FindBase<C>} Base
4
+ * @returns {LogBase<C>}
5
5
  */
6
- export function LogMixin(Base: FindBase): LogBase;
7
- export type ILogCommands = import('@appium/types').LogCommands;
8
- export type Driver = import('@appium/types').Driver;
9
- export type FindBase = import('./find').FindBase;
10
- export type LogBase = import('../driver').BaseDriverBase<import('@appium/types').TimeoutCommands & import('@appium/types').EventCommands & import('@appium/types').FindCommands & ILogCommands>;
11
- export type LogType<T> = import('@appium/types').LogType<T>;
6
+ export function LogMixin<C extends Readonly<Record<string, import("@appium/types").Constraint>>>(Base: import("./find").FindBase<C>): LogBase<C>;
7
+ export type Constraints = import('@appium/types').Constraints;
8
+ export type StringRecord = import('@appium/types').StringRecord;
9
+ export type ILogCommands<C extends Readonly<Record<string, import("@appium/types").Constraint>>> = import('@appium/types').ILogCommands<C>;
10
+ export type LogBase<C extends Readonly<Record<string, import("@appium/types").Constraint>>> = import('../driver').BaseDriverBase<C, import('@appium/types').ITimeoutCommands & import('@appium/types').IEventCommands & import('@appium/types').IFindCommands & ILogCommands<C>>;
12
11
  //# sourceMappingURL=log.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../../../../lib/basedriver/commands/log.js"],"names":[],"mappings":"AAKA;;;;GAIG;AACH,+BAHW,QAAQ,GACN,OAAO,CAqCnB;2BAGY,OAAO,eAAe,EAAE,WAAW;qBACnC,OAAO,eAAe,EAAE,MAAM;uBAC9B,OAAO,QAAQ,EAAE,QAAQ;sBACzB,OAAO,WAAW,EAAE,cAAc,CAAC,OAAO,eAAe,EAAE,eAAe,GAAG,OAAO,eAAe,EAAE,aAAa,GAAG,OAAO,eAAe,EAAE,YAAY,GAAG,YAAY,CAAC;yBAKzK,OAAO,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../../../../lib/basedriver/commands/log.js"],"names":[],"mappings":"AAKA;;;;GAIG;AACH,iJAsCC;0BAGY,OAAO,eAAe,EAAE,WAAW;2BACnC,OAAO,eAAe,EAAE,YAAY;mGAKpC,OAAO,eAAe,EAAE,YAAY,CAAC,CAAC,CAAC;8FAKvC,OAAO,WAAW,EAAE,cAAc,CAAC,CAAC,EAAE,OAAO,eAAe,EAAE,gBAAgB,GAAG,OAAO,eAAe,EAAE,cAAc,GAAG,OAAO,eAAe,EAAE,aAAa,GAAG,aAAa,CAAC,CAAC,CAAC"}
@@ -1,42 +1,58 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.LogMixin = LogMixin;
7
-
8
- require("source-map-support/register");
9
-
10
- var _lodash = _interopRequireDefault(require("lodash"));
11
-
12
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
-
2
+ /* eslint-disable require-await */
3
+ // @ts-check
4
+ var __importDefault = (this && this.__importDefault) || function (mod) {
5
+ return (mod && mod.__esModule) ? mod : { "default": mod };
6
+ };
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.LogMixin = void 0;
9
+ const lodash_1 = __importDefault(require("lodash"));
10
+ /**
11
+ * @template {Constraints} C
12
+ * @param {import('./find').FindBase<C>} Base
13
+ * @returns {LogBase<C>}
14
+ */
14
15
  function LogMixin(Base) {
15
- class LogCommands extends Base {
16
- constructor(...args) {
17
- super(...args);
18
- this.supportedLogTypes = this.supportedLogTypes ?? {};
19
- }
20
-
21
- async getLogTypes() {
22
- this.log.debug('Retrieving supported log types');
23
- return _lodash.default.keys(this.supportedLogTypes);
16
+ /**
17
+ * @implements {ILogCommands<C>}
18
+ */
19
+ class LogCommands extends Base {
20
+ constructor(...args) {
21
+ super(...args);
22
+ this.supportedLogTypes ?? (this.supportedLogTypes = {});
23
+ }
24
+ async getLogTypes() {
25
+ this.log.debug('Retrieving supported log types');
26
+ return Object.keys(this.supportedLogTypes);
27
+ }
28
+ /**
29
+ * @this {import('@appium/types').Driver<C>}
30
+ * @param {keyof typeof this.supportedLogTypes} logType
31
+ * @returns {Promise<import('type-fest').AsyncReturnType<typeof this.supportedLogTypes[keyof typeof this.supportedLogTypes]['getter']>>}
32
+ */
33
+ async getLog(logType) {
34
+ this.log.debug(`Retrieving '${String(logType)}' logs`);
35
+ if (!(logType in this.supportedLogTypes)) {
36
+ const logsTypesWithDescriptions = lodash_1.default.mapValues(this.supportedLogTypes, 'description');
37
+ throw new Error(`Unsupported log type '${String(logType)}'. ` +
38
+ `Supported types: ${JSON.stringify(logsTypesWithDescriptions)}`);
39
+ }
40
+ return await this.supportedLogTypes[logType].getter(this);
41
+ }
24
42
  }
25
-
26
- async getLog(logType) {
27
- this.log.debug(`Retrieving '${logType}' logs`);
28
-
29
- if (!(await this.getLogTypes()).includes(logType)) {
30
- const logsTypesWithDescriptions = _lodash.default.mapValues(this.supportedLogTypes, 'description');
31
-
32
- throw new Error(`Unsupported log type '${logType}'. ` + `Supported types: ${JSON.stringify(logsTypesWithDescriptions)}`);
33
- }
34
-
35
- return await this.supportedLogTypes[logType].getter(this);
36
- }
37
-
38
- }
39
-
40
- return LogCommands;
43
+ return LogCommands;
41
44
  }
42
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJMb2dNaXhpbiIsIkJhc2UiLCJMb2dDb21tYW5kcyIsImNvbnN0cnVjdG9yIiwiYXJncyIsInN1cHBvcnRlZExvZ1R5cGVzIiwiZ2V0TG9nVHlwZXMiLCJsb2ciLCJkZWJ1ZyIsIl8iLCJrZXlzIiwiZ2V0TG9nIiwibG9nVHlwZSIsImluY2x1ZGVzIiwibG9nc1R5cGVzV2l0aERlc2NyaXB0aW9ucyIsIm1hcFZhbHVlcyIsIkVycm9yIiwiSlNPTiIsInN0cmluZ2lmeSIsImdldHRlciJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9iYXNlZHJpdmVyL2NvbW1hbmRzL2xvZy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSByZXF1aXJlLWF3YWl0ICovXG4vLyBAdHMtY2hlY2tcblxuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcblxuLyoqXG4gKlxuICogQHBhcmFtIHtGaW5kQmFzZX0gQmFzZVxuICogQHJldHVybnMge0xvZ0Jhc2V9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2dNaXhpbihCYXNlKSB7XG4gIC8qKlxuICAgKiBAaW1wbGVtZW50cyB7SUxvZ0NvbW1hbmRzfVxuICAgKi9cbiAgY2xhc3MgTG9nQ29tbWFuZHMgZXh0ZW5kcyBCYXNlIHtcbiAgICBjb25zdHJ1Y3RvciguLi5hcmdzKSB7XG4gICAgICBzdXBlciguLi5hcmdzKTtcbiAgICAgIC8qKiBAdHlwZSB7UmVjb3JkPHN0cmluZywgTG9nVHlwZTxEcml2ZXI+Pn0gKi9cbiAgICAgIHRoaXMuc3VwcG9ydGVkTG9nVHlwZXMgPSB0aGlzLnN1cHBvcnRlZExvZ1R5cGVzID8/IHt9O1xuICAgIH1cblxuICAgIGFzeW5jIGdldExvZ1R5cGVzKCkge1xuICAgICAgdGhpcy5sb2cuZGVidWcoJ1JldHJpZXZpbmcgc3VwcG9ydGVkIGxvZyB0eXBlcycpO1xuICAgICAgcmV0dXJuIF8ua2V5cyh0aGlzLnN1cHBvcnRlZExvZ1R5cGVzKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAdGhpcyB7RHJpdmVyfVxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBsb2dUeXBlXG4gICAgICovXG4gICAgYXN5bmMgZ2V0TG9nKGxvZ1R5cGUpIHtcbiAgICAgIHRoaXMubG9nLmRlYnVnKGBSZXRyaWV2aW5nICcke2xvZ1R5cGV9JyBsb2dzYCk7XG5cbiAgICAgIGlmICghKGF3YWl0IHRoaXMuZ2V0TG9nVHlwZXMoKSkuaW5jbHVkZXMobG9nVHlwZSkpIHtcbiAgICAgICAgY29uc3QgbG9nc1R5cGVzV2l0aERlc2NyaXB0aW9ucyA9IF8ubWFwVmFsdWVzKHRoaXMuc3VwcG9ydGVkTG9nVHlwZXMsICdkZXNjcmlwdGlvbicpO1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgYFVuc3VwcG9ydGVkIGxvZyB0eXBlICcke2xvZ1R5cGV9Jy4gYCArXG4gICAgICAgICAgICBgU3VwcG9ydGVkIHR5cGVzOiAke0pTT04uc3RyaW5naWZ5KGxvZ3NUeXBlc1dpdGhEZXNjcmlwdGlvbnMpfWBcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuc3VwcG9ydGVkTG9nVHlwZXNbbG9nVHlwZV0uZ2V0dGVyKHRoaXMpO1xuICAgIH1cbiAgfVxuICByZXR1cm4gTG9nQ29tbWFuZHM7XG59XG5cbi8qKlxuICogQHR5cGVkZWYge2ltcG9ydCgnQGFwcGl1bS90eXBlcycpLkxvZ0NvbW1hbmRzfSBJTG9nQ29tbWFuZHNcbiAqIEB0eXBlZGVmIHtpbXBvcnQoJ0BhcHBpdW0vdHlwZXMnKS5Ecml2ZXJ9IERyaXZlclxuICogQHR5cGVkZWYge2ltcG9ydCgnLi9maW5kJykuRmluZEJhc2V9IEZpbmRCYXNlXG4gKiBAdHlwZWRlZiB7aW1wb3J0KCcuLi9kcml2ZXInKS5CYXNlRHJpdmVyQmFzZTxpbXBvcnQoJ0BhcHBpdW0vdHlwZXMnKS5UaW1lb3V0Q29tbWFuZHMgJiBpbXBvcnQoJ0BhcHBpdW0vdHlwZXMnKS5FdmVudENvbW1hbmRzICYgaW1wb3J0KCdAYXBwaXVtL3R5cGVzJykuRmluZENvbW1hbmRzICYgSUxvZ0NvbW1hbmRzPn0gTG9nQmFzZVxuICovXG5cbi8qKlxuICogQHRlbXBsYXRlIFRcbiAqIEB0eXBlZGVmIHtpbXBvcnQoJ0BhcHBpdW0vdHlwZXMnKS5Mb2dUeXBlPFQ+fSBMb2dUeXBlXG4gKi9cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBR0E7Ozs7QUFPTyxTQUFTQSxRQUFULENBQWtCQyxJQUFsQixFQUF3QjtFQUk3QixNQUFNQyxXQUFOLFNBQTBCRCxJQUExQixDQUErQjtJQUM3QkUsV0FBVyxDQUFDLEdBQUdDLElBQUosRUFBVTtNQUNuQixNQUFNLEdBQUdBLElBQVQ7TUFFQSxLQUFLQyxpQkFBTCxHQUF5QixLQUFLQSxpQkFBTCxJQUEwQixFQUFuRDtJQUNEOztJQUVnQixNQUFYQyxXQUFXLEdBQUc7TUFDbEIsS0FBS0MsR0FBTCxDQUFTQyxLQUFULENBQWUsZ0NBQWY7TUFDQSxPQUFPQyxlQUFBLENBQUVDLElBQUYsQ0FBTyxLQUFLTCxpQkFBWixDQUFQO0lBQ0Q7O0lBTVcsTUFBTk0sTUFBTSxDQUFDQyxPQUFELEVBQVU7TUFDcEIsS0FBS0wsR0FBTCxDQUFTQyxLQUFULENBQWdCLGVBQWNJLE9BQVEsUUFBdEM7O01BRUEsSUFBSSxDQUFDLENBQUMsTUFBTSxLQUFLTixXQUFMLEVBQVAsRUFBMkJPLFFBQTNCLENBQW9DRCxPQUFwQyxDQUFMLEVBQW1EO1FBQ2pELE1BQU1FLHlCQUF5QixHQUFHTCxlQUFBLENBQUVNLFNBQUYsQ0FBWSxLQUFLVixpQkFBakIsRUFBb0MsYUFBcEMsQ0FBbEM7O1FBQ0EsTUFBTSxJQUFJVyxLQUFKLENBQ0gseUJBQXdCSixPQUFRLEtBQWpDLEdBQ0csb0JBQW1CSyxJQUFJLENBQUNDLFNBQUwsQ0FBZUoseUJBQWYsQ0FBMEMsRUFGNUQsQ0FBTjtNQUlEOztNQUVELE9BQU8sTUFBTSxLQUFLVCxpQkFBTCxDQUF1Qk8sT0FBdkIsRUFBZ0NPLE1BQWhDLENBQXVDLElBQXZDLENBQWI7SUFDRDs7RUE1QjRCOztFQThCL0IsT0FBT2pCLFdBQVA7QUFDRCJ9
45
+ exports.LogMixin = LogMixin;
46
+ /**
47
+ * @typedef {import('@appium/types').Constraints} Constraints
48
+ * @typedef {import('@appium/types').StringRecord} StringRecord
49
+ */
50
+ /**
51
+ * @template {Constraints} C
52
+ * @typedef {import('@appium/types').ILogCommands<C>} ILogCommands
53
+ */
54
+ /**
55
+ * @template {Constraints} C
56
+ * @typedef {import('../driver').BaseDriverBase<C, import('@appium/types').ITimeoutCommands & import('@appium/types').IEventCommands & import('@appium/types').IFindCommands & ILogCommands<C>>} LogBase
57
+ */
58
+ //# sourceMappingURL=log.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"log.js","names":["LogMixin","Base","LogCommands","constructor","args","supportedLogTypes","getLogTypes","log","debug","_","keys","getLog","logType","includes","logsTypesWithDescriptions","mapValues","Error","JSON","stringify","getter"],"sources":["../../../../lib/basedriver/commands/log.js"],"sourcesContent":["/* eslint-disable require-await */\n// @ts-check\n\nimport _ from 'lodash';\n\n/**\n *\n * @param {FindBase} Base\n * @returns {LogBase}\n */\nexport function LogMixin(Base) {\n /**\n * @implements {ILogCommands}\n */\n class LogCommands extends Base {\n constructor(...args) {\n super(...args);\n /** @type {Record<string, LogType<Driver>>} */\n this.supportedLogTypes = this.supportedLogTypes ?? {};\n }\n\n async getLogTypes() {\n this.log.debug('Retrieving supported log types');\n return _.keys(this.supportedLogTypes);\n }\n\n /**\n * @this {Driver}\n * @param {string} logType\n */\n async getLog(logType) {\n this.log.debug(`Retrieving '${logType}' logs`);\n\n if (!(await this.getLogTypes()).includes(logType)) {\n const logsTypesWithDescriptions = _.mapValues(this.supportedLogTypes, 'description');\n throw new Error(\n `Unsupported log type '${logType}'. ` +\n `Supported types: ${JSON.stringify(logsTypesWithDescriptions)}`\n );\n }\n\n return await this.supportedLogTypes[logType].getter(this);\n }\n }\n return LogCommands;\n}\n\n/**\n * @typedef {import('@appium/types').LogCommands} ILogCommands\n * @typedef {import('@appium/types').Driver} Driver\n * @typedef {import('./find').FindBase} FindBase\n * @typedef {import('../driver').BaseDriverBase<import('@appium/types').TimeoutCommands & import('@appium/types').EventCommands & import('@appium/types').FindCommands & ILogCommands>} LogBase\n */\n\n/**\n * @template T\n * @typedef {import('@appium/types').LogType<T>} LogType\n */\n"],"mappings":";;;;;;;;;AAGA;;;;AAOO,SAASA,QAAT,CAAkBC,IAAlB,EAAwB;EAI7B,MAAMC,WAAN,SAA0BD,IAA1B,CAA+B;IAC7BE,WAAW,CAAC,GAAGC,IAAJ,EAAU;MACnB,MAAM,GAAGA,IAAT;MAEA,KAAKC,iBAAL,GAAyB,KAAKA,iBAAL,IAA0B,EAAnD;IACD;;IAEgB,MAAXC,WAAW,GAAG;MAClB,KAAKC,GAAL,CAASC,KAAT,CAAe,gCAAf;MACA,OAAOC,eAAA,CAAEC,IAAF,CAAO,KAAKL,iBAAZ,CAAP;IACD;;IAMW,MAANM,MAAM,CAACC,OAAD,EAAU;MACpB,KAAKL,GAAL,CAASC,KAAT,CAAgB,eAAcI,OAAQ,QAAtC;;MAEA,IAAI,CAAC,CAAC,MAAM,KAAKN,WAAL,EAAP,EAA2BO,QAA3B,CAAoCD,OAApC,CAAL,EAAmD;QACjD,MAAME,yBAAyB,GAAGL,eAAA,CAAEM,SAAF,CAAY,KAAKV,iBAAjB,EAAoC,aAApC,CAAlC;;QACA,MAAM,IAAIW,KAAJ,CACH,yBAAwBJ,OAAQ,KAAjC,GACG,oBAAmBK,IAAI,CAACC,SAAL,CAAeJ,yBAAf,CAA0C,EAF5D,CAAN;MAID;;MAED,OAAO,MAAM,KAAKT,iBAAL,CAAuBO,OAAvB,EAAgCO,MAAhC,CAAuC,IAAvC,CAAb;IACD;;EA5B4B;;EA8B/B,OAAOjB,WAAP;AACD"}
1
+ {"version":3,"file":"log.js","sourceRoot":"","sources":["../../../../lib/basedriver/commands/log.js"],"names":[],"mappings":";AAAA,kCAAkC;AAClC,YAAY;;;;;;AAEZ,oDAAuB;AAEvB;;;;GAIG;AACH,SAAgB,QAAQ,CAAC,IAAI;IAC3B;;OAEG;IACH,MAAM,WAAY,SAAQ,IAAI;QAI5B,YAAY,GAAG,IAAI;YACjB,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;YACf,IAAI,CAAC,iBAAiB,KAAtB,IAAI,CAAC,iBAAiB,GAAK,EAAE,EAAC;QAChC,CAAC;QAED,KAAK,CAAC,WAAW;YACf,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;YACjD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC7C,CAAC;QAED;;;;WAIG;QACH,KAAK,CAAC,MAAM,CAAC,OAAO;YAClB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAEvD,IAAI,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,iBAAiB,CAAC,EAAE;gBACxC,MAAM,yBAAyB,GAAG,gBAAC,CAAC,SAAS,CAAC,IAAI,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAC;gBACrF,MAAM,IAAI,KAAK,CACb,yBAAyB,MAAM,CAAC,OAAO,CAAC,KAAK;oBAC3C,oBAAoB,IAAI,CAAC,SAAS,CAAC,yBAAyB,CAAC,EAAE,CAClE,CAAC;aACH;YAED,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC5D,CAAC;KACF;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AAtCD,4BAsCC;AAED;;;GAGG;AAEH;;;GAGG;AAEH;;;GAGG"}
@@ -1,11 +1,12 @@
1
1
  /**
2
- * @param {SettingsBase} Base
3
- * @returns {SessionBase}
2
+ * @template {Constraints} C
3
+ * @param {import('./settings').SettingsBase<C>} Base
4
+ * @returns {SessionBase<C>}
4
5
  */
5
- export function SessionMixin(Base: SettingsBase): SessionBase;
6
- export type ISessionCommands = import('@appium/types').SessionCommands;
6
+ export function SessionMixin<C extends Readonly<Record<string, import("@appium/types").Constraint>>>(Base: import("./settings").SettingsBase<C>): SessionBase<C>;
7
+ export type ISessionCommands = import('@appium/types').ISessionCommands;
7
8
  export type SingularSessionData = import('@appium/types').SingularSessionData;
8
9
  export type MultiSessionData = import('@appium/types').MultiSessionData;
9
- export type SettingsBase = import('./settings').SettingsBase;
10
- export type SessionBase = import('../driver').BaseDriverBase<import('@appium/types').TimeoutCommands & import('@appium/types').EventCommands & import('@appium/types').FindCommands & import('@appium/types').LogCommands & import('@appium/types').SettingsCommands & ISessionCommands>;
10
+ export type Constraints = import('@appium/types').Constraints;
11
+ export type SessionBase<C extends Readonly<Record<string, import("@appium/types").Constraint>>> = import('../driver').BaseDriverBase<C, import('@appium/types').ITimeoutCommands & import('@appium/types').IEventCommands & import('@appium/types').IFindCommands & import('@appium/types').ILogCommands<C> & import('@appium/types').ISettingsCommands & ISessionCommands>;
11
12
  //# sourceMappingURL=session.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../../lib/basedriver/commands/session.js"],"names":[],"mappings":"AAKA;;;GAGG;AACH,mCAHW,YAAY,GACV,WAAW,CAmCvB;+BAGY,OAAO,eAAe,EAAE,eAAe;kCACvC,OAAO,eAAe,EAAE,mBAAmB;+BAC3C,OAAO,eAAe,EAAE,gBAAgB;2BACxC,OAAO,YAAY,EAAE,YAAY;0BACjC,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,OAAO,eAAe,EAAE,gBAAgB,GAAG,gBAAgB,CAAC"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../../lib/basedriver/commands/session.js"],"names":[],"mappings":"AAKA;;;;GAIG;AACH,iKAiCC;+BAGY,OAAO,eAAe,EAAE,gBAAgB;kCACxC,OAAO,eAAe,EAAE,mBAAmB;+BAC3C,OAAO,eAAe,EAAE,gBAAgB;0BACxC,OAAO,eAAe,EAAE,WAAW;kGAKnC,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,OAAO,eAAe,EAAE,iBAAiB,GAAG,gBAAgB,CAAC"}
@@ -1,43 +1,50 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.SessionMixin = SessionMixin;
7
-
8
- require("source-map-support/register");
9
-
10
- var _lodash = _interopRequireDefault(require("lodash"));
11
-
12
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
-
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SessionMixin = void 0;
4
+ /**
5
+ * @template {Constraints} C
6
+ * @param {import('./settings').SettingsBase<C>} Base
7
+ * @returns {SessionBase<C>}
8
+ */
14
9
  function SessionMixin(Base) {
15
- class SessionCommands extends Base {
16
- async getSessions() {
17
- let ret = [];
18
-
19
- if (this.sessionId) {
20
- ret.push({
21
- id: this.sessionId,
22
- capabilities: this.caps
23
- });
24
- }
25
-
26
- return ret;
27
- }
28
-
29
- async getSession() {
30
- if (this.caps.eventTimings) {
31
- return { ...this.caps,
32
- events: this.eventHistory
33
- };
34
- }
35
-
36
- return this.caps;
10
+ /**
11
+ * @implements {ISessionCommands}
12
+ */
13
+ class SessionCommands extends Base {
14
+ /**
15
+ * @returns {Promise<MultiSessionData[]>}
16
+ */
17
+ async getSessions() {
18
+ let ret = [];
19
+ if (this.sessionId) {
20
+ ret.push({
21
+ id: this.sessionId,
22
+ capabilities: this.caps,
23
+ });
24
+ }
25
+ return ret;
26
+ }
27
+ /**
28
+ * @returns {Promise<SingularSessionData>}
29
+ */
30
+ async getSession() {
31
+ if (this.caps.eventTimings) {
32
+ return { ...this.caps, events: this.eventHistory };
33
+ }
34
+ return this.caps;
35
+ }
37
36
  }
38
-
39
- }
40
-
41
- return SessionCommands;
37
+ return SessionCommands;
42
38
  }
43
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTZXNzaW9uTWl4aW4iLCJCYXNlIiwiU2Vzc2lvbkNvbW1hbmRzIiwiZ2V0U2Vzc2lvbnMiLCJyZXQiLCJzZXNzaW9uSWQiLCJwdXNoIiwiaWQiLCJjYXBhYmlsaXRpZXMiLCJjYXBzIiwiZ2V0U2Vzc2lvbiIsImV2ZW50VGltaW5ncyIsImV2ZW50cyIsImV2ZW50SGlzdG9yeSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9iYXNlZHJpdmVyL2NvbW1hbmRzL3Nlc3Npb24uanMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tdW51c2VkLXZhcnMgKi9cbi8qIGVzbGludC1kaXNhYmxlIHJlcXVpcmUtYXdhaXQgKi9cbi8vIEB0cy1jaGVja1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcblxuLyoqXG4gKiBAcGFyYW0ge1NldHRpbmdzQmFzZX0gQmFzZVxuICogQHJldHVybnMge1Nlc3Npb25CYXNlfVxuICovXG5leHBvcnQgZnVuY3Rpb24gU2Vzc2lvbk1peGluKEJhc2UpIHtcbiAgLyoqXG4gICAqIEBpbXBsZW1lbnRzIHtJU2Vzc2lvbkNvbW1hbmRzfVxuICAgKi9cbiAgY2xhc3MgU2Vzc2lvbkNvbW1hbmRzIGV4dGVuZHMgQmFzZSB7XG4gICAgLyoqXG4gICAgICogQHJldHVybnMge1Byb21pc2U8TXVsdGlTZXNzaW9uRGF0YVtdPn1cbiAgICAgKi9cbiAgICBhc3luYyBnZXRTZXNzaW9ucygpIHtcbiAgICAgIGxldCByZXQgPSBbXTtcblxuICAgICAgaWYgKHRoaXMuc2Vzc2lvbklkKSB7XG4gICAgICAgIHJldC5wdXNoKHtcbiAgICAgICAgICBpZDogdGhpcy5zZXNzaW9uSWQsXG4gICAgICAgICAgY2FwYWJpbGl0aWVzOiB0aGlzLmNhcHMsXG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmV0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEByZXR1cm5zIHtQcm9taXNlPFNpbmd1bGFyU2Vzc2lvbkRhdGE+fVxuICAgICAqL1xuICAgIGFzeW5jIGdldFNlc3Npb24oKSB7XG4gICAgICBpZiAodGhpcy5jYXBzLmV2ZW50VGltaW5ncykge1xuICAgICAgICByZXR1cm4gey4uLnRoaXMuY2FwcywgZXZlbnRzOiB0aGlzLmV2ZW50SGlzdG9yeX07XG4gICAgICB9XG4gICAgICByZXR1cm4gdGhpcy5jYXBzO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBTZXNzaW9uQ29tbWFuZHM7XG59XG5cbi8qKlxuICogQHR5cGVkZWYge2ltcG9ydCgnQGFwcGl1bS90eXBlcycpLlNlc3Npb25Db21tYW5kc30gSVNlc3Npb25Db21tYW5kc1xuICogQHR5cGVkZWYge2ltcG9ydCgnQGFwcGl1bS90eXBlcycpLlNpbmd1bGFyU2Vzc2lvbkRhdGF9IFNpbmd1bGFyU2Vzc2lvbkRhdGFcbiAqIEB0eXBlZGVmIHtpbXBvcnQoJ0BhcHBpdW0vdHlwZXMnKS5NdWx0aVNlc3Npb25EYXRhfSBNdWx0aVNlc3Npb25EYXRhXG4gKiBAdHlwZWRlZiB7aW1wb3J0KCcuL3NldHRpbmdzJykuU2V0dGluZ3NCYXNlfSBTZXR0aW5nc0Jhc2VcbiAqIEB0eXBlZGVmIHtpbXBvcnQoJy4uL2RyaXZlcicpLkJhc2VEcml2ZXJCYXNlPGltcG9ydCgnQGFwcGl1bS90eXBlcycpLlRpbWVvdXRDb21tYW5kcyAmIGltcG9ydCgnQGFwcGl1bS90eXBlcycpLkV2ZW50Q29tbWFuZHMgJiBpbXBvcnQoJ0BhcHBpdW0vdHlwZXMnKS5GaW5kQ29tbWFuZHMgJiBpbXBvcnQoJ0BhcHBpdW0vdHlwZXMnKS5Mb2dDb21tYW5kcyAmIGltcG9ydCgnQGFwcGl1bS90eXBlcycpLlNldHRpbmdzQ29tbWFuZHMgJiBJU2Vzc2lvbkNvbW1hbmRzPn0gU2Vzc2lvbkJhc2VcbiAqL1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFHQTs7OztBQU1PLFNBQVNBLFlBQVQsQ0FBc0JDLElBQXRCLEVBQTRCO0VBSWpDLE1BQU1DLGVBQU4sU0FBOEJELElBQTlCLENBQW1DO0lBSWhCLE1BQVhFLFdBQVcsR0FBRztNQUNsQixJQUFJQyxHQUFHLEdBQUcsRUFBVjs7TUFFQSxJQUFJLEtBQUtDLFNBQVQsRUFBb0I7UUFDbEJELEdBQUcsQ0FBQ0UsSUFBSixDQUFTO1VBQ1BDLEVBQUUsRUFBRSxLQUFLRixTQURGO1VBRVBHLFlBQVksRUFBRSxLQUFLQztRQUZaLENBQVQ7TUFJRDs7TUFFRCxPQUFPTCxHQUFQO0lBQ0Q7O0lBS2UsTUFBVk0sVUFBVSxHQUFHO01BQ2pCLElBQUksS0FBS0QsSUFBTCxDQUFVRSxZQUFkLEVBQTRCO1FBQzFCLE9BQU8sRUFBQyxHQUFHLEtBQUtGLElBQVQ7VUFBZUcsTUFBTSxFQUFFLEtBQUtDO1FBQTVCLENBQVA7TUFDRDs7TUFDRCxPQUFPLEtBQUtKLElBQVo7SUFDRDs7RUF6QmdDOztFQTRCbkMsT0FBT1AsZUFBUDtBQUNEIn0=
39
+ exports.SessionMixin = SessionMixin;
40
+ /**
41
+ * @typedef {import('@appium/types').ISessionCommands} ISessionCommands
42
+ * @typedef {import('@appium/types').SingularSessionData} SingularSessionData
43
+ * @typedef {import('@appium/types').MultiSessionData} MultiSessionData
44
+ * @typedef {import('@appium/types').Constraints} Constraints
45
+ */
46
+ /**
47
+ * @template {Constraints} C
48
+ * @typedef {import('../driver').BaseDriverBase<C, import('@appium/types').ITimeoutCommands & import('@appium/types').IEventCommands & import('@appium/types').IFindCommands & import('@appium/types').ILogCommands<C> & import('@appium/types').ISettingsCommands & ISessionCommands>} SessionBase
49
+ */
50
+ //# sourceMappingURL=session.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","names":["SessionMixin","Base","SessionCommands","getSessions","ret","sessionId","push","id","capabilities","caps","getSession","eventTimings","events","eventHistory"],"sources":["../../../../lib/basedriver/commands/session.js"],"sourcesContent":["/* eslint-disable no-unused-vars */\n/* eslint-disable require-await */\n// @ts-check\nimport _ from 'lodash';\n\n/**\n * @param {SettingsBase} Base\n * @returns {SessionBase}\n */\nexport function SessionMixin(Base) {\n /**\n * @implements {ISessionCommands}\n */\n class SessionCommands extends Base {\n /**\n * @returns {Promise<MultiSessionData[]>}\n */\n async getSessions() {\n let ret = [];\n\n if (this.sessionId) {\n ret.push({\n id: this.sessionId,\n capabilities: this.caps,\n });\n }\n\n return ret;\n }\n\n /**\n * @returns {Promise<SingularSessionData>}\n */\n async getSession() {\n if (this.caps.eventTimings) {\n return {...this.caps, events: this.eventHistory};\n }\n return this.caps;\n }\n }\n\n return SessionCommands;\n}\n\n/**\n * @typedef {import('@appium/types').SessionCommands} ISessionCommands\n * @typedef {import('@appium/types').SingularSessionData} SingularSessionData\n * @typedef {import('@appium/types').MultiSessionData} MultiSessionData\n * @typedef {import('./settings').SettingsBase} SettingsBase\n * @typedef {import('../driver').BaseDriverBase<import('@appium/types').TimeoutCommands & import('@appium/types').EventCommands & import('@appium/types').FindCommands & import('@appium/types').LogCommands & import('@appium/types').SettingsCommands & ISessionCommands>} SessionBase\n */\n"],"mappings":";;;;;;;;;AAGA;;;;AAMO,SAASA,YAAT,CAAsBC,IAAtB,EAA4B;EAIjC,MAAMC,eAAN,SAA8BD,IAA9B,CAAmC;IAIhB,MAAXE,WAAW,GAAG;MAClB,IAAIC,GAAG,GAAG,EAAV;;MAEA,IAAI,KAAKC,SAAT,EAAoB;QAClBD,GAAG,CAACE,IAAJ,CAAS;UACPC,EAAE,EAAE,KAAKF,SADF;UAEPG,YAAY,EAAE,KAAKC;QAFZ,CAAT;MAID;;MAED,OAAOL,GAAP;IACD;;IAKe,MAAVM,UAAU,GAAG;MACjB,IAAI,KAAKD,IAAL,CAAUE,YAAd,EAA4B;QAC1B,OAAO,EAAC,GAAG,KAAKF,IAAT;UAAeG,MAAM,EAAE,KAAKC;QAA5B,CAAP;MACD;;MACD,OAAO,KAAKJ,IAAZ;IACD;;EAzBgC;;EA4BnC,OAAOP,eAAP;AACD"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../../../lib/basedriver/commands/session.js"],"names":[],"mappings":";;;AAKA;;;;GAIG;AACH,SAAgB,YAAY,CAAC,IAAI;IAC/B;;OAEG;IACH,MAAM,eAAgB,SAAQ,IAAI;QAChC;;WAEG;QACH,KAAK,CAAC,WAAW;YACf,IAAI,GAAG,GAAG,EAAE,CAAC;YAEb,IAAI,IAAI,CAAC,SAAS,EAAE;gBAClB,GAAG,CAAC,IAAI,CAAC;oBACP,EAAE,EAAE,IAAI,CAAC,SAAS;oBAClB,YAAY,EAAE,IAAI,CAAC,IAAI;iBACxB,CAAC,CAAC;aACJ;YAED,OAAO,GAAG,CAAC;QACb,CAAC;QAED;;WAEG;QACH,KAAK,CAAC,UAAU;YACd,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;gBAC1B,OAAO,EAAC,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,YAAY,EAAC,CAAC;aAClD;YACD,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;KACF;IAED,OAAO,eAAe,CAAC;AACzB,CAAC;AAjCD,oCAiCC;AAED;;;;;GAKG;AAEH;;;GAGG"}
@@ -1,10 +1,10 @@
1
1
  /**
2
- *
3
- * @param {ReturnType<import('./log').LogMixin>} Base
4
- * @returns {SettingsBase}
2
+ * @template {Constraints} C
3
+ * @param {import('./log').LogBase<C>} Base
4
+ * @returns {SettingsBase<C>}
5
5
  */
6
- export function SettingsMixin(Base: ReturnType<typeof import("./log").LogMixin>): SettingsBase;
7
- export type ISettingsCommands = import('@appium/types').SettingsCommands;
8
- export type LogBase = import('./log').LogBase;
9
- export type SettingsBase = import('../driver').BaseDriverBase<import('@appium/types').TimeoutCommands & import('@appium/types').EventCommands & import('@appium/types').FindCommands & import('@appium/types').LogCommands & ISettingsCommands>;
6
+ export function SettingsMixin<C extends Readonly<Record<string, import("@appium/types").Constraint>>>(Base: import("./log").LogBase<C>): SettingsBase<C>;
7
+ export type Constraints = import('@appium/types').Constraints;
8
+ export type ISettingsCommands = import('@appium/types').ISettingsCommands;
9
+ export type SettingsBase<C extends Readonly<Record<string, import("@appium/types").Constraint>>> = import('../driver').BaseDriverBase<C, import('@appium/types').ITimeoutCommands & import('@appium/types').IEventCommands & import('@appium/types').IFindCommands & import('@appium/types').ILogCommands<C> & ISettingsCommands>;
10
10
  //# sourceMappingURL=settings.d.ts.map