@cran/vue.use
Version:
Cranberry Vue Use Utilities
17 lines (16 loc) • 673 B
JavaScript
;
/* 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;