Files
NapCatQQ/.pnpm-store/v3/files/2e/bac66171256306c714a798190388d2332d63bac838cd0099e5c961ec71e8328a5305dbb5f40c22b404f2c970b5947c27990a4a4d243a34197cbe180f4d63f8
T
TanTan e311ca3275
Build NapCat Artifacts / Windows Loader Test (push) Canceled after 0s
Build NapCat Artifacts / Type Check & Test (push) Canceled after 0s
Build NapCat Artifacts / Build NapCat.Framework (push) Canceled after 0s
Build NapCat Artifacts / Build NapCat.Shell (push) Canceled after 0s
docs: 仓库链接指向本镜像仓库
2026-11-13 09:25:58 +08:00

82 lines
2.0 KiB
Plaintext

"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _tslib = require("tslib");
var _react = require("react");
var _useMemoizedFn = _interopRequireDefault(require("../useMemoizedFn"));
var _utils = require("../utils");
function getTargetValue(val, options) {
if (options === void 0) {
options = {};
}
var min = options.min,
max = options.max;
var target = val;
if ((0, _utils.isNumber)(max)) {
target = Math.min(max, target);
}
if ((0, _utils.isNumber)(min)) {
target = Math.max(min, target);
}
return target;
}
function useCounter(initialValue, options) {
if (initialValue === void 0) {
initialValue = 0;
}
if (options === void 0) {
options = {};
}
var min = options.min,
max = options.max;
var _a = (0, _tslib.__read)((0, _react.useState)(function () {
return getTargetValue(initialValue, {
min: min,
max: max
});
}), 2),
current = _a[0],
setCurrent = _a[1];
var setValue = function setValue(value) {
setCurrent(function (c) {
var target = (0, _utils.isNumber)(value) ? value : value(c);
return getTargetValue(target, {
max: max,
min: min
});
});
};
var inc = function inc(delta) {
if (delta === void 0) {
delta = 1;
}
setValue(function (c) {
return c + delta;
});
};
var dec = function dec(delta) {
if (delta === void 0) {
delta = 1;
}
setValue(function (c) {
return c - delta;
});
};
var set = function set(value) {
setValue(value);
};
var reset = function reset() {
setValue(initialValue);
};
return [current, {
inc: (0, _useMemoizedFn["default"])(inc),
dec: (0, _useMemoizedFn["default"])(dec),
set: (0, _useMemoizedFn["default"])(set),
reset: (0, _useMemoizedFn["default"])(reset)
}];
}
var _default = exports["default"] = useCounter;