/
ai_sampletext
/
DiplomWork
Обзор
Документация
Войти
/
ai_sampletext
/
DiplomWork
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
node_modules/motion-dom/src/utils/resolve-elements.ts
47 строк
1 KB
boolyshareyo
Initial commit
08 июн 2026, 16:00
08 июн 2026, 16:00
6216a29
Код
Авторство
О чём код?
export type ElementOrSelector = | Element | Element[] | NodeListOf<Element> | string export interface WithQuerySelectorAll { querySelectorAll: Element["querySelectorAll"] } export interface AnimationScope<T = any> { readonly current: T animations: any[] // TODO: Refactor to types package AnimationPlaybackControls[] } export interface SelectorCache { [key: string]: NodeListOf<Element> } export function resolveElements( elementOrSelector: ElementOrSelector, scope?: AnimationScope, selectorCache?: SelectorCache ): Element[] { if (elementOrSelector instanceof Element) { return [elementOrSelector] } else if (typeof elementOrSelector === "string") { let root: WithQuerySelectorAll = document if (scope) { // TODO: Refactor to utils package // invariant( // Boolean(scope.current), // "Scope provided, but no element detected." // ) root = scope.current } const elements = selectorCache?.[elementOrSelector] ?? root.querySelectorAll(elementOrSelector) return elements ? Array.from(elements) : [] } return Array.from(elementOrSelector) }