@thisisagile/easy-react
Version:
Straightforward library building micro applications in react
1 lines • 788 B
Source Map (JSON)
{"version":3,"sources":["../../src/utils/useToggle.ts"],"sourcesContent":["import { useState } from 'react';\n\nexport function useToggle(initial = false): [boolean, () => void, <T>(fn: () => Promise<T>) => Promise<T>] {\n const [state, setState] = useState(initial);\n const toggle = () => setState(s => !s);\n const flip = <T>(fn: () => Promise<T>) => {\n setState(s => !s);\n return fn().finally(() => setState(s => !s));\n };\n return [state, toggle, flip];\n}\n"],"mappings":";AAAA,SAAS,gBAAgB;AAElB,SAAS,UAAU,UAAU,OAAuE;AACzG,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAS,OAAO;AAC1C,QAAM,SAAS,MAAM,SAAS,OAAK,CAAC,CAAC;AACrC,QAAM,OAAO,CAAI,OAAyB;AACxC,aAAS,OAAK,CAAC,CAAC;AAChB,WAAO,GAAG,EAAE,QAAQ,MAAM,SAAS,OAAK,CAAC,CAAC,CAAC;AAAA,EAC7C;AACA,SAAO,CAAC,OAAO,QAAQ,IAAI;AAC7B;","names":[]}