update = function()

in src/helper/dom.ts [292:335]


  update = function (domToUpdate: ExtendedHTMLElement, domBuilderObject: DomBuilderObjectFilled): ExtendedHTMLElement {
    if (domToUpdate.builderObject) {
      if (domBuilderObject.classNames !== undefined) {
        domToUpdate.classList.remove(...(domToUpdate.builderObject.classNames as string[]));
        domToUpdate.classList.add(...domBuilderObject.classNames.filter(className => className !== ''));
      }

      (Object.keys(domBuilderObject.events ?? {}) as Array<Partial<GenericEvents>>).forEach(eventName => {
        if (domToUpdate.builderObject.events !== undefined && domToUpdate.builderObject.events[eventName]) {
          domToUpdate.removeEventListener(
            eventName,
            (domToUpdate.builderObject.events[eventName] as DomBuilderEventHandlerWithOptions).handler ?? domToUpdate.builderObject.events[eventName]
          );
        }
        if (domBuilderObject.events !== undefined && domBuilderObject.events[eventName] !== undefined) {
          domToUpdate.addEventListener(eventName, domBuilderObject.events[eventName]);
        }
      });

      Object.keys(domBuilderObject.attributes ?? {}).forEach(attributeName => {
        if (domBuilderObject.attributes !== undefined && domBuilderObject.attributes[attributeName] === undefined) {
          domToUpdate.removeAttribute(attributeName);
        } else if (domBuilderObject.attributes !== undefined) {
          domToUpdate.setAttribute(attributeName, domBuilderObject.attributes[attributeName] as string);
        }
      });

      if (domBuilderObject.testId != null && Config.getInstance().config.test) {
        domToUpdate.setAttribute(testIds.selector, domBuilderObject.testId);
      }

      if (typeof domBuilderObject.innerHTML === 'string') {
        domToUpdate.innerHTML = domBuilderObject.innerHTML;
      } else if (domBuilderObject.children !== undefined && domBuilderObject.children.length > 0) {
        domToUpdate.clear();
        domToUpdate.insertChild('beforeend', domBuilderObject.children);
      }

      domToUpdate.builderObject = { ...EmptyDomBuilderObject, ...domBuilderObject } as DomBuilderObject;
    } else {
      console.warn('element was not created with dom builder');
    }
    return domToUpdate;
  };