{"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;AACtE,iBAAe;AACf,kBAAgB,WAAW,WAAW,IAAI,MAAM;;CAElD,MAAM,sBAAsB;AAC1B,MAAI,kBAAkB,OAAW;AAEjC,aAAW,aAAa,cAAc;AACtC,kBAAgB;;AAGlB,yBAAwB,eAAe,CAAC;AAExC,QAAO;EACL;EACA;EACD"}