react-timer-hook
Advanced tools
Comparing version
@@ -1,1 +0,1 @@ | ||
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react")):"function"==typeof define&&define.amd?define(["react"],t):"object"==typeof exports?exports["react-timer-hook"]=t(require("react")):e["react-timer-hook"]=t(e.react)}("undefined"!=typeof self?self:this,(e=>(()=>{"use strict";var t={155:t=>{t.exports=e}},s={};function i(e){var o=s[e];if(void 0!==o)return o.exports;var r=s[e]={exports:{}};return t[e](r,r.exports,i),r.exports}i.d=(e,t)=>{for(var s in t)i.o(t,s)&&!i.o(e,s)&&Object.defineProperty(e,s,{enumerable:!0,get:t[s]})},i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var o={};i.r(o),i.d(o,{useStopwatch:()=>u,useTime:()=>d,useTimer:()=>m});var r=i(155);class n{static getTimeFromMilliseconds(e,t=!0){const s=t?Math.ceil(e/1e3):Math.floor(e/1e3),i=Math.floor(s/86400),o=Math.floor(s%86400/3600),r=Math.floor(s%3600/60),n=Math.floor(s%60);return{totalMilliseconds:e,totalSeconds:s,milliseconds:Math.floor(e%1e3),seconds:n,minutes:r,hours:o,days:i}}static getMillisecondsFromExpiry(e){const t=(new Date).getTime(),s=e.getTime()-t;return s>0?s:0}static getMillisecondsFromPrevTime(e){const t=(new Date).getTime()-e;return t>0?t:0}static getMillisecondsFromTimeNow(){const e=new Date;return e.getTime()-60*e.getTimezoneOffset()*1e3}static getFormattedTimeFromMilliseconds(e,t){const{milliseconds:s,seconds:i,minutes:o,hours:r}=n.getTimeFromMilliseconds(e);let l="",a=r;return"12-hour"===t&&(l=r>=12?"pm":"am",a=r%12),{milliseconds:s,seconds:i,minutes:o,hours:a,ampm:l}}}class l{static expiryTimestamp(e){const t=new Date(e).getTime()>0;return t||console.warn("react-timer-hook: { useTimer } Invalid expiryTimestamp settings",e),t}static onExpire(e){const t=e&&"function"==typeof e;return e&&!t&&console.warn("react-timer-hook: { useTimer } Invalid onExpire settings function",e),t}}function a(e,t){const s=(0,r.useRef)(e);(0,r.useEffect)((()=>{s.current=e})),(0,r.useEffect)((()=>{if(!t)return()=>{};const e=setInterval((()=>{var e;null===(e=null==s?void 0:s.current)||void 0===e||e.call(s)}),t);return()=>clearInterval(e)}),[t])}const c=1e3;function m({expiryTimestamp:e,onExpire:t=()=>{},autoStart:s=!0,interval:i=c}){const[o,m]=(0,r.useState)(e),[u,d]=(0,r.useState)(n.getMillisecondsFromExpiry(o)),[g,f]=(0,r.useState)(s),[p,T]=(0,r.useState)(s),[M,y]=(0,r.useState)(i),b=(0,r.useCallback)((()=>{l.onExpire(t)&&t(),f(!1),y(null)}),[t]),v=(0,r.useCallback)((()=>{f(!1)}),[]),x=(0,r.useCallback)(((e,t=!0)=>{y(i),T(t),f(t),m(e),d(n.getMillisecondsFromExpiry(e))}),[i]),F=(0,r.useCallback)((()=>{const e=new Date;e.setMilliseconds(e.getMilliseconds()+u),x(e)}),[u,x]),S=(0,r.useCallback)((()=>{p?(d(n.getMillisecondsFromExpiry(o)),f(!0)):F()}),[o,p,F]);return a((()=>{const e=n.getMillisecondsFromExpiry(o);d(e),e<=0?b():M&&e<M&&y(e)}),g?M:null),(0,r.useEffect)((()=>{l.expiryTimestamp(o)}),[o]),Object.assign(Object.assign({},n.getTimeFromMilliseconds(u)),{start:S,pause:v,resume:F,restart:x,isRunning:g})}function u({autoStart:e=!0,offsetTimestamp:t,interval:s=c}={}){const i=t?n.getMillisecondsFromExpiry(t):0,[o,l]=(0,r.useState)((new Date).getTime()-new Date(i).getTime()),[m,u]=(0,r.useState)(n.getMillisecondsFromPrevTime(o||0)),[d,g]=(0,r.useState)(e),f=c-m%c,[p,T]=(0,r.useState)(s<f?s:f);a((()=>{p!==s&&T(s),u(n.getMillisecondsFromPrevTime(o))}),d?p:null);const M=(0,r.useCallback)((()=>{l((new Date).getTime()-new Date(m).getTime()),g(!0)}),[m]),y=(0,r.useCallback)((()=>{d&&(u(n.getMillisecondsFromPrevTime(o)),g(!1))}),[o,d]),b=(0,r.useCallback)(((e,t=!0)=>{const i=e?n.getMillisecondsFromExpiry(e):0,o=(new Date).getTime()-new Date(i).getTime(),r=n.getMillisecondsFromPrevTime(o),a=c-r%c;l(o),u(r),T(s<a?s:a),g(t)}),[s]);return Object.assign(Object.assign({},n.getTimeFromMilliseconds(m,!1)),{start:M,pause:y,reset:b,isRunning:d})}function d({format:e,interval:t=c}={}){const[s,i]=(0,r.useState)(n.getMillisecondsFromTimeNow());return a((()=>{i(n.getMillisecondsFromTimeNow())}),t),Object.assign({},n.getFormattedTimeFromMilliseconds(s,e))}return o})())); | ||
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react")):"function"==typeof define&&define.amd?define(["react"],t):"object"==typeof exports?exports["react-timer-hook"]=t(require("react")):e["react-timer-hook"]=t(e.react)}("undefined"!=typeof self?self:this,(e=>(()=>{"use strict";var t={155:t=>{t.exports=e}},s={};function i(e){var o=s[e];if(void 0!==o)return o.exports;var r=s[e]={exports:{}};return t[e](r,r.exports,i),r.exports}i.d=(e,t)=>{for(var s in t)i.o(t,s)&&!i.o(e,s)&&Object.defineProperty(e,s,{enumerable:!0,get:t[s]})},i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var o={};i.r(o),i.d(o,{useStopwatch:()=>u,useTime:()=>d,useTimer:()=>m});var r=i(155);class n{static getTimeFromMilliseconds(e,t=!0){const s=t?Math.ceil(e/1e3):Math.floor(e/1e3),i=Math.floor(s/86400),o=Math.floor(s%86400/3600),r=Math.floor(s%3600/60),n=Math.floor(s%60);return{totalMilliseconds:e,totalSeconds:s,milliseconds:Math.floor(e%1e3),seconds:n,minutes:r,hours:o,days:i}}static getMillisecondsFromExpiry(e){const t=(new Date).getTime(),s=(null==e?void 0:e.getTime())-t;return s>0?s:0}static getMillisecondsFromPrevTime(e){const t=(new Date).getTime()-e;return t>0?t:0}static getMillisecondsFromTimeNow(){const e=new Date;return e.getTime()-60*e.getTimezoneOffset()*1e3}static getFormattedTimeFromMilliseconds(e,t){const{milliseconds:s,seconds:i,minutes:o,hours:r}=n.getTimeFromMilliseconds(e);let l="",a=r;return"12-hour"===t&&(l=r>=12?"pm":"am",a=r%12),{milliseconds:s,seconds:i,minutes:o,hours:a,ampm:l}}}class l{static expiryTimestamp(e){const t=new Date(e).getTime()>0;return t||console.warn("react-timer-hook: { useTimer } Invalid expiryTimestamp settings",e),t}static onExpire(e){const t=e&&"function"==typeof e;return e&&!t&&console.warn("react-timer-hook: { useTimer } Invalid onExpire settings function",e),t}}function a(e,t){const s=(0,r.useRef)(e);(0,r.useEffect)((()=>{s.current=e})),(0,r.useEffect)((()=>{if(!t)return()=>{};const e=setInterval((()=>{var e;null===(e=null==s?void 0:s.current)||void 0===e||e.call(s)}),t);return()=>clearInterval(e)}),[t])}const c=1e3;function m({expiryTimestamp:e,onExpire:t=()=>{},autoStart:s=!0,interval:i=c}){const[o,m]=(0,r.useState)(e),[u,d]=(0,r.useState)(n.getMillisecondsFromExpiry(o)),[g,f]=(0,r.useState)(s),[p,T]=(0,r.useState)(s),[M,y]=(0,r.useState)(i),v=(0,r.useCallback)((()=>{l.onExpire(t)&&t(),f(!1),y(null)}),[t]),b=(0,r.useCallback)((()=>{f(!1)}),[]),x=(0,r.useCallback)(((e,t=!0)=>{y(i),T(t),f(t),m(e),d(n.getMillisecondsFromExpiry(e))}),[i]),F=(0,r.useCallback)((()=>{const e=new Date;e.setMilliseconds(e.getMilliseconds()+u),x(e)}),[u,x]),S=(0,r.useCallback)((()=>{p?(d(n.getMillisecondsFromExpiry(o)),f(!0)):F()}),[o,p,F]);return a((()=>{const e=n.getMillisecondsFromExpiry(o);d(e),e<=0?v():M&&e<M&&y(e)}),g?M:null),(0,r.useEffect)((()=>{l.expiryTimestamp(o)}),[o]),Object.assign(Object.assign({},n.getTimeFromMilliseconds(u)),{start:S,pause:b,resume:F,restart:x,isRunning:g})}function u({autoStart:e=!0,offsetTimestamp:t,interval:s=c}={}){const i=t?n.getMillisecondsFromExpiry(t):0,[o,l]=(0,r.useState)((new Date).getTime()-new Date(i).getTime()),[m,u]=(0,r.useState)(n.getMillisecondsFromPrevTime(o||0)),[d,g]=(0,r.useState)(e),f=c-m%c,[p,T]=(0,r.useState)(s<f?s:f);a((()=>{p!==s&&T(s),u(n.getMillisecondsFromPrevTime(o))}),d?p:null);const M=(0,r.useCallback)((()=>{l((new Date).getTime()-new Date(m).getTime()),g(!0)}),[m]),y=(0,r.useCallback)((()=>{d&&(u(n.getMillisecondsFromPrevTime(o)),g(!1))}),[o,d]),v=(0,r.useCallback)(((e,t=!0)=>{const i=e?n.getMillisecondsFromExpiry(e):0,o=(new Date).getTime()-new Date(i).getTime(),r=n.getMillisecondsFromPrevTime(o),a=c-r%c;l(o),u(r),T(s<a?s:a),g(t)}),[s]);return Object.assign(Object.assign({},n.getTimeFromMilliseconds(m,!1)),{start:M,pause:y,reset:v,isRunning:d})}function d({format:e,interval:t=c}={}){const[s,i]=(0,r.useState)(n.getMillisecondsFromTimeNow());return a((()=>{i(n.getMillisecondsFromTimeNow())}),t),Object.assign({},n.getFormattedTimeFromMilliseconds(s,e))}return o})())); |
{ | ||
"name": "react-timer-hook", | ||
"version": "4.0.4", | ||
"version": "4.0.5", | ||
"description": "React timer hook is a custom react hook built to handle timers(countdown), stopwatch and time logic/state in your react component.", | ||
@@ -5,0 +5,0 @@ "main": "dist/index.js", |
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
23341
0.07%0
-100%