{"version":3,"sources":["../src/use-hot-module-reload.cts"],"sourcesContent":["import {useEffect} from 'react'\n\n// Allow us to short-circuit in production/non-HMR environments\nconst hasHMR = (() => {\n  try {\n    return Boolean(typeof module !== 'undefined' && module.hot)\n  } catch (err) {\n    return false\n  }\n})()\n\n/**\n * Trigger a callback after hot-module reloads (any, not only the module using the hook).\n * Use it to force recomputation of stale values and state that do not automatically update.\n * This should be an escape hatch - ideally you shouldn't need this.\n *\n * @param callback - The callback to be triggered after hot-module reloads.\n */\nexport function useHotModuleReload(callback: () => void): void {\n  if (!hasHMR) {\n    return undefined\n  }\n\n  return useCJSHotModuleReload(callback)\n}\n\nfunction useCJSHotModuleReload(callback: () => void): void {\n  useEffect(() => {\n    if (typeof module.hot === 'undefined' || typeof module.hot?.addStatusHandler !== 'function') {\n      return undefined\n    }\n\n    // Webpack in CommonJS mode\n    const statusHandler = (status: string): void => (status === 'idle' ? callback() : undefined)\n    module.hot.addStatusHandler(statusHandler)\n\n    return () => module.hot?.removeStatusHandler(statusHandler)\n  }, [callback])\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAwB;AAGxB,IAAM,UAAU,MAAM;AACpB,MAAI;AACF,WAAO,QAAQ,OAAO,WAAW,eAAe,OAAO,GAAG;AAAA,EAC5D,SAAS,KAAK;AACZ,WAAO;AAAA,EACT;AACF,GAAG;AASI,SAAS,mBAAmB,UAA4B;AAC7D,MAAI,CAAC,QAAQ;AACX,WAAO;AAAA,EACT;AAEA,SAAO,sBAAsB,QAAQ;AACvC;AAEA,SAAS,sBAAsB,UAA4B;AACzD,8BAAU,MAAM;AA3BlB;AA4BI,QAAI,OAAO,OAAO,QAAQ,eAAe,SAAO,YAAO,QAAP,mBAAY,sBAAqB,YAAY;AAC3F,aAAO;AAAA,IACT;AAGA,UAAM,gBAAgB,CAAC,WAA0B,WAAW,SAAS,SAAS,IAAI;AAClF,WAAO,IAAI,iBAAiB,aAAa;AAEzC,WAAO,MAAG;AApCd,UAAAA;AAoCiB,cAAAA,MAAA,OAAO,QAAP,gBAAAA,IAAY,oBAAoB;AAAA;AAAA,EAC/C,GAAG,CAAC,QAAQ,CAAC;AACf;","names":["_a"]}