@mantine/hooks
Version:
A collection of 50+ hooks for state and UI management
1 lines • 1.26 kB
Source Map (JSON)
{"version":3,"file":"use-map.mjs","names":[],"sources":["../../src/use-map/use-map.ts"],"sourcesContent":["import { useRef } from 'react';\nimport { useForceUpdate } from '../use-force-update/use-force-update';\n\nexport function useMap<T, V>(initialState?: [T, V][]): Map<T, V> {\n const mapRef = useRef(new Map<T, V>(initialState));\n const forceUpdate = useForceUpdate();\n\n mapRef.current.set = (...args) => {\n Map.prototype.set.apply(mapRef.current, args);\n forceUpdate();\n return mapRef.current;\n };\n\n mapRef.current.clear = (...args) => {\n Map.prototype.clear.apply(mapRef.current, args);\n forceUpdate();\n };\n\n mapRef.current.delete = (...args) => {\n const res = Map.prototype.delete.apply(mapRef.current, args);\n forceUpdate();\n\n return res;\n };\n\n return mapRef.current;\n}\n"],"mappings":";;;;AAGA,SAAgB,OAAa,cAAoC;CAC/D,MAAM,SAAS,OAAO,IAAI,IAAU,YAAY,CAAC;CACjD,MAAM,cAAc,eAAe;CAEnC,OAAO,QAAQ,OAAO,GAAG,SAAS;EAChC,IAAI,UAAU,IAAI,MAAM,OAAO,SAAS,IAAI;EAC5C,YAAY;EACZ,OAAO,OAAO;CAChB;CAEA,OAAO,QAAQ,SAAS,GAAG,SAAS;EAClC,IAAI,UAAU,MAAM,MAAM,OAAO,SAAS,IAAI;EAC9C,YAAY;CACd;CAEA,OAAO,QAAQ,UAAU,GAAG,SAAS;EACnC,MAAM,MAAM,IAAI,UAAU,OAAO,MAAM,OAAO,SAAS,IAAI;EAC3D,YAAY;EAEZ,OAAO;CACT;CAEA,OAAO,OAAO;AAChB"}