@u3u/vue-hooks
Version:
⚡️ Awesome Vue Hooks
24 lines (23 loc) • 874 B
JavaScript
/* eslint no-return-assign: off */
import { ref } from '@vue/composition-api';
export default function useCounter(initialValue) {
if (initialValue === void 0) { initialValue = 0; }
var count = ref(initialValue);
var inc = function (delta) {
if (delta === void 0) { delta = 1; }
return (count.value += delta);
};
var dec = function (delta) {
if (delta === void 0) { delta = 1; }
return (count.value -= delta);
};
var get = function () { return count.value; };
var set = function (val) { return (count.value = val); };
var reset = function (val) {
if (val === void 0) { val = initialValue; }
initialValue = val; // eslint-disable-line no-param-reassign
return set(val);
};
var actions = { inc: inc, dec: dec, get: get, set: set, reset: reset };
return [count, actions];
}