@wdio/utils 9.31.2 → 9.31.6
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.
- package/build/index.js +87 -17
- package/build/monad.d.ts.map +1 -1
- package/package.json +3 -3
package/build/index.js
CHANGED
|
@@ -379,23 +379,100 @@ function WebDriver(options, modifier, propertiesObject = {}) {
|
|
|
379
379
|
const prototype = Object.create(scopeType.prototype);
|
|
380
380
|
const log4 = logger("webdriver");
|
|
381
381
|
const mittInstance = mitt();
|
|
382
|
+
const dialogListeners = [];
|
|
383
|
+
const emitDialogListenerTransition = (previousCount) => {
|
|
384
|
+
if (previousCount === 0 && dialogListeners.length > 0) {
|
|
385
|
+
mittInstance.emit("_dialogListenerRegistered");
|
|
386
|
+
} else if (previousCount > 0 && dialogListeners.length === 0) {
|
|
387
|
+
mittInstance.emit("_dialogListenerRemoved");
|
|
388
|
+
}
|
|
389
|
+
};
|
|
390
|
+
const addDialogListener = (listener, registered = listener) => {
|
|
391
|
+
const previousCount = dialogListeners.length;
|
|
392
|
+
mittInstance.on("dialog", registered);
|
|
393
|
+
dialogListeners.push({ listener, registered });
|
|
394
|
+
emitDialogListenerTransition(previousCount);
|
|
395
|
+
};
|
|
396
|
+
const removeDialogListener = (listener, registered) => {
|
|
397
|
+
const previousCount = dialogListeners.length;
|
|
398
|
+
let index = -1;
|
|
399
|
+
for (let i = dialogListeners.length - 1; i >= 0; i--) {
|
|
400
|
+
const entry2 = dialogListeners[i];
|
|
401
|
+
if (registered ? entry2.registered === registered : entry2.listener === listener) {
|
|
402
|
+
index = i;
|
|
403
|
+
break;
|
|
404
|
+
}
|
|
405
|
+
}
|
|
406
|
+
if (index === -1) {
|
|
407
|
+
return;
|
|
408
|
+
}
|
|
409
|
+
const [entry] = dialogListeners.splice(index, 1);
|
|
410
|
+
mittInstance.off("dialog", entry.registered);
|
|
411
|
+
emitDialogListenerTransition(previousCount);
|
|
412
|
+
};
|
|
413
|
+
const removeAllDialogListeners = () => {
|
|
414
|
+
const previousCount = dialogListeners.length;
|
|
415
|
+
mittInstance.off("dialog");
|
|
416
|
+
dialogListeners.length = 0;
|
|
417
|
+
emitDialogListenerTransition(previousCount);
|
|
418
|
+
};
|
|
382
419
|
const eventHandler = {
|
|
383
|
-
on:
|
|
384
|
-
|
|
420
|
+
on: (type, handler) => {
|
|
421
|
+
if (type === "dialog") {
|
|
422
|
+
addDialogListener(handler);
|
|
423
|
+
} else {
|
|
424
|
+
mittInstance.on(type, handler);
|
|
425
|
+
}
|
|
426
|
+
},
|
|
427
|
+
off: (type, handler) => {
|
|
428
|
+
if (type === "dialog") {
|
|
429
|
+
if (handler) {
|
|
430
|
+
removeDialogListener(handler);
|
|
431
|
+
} else {
|
|
432
|
+
removeAllDialogListeners();
|
|
433
|
+
}
|
|
434
|
+
} else {
|
|
435
|
+
mittInstance.off(type, handler);
|
|
436
|
+
}
|
|
437
|
+
},
|
|
385
438
|
emit: mittInstance.emit.bind(mittInstance),
|
|
386
439
|
once: (type, handler) => {
|
|
387
|
-
const onceWrapper = (
|
|
388
|
-
|
|
389
|
-
|
|
440
|
+
const onceWrapper = (event) => {
|
|
441
|
+
if (type === "dialog") {
|
|
442
|
+
removeDialogListener(handler, onceWrapper);
|
|
443
|
+
} else {
|
|
444
|
+
mittInstance.off(type, onceWrapper);
|
|
445
|
+
}
|
|
446
|
+
handler(event);
|
|
390
447
|
};
|
|
391
|
-
|
|
448
|
+
if (type === "dialog") {
|
|
449
|
+
addDialogListener(handler, onceWrapper);
|
|
450
|
+
} else {
|
|
451
|
+
mittInstance.on(type, onceWrapper);
|
|
452
|
+
}
|
|
453
|
+
},
|
|
454
|
+
removeListener: (type, handler) => {
|
|
455
|
+
if (type === "dialog") {
|
|
456
|
+
if (handler) {
|
|
457
|
+
removeDialogListener(handler);
|
|
458
|
+
} else {
|
|
459
|
+
removeAllDialogListeners();
|
|
460
|
+
}
|
|
461
|
+
} else {
|
|
462
|
+
mittInstance.off(type, handler);
|
|
463
|
+
}
|
|
392
464
|
},
|
|
393
|
-
removeListener: mittInstance.off.bind(mittInstance),
|
|
394
465
|
removeAllListeners: (type) => {
|
|
395
|
-
if (type) {
|
|
466
|
+
if (type === "dialog") {
|
|
467
|
+
removeAllDialogListeners();
|
|
468
|
+
} else if (type) {
|
|
396
469
|
mittInstance.off(type);
|
|
397
470
|
} else {
|
|
398
|
-
|
|
471
|
+
const previousCount = dialogListeners.length;
|
|
472
|
+
mittInstance.off("dialog");
|
|
473
|
+
dialogListeners.length = 0;
|
|
474
|
+
emitDialogListenerTransition(previousCount);
|
|
475
|
+
mittInstance.all.clear();
|
|
399
476
|
}
|
|
400
477
|
}
|
|
401
478
|
};
|
|
@@ -519,12 +596,6 @@ function WebDriver(options, modifier, propertiesObject = {}) {
|
|
|
519
596
|
};
|
|
520
597
|
for (const eventCommand of EVENTHANDLER_FUNCTIONS) {
|
|
521
598
|
prototype[eventCommand] = function(...args) {
|
|
522
|
-
if (eventCommand === "on" && args[0] === "dialog") {
|
|
523
|
-
eventHandler.emit("_dialogListenerRegistered");
|
|
524
|
-
}
|
|
525
|
-
if (eventCommand === "off" && args[0] === "dialog") {
|
|
526
|
-
eventHandler.emit("_dialogListenerRemoved");
|
|
527
|
-
}
|
|
528
599
|
switch (eventCommand) {
|
|
529
600
|
case "on":
|
|
530
601
|
eventHandler.on(args[0], args[1]);
|
|
@@ -930,8 +1001,7 @@ var ELEMENT_QUERY_COMMANDS = [
|
|
|
930
1001
|
"nextElement",
|
|
931
1002
|
"previousElement",
|
|
932
1003
|
"parentElement",
|
|
933
|
-
"unstable_select"
|
|
934
|
-
"unstable_filter"
|
|
1004
|
+
"unstable_select"
|
|
935
1005
|
];
|
|
936
1006
|
var ELEMENT_PROPS = [
|
|
937
1007
|
"elementId",
|
package/build/monad.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"monad.d.ts","sourceRoot":"","sources":["../src/monad.ts"],"names":[],"mappings":"AAiBA,UAAU,gBAAgB;IACtB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,kBAAkB,CAAA;CAC7C;AA8BD,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,QAAQ,EAAE,gBAAgB,GAAE,gBAAqB;
|
|
1
|
+
{"version":3,"file":"monad.d.ts","sourceRoot":"","sources":["../src/monad.ts"],"names":[],"mappings":"AAiBA,UAAU,gBAAgB;IACtB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,kBAAkB,CAAA;CAC7C;AA8BD,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,QAAQ,EAAE,gBAAgB,GAAE,gBAAqB;WA8HvF,IAAI,aAAa,MAAM,mBAAmB,QAAQ,wCAAwC,MAAM,EAAE;eA6J1F,MAAM,QAAQ,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,gBAAgB,QAAQ;EAiFzG"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wdio/utils",
|
|
3
|
-
"version": "9.31.
|
|
3
|
+
"version": "9.31.6",
|
|
4
4
|
"description": "A WDIO helper utility to provide several utility functions used across the project.",
|
|
5
5
|
"author": "Christian Bromann <mail@bromann.dev>",
|
|
6
6
|
"homepage": "https://github.com/webdriverio/webdriverio/tree/main/packages/wdio-utils",
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
"@wdio/logger": "9.29.1",
|
|
42
42
|
"@wdio/types": "9.31.2",
|
|
43
43
|
"decamelize": "^6.0.0",
|
|
44
|
-
"deepmerge-ts": "^
|
|
44
|
+
"deepmerge-ts": "^8.0.0",
|
|
45
45
|
"edgedriver": "^6.1.2",
|
|
46
46
|
"geckodriver": "^6.1.1",
|
|
47
47
|
"get-port": "^7.0.0",
|
|
@@ -55,5 +55,5 @@
|
|
|
55
55
|
"publishConfig": {
|
|
56
56
|
"access": "public"
|
|
57
57
|
},
|
|
58
|
-
"gitHead": "
|
|
58
|
+
"gitHead": "b18898e3c339a2bba3a6c5af46bdf0f4f897cad8"
|
|
59
59
|
}
|