{"version":3,"file":"index.mjs","names":[],"sources":["../../../../../packages/hooks/use-timeout/index.ts"],"sourcesContent":["import { tryOnScopeDispose } from '@vueuse/core'\n\nexport function useTimeout() {\n  let timeoutHandle: number | undefined\n\n  const registerTimeout = (fn: (...args: any[]) => any, delay: number) => {\n    cancelTimeout()\n    timeoutHandle = globalThis.setTimeout(fn, delay)\n  }\n  const cancelTimeout = () => {\n    if (timeoutHandle === undefined) return\n\n    globalThis.clearTimeout(timeoutHandle)\n    timeoutHandle = undefined\n  }\n\n  tryOnScopeDispose(() => cancelTimeout())\n\n  return {\n    registerTimeout,\n    cancelTimeout,\n  }\n}\n"],"mappings":";;AAEA,SAAgB,aAAa;CAC3B,IAAI;CAEJ,MAAM,mBAAmB,IAA6B,UAAkB;EACtE,eAAe;EACf,gBAAgB,WAAW,WAAW,IAAI,MAAM;;CAElD,MAAM,sBAAsB;EAC1B,IAAI,kBAAkB,KAAA,GAAW;EAEjC,WAAW,aAAa,cAAc;EACtC,gBAAgB,KAAA;;CAGlB,wBAAwB,eAAe,CAAC;CAExC,OAAO;EACL;EACA;EACD"}