@ekz/react-utils 1.0.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +22 -0
- package/package.json +19 -7
- package/lib/cjs/browser/index.d.ts +0 -1
- package/lib/cjs/browser/index.js +0 -6
- package/lib/cjs/browser/index.js.map +0 -1
- package/lib/cjs/browser/useWindowFocusDetection.d.ts +0 -1
- package/lib/cjs/browser/useWindowFocusDetection.js +0 -17
- package/lib/cjs/browser/useWindowFocusDetection.js.map +0 -1
- package/lib/cjs/effects/index.d.ts +0 -3
- package/lib/cjs/effects/index.js +0 -11
- package/lib/cjs/effects/index.js.map +0 -1
- package/lib/cjs/effects/useDebouncedEffect.d.ts +0 -2
- package/lib/cjs/effects/useDebouncedEffect.js +0 -13
- package/lib/cjs/effects/useDebouncedEffect.js.map +0 -1
- package/lib/cjs/effects/useEffectOnUpdate.d.ts +0 -2
- package/lib/cjs/effects/useEffectOnUpdate.js +0 -16
- package/lib/cjs/effects/useEffectOnUpdate.js.map +0 -1
- package/lib/cjs/effects/useRefresh.d.ts +0 -3
- package/lib/cjs/effects/useRefresh.js +0 -11
- package/lib/cjs/effects/useRefresh.js.map +0 -1
- package/lib/cjs/hooks/index.d.ts +0 -1
- package/lib/cjs/hooks/index.js +0 -6
- package/lib/cjs/hooks/index.js.map +0 -1
- package/lib/cjs/hooks/useToggle.d.ts +0 -9
- package/lib/cjs/hooks/useToggle.js +0 -13
- package/lib/cjs/hooks/useToggle.js.map +0 -1
- package/lib/cjs/index.d.ts +0 -7
- package/lib/cjs/index.js +0 -11
- package/lib/cjs/index.js.map +0 -1
- package/lib/cjs/storage/backends.d.ts +0 -20
- package/lib/cjs/storage/backends.js +0 -33
- package/lib/cjs/storage/backends.js.map +0 -1
- package/lib/cjs/storage/index.d.ts +0 -18
- package/lib/cjs/storage/index.js +0 -37
- package/lib/cjs/storage/index.js.map +0 -1
- package/lib/cjs/storage/services.d.ts +0 -20
- package/lib/cjs/storage/services.js +0 -71
- package/lib/cjs/storage/services.js.map +0 -1
- package/lib/cjs/time/datetime.d.ts +0 -9
- package/lib/cjs/time/datetime.js +0 -19
- package/lib/cjs/time/datetime.js.map +0 -1
- package/lib/cjs/time/index.d.ts +0 -2
- package/lib/cjs/time/index.js +0 -8
- package/lib/cjs/time/index.js.map +0 -1
- package/lib/cjs/time/useClock.d.ts +0 -11
- package/lib/cjs/time/useClock.js +0 -23
- package/lib/cjs/time/useClock.js.map +0 -1
- package/lib/cjs/timers/index.d.ts +0 -2
- package/lib/cjs/timers/index.js +0 -10
- package/lib/cjs/timers/index.js.map +0 -1
- package/lib/cjs/timers/useDebounce.d.ts +0 -1
- package/lib/cjs/timers/useDebounce.js +0 -16
- package/lib/cjs/timers/useDebounce.js.map +0 -1
- package/lib/cjs/timers/useTimer.d.ts +0 -13
- package/lib/cjs/timers/useTimer.js +0 -44
- package/lib/cjs/timers/useTimer.js.map +0 -1
- package/lib/cjs/ts/index.d.ts +0 -1
- package/lib/cjs/ts/index.js +0 -6
- package/lib/cjs/ts/index.js.map +0 -1
- package/lib/cjs/ts/unreachable.d.ts +0 -1
- package/lib/cjs/ts/unreachable.js +0 -7
- package/lib/cjs/ts/unreachable.js.map +0 -1
- package/lib/esm/browser/index.d.ts +0 -1
- package/lib/esm/browser/index.js +0 -2
- package/lib/esm/browser/index.js.map +0 -1
- package/lib/esm/browser/useWindowFocusDetection.d.ts +0 -1
- package/lib/esm/browser/useWindowFocusDetection.js +0 -13
- package/lib/esm/browser/useWindowFocusDetection.js.map +0 -1
- package/lib/esm/effects/index.d.ts +0 -3
- package/lib/esm/effects/index.js +0 -4
- package/lib/esm/effects/index.js.map +0 -1
- package/lib/esm/effects/useDebouncedEffect.d.ts +0 -2
- package/lib/esm/effects/useDebouncedEffect.js +0 -9
- package/lib/esm/effects/useDebouncedEffect.js.map +0 -1
- package/lib/esm/effects/useEffectOnUpdate.d.ts +0 -2
- package/lib/esm/effects/useEffectOnUpdate.js +0 -12
- package/lib/esm/effects/useEffectOnUpdate.js.map +0 -1
- package/lib/esm/effects/useRefresh.d.ts +0 -3
- package/lib/esm/effects/useRefresh.js +0 -7
- package/lib/esm/effects/useRefresh.js.map +0 -1
- package/lib/esm/hooks/index.d.ts +0 -1
- package/lib/esm/hooks/index.js +0 -2
- package/lib/esm/hooks/index.js.map +0 -1
- package/lib/esm/hooks/useToggle.d.ts +0 -9
- package/lib/esm/hooks/useToggle.js +0 -9
- package/lib/esm/hooks/useToggle.js.map +0 -1
- package/lib/esm/index.d.ts +0 -7
- package/lib/esm/index.js +0 -8
- package/lib/esm/index.js.map +0 -1
- package/lib/esm/storage/backends.d.ts +0 -20
- package/lib/esm/storage/backends.js +0 -28
- package/lib/esm/storage/backends.js.map +0 -1
- package/lib/esm/storage/index.d.ts +0 -18
- package/lib/esm/storage/index.js +0 -30
- package/lib/esm/storage/index.js.map +0 -1
- package/lib/esm/storage/services.d.ts +0 -20
- package/lib/esm/storage/services.js +0 -65
- package/lib/esm/storage/services.js.map +0 -1
- package/lib/esm/time/datetime.d.ts +0 -9
- package/lib/esm/time/datetime.js +0 -16
- package/lib/esm/time/datetime.js.map +0 -1
- package/lib/esm/time/index.d.ts +0 -2
- package/lib/esm/time/index.js +0 -3
- package/lib/esm/time/index.js.map +0 -1
- package/lib/esm/time/useClock.d.ts +0 -11
- package/lib/esm/time/useClock.js +0 -18
- package/lib/esm/time/useClock.js.map +0 -1
- package/lib/esm/timers/index.d.ts +0 -2
- package/lib/esm/timers/index.js +0 -3
- package/lib/esm/timers/index.js.map +0 -1
- package/lib/esm/timers/useDebounce.d.ts +0 -1
- package/lib/esm/timers/useDebounce.js +0 -12
- package/lib/esm/timers/useDebounce.js.map +0 -1
- package/lib/esm/timers/useTimer.d.ts +0 -13
- package/lib/esm/timers/useTimer.js +0 -38
- package/lib/esm/timers/useTimer.js.map +0 -1
- package/lib/esm/ts/index.d.ts +0 -1
- package/lib/esm/ts/index.js +0 -2
- package/lib/esm/ts/index.js.map +0 -1
- package/lib/esm/ts/unreachable.d.ts +0 -1
- package/lib/esm/ts/unreachable.js +0 -4
- package/lib/esm/ts/unreachable.js.map +0 -1
- package/lib/esnext/browser/index.d.ts +0 -1
- package/lib/esnext/browser/index.js +0 -2
- package/lib/esnext/browser/index.js.map +0 -1
- package/lib/esnext/browser/useWindowFocusDetection.d.ts +0 -1
- package/lib/esnext/browser/useWindowFocusDetection.js +0 -13
- package/lib/esnext/browser/useWindowFocusDetection.js.map +0 -1
- package/lib/esnext/effects/index.d.ts +0 -3
- package/lib/esnext/effects/index.js +0 -4
- package/lib/esnext/effects/index.js.map +0 -1
- package/lib/esnext/effects/useDebouncedEffect.d.ts +0 -2
- package/lib/esnext/effects/useDebouncedEffect.js +0 -9
- package/lib/esnext/effects/useDebouncedEffect.js.map +0 -1
- package/lib/esnext/effects/useEffectOnUpdate.d.ts +0 -2
- package/lib/esnext/effects/useEffectOnUpdate.js +0 -12
- package/lib/esnext/effects/useEffectOnUpdate.js.map +0 -1
- package/lib/esnext/effects/useRefresh.d.ts +0 -3
- package/lib/esnext/effects/useRefresh.js +0 -7
- package/lib/esnext/effects/useRefresh.js.map +0 -1
- package/lib/esnext/hooks/index.d.ts +0 -1
- package/lib/esnext/hooks/index.js +0 -2
- package/lib/esnext/hooks/index.js.map +0 -1
- package/lib/esnext/hooks/useToggle.d.ts +0 -9
- package/lib/esnext/hooks/useToggle.js +0 -9
- package/lib/esnext/hooks/useToggle.js.map +0 -1
- package/lib/esnext/index.d.ts +0 -7
- package/lib/esnext/index.js +0 -8
- package/lib/esnext/index.js.map +0 -1
- package/lib/esnext/storage/backends.d.ts +0 -20
- package/lib/esnext/storage/backends.js +0 -23
- package/lib/esnext/storage/backends.js.map +0 -1
- package/lib/esnext/storage/index.d.ts +0 -18
- package/lib/esnext/storage/index.js +0 -30
- package/lib/esnext/storage/index.js.map +0 -1
- package/lib/esnext/storage/services.d.ts +0 -20
- package/lib/esnext/storage/services.js +0 -69
- package/lib/esnext/storage/services.js.map +0 -1
- package/lib/esnext/time/datetime.d.ts +0 -9
- package/lib/esnext/time/datetime.js +0 -16
- package/lib/esnext/time/datetime.js.map +0 -1
- package/lib/esnext/time/index.d.ts +0 -2
- package/lib/esnext/time/index.js +0 -3
- package/lib/esnext/time/index.js.map +0 -1
- package/lib/esnext/time/useClock.d.ts +0 -11
- package/lib/esnext/time/useClock.js +0 -18
- package/lib/esnext/time/useClock.js.map +0 -1
- package/lib/esnext/timers/index.d.ts +0 -2
- package/lib/esnext/timers/index.js +0 -3
- package/lib/esnext/timers/index.js.map +0 -1
- package/lib/esnext/timers/useDebounce.d.ts +0 -1
- package/lib/esnext/timers/useDebounce.js +0 -12
- package/lib/esnext/timers/useDebounce.js.map +0 -1
- package/lib/esnext/timers/useTimer.d.ts +0 -13
- package/lib/esnext/timers/useTimer.js +0 -38
- package/lib/esnext/timers/useTimer.js.map +0 -1
- package/lib/esnext/ts/index.d.ts +0 -1
- package/lib/esnext/ts/index.js +0 -2
- package/lib/esnext/ts/index.js.map +0 -1
- package/lib/esnext/ts/unreachable.d.ts +0 -1
- package/lib/esnext/ts/unreachable.js +0 -4
- package/lib/esnext/ts/unreachable.js.map +0 -1
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
export default function useTimer(defaultTimeoutDurationMs = 0, timerFunction = setTimeout) {
|
|
3
|
-
const timeoutId = React.useRef(undefined);
|
|
4
|
-
const callbackCleanup = React.useRef(undefined);
|
|
5
|
-
const clear = React.useCallback(() => {
|
|
6
|
-
if (timeoutId.current != null) {
|
|
7
|
-
if (timerFunction === setTimeout) {
|
|
8
|
-
clearTimeout(timeoutId.current);
|
|
9
|
-
}
|
|
10
|
-
else {
|
|
11
|
-
clearInterval(timeoutId.current);
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
if (callbackCleanup.current != null) {
|
|
15
|
-
callbackCleanup.current();
|
|
16
|
-
callbackCleanup.current = undefined;
|
|
17
|
-
}
|
|
18
|
-
}, [timerFunction]);
|
|
19
|
-
React.useEffect(() => clear, [clear]);
|
|
20
|
-
return React.useMemo(() => {
|
|
21
|
-
const runTimeout = (timeoutHandler, timeoutDurationMs = defaultTimeoutDurationMs) => {
|
|
22
|
-
clear();
|
|
23
|
-
timeoutId.current = timerFunction(() => {
|
|
24
|
-
callbackCleanup.current = timeoutHandler();
|
|
25
|
-
}, timeoutDurationMs);
|
|
26
|
-
return clear;
|
|
27
|
-
};
|
|
28
|
-
runTimeout.cancel = clear;
|
|
29
|
-
return runTimeout;
|
|
30
|
-
}, [clear, timerFunction, defaultTimeoutDurationMs]);
|
|
31
|
-
}
|
|
32
|
-
export function useTimeout(defaultTimeoutDurationMs = 0) {
|
|
33
|
-
return useTimer(defaultTimeoutDurationMs, setTimeout);
|
|
34
|
-
}
|
|
35
|
-
export function useInterval(defaultTimeoutDurationMs = 0) {
|
|
36
|
-
return useTimer(defaultTimeoutDurationMs, setInterval);
|
|
37
|
-
}
|
|
38
|
-
//# sourceMappingURL=useTimer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useTimer.js","sourceRoot":"","sources":["../../../src/main/web/timers/useTimer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAa/B,MAAM,CAAC,OAAO,UAAU,QAAQ,CAC5B,wBAAwB,GAAG,CAAC,EAC5B,gBAA+B,UAAU;IAEzC,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAiB,SAAS,CAAC,CAAC;IAC1D,MAAM,eAAe,GAAG,KAAK,CAAC,MAAM,CAAe,SAAS,CAAC,CAAC;IAE9D,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACjC,IAAI,SAAS,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC;YAC5B,IAAI,aAAa,KAAK,UAAU,EAAE,CAAC;gBAC/B,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACpC,CAAC;iBAAM,CAAC;gBACJ,aAAa,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACrC,CAAC;QACL,CAAC;QAED,IAAI,eAAe,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC;YAClC,eAAe,CAAC,OAAO,EAAE,CAAC;YAC1B,eAAe,CAAC,OAAO,GAAG,SAAS,CAAC;QACxC,CAAC;IACL,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IAEpB,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEtC,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACtB,MAAM,UAAU,GAAG,CACf,cAAmC,EACnC,iBAAiB,GAAG,wBAAwB,EAChC,EAAE;YACd,KAAK,EAAE,CAAC;YACR,SAAS,CAAC,OAAO,GAAG,aAAa,CAAC,GAAG,EAAE;gBACnC,eAAe,CAAC,OAAO,GAAG,cAAc,EAAE,CAAC;YAC/C,CAAC,EAAE,iBAAiB,CAAC,CAAC;YACtB,OAAO,KAAK,CAAC;QACjB,CAAC,CAAC;QAEF,UAAU,CAAC,MAAM,GAAG,KAAK,CAAC;QAE1B,OAAO,UAAU,CAAC;IACtB,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,EAAE,wBAAwB,CAAC,CAAC,CAAC;AACzD,CAAC;AAID,MAAM,UAAU,UAAU,CAAC,wBAAwB,GAAG,CAAC;IACnD,OAAO,QAAQ,CAAC,wBAAwB,EAAE,UAAU,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,wBAAwB,GAAG,CAAC;IACpD,OAAO,QAAQ,CAAC,wBAAwB,EAAE,WAAW,CAAC,CAAC;AAC3D,CAAC"}
|
package/lib/esnext/ts/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { unreachable } from './unreachable';
|
package/lib/esnext/ts/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/main/web/ts/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function unreachable(value: never): never;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"unreachable.js","sourceRoot":"","sources":["../../../src/main/web/ts/unreachable.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,WAAW,CAAC,KAAY;IACpC,MAAM,IAAI,SAAS,CAAC,iCAAiC,KAAK,GAAG,CAAC,CAAC;AACnE,CAAC"}
|