"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const isString_1 = __importDefault(require("vanillajs-helpers/isString")); /** * Make a unique list of Elements from a list of selectors and and function to use that selector. * * @param selector - The selector(s) to use with the given `findElements` function * @param findElements - The function to find elements * @returns The unique list of found elements * * @example * * ```ts * const byClassName = (selector) => document.getElementsByClassName(selector) * * // Using a single selector * findUniqueNodeCollection('my-elements', byClassName); * * // Using multiple selectors * findUniqueNodeCollection(['my-elements', 'sone-other-elements'], byClassName); * ``` */ function findUniqueNodeCollection(selector, findElements) { const selectors = isString_1.default(selector) ? [selector] : selector; const nodes = selectors.flatMap((s) => Array.from(findElements(s))); return Array.from(new Set(nodes)); } exports.default = findUniqueNodeCollection;