Skip to content

Commit 38da772

Browse files
fix: executing queries without chromedriver (#9)
* Splats script execution arguments so that `WebElement`s are properly transformed * Simplify spread Co-authored-by: Olivier Wilkinson <olivier.wilkinson@gmail.com>
1 parent af46ad9 commit 38da772

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

src/index.ts

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -67,9 +67,12 @@ function serializeArg(arg: any) {
6767
}
6868

6969
function executeQuery(
70-
[query, container, ...args]: [QueryName, HTMLElement, ...any[]],
71-
done: (result: any) => void,
70+
query: QueryName,
71+
container: HTMLElement,
72+
...args: any[]
7273
) {
74+
const done = args.pop() as (result: any) => void;
75+
7376
// @ts-ignore
7477
function deserializeObject(object) {
7578
return Object.entries(object)
@@ -124,11 +127,12 @@ function createQuery(element: ElementBase, queryName: string) {
124127
return async (...args: any[]) => {
125128
await injectDOMTestingLibrary(element)
126129

127-
const result = await element.executeAsync(executeQuery, [
130+
const result = await element.executeAsync(
131+
executeQuery,
128132
queryName,
129133
element,
130134
...args.map(serializeArg),
131-
])
135+
)
132136

133137
if (typeof result === 'string') {
134138
throw new Error(result)

0 commit comments

Comments
 (0)