{"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"}