{"version":3,"sources":["../../src/use-boolean/index.ts"],"sourcesContent":["import { useCreation } from '../use-creation'\nimport { useToggle } from '../use-toggle'\n\nimport type { ReactSetState } from '../use-safe-state'\n\nexport type UseBooleanActions = {\n  /**\n   * Set the boolean state to `true`.\n   */\n  setTrue: () => void\n  /**\n   * Set the boolean state to `false`.\n   */\n  setFalse: () => void\n  /**\n   * Set the boolean state to the given value.\n   */\n  setState: ReactSetState<boolean>\n  /**\n   * Toggle the boolean state.\n   */\n  toggle: () => void\n}\n\nexport type UseBooleanReturns = readonly [value: boolean, UseBooleanActions]\n\n/**\n * A React Hook for managing `boolean` state.\n *\n * @param {boolean} [initialValue=true] The initial value of the boolean state.\n *\n * @since 1.3.0\n */\nexport function useBoolean(initialValue: boolean = true): UseBooleanReturns {\n  const [value, _actions] = useToggle(initialValue)\n\n  const actions = useCreation(() => ({\n    setTrue: () => _actions.setState(true),\n    setFalse: () => _actions.setState(false),\n    setState: _actions.setState,\n    toggle: _actions.toggle,\n  }))\n\n  return [value, actions] as const\n}\n"],"names":["useBoolean","initialValue","useToggle","value","_actions","actions","useCreation","setTrue","setState","setFalse","toggle"],"mappings":";;;;+BAiCgBA;;;eAAAA;;;2BAjCY;yBACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgCnB,SAASA;QAAWC,eAAAA,iEAAwB;IACjD,IAA0BC,8BAAAA,IAAAA,oBAAS,EAACD,mBAA7BE,QAAmBD,eAAZE,WAAYF;IAE1B,IAAMG,UAAUC,IAAAA,wBAAW,EAAC;eAAO;YACjCC,SAAS;uBAAMH,SAASI,QAAQ,CAAC;;YACjCC,UAAU;uBAAML,SAASI,QAAQ,CAAC;;YAClCA,UAAUJ,SAASI,QAAQ;YAC3BE,QAAQN,SAASM,MAAM;QACzB;;IAEA,OAAO;QAACP;QAAOE;KAAQ;AACzB"}