а то что создает этот элемент вызывает это событие.
if (entryChildrenChildren[i][j].hasAttribute && entryChildrenChildren[i][j].hasAttribute('x-make')) {
if (entryChildrenChildren[i][j].hasAttribute?.('x-make')) {
Вот тут я не понял
Нам надо чтобы юнион целиком брался, а не каждый тип из юниона отдельно сравнивался.
type UnionToIntersection<U> =
[(U extends unknown ? (k: U) => unknown : never)] extends [((k: infer I) => unknown)] ? I : never;
А ещё через функции можно достать последний тип из юниона за счёт эффекта перегрузки функции.)
Не очень понятно, как это связано с наличием внешнего цикла. Тебе всё равно надо отработать всю конструкцию