@blackglory/wait-for
Version:
A module for waiting for things to happen.
17 lines • 738 B
JavaScript
import { observeAdditionOfDescendantNodes } from '@blackglory/observe';
import { toArray } from 'iterable-operator';
export function waitForElementsMatchingSelectorAttached(selector) {
return new Promise(resolve => {
const elements = document.querySelectorAll(selector);
if (elements.length)
return resolve(toArray(elements));
const observer = observeAdditionOfDescendantNodes(document).subscribe(() => {
const elements = document.querySelectorAll(selector);
if (elements.length) {
observer.unsubscribe();
resolve(toArray(elements));
}
});
});
}
//# sourceMappingURL=wait-for-elements-matching-selector-attached.js.map