UNPKG

vue-hooks-plus

Version:
13 lines (12 loc) 475 B
"use strict"; const vue = require("vue"); const diffTwoDeps = (deps1, deps2) => { return deps1 ? deps1.map((_ele, idx) => deps1[idx] !== (deps2 == null ? void 0 : deps2[idx]) ? idx : -1).filter((ele) => ele >= 0) : deps2 ? deps2.map((_ele, idx) => idx) : []; }; const useTrackedEffect = (effect, deps) => { vue.watch(deps != null ? deps : [], (curr, prev) => { const changes = diffTwoDeps(prev, curr); effect(changes); }); }; module.exports = useTrackedEffect;