{"version":3,"file":"use-map.mjs","names":[],"sources":["../../src/use-map/use-map.ts"],"sourcesContent":["import { useRef, useState } from 'react';\n\nexport function useMap<T, V>(initialState?: [T, V][]): Map<T, V> {\n  const [map, setMap] = useState(() => new Map<T, V>(initialState));\n  const mapRef = useRef(map);\n  mapRef.current = map;\n\n  map.set = (...args) => {\n    Map.prototype.set.apply(mapRef.current, args);\n    setMap(new Map(mapRef.current));\n    return mapRef.current;\n  };\n\n  map.clear = (...args) => {\n    Map.prototype.clear.apply(mapRef.current, args);\n    setMap(new Map(mapRef.current));\n  };\n\n  map.delete = (...args) => {\n    const res = Map.prototype.delete.apply(mapRef.current, args);\n    setMap(new Map(mapRef.current));\n\n    return res;\n  };\n\n  return map;\n}\n"],"mappings":";;;AAEA,SAAgB,OAAa,cAAoC;CAC/D,MAAM,CAAC,KAAK,UAAU,eAAe,IAAI,IAAU,YAAY,CAAC;CAChE,MAAM,SAAS,OAAO,GAAG;CACzB,OAAO,UAAU;CAEjB,IAAI,OAAO,GAAG,SAAS;EACrB,IAAI,UAAU,IAAI,MAAM,OAAO,SAAS,IAAI;EAC5C,OAAO,IAAI,IAAI,OAAO,OAAO,CAAC;EAC9B,OAAO,OAAO;CAChB;CAEA,IAAI,SAAS,GAAG,SAAS;EACvB,IAAI,UAAU,MAAM,MAAM,OAAO,SAAS,IAAI;EAC9C,OAAO,IAAI,IAAI,OAAO,OAAO,CAAC;CAChC;CAEA,IAAI,UAAU,GAAG,SAAS;EACxB,MAAM,MAAM,IAAI,UAAU,OAAO,MAAM,OAAO,SAAS,IAAI;EAC3D,OAAO,IAAI,IAAI,OAAO,OAAO,CAAC;EAE9B,OAAO;CACT;CAEA,OAAO;AACT"}