18 lines
559 B
JavaScript
18 lines
559 B
JavaScript
function resolveElements(elementOrSelector, scope, selectorCache) {
|
|
if (elementOrSelector instanceof EventTarget) {
|
|
return [elementOrSelector];
|
|
}
|
|
else if (typeof elementOrSelector === "string") {
|
|
let root = document;
|
|
if (scope) {
|
|
root = scope.current;
|
|
}
|
|
const elements = selectorCache?.[elementOrSelector] ??
|
|
root.querySelectorAll(elementOrSelector);
|
|
return elements ? Array.from(elements) : [];
|
|
}
|
|
return Array.from(elementOrSelector);
|
|
}
|
|
|
|
export { resolveElements };
|