{"version":3,"sources":["../../src/use-unmount/index.ts"],"sourcesContent":["import { useEffectOnce } from '../use-effect-once'\nimport { useLatest } from '../use-latest'\nimport { isFunction } from '../utils/basic'\n\nimport type { AnyFunc } from '../utils/basic'\n\n/**\n * A React Hook that helps to run a callback when the component unmounts.\n */\nexport function useUnmount(callback?: AnyFunc | null | undefined | false): void {\n  const latest = useLatest(callback)\n\n  useEffectOnce(() => {\n    return () => {\n      if (isFunction(latest.current)) {\n        latest.current()\n      }\n    }\n  })\n}\n"],"names":["useUnmount","callback","latest","useLatest","useEffectOnce","isFunction","current"],"mappings":";;;;+BASgBA;;;eAAAA;;;6BATc;yBACJ;qBACC;AAOpB,SAASA,WAAWC,QAA6C;IACtE,IAAMC,SAASC,IAAAA,oBAAS,EAACF;IAEzBG,IAAAA,4BAAa,EAAC;QACZ,OAAO;YACL,IAAIC,IAAAA,iBAAU,EAACH,OAAOI,OAAO,GAAG;gBAC9BJ,OAAOI,OAAO;YAChB;QACF;IACF;AACF"}