@axe-core/watcher 2.0.0-next.badbbb81 → 2.0.0-next.c59b3a75

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.
@@ -2,6 +2,7 @@ import type { WebDriver } from 'selenium-webdriver';
2
2
  import type { Options } from 'selenium-webdriver/chrome';
3
3
  import { type Configuration } from './util';
4
4
  import Controller from './Controller';
5
+ export { wrapDriver as wrapWebdriver } from './webdriverWrapping';
5
6
  interface WebDriverArgs extends Configuration {
6
7
  options?: Options;
7
8
  }
@@ -16,4 +17,3 @@ export declare class WebdriverController extends Controller {
16
17
  constructor(driver: WebDriver);
17
18
  protected executeScript(fn: string | (() => Promise<void>), ...args: unknown[]): Promise<void>;
18
19
  }
19
- export {};
package/dist/webdriver.js CHANGED
@@ -12,9 +12,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
12
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.WebdriverController = exports.webdriverConfig = void 0;
15
+ exports.WebdriverController = exports.webdriverConfig = exports.wrapWebdriver = void 0;
16
16
  const util_1 = require("./util");
17
17
  const Controller_1 = __importDefault(require("./Controller"));
18
+ var webdriverWrapping_1 = require("./webdriverWrapping");
19
+ Object.defineProperty(exports, "wrapWebdriver", { enumerable: true, get: function () { return webdriverWrapping_1.wrapDriver; } });
18
20
  /**
19
21
  * Creates a Selenium config that uses axe extension
20
22
  *
@@ -1 +1 @@
1
- {"version":3,"file":"webdriver.js","sourceRoot":"","sources":["../src/webdriver.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAEA,iCAKe;AACf,8DAAqC;AAMrC;;;;GAIG;AAEH,SAAgB,eAAe,CAAC,GAAkB;;IAChD,gHAAgH;IAChH,8DAA8D;IAC9D,MAAM,MAAM,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAAA;IAEnD,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,GAAG,CAAA;IAC5B,IAAA,qBAAc,EAAC,GAAG,CAAC,CAAA;IAEnB,MAAM,IAAI,GAAY,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAA;IAC9D,IAAI,CAAC,YAAY,CAAC,GAAG,oBAAa,CAAC,CAAA;IAEnC,wEAAwE;IACxE,8DAA8D;IAC9D,IAAI,MAAA,MAAC,IAAY,aAAZ,IAAI,uBAAJ,IAAI,CAAU,QAAQ,0CAAE,IAAI,0CAAE,QAAQ,CAAC,UAAU,CAAC,EAAE;QACvD,MAAM,IAAI,gCAAyB,EAAE,CAAA;KACtC;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAlBD,0CAkBC;AAED,MAAa,mBAAoB,SAAQ,oBAAU;IAGjD,YAAY,MAAiB;QAC3B,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,CAAC;IAEe,aAAa,CAC3B,EAAkC,EAClC,GAAG,IAAe;;YAElB,MAAM,MAAM,GAAG;;;gBAGH,EAAE;;KAEb,CAAA;YACD,MAAM,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAA;QACvD,CAAC;KAAA;CACF;AApBD,kDAoBC"}
1
+ {"version":3,"file":"webdriver.js","sourceRoot":"","sources":["../src/webdriver.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAEA,iCAKe;AACf,8DAAqC;AAErC,yDAAiE;AAAxD,kHAAA,UAAU,OAAiB;AAMpC;;;;GAIG;AAEH,SAAgB,eAAe,CAAC,GAAkB;;IAChD,gHAAgH;IAChH,8DAA8D;IAC9D,MAAM,MAAM,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAAA;IAEnD,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,GAAG,CAAA;IAC5B,IAAA,qBAAc,EAAC,GAAG,CAAC,CAAA;IAEnB,MAAM,IAAI,GAAY,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAA;IAC9D,IAAI,CAAC,YAAY,CAAC,GAAG,oBAAa,CAAC,CAAA;IAEnC,wEAAwE;IACxE,8DAA8D;IAC9D,IAAI,MAAA,MAAC,IAAY,aAAZ,IAAI,uBAAJ,IAAI,CAAU,QAAQ,0CAAE,IAAI,0CAAE,QAAQ,CAAC,UAAU,CAAC,EAAE;QACvD,MAAM,IAAI,gCAAyB,EAAE,CAAA;KACtC;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAlBD,0CAkBC;AAED,MAAa,mBAAoB,SAAQ,oBAAU;IAGjD,YAAY,MAAiB;QAC3B,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,CAAC;IAEe,aAAa,CAC3B,EAAkC,EAClC,GAAG,IAAe;;YAElB,MAAM,MAAM,GAAG;;;gBAGH,EAAE;;KAEb,CAAA;YACD,MAAM,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAA;QACvD,CAAC;KAAA;CACF;AApBD,kDAoBC"}
@@ -0,0 +1,7 @@
1
+ import type { WebDriver, Navigation, WebElement, TargetLocator } from 'selenium-webdriver';
2
+ import { type PossiblyWrapped } from './util';
3
+ import type { WebdriverController } from './webdriver';
4
+ export declare const wrapDriver: (driver: PossiblyWrapped<WebDriver>, controller: WebdriverController) => WebDriver;
5
+ export declare const wrapNavigation: (navigation: PossiblyWrapped<Navigation>, controller: WebdriverController) => Navigation;
6
+ export declare const wrapTargetLocator: (locator: PossiblyWrapped<TargetLocator>, controller: WebdriverController) => TargetLocator;
7
+ export declare const wrapElement: (element: PossiblyWrapped<WebElement>, controller: WebdriverController) => WebElement;
@@ -0,0 +1,131 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.wrapElement = exports.wrapTargetLocator = exports.wrapNavigation = exports.wrapDriver = void 0;
13
+ const util_1 = require("./util");
14
+ const wrapDriver = (driver, controller) => {
15
+ if ((0, util_1.isWrapped)(driver)) {
16
+ return driver;
17
+ }
18
+ const proxy = new Proxy(driver, {
19
+ get(target, prop, receiver) {
20
+ switch (prop) {
21
+ case 'findElement':
22
+ return (locator) => __awaiter(this, void 0, void 0, function* () {
23
+ const el = yield target.findElement(locator);
24
+ return (0, exports.wrapElement)(el, controller);
25
+ });
26
+ case 'quit':
27
+ return () => __awaiter(this, void 0, void 0, function* () {
28
+ yield controller.flush();
29
+ return target.quit();
30
+ });
31
+ case 'close':
32
+ return () => __awaiter(this, void 0, void 0, function* () {
33
+ yield controller.flush();
34
+ return target.close();
35
+ });
36
+ case 'findElements':
37
+ return (locator) => __awaiter(this, void 0, void 0, function* () {
38
+ const els = yield target.findElements(locator);
39
+ return els.map(el => (0, exports.wrapElement)(el, controller));
40
+ });
41
+ case 'switchTo':
42
+ return () => (0, exports.wrapTargetLocator)(target.switchTo(), controller);
43
+ case 'navigate':
44
+ return () => (0, exports.wrapNavigation)(target.navigate(), controller);
45
+ case 'get':
46
+ return (0, util_1.wrappedCallWithSideEffects)(target, prop, controller);
47
+ default:
48
+ return Reflect.get(target, prop, receiver);
49
+ }
50
+ }
51
+ });
52
+ (0, util_1.markAsWrapped)(proxy);
53
+ return proxy;
54
+ };
55
+ exports.wrapDriver = wrapDriver;
56
+ const wrapNavigation = (navigation, controller) => {
57
+ if ((0, util_1.isWrapped)(navigation)) {
58
+ return navigation;
59
+ }
60
+ const proxy = new Proxy(navigation, {
61
+ get(target, prop, receiver) {
62
+ switch (prop) {
63
+ case 'back':
64
+ case 'forward':
65
+ case 'refresh':
66
+ case 'to':
67
+ return (0, util_1.wrappedCallWithSideEffects)(target, prop, controller);
68
+ default:
69
+ return Reflect.get(target, prop, receiver);
70
+ }
71
+ }
72
+ });
73
+ (0, util_1.markAsWrapped)(proxy);
74
+ return proxy;
75
+ };
76
+ exports.wrapNavigation = wrapNavigation;
77
+ const wrapTargetLocator = (locator, controller) => {
78
+ if ((0, util_1.isWrapped)(locator)) {
79
+ return locator;
80
+ }
81
+ const proxy = new Proxy(locator, {
82
+ get(target, prop, receiver) {
83
+ switch (prop) {
84
+ case 'activeElement':
85
+ return () => __awaiter(this, void 0, void 0, function* () {
86
+ const el = yield target.activeElement();
87
+ return (0, exports.wrapElement)(el, controller);
88
+ });
89
+ default:
90
+ return Reflect.get(target, prop, receiver);
91
+ }
92
+ }
93
+ });
94
+ (0, util_1.markAsWrapped)(proxy);
95
+ return proxy;
96
+ };
97
+ exports.wrapTargetLocator = wrapTargetLocator;
98
+ const wrapElement = (element, controller) => {
99
+ if ((0, util_1.isWrapped)(element)) {
100
+ return element;
101
+ }
102
+ const proxy = new Proxy(element, {
103
+ get(target, prop, receiver) {
104
+ switch (prop) {
105
+ case 'getDriver':
106
+ return () => (0, exports.wrapDriver)(target.getDriver(), controller);
107
+ case 'findElement':
108
+ return (locator) => __awaiter(this, void 0, void 0, function* () {
109
+ const el = yield target.findElement(locator);
110
+ return (0, exports.wrapElement)(el, controller);
111
+ });
112
+ case 'findElements':
113
+ return (locator) => __awaiter(this, void 0, void 0, function* () {
114
+ const els = yield target.findElements(locator);
115
+ return els.map(el => (0, exports.wrapElement)(el, controller));
116
+ });
117
+ case 'clear':
118
+ case 'click':
119
+ case 'sendKeys':
120
+ case 'submit':
121
+ return (0, util_1.wrappedCallWithSideEffects)(target, prop, controller);
122
+ default:
123
+ return Reflect.get(target, prop, receiver);
124
+ }
125
+ }
126
+ });
127
+ (0, util_1.markAsWrapped)(proxy);
128
+ return proxy;
129
+ };
130
+ exports.wrapElement = wrapElement;
131
+ //# sourceMappingURL=webdriverWrapping.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webdriverWrapping.js","sourceRoot":"","sources":["../src/webdriverWrapping.ts"],"names":[],"mappings":"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"}