@appium/fake-driver 5.2.0 → 5.2.2

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 (65) hide show
  1. package/LICENSE +1 -1
  2. package/build/lib/commands/alert.d.ts +12 -40
  3. package/build/lib/commands/alert.d.ts.map +1 -1
  4. package/build/lib/commands/alert.js +3 -23
  5. package/build/lib/commands/alert.js.map +1 -1
  6. package/build/lib/commands/contexts.d.ts +12 -42
  7. package/build/lib/commands/contexts.d.ts.map +1 -1
  8. package/build/lib/commands/contexts.js +8 -28
  9. package/build/lib/commands/contexts.js.map +1 -1
  10. package/build/lib/commands/element.d.ts +25 -74
  11. package/build/lib/commands/element.d.ts.map +1 -1
  12. package/build/lib/commands/element.js +24 -76
  13. package/build/lib/commands/element.js.map +1 -1
  14. package/build/lib/commands/find.d.ts +16 -44
  15. package/build/lib/commands/find.d.ts.map +1 -1
  16. package/build/lib/commands/find.js +21 -45
  17. package/build/lib/commands/find.js.map +1 -1
  18. package/build/lib/commands/general.d.ts +25 -88
  19. package/build/lib/commands/general.d.ts.map +1 -1
  20. package/build/lib/commands/general.js +3 -61
  21. package/build/lib/commands/general.js.map +1 -1
  22. package/build/lib/commands/index.d.ts +13 -5
  23. package/build/lib/commands/index.d.ts.map +1 -1
  24. package/build/lib/commands/index.js +13 -14
  25. package/build/lib/commands/index.js.map +1 -1
  26. package/build/lib/commands/mixin.d.ts +11 -0
  27. package/build/lib/commands/mixin.d.ts.map +1 -0
  28. package/build/lib/commands/mixin.js +17 -0
  29. package/build/lib/commands/mixin.js.map +1 -0
  30. package/build/lib/driver.d.ts +37 -111
  31. package/build/lib/driver.d.ts.map +1 -1
  32. package/build/lib/driver.js +11 -73
  33. package/build/lib/driver.js.map +1 -1
  34. package/build/lib/fake-app.d.ts +9 -7
  35. package/build/lib/fake-app.d.ts.map +1 -1
  36. package/build/lib/fake-app.js +2 -0
  37. package/build/lib/fake-app.js.map +1 -1
  38. package/build/lib/fake-element.d.ts +12 -4
  39. package/build/lib/fake-element.d.ts.map +1 -1
  40. package/build/lib/fake-element.js +11 -4
  41. package/build/lib/fake-element.js.map +1 -1
  42. package/build/lib/scripts/fake-error.d.ts +1 -0
  43. package/build/lib/scripts/fake-error.js +11 -1
  44. package/build/lib/scripts/fake-error.js.map +1 -1
  45. package/build/lib/scripts/fake-stdin.d.ts +2 -0
  46. package/build/lib/scripts/fake-stdin.d.ts.map +1 -0
  47. package/build/lib/scripts/fake-stdin.js +13 -0
  48. package/build/lib/scripts/fake-stdin.js.map +1 -0
  49. package/lib/commands/alert.ts +70 -0
  50. package/lib/commands/{contexts.js → contexts.ts} +26 -34
  51. package/lib/commands/element.ts +138 -0
  52. package/lib/commands/find.ts +137 -0
  53. package/lib/commands/general.ts +115 -0
  54. package/lib/commands/{index.js → index.ts} +14 -5
  55. package/lib/commands/mixin.ts +13 -0
  56. package/lib/driver.js +41 -78
  57. package/lib/fake-app.js +3 -3
  58. package/lib/fake-element.js +21 -6
  59. package/lib/scripts/fake-error.js +8 -1
  60. package/lib/scripts/fake-stdin.js +9 -0
  61. package/package.json +4 -3
  62. package/lib/commands/alert.js +0 -73
  63. package/lib/commands/element.js +0 -161
  64. package/lib/commands/find.js +0 -118
  65. package/lib/commands/general.js +0 -147
@@ -1,46 +1,18 @@
1
- declare namespace _default {
2
- /**
3
- * @this {FakeDriver}
4
- */
5
- function getExistingElementForNode(this: import("../driver").FakeDriver, node: any): string | null;
6
- /**
7
- * @this {FakeDriver}
8
- */
9
- function wrapNewEl(this: import("../driver").FakeDriver, obj: any): {
10
- ELEMENT: string;
11
- };
12
- /**
13
- * @template {boolean} Mult
14
- * @template [Ctx=any]
15
- * @param {string} strategy
16
- * @param {string} selector
17
- * @param {Mult} mult
18
- * @param {Ctx} [context]
19
- * @returns {Promise<Mult extends true ? Element[] : Element>}
20
- * @this {FakeDriver}
21
- */
22
- function findElOrEls<Mult extends boolean, Ctx = any>(this: import("../driver").FakeDriver, strategy: string, selector: string, mult: Mult, context?: Ctx | undefined): Promise<Mult extends true ? import("@appium/types").Element<string>[] : import("@appium/types").Element<string>>;
23
- /**
24
- * This should override whatever's in ExternalDriver
25
- * @param {string} strategy Strategy
26
- * @param {string} selector Selector
27
- * @this {FakeDriver}
28
- */
29
- function findElement(this: import("../driver").FakeDriver, strategy: string, selector: string): Promise<import("@appium/types").Element<string>>;
30
- /**
31
- * @this {FakeDriver}
32
- */
33
- function findElements(this: import("../driver").FakeDriver, strategy: any, selector: any): Promise<import("@appium/types").Element<string>[]>;
34
- /**
35
- * @this {FakeDriver}
36
- */
37
- function findElementFromElement(this: import("../driver").FakeDriver, strategy: any, selector: any, elementId: any): Promise<import("@appium/types").Element<string>>;
38
- /**
39
- * @this {FakeDriver}
40
- */
41
- function findElementsFromElement(this: import("../driver").FakeDriver, strategy: any, selector: any, elementId: any): Promise<import("@appium/types").Element<string>[]>;
1
+ import { Element } from '@appium/types';
2
+ import { FakeElement } from '../fake-element';
3
+ import { FakeDriver } from '../driver';
4
+ interface FakeDriverFindMixin {
5
+ getExistingElementForNode(node: FakeElement): string | null;
6
+ wrapNewEl(obj: FakeElement): Element;
7
+ findElOrEls<Many extends boolean, Ctx = any>(this: FakeDriver, strategy: string, selector: string, many: Many, context?: Ctx): Promise<Many extends true ? Element[] : Element>;
8
+ findElement(strategy: string, selector: string): Promise<Element>;
9
+ findElements(strategy: string, selector: string): Promise<Element[]>;
10
+ findElementFromElement(elementId: string, strategy: string, selector: string): Promise<Element>;
11
+ findElementsFromElement(elementId: string, strategy: string, selector: string): Promise<Element[]>;
42
12
  }
43
- export default _default;
44
- export type Element = import('@appium/types').Element;
45
- export type FakeDriver = import('../driver').FakeDriver;
13
+ declare module '../driver' {
14
+ interface FakeDriver extends FakeDriverFindMixin {
15
+ }
16
+ }
17
+ export {};
46
18
  //# sourceMappingURL=find.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"find.d.ts","sourceRoot":"","sources":["../../../lib/commands/find.js"],"names":[],"mappings":";IAKE;;OAEG;IACH,mGAOC;IAED;;OAEG;IACH;;MAWC;IAED;;;;;;;;;OASG;IACH,yRAmCC;IAED;;;;;OAKG;IACH,iJAEC;IAED;;OAEG;IACH,8IAEC;IAED;;OAEG;IACH,sKAGC;IAED;;OAEG;IACH,yKAGC;;;sBAIU,OAAO,eAAe,EAAE,OAAO;yBAC/B,OAAO,WAAW,EAAE,UAAU"}
1
+ {"version":3,"file":"find.d.ts","sourceRoot":"","sources":["../../../lib/commands/find.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;AAEtC,OAAO,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAC,UAAU,EAAC,MAAM,WAAW,CAAC;AAKrC,UAAU,mBAAmB;IAC3B,yBAAyB,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,GAAG,IAAI,CAAC;IAC5D,SAAS,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC;IAErC,WAAW,CAAC,IAAI,SAAS,OAAO,EAAE,GAAG,GAAG,GAAG,EACzC,IAAI,EAAE,UAAU,EAChB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,IAAI,EACV,OAAO,CAAC,EAAE,GAAG,GACZ,OAAO,CAAC,IAAI,SAAS,IAAI,GAAG,OAAO,EAAE,GAAG,OAAO,CAAC,CAAC;IACpD,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAClE,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IACrE,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAChG,uBAAuB,CACrB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;CACvB;AAED,OAAO,QAAQ,WAAW,CAAC;IACzB,UAAU,UAAW,SAAQ,mBAAmB;KAAG;CACpD"}
@@ -6,44 +6,32 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const lodash_1 = __importDefault(require("lodash"));
7
7
  const driver_1 = require("appium/driver");
8
8
  const fake_element_1 = require("../fake-element");
9
- exports.default = {
10
- /**
11
- * @this {FakeDriver}
12
- */
9
+ const support_1 = require("@appium/support");
10
+ const mixin_1 = require("./mixin");
11
+ const { W3C_WEB_ELEMENT_IDENTIFIER } = support_1.util;
12
+ const FindMixin = {
13
13
  getExistingElementForNode(node) {
14
- for (let [id, el] of lodash_1.default.toPairs(this.elMap)) {
14
+ for (const [id, el] of lodash_1.default.toPairs(this.elMap)) {
15
15
  if (el.node === node) {
16
16
  return id;
17
17
  }
18
18
  }
19
19
  return null;
20
20
  },
21
- /**
22
- * @this {FakeDriver}
23
- */
24
21
  wrapNewEl(obj) {
25
22
  // first check and see if we already have a ref to this element
26
- let existingElId = this.getExistingElementForNode(obj);
23
+ const existingElId = this.getExistingElementForNode(obj);
27
24
  if (existingElId) {
28
- return { ELEMENT: existingElId };
25
+ return { ELEMENT: existingElId, [W3C_WEB_ELEMENT_IDENTIFIER]: existingElId };
29
26
  }
30
27
  // otherwise add the element to the map
31
28
  this.maxElId++;
32
- this.elMap[this.maxElId.toString()] = new fake_element_1.FakeElement(obj, this.appModel);
33
- return { ELEMENT: this.maxElId.toString() };
29
+ const maxElId = this.maxElId.toString();
30
+ this.elMap[maxElId] = new fake_element_1.FakeElement(obj, this.appModel);
31
+ return { ELEMENT: maxElId, [W3C_WEB_ELEMENT_IDENTIFIER]: maxElId };
34
32
  },
35
- /**
36
- * @template {boolean} Mult
37
- * @template [Ctx=any]
38
- * @param {string} strategy
39
- * @param {string} selector
40
- * @param {Mult} mult
41
- * @param {Ctx} [context]
42
- * @returns {Promise<Mult extends true ? Element[] : Element>}
43
- * @this {FakeDriver}
44
- */
45
- async findElOrEls(strategy, selector, mult, context) {
46
- let qMap = {
33
+ async findElOrEls(strategy, selector, many, context) {
34
+ const qMap = {
47
35
  xpath: 'xpathQuery',
48
36
  id: 'idQuery',
49
37
  'accessibility id': 'idQuery',
@@ -58,12 +46,12 @@ exports.default = {
58
46
  if (selector === 'badsel') {
59
47
  throw new driver_1.errors.InvalidSelectorError();
60
48
  }
61
- let els = this.appModel[qMap[strategy]](selector, context);
49
+ const els = this.appModel[qMap[strategy]](selector, context);
62
50
  let retval;
63
51
  if (els.length) {
64
- if (mult) {
65
- let allEls = [];
66
- for (let el of els) {
52
+ if (many) {
53
+ const allEls = [];
54
+ for (const el of els) {
67
55
  allEls.push(this.wrapNewEl(el));
68
56
  }
69
57
  retval = allEls;
@@ -72,13 +60,13 @@ exports.default = {
72
60
  retval = this.wrapNewEl(els[0]);
73
61
  }
74
62
  }
75
- else if (mult) {
63
+ else if (many) {
76
64
  retval = [];
77
65
  }
78
66
  else {
79
67
  throw new driver_1.errors.NoSuchElementError();
80
68
  }
81
- return /** @type {Mult extends true ? Element[] : Element} */ (retval);
69
+ return retval;
82
70
  },
83
71
  /**
84
72
  * This should override whatever's in ExternalDriver
@@ -89,29 +77,17 @@ exports.default = {
89
77
  async findElement(strategy, selector) {
90
78
  return this.findElOrEls(strategy, selector, false);
91
79
  },
92
- /**
93
- * @this {FakeDriver}
94
- */
95
80
  async findElements(strategy, selector) {
96
81
  return this.findElOrEls(strategy, selector, true);
97
82
  },
98
- /**
99
- * @this {FakeDriver}
100
- */
101
83
  async findElementFromElement(strategy, selector, elementId) {
102
- let el = this.getElement(elementId);
84
+ const el = this.getElement(elementId);
103
85
  return this.findElOrEls(strategy, selector, false, el.xmlFragment);
104
86
  },
105
- /**
106
- * @this {FakeDriver}
107
- */
108
87
  async findElementsFromElement(strategy, selector, elementId) {
109
- let el = this.getElement(elementId);
88
+ const el = this.getElement(elementId);
110
89
  return this.findElOrEls(strategy, selector, true, el.xmlFragment);
111
90
  },
112
91
  };
113
- /**
114
- * @typedef {import('@appium/types').Element} Element
115
- * @typedef {import('../driver').FakeDriver} FakeDriver
116
- */
92
+ (0, mixin_1.mixin)(FindMixin);
117
93
  //# sourceMappingURL=find.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"find.js","sourceRoot":"","sources":["../../../lib/commands/find.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"find.js","sourceRoot":"","sources":["../../../lib/commands/find.ts"],"names":[],"mappings":"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"}
@@ -1,90 +1,27 @@
1
- declare namespace _default {
2
- /**
3
- * @this {FakeDriver}
4
- */
5
- function title(this: import("../driver").FakeDriver): Promise<any>;
6
- /**
7
- * @this {FakeDriver}
8
- */
9
- function keys(this: import("../driver").FakeDriver, value: any): Promise<void>;
10
- /**
11
- * @this {FakeDriver}
12
- */
13
- function setGeoLocation(this: import("../driver").FakeDriver, location: any): Promise<void>;
14
- /**
15
- * @this {FakeDriver}
16
- */
17
- function getGeoLocation(this: import("../driver").FakeDriver): Promise<import("../../../types/build/lib").Location>;
18
- /**
19
- * @this {FakeDriver}
20
- */
21
- function getPageSource(this: import("../driver").FakeDriver): Promise<string>;
22
- /**
23
- * @this {FakeDriver}
24
- */
25
- function getOrientation(this: import("../driver").FakeDriver): Promise<string>;
26
- /**
27
- *
28
- * @param {import('../types').FakeDriverCaps['orientation']} o
29
- * @this {FakeDriver}
30
- */
31
- function setOrientation(this: import("../driver").FakeDriver, o: any): Promise<void>;
32
- /**
33
- * @this {FakeDriver}
34
- */
35
- function getScreenshot(this: import("../driver").FakeDriver): Promise<string>;
36
- /**
37
- * @this {FakeDriver}
38
- */
39
- function getWindowSize(this: import("../driver").FakeDriver): Promise<{
40
- width: number;
41
- height: number;
42
- }>;
43
- /**
44
- * @this {FakeDriver}
45
- */
46
- function getWindowRect(this: import("../driver").FakeDriver): Promise<{
47
- width: number;
48
- height: number;
49
- x: number;
50
- y: number;
51
- }>;
52
- /**
53
- *
54
- * @this {FakeDriver}
55
- */
56
- function performActions(this: import("../driver").FakeDriver, actions: any): Promise<void>;
57
- /**
58
- * @this {FakeDriver}
59
- */
60
- function releaseActions(this: import("../driver").FakeDriver): Promise<void>;
61
- /**
62
- * @this {FakeDriver}
63
- */
64
- function getLog(this: import("../driver").FakeDriver, type: any): Promise<any[]>;
65
- /**
66
- * @this {FakeDriver}
67
- */
68
- function mobileShake(this: import("../driver").FakeDriver): Promise<void>;
69
- /**
70
- * @this {FakeDriver}
71
- */
72
- function doubleClick(this: import("../driver").FakeDriver): Promise<void>;
73
- /**
74
- * @this {FakeDriver}
75
- */
76
- function execute(this: import("../driver").FakeDriver, script: any, args: any): Promise<any>;
77
- /**
78
- * Add two or maybe even three numbers
79
- *
80
- * @param {number} num1
81
- * @param {number} num2
82
- * @param {number} [num3]
83
- * @returns {Promise<number>}
84
- * @this {FakeDriver}
85
- */
86
- function fakeAddition(this: import("../driver").FakeDriver, num1: number, num2: number, num3?: number | undefined): Promise<number>;
1
+ import { ActionSequence, Location, Rect, Size } from '@appium/types';
2
+ import { Orientation } from '../driver';
3
+ interface FakeDriverGeneralMixin {
4
+ title(): Promise<string>;
5
+ keys(value: string | string[]): Promise<void>;
6
+ setGeoLocation(location: Location): Promise<void>;
7
+ getGeoLocation(): Promise<Location>;
8
+ getPageSource(): Promise<string>;
9
+ getOrientation(): Promise<string>;
10
+ setOrientation(orientation: Orientation): Promise<void>;
11
+ getScreenshot(): Promise<string>;
12
+ getWindowSize(): Promise<Size>;
13
+ getWindowRect(): Promise<Rect>;
14
+ performActions(actions: ActionSequence[]): Promise<void>;
15
+ releaseActions(): Promise<void>;
16
+ mobileShake(): Promise<void>;
17
+ doubleClick(): Promise<void>;
18
+ execute(script: string, args: any[]): Promise<any>;
19
+ fakeAddition(a: number, b: number, c?: number): Promise<number>;
20
+ getLog(type: string): Promise<unknown[]>;
87
21
  }
88
- export default _default;
89
- export type FakeDriver = import('../driver').FakeDriver;
22
+ declare module '../driver' {
23
+ interface FakeDriver extends FakeDriverGeneralMixin {
24
+ }
25
+ }
26
+ export {};
90
27
  //# sourceMappingURL=general.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"general.d.ts","sourceRoot":"","sources":["../../../lib/commands/general.js"],"names":[],"mappings":";IAKE;;OAEG;IACH,mEAGC;IAED;;OAEG;IACH,+EAKC;IAED;;OAEG;IACH,4FAIC;IAED;;OAEG;IACH,oHAEC;IAED;;OAEG;IACH,8EAEC;IAED;;OAEG;IACH,+EAEC;IAED;;;;OAIG;IACH,qFAKC;IAED;;OAEG;IACH,8EAEC;IAED;;OAEG;IACH;;;OAEC;IAED;;OAEG;IACH;;;;;OAEC;IAED;;;OAGG;IACH,2FAEC;IAED;;OAEG;IACH,6EAAyB;IAEzB;;OAEG;IACH,iFAOC;IAED;;OAEG;IACH,0EAEC;IAED;;OAEG;IACH,0EAAsB;IAEtB;;OAEG;IACH,6FAEC;IAED;;;;;;;;OAQG;IACH,oIAEC;;;yBAIU,OAAO,WAAW,EAAE,UAAU"}
1
+ {"version":3,"file":"general.d.ts","sourceRoot":"","sources":["../../../lib/commands/general.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAC,MAAM,eAAe,CAAC;AAEnE,OAAO,EAAa,WAAW,EAAC,MAAM,WAAW,CAAC;AAKlD,UAAU,sBAAsB;IAC9B,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACzB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,cAAc,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,cAAc,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC;IACpC,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACjC,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAClC,cAAc,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACjC,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,cAAc,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzD,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACnD,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAChE,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;CAC1C;AAED,OAAO,QAAQ,WAAW,CAAC;IACzB,UAAU,UAAW,SAAQ,sBAAsB;KAAG;CACvD"}
@@ -1,93 +1,52 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const driver_1 = require("appium/driver");
4
+ const mixin_1 = require("./mixin");
4
5
  const ORIENTATIONS = new Set(['LANDSCAPE', 'PORTRAIT']);
5
- exports.default = {
6
- /**
7
- * @this {FakeDriver}
8
- */
6
+ const GeneralMixin = {
9
7
  async title() {
10
8
  this.assertWebviewContext();
11
9
  return this.appModel.title;
12
10
  },
13
- /**
14
- * @this {FakeDriver}
15
- */
16
11
  async keys(value) {
17
12
  if (!this.focusedElId) {
18
13
  throw new driver_1.errors.InvalidElementStateError();
19
14
  }
20
15
  await this.setValue(value, this.focusedElId);
21
16
  },
22
- /**
23
- * @this {FakeDriver}
24
- */
25
17
  async setGeoLocation(location) {
26
18
  // TODO test this adequately once WD bug is fixed
27
19
  this.appModel.lat = location.latitude;
28
20
  this.appModel.long = location.longitude;
29
21
  },
30
- /**
31
- * @this {FakeDriver}
32
- */
33
22
  async getGeoLocation() {
34
23
  return this.appModel.currentGeoLocation;
35
24
  },
36
- /**
37
- * @this {FakeDriver}
38
- */
39
25
  async getPageSource() {
40
26
  return this.appModel.rawXml;
41
27
  },
42
- /**
43
- * @this {FakeDriver}
44
- */
45
28
  async getOrientation() {
46
29
  return this.appModel.orientation;
47
30
  },
48
- /**
49
- *
50
- * @param {import('../types').FakeDriverCaps['orientation']} o
51
- * @this {FakeDriver}
52
- */
53
31
  async setOrientation(o) {
54
32
  if (!ORIENTATIONS.has(o)) {
55
33
  throw new driver_1.errors.UnknownError('Orientation must be LANDSCAPE or PORTRAIT');
56
34
  }
57
35
  this.appModel.orientation = o;
58
36
  },
59
- /**
60
- * @this {FakeDriver}
61
- */
62
37
  async getScreenshot() {
63
38
  return this.appModel.getScreenshot();
64
39
  },
65
- /**
66
- * @this {FakeDriver}
67
- */
68
40
  async getWindowSize() {
69
41
  return { width: this.appModel.width, height: this.appModel.height };
70
42
  },
71
- /**
72
- * @this {FakeDriver}
73
- */
74
43
  async getWindowRect() {
75
44
  return { width: this.appModel.width, height: this.appModel.height, x: 0, y: 0 };
76
45
  },
77
- /**
78
- *
79
- * @this {FakeDriver}
80
- */
81
46
  async performActions(actions) {
82
47
  this.appModel.actionLog.push(actions);
83
48
  },
84
- /**
85
- * @this {FakeDriver}
86
- */
87
49
  async releaseActions() { },
88
- /**
89
- * @this {FakeDriver}
90
- */
91
50
  async getLog(type) {
92
51
  switch (type) {
93
52
  case 'actions':
@@ -96,36 +55,19 @@ exports.default = {
96
55
  throw new Error(`Don't understand log type '${type}'`);
97
56
  }
98
57
  },
99
- /**
100
- * @this {FakeDriver}
101
- */
102
58
  async mobileShake() {
103
59
  this.shook = true;
104
60
  },
105
- /**
106
- * @this {FakeDriver}
107
- */
108
61
  async doubleClick() { },
109
- /**
110
- * @this {FakeDriver}
111
- */
112
62
  async execute(script, args) {
113
63
  return await this.executeMethod(script, args);
114
64
  },
115
65
  /**
116
66
  * Add two or maybe even three numbers
117
- *
118
- * @param {number} num1
119
- * @param {number} num2
120
- * @param {number} [num3]
121
- * @returns {Promise<number>}
122
- * @this {FakeDriver}
123
67
  */
124
68
  async fakeAddition(num1, num2, num3 = 0) {
125
69
  return num1 + num2 + (num3 ?? 0);
126
70
  },
127
71
  };
128
- /**
129
- * @typedef {import('../driver').FakeDriver} FakeDriver
130
- */
72
+ (0, mixin_1.mixin)(GeneralMixin);
131
73
  //# sourceMappingURL=general.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"general.js","sourceRoot":"","sources":["../../../lib/commands/general.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"general.js","sourceRoot":"","sources":["../../../lib/commands/general.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,14 @@
1
- export { default as alert } from "./alert";
2
- export { default as contexts } from "./contexts";
3
- export { default as element } from "./element";
4
- export { default as find } from "./find";
5
- export { default as general } from "./general";
1
+ /**
2
+ * Export all of the "stuff" from these mixin files. The mixins themselves are not exported,
3
+ * but any types/interfaces that they export (e.g., options objects for some command) are exported.
4
+ *
5
+ * Mixins must not use `Object.assign()` and are expected to use the `mixin` function in the sibling
6
+ * `mixin` module.
7
+ * @module
8
+ */
9
+ import './alert';
10
+ import './contexts';
11
+ import './element';
12
+ import './find';
13
+ import './general';
6
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/commands/index.js"],"names":[],"mappings":""}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/commands/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,SAAS,CAAC;AACjB,OAAO,YAAY,CAAC;AACpB,OAAO,WAAW,CAAC;AACnB,OAAO,QAAQ,CAAC;AAChB,OAAO,WAAW,CAAC"}
@@ -1,19 +1,18 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
2
+ /**
3
+ * Export all of the "stuff" from these mixin files. The mixins themselves are not exported,
4
+ * but any types/interfaces that they export (e.g., options objects for some command) are exported.
5
+ *
6
+ * Mixins must not use `Object.assign()` and are expected to use the `mixin` function in the sibling
7
+ * `mixin` module.
8
+ * @module
9
+ */
5
10
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.general = exports.find = exports.element = exports.contexts = exports.alert = void 0;
7
- var alert_1 = require("./alert");
8
- Object.defineProperty(exports, "alert", { enumerable: true, get: function () { return __importDefault(alert_1).default; } });
9
- var contexts_1 = require("./contexts");
10
- Object.defineProperty(exports, "contexts", { enumerable: true, get: function () { return __importDefault(contexts_1).default; } });
11
- var element_1 = require("./element");
12
- Object.defineProperty(exports, "element", { enumerable: true, get: function () { return __importDefault(element_1).default; } });
13
- var find_1 = require("./find");
14
- Object.defineProperty(exports, "find", { enumerable: true, get: function () { return __importDefault(find_1).default; } });
15
- var general_1 = require("./general");
16
- Object.defineProperty(exports, "general", { enumerable: true, get: function () { return __importDefault(general_1).default; } });
11
+ require("./alert");
12
+ require("./contexts");
13
+ require("./element");
14
+ require("./find");
15
+ require("./general");
17
16
  /* // TODO:
18
17
  //rest.post('/wd/hub/session/:sessionId?/touch/click', controller.doClick);
19
18
  //rest.post('/wd/hub/session/:sessionId?/touch/longclick', controller.touchLongClick);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/commands/index.js"],"names":[],"mappings":";;;;;;AAAA,iCAAyC;AAAjC,+GAAA,OAAO,OAAS;AACxB,uCAA+C;AAAvC,qHAAA,OAAO,OAAY;AAC3B,qCAA6C;AAArC,mHAAA,OAAO,OAAW;AAC1B,+BAAuC;AAA/B,6GAAA,OAAO,OAAQ;AACvB,qCAA6C;AAArC,mHAAA,OAAO,OAAW;AAE1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsFE"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/commands/index.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;AAEH,mBAAiB;AACjB,sBAAoB;AACpB,qBAAmB;AACnB,kBAAgB;AAChB,qBAAmB;AAEnB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsFE"}
@@ -0,0 +1,11 @@
1
+ import { FakeDriver } from '../driver';
2
+ /**
3
+ * This function assigns a mixin `T` to the `FakeDriver` class' prototype.
4
+ * While each mixin has its own interface which is (in isolation) unrelated to `FakeDriver`, the constraint
5
+ * on this generic type `T` is that it must be a partial of `FakeDriver`'s interface. This enforces
6
+ * that it does not conflict with the existing interface of `FakeDriver`. In that way, you can
7
+ * think of it as a type guard.
8
+ * @param mixin Mixin implementation
9
+ */
10
+ export declare function mixin<T extends Partial<FakeDriver>>(mixin: T): void;
11
+ //# sourceMappingURL=mixin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mixin.d.ts","sourceRoot":"","sources":["../../../lib/commands/mixin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,WAAW,CAAC;AAErC;;;;;;;GAOG;AACH,wBAAgB,KAAK,CAAC,CAAC,SAAS,OAAO,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,CAEnE"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.mixin = void 0;
4
+ const driver_1 = require("../driver");
5
+ /**
6
+ * This function assigns a mixin `T` to the `FakeDriver` class' prototype.
7
+ * While each mixin has its own interface which is (in isolation) unrelated to `FakeDriver`, the constraint
8
+ * on this generic type `T` is that it must be a partial of `FakeDriver`'s interface. This enforces
9
+ * that it does not conflict with the existing interface of `FakeDriver`. In that way, you can
10
+ * think of it as a type guard.
11
+ * @param mixin Mixin implementation
12
+ */
13
+ function mixin(mixin) {
14
+ Object.assign(driver_1.FakeDriver.prototype, mixin);
15
+ }
16
+ exports.mixin = mixin;
17
+ //# sourceMappingURL=mixin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mixin.js","sourceRoot":"","sources":["../../../lib/commands/mixin.ts"],"names":[],"mappings":";;;AAAA,sCAAqC;AAErC;;;;;;;GAOG;AACH,SAAgB,KAAK,CAAgC,KAAQ;IAC3D,MAAM,CAAC,MAAM,CAAC,mBAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;AAC7C,CAAC;AAFD,sBAEC"}