Files
NapCatQQ/.pnpm-store/v3/files/e2/2d550827492e4e73e6ceced3d645ebdabf2445109f2da141426376dff3e2cc2d4208d46dd621b100e8772d61d298f86b6c59703eb2c71197051c7b2f748b64
T
TanTan e311ca3275
Build NapCat Artifacts / Type Check & Test (push) Waiting to run
docs: 仓库链接指向本镜像仓库
2026-11-13 09:25:58 +08:00

49 lines
1.4 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"));
function useMap(initialValue) {
var getInitValue = function getInitValue() {
return new Map(initialValue);
};
var _a = (0, _tslib.__read)((0, _react.useState)(getInitValue), 2),
map = _a[0],
setMap = _a[1];
var set = function set(key, entry) {
setMap(function (prev) {
var temp = new Map(prev);
temp.set(key, entry);
return temp;
});
};
var setAll = function setAll(newMap) {
setMap(new Map(newMap));
};
var remove = function remove(key) {
setMap(function (prev) {
var temp = new Map(prev);
temp["delete"](key);
return temp;
});
};
var reset = function reset() {
return setMap(getInitValue());
};
var get = function get(key) {
return map.get(key);
};
return [map, {
set: (0, _useMemoizedFn["default"])(set),
setAll: (0, _useMemoizedFn["default"])(setAll),
remove: (0, _useMemoizedFn["default"])(remove),
reset: (0, _useMemoizedFn["default"])(reset),
get: (0, _useMemoizedFn["default"])(get)
}];
}
var _default = exports["default"] = useMap;