MCPcopy Create free account
hub / github.com/bigskysoftware/_hyperscript / cleanup

Method cleanup

www/js/_hyperscript.js:2755–2783  ·  view source on GitHub ↗
(elt)

Source from the content-addressed store, hash-verified

2753 return hash;
2754 }
2755 cleanup(elt) {
2756 if (!elt._hyperscript) return;
2757 this.triggerEvent(elt, "hyperscript:before:cleanup");
2758 var data = elt._hyperscript;
2759 if (data.listeners) {
2760 for (var info of data.listeners) {
2761 info.target.removeEventListener(info.event, info.handler);
2762 }
2763 }
2764 if (data.observers) {
2765 for (var observer of data.observers) {
2766 observer.disconnect();
2767 }
2768 }
2769 if (data.eventState) {
2770 for (var state of data.eventState.values()) {
2771 if (state.debounced) clearTimeout(state.debounced);
2772 }
2773 }
2774 this.reactivity.stopElementEffects(elt);
2775 if (elt.querySelectorAll) {
2776 for (var child of elt.querySelectorAll("[data-hyperscript-powered]")) {
2777 this.cleanup(child);
2778 }
2779 }
2780 this.triggerEvent(elt, "hyperscript:after:cleanup");
2781 elt.removeAttribute("data-hyperscript-powered");
2782 delete elt._hyperscript;
2783 }
2784 #initElement(elt, target) {
2785 if (elt.closest && elt.closest(config.disableSelector)) {
2786 return;

Callers 3

morphMethod · 0.95
#initElementMethod · 0.95
_hyperscript.jsFile · 0.45

Calls 3

triggerEventMethod · 0.95
clearTimeoutFunction · 0.50
stopElementEffectsMethod · 0.45

Tested by

no test coverage detected