UNPKG

@cran/vue.use

Version:

Cranberry Vue Use Utilities

17 lines (16 loc) 673 B
"use strict"; /* eslint-disable @typescript-eslint/unified-signatures */ Object.defineProperty(exports, "__esModule", { value: true }); exports.useEventListener = void 0; const useLifecycleWatch_1 = require("../state/useLifecycleWatch"); function useEventListener(target, eventName, handler, options) { (0, useLifecycleWatch_1.useLifecycleWatch)(target, function onChange(next, prev) { if (next) { next.addEventListener(eventName, handler, options); } if (prev) { prev.removeEventListener(eventName, handler, options); } }, { immediate: true, flush: "post", }); } exports.useEventListener = useEventListener;