(
selectors: Selector | readonly Selector[],
{signal, stopOnDomReady}: Options = {},
)
| 113 | } |
| 114 | |
| 115 | export async function waitForElement< |
| 116 | Selector extends string, |
| 117 | ExpectedElement extends ParseSelector<Selector, HTMLElement | SVGElement>, |
| 118 | >( |
| 119 | selectors: Selector | readonly Selector[], |
| 120 | {signal, stopOnDomReady}: Options = {}, |
| 121 | ): Promise<ExpectedElement | void> { |
| 122 | return new Promise<ExpectedElement | void>(resolve => { |
| 123 | observe<Selector, ExpectedElement>(selectors, element => { |
| 124 | resolve(element); |
| 125 | }, { |
| 126 | signal, |
| 127 | stopOnDomReady, |
| 128 | once: true, |
| 129 | ancestor: 4, |
| 130 | }); |
| 131 | |
| 132 | signal?.addEventListener('abort', () => { |
| 133 | resolve(); |
| 134 | }); |
| 135 | }); |
| 136 | } |
no test coverage detected