Skip to content

Commit 098ccdc

Browse files
Merge pull request #16 from testing-library/refactor-execute-query
Refactor execute query
2 parents 5b6cd61 + 14cd90f commit 098ccdc

File tree

1 file changed

+21
-24
lines changed

1 file changed

+21
-24
lines changed

src/index.ts

Lines changed: 21 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -85,15 +85,13 @@ function executeQuery(
8585
) {
8686
const done = args.pop() as (result: any) => void
8787

88-
// @ts-ignore
89-
function deserializeObject(object) {
88+
function deserializeObject(object: object): object {
9089
return Object.entries(object)
9190
.map(([key, value]) => [key, deserializeArg(value)])
9291
.reduce((acc, [key, value]) => ({...acc, [key]: value}), {})
9392
}
9493

95-
// @ts-ignore
96-
function deserializeArg(arg) {
94+
function deserializeArg(arg: any) {
9795
if (arg && arg.RegExp) {
9896
return eval(arg.RegExp)
9997
}
@@ -108,30 +106,29 @@ function executeQuery(
108106

109107
const [matcher, options, waitForOptions] = args.map(deserializeArg)
110108

111-
try {
112-
Promise.resolve(
113-
window.TestingLibraryDom[query](
109+
;(async () => {
110+
let result: undefined | null | HTMLElement | HTMLElement[]
111+
try {
112+
result = await window.TestingLibraryDom[query](
114113
container,
115114
matcher,
116115
options,
117116
waitForOptions,
118-
),
119-
)
120-
.then((result) => {
121-
if (!result) {
122-
return done(null)
123-
}
124-
if (Array.isArray(result)) {
125-
return done(
126-
result.map((element) => ({selector: window.Simmer(element)})),
127-
)
128-
}
129-
return done({selector: window.Simmer(result)})
130-
})
131-
.catch((e) => done(e.message))
132-
} catch (e) {
133-
done(e.message)
134-
}
117+
)
118+
} catch (e) {
119+
done(e.message)
120+
}
121+
122+
if (!result) {
123+
return done(null)
124+
}
125+
126+
if (Array.isArray(result)) {
127+
return done(result.map((element) => ({selector: window.Simmer(element)})))
128+
}
129+
130+
return done({selector: window.Simmer(result)})
131+
})()
135132
}
136133

137134
function createQuery(element: ElementBase, queryName: string) {

0 commit comments

Comments
 (0)