UNPKG

@mantine/hooks

Version:

A collection of 50+ hooks for state and UI management

27 lines (26 loc) 746 B
"use client"; import { useRef, useState } from "react"; //#region packages/@mantine/hooks/src/use-map/use-map.ts function useMap(initialState) { const [map, setMap] = useState(() => new Map(initialState)); const mapRef = 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 export { useMap }; //# sourceMappingURL=use-map.mjs.map