@mantine/hooks
Version:
A collection of 50+ hooks for state and UI management
27 lines (26 loc) • 762 B
JavaScript
"use client";
let react = require("react");
//#region packages/@mantine/hooks/src/use-map/use-map.ts
function useMap(initialState) {
const [map, setMap] = (0, react.useState)(() => new Map(initialState));
const mapRef = (0, react.useRef)(map);
mapRef.current = map;
map.set = (...args) => {
Map.prototype.set.apply(mapRef.current, args);
setMap(new Map(mapRef.current));
return mapRef.current;
};
map.clear = (...args) => {
Map.prototype.clear.apply(mapRef.current, args);
setMap(new Map(mapRef.current));
};
map.delete = (...args) => {
const res = Map.prototype.delete.apply(mapRef.current, args);
setMap(new Map(mapRef.current));
return res;
};
return map;
}
//#endregion
exports.useMap = useMap;
//# sourceMappingURL=use-map.cjs.map