@hanxx/vue-hooks
Version:
⚡️ Awesome Vue Hooks
27 lines (26 loc) • 997 B
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
/* eslint no-return-assign: off */
var composition_api_1 = require("@vue/composition-api");
function useCounter(initialValue) {
if (initialValue === void 0) { initialValue = 0; }
var count = composition_api_1.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];
}
exports.default = useCounter;
;