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

Method createEffect

src/core/runtime/reactivity.js:646–666  ·  view source on GitHub ↗

* Create a reactive effect with automatic dependency tracking. * @param {() => any} expression - The watched expression * @param {(value: any) => void} handler - Called when the value changes * @param {Object} [options] * @param {Element} [options.element] - Auto-stop when elemen

(expression, handler, options)

Source from the content-addressed store, hash-verified

644 * @returns {() => void} Stop function
645 */
646 createEffect(expression, handler, options) {
647 var effect = new Effect(
648 expression,
649 handler,
650 (options && options.element) || null,
651 this
652 );
653
654 effect.initialize();
655
656 // Track effect by element for cleanup
657 if (effect.element) {
658 var data = effect.element._hyperscript ??= {};
659 data.effects ??= new Set();
660 data.effects.add(effect);
661 }
662
663 return function () {
664 effect.stop();
665 };
666 }
667
668 /** Stop all reactive effects owned by an element. */
669 stopElementEffects(element) {

Callers 5

_setupReactiveEffectMethod · 0.45
setupEffectFunction · 0.45
installMethod · 0.45
_bindFunction · 0.45
installMethod · 0.45

Calls 2

initializeMethod · 0.95
stopMethod · 0.95

Tested by

no test coverage detected