@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,13 +0,0 @@
|
|
|
1
|
-
type MaybeCleanup = (() => void) | void;
|
|
2
|
-
interface CallbackWithCleanup {
|
|
3
|
-
(): MaybeCleanup;
|
|
4
|
-
}
|
|
5
|
-
interface TimeoutCallback {
|
|
6
|
-
(timeoutHandler: CallbackWithCleanup, timeoutDurationMs?: number): () => void;
|
|
7
|
-
cancel(): void;
|
|
8
|
-
}
|
|
9
|
-
export default function useTimer(defaultTimeoutDurationMs?: number, timerFunction?: TimerFunction): TimeoutCallback;
|
|
10
|
-
type TimerFunction = typeof setTimeout | typeof setInterval;
|
|
11
|
-
export declare function useTimeout(defaultTimeoutDurationMs?: number): TimeoutCallback;
|
|
12
|
-
export declare function useInterval(defaultTimeoutDurationMs?: number): TimeoutCallback;
|
|
13
|
-
export {};
|
|
@@ -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/esm/ts/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { unreachable } from './unreachable';
|
package/lib/esm/ts/index.js
DELETED
package/lib/esm/ts/index.js.map
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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { useWindowFocusDetection } from './useWindowFocusDetection';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/main/web/browser/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function useWindowFocusDetection(): boolean;
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
export function useWindowFocusDetection() {
|
|
3
|
-
const [isVisible, setVisible] = React.useState(!document.hidden);
|
|
4
|
-
const visibilityChangeHandler = React.useCallback(() => {
|
|
5
|
-
setVisible(!document.hidden);
|
|
6
|
-
}, []);
|
|
7
|
-
React.useEffect(() => {
|
|
8
|
-
document.addEventListener('visibilitychange', visibilityChangeHandler);
|
|
9
|
-
return () => document.removeEventListener('visibilitychange', visibilityChangeHandler);
|
|
10
|
-
}, [visibilityChangeHandler]);
|
|
11
|
-
return isVisible;
|
|
12
|
-
}
|
|
13
|
-
//# sourceMappingURL=useWindowFocusDetection.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useWindowFocusDetection.js","sourceRoot":"","sources":["../../../src/main/web/browser/useWindowFocusDetection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,MAAM,UAAU,uBAAuB;IACnC,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAEjE,MAAM,uBAAuB,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACnD,UAAU,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,uBAAuB,CAAC,CAAC;QACvE,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,uBAAuB,CAAC,CAAC;IAC3F,CAAC,EAAE,CAAC,uBAAuB,CAAC,CAAC,CAAC;IAE9B,OAAO,SAAS,CAAC;AACrB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/main/web/effects/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import { useTimeout } from '../timers';
|
|
3
|
-
export default function useDebouncedEffect(timeoutMs, effect, dependencyList) {
|
|
4
|
-
const deps = dependencyList || [];
|
|
5
|
-
const timeout = useTimeout(timeoutMs);
|
|
6
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
7
|
-
React.useEffect(() => timeout(effect), deps);
|
|
8
|
-
}
|
|
9
|
-
//# sourceMappingURL=useDebouncedEffect.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useDebouncedEffect.js","sourceRoot":"","sources":["../../../src/main/web/effects/useDebouncedEffect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,MAAM,CAAC,OAAO,UAAU,kBAAkB,CACtC,SAAiB,EACjB,MAA4B,EAC5B,cAAqC;IAErC,MAAM,IAAI,GAAG,cAAc,IAAI,EAAE,CAAC;IAClC,MAAM,OAAO,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;IACtC,uDAAuD;IACvD,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;AACjD,CAAC"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
export default function useEffectOnUpdate(effect, deps) {
|
|
3
|
-
const hasMounted = React.useRef(false);
|
|
4
|
-
React.useEffect(() => {
|
|
5
|
-
if (hasMounted.current) {
|
|
6
|
-
return effect();
|
|
7
|
-
}
|
|
8
|
-
hasMounted.current = true;
|
|
9
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
10
|
-
}, deps);
|
|
11
|
-
}
|
|
12
|
-
//# sourceMappingURL=useEffectOnUpdate.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useEffectOnUpdate.js","sourceRoot":"","sources":["../../../src/main/web/effects/useEffectOnUpdate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,MAAM,CAAC,OAAO,UAAU,iBAAiB,CACrC,MAA4B,EAC5B,IAA2B;IAE3B,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAEvC,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;YACrB,OAAO,MAAM,EAAE,CAAC;QACpB,CAAC;QAED,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;QAE1B,uDAAuD;IAC3D,CAAC,EAAE,IAAI,CAAC,CAAC;AACb,CAAC"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
export default function useRefresh() {
|
|
3
|
-
const [token, setToken] = React.useState(0);
|
|
4
|
-
const refresh = React.useCallback(() => setToken((x) => x + 1), []);
|
|
5
|
-
return React.useMemo(() => [token, refresh], [token, refresh]);
|
|
6
|
-
}
|
|
7
|
-
//# sourceMappingURL=useRefresh.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useRefresh.js","sourceRoot":"","sources":["../../../src/main/web/effects/useRefresh.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,MAAM,CAAC,OAAO,UAAU,UAAU;IAC9B,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAE5C,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEpE,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;AACnE,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { useToggle, type ToggleApi } from './useToggle';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/main/web/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAkB,MAAM,aAAa,CAAC"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
export interface ToggleApi {
|
|
3
|
-
isEnabled: boolean;
|
|
4
|
-
onEnable(): void;
|
|
5
|
-
onDisable(): void;
|
|
6
|
-
onToggle(): void;
|
|
7
|
-
setEnabled: React.Dispatch<React.SetStateAction<boolean>>;
|
|
8
|
-
}
|
|
9
|
-
export declare function useToggle(initialOpen?: boolean): ToggleApi;
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
export function useToggle(initialOpen = false) {
|
|
3
|
-
const [isEnabled, setEnabled] = React.useState(initialOpen);
|
|
4
|
-
const onEnable = React.useCallback(() => setEnabled(true), []);
|
|
5
|
-
const onDisable = React.useCallback(() => setEnabled(false), []);
|
|
6
|
-
const onToggle = React.useCallback(() => setEnabled((isEnabled) => !isEnabled), []);
|
|
7
|
-
return React.useMemo(() => ({ isEnabled, onEnable, onDisable, onToggle, setEnabled }), [isEnabled, onEnable, onDisable, onToggle]);
|
|
8
|
-
}
|
|
9
|
-
//# sourceMappingURL=useToggle.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useToggle.js","sourceRoot":"","sources":["../../../src/main/web/hooks/useToggle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAU/B,MAAM,UAAU,SAAS,CAAC,WAAW,GAAG,KAAK;IACzC,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAE5D,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAC/D,MAAM,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;IACjE,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC;IAEpF,OAAO,KAAK,CAAC,OAAO,CAChB,GAAG,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,EAChE,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,CAC7C,CAAC;AACN,CAAC"}
|
package/lib/esnext/index.d.ts
DELETED
package/lib/esnext/index.js
DELETED
package/lib/esnext/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/main/web/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,MAAM,CAAC"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
export interface StorageBackend {
|
|
2
|
-
get(): string | null;
|
|
3
|
-
set(value: string): void;
|
|
4
|
-
delete(): void;
|
|
5
|
-
}
|
|
6
|
-
declare abstract class GenericStorageBackend implements StorageBackend {
|
|
7
|
-
private key;
|
|
8
|
-
protected abstract storage: Storage;
|
|
9
|
-
constructor(key: string);
|
|
10
|
-
get(): string | null;
|
|
11
|
-
set(value: string): void;
|
|
12
|
-
delete(): void;
|
|
13
|
-
}
|
|
14
|
-
export declare class LocalStorageBackend extends GenericStorageBackend {
|
|
15
|
-
protected storage: Storage;
|
|
16
|
-
}
|
|
17
|
-
export declare class SessionStorageBackend extends GenericStorageBackend {
|
|
18
|
-
protected storage: Storage;
|
|
19
|
-
}
|
|
20
|
-
export {};
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
class GenericStorageBackend {
|
|
2
|
-
key;
|
|
3
|
-
constructor(key) {
|
|
4
|
-
this.key = key;
|
|
5
|
-
}
|
|
6
|
-
get() {
|
|
7
|
-
return this.storage.getItem(this.key);
|
|
8
|
-
}
|
|
9
|
-
set(value) {
|
|
10
|
-
this.storage.setItem(this.key, value);
|
|
11
|
-
}
|
|
12
|
-
delete() {
|
|
13
|
-
this.storage.removeItem(this.key);
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
export class LocalStorageBackend extends GenericStorageBackend {
|
|
17
|
-
// eslint-disable-next-line prettier/prettier
|
|
18
|
-
storage = localStorage;
|
|
19
|
-
}
|
|
20
|
-
export class SessionStorageBackend extends GenericStorageBackend {
|
|
21
|
-
storage = sessionStorage;
|
|
22
|
-
}
|
|
23
|
-
//# sourceMappingURL=backends.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"backends.js","sourceRoot":"","sources":["../../../src/main/web/storage/backends.ts"],"names":[],"mappings":"AAMA,MAAe,qBAAqB;IAGZ;IAApB,YAAoB,GAAW;QAAX,QAAG,GAAH,GAAG,CAAQ;IAAG,CAAC;IAEnC,GAAG;QACC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC1C,CAAC;IAED,GAAG,CAAC,KAAa;QACb,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC1C,CAAC;IAED,MAAM;QACF,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACtC,CAAC;CACJ;AAED,MAAM,OAAO,mBAAoB,SAAQ,qBAAqB;IAC1D,6CAA6C;IACnC,OAAO,GAAG,YAAY,CAAC;CACpC;AAED,MAAM,OAAO,qBAAsB,SAAQ,qBAAqB;IAClD,OAAO,GAAG,cAAc,CAAC;CACtC"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import { StorageService } from './services';
|
|
3
|
-
export { StorageService };
|
|
4
|
-
export type { StorageBackend } from './backends';
|
|
5
|
-
export interface StoredValue<T> {
|
|
6
|
-
value: T;
|
|
7
|
-
set(value: T): void;
|
|
8
|
-
update: React.Dispatch<React.SetStateAction<T>>;
|
|
9
|
-
delete(): void;
|
|
10
|
-
}
|
|
11
|
-
export interface StoredValueConfig<T> {
|
|
12
|
-
defaultValue: T;
|
|
13
|
-
serialize: (value: T) => string | null;
|
|
14
|
-
deserialize: (value: string) => T;
|
|
15
|
-
}
|
|
16
|
-
export declare function useLocalStorage<T>(name: string, config: StoredValueConfig<T>): StoredValue<T>;
|
|
17
|
-
export declare function useSessionStorage<T>(name: string, config: StoredValueConfig<T>): StoredValue<T>;
|
|
18
|
-
export default function useStoredValue<T>(service: StorageService<T>): StoredValue<T>;
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import { StorageService, fromLocalStorage, fromSessionStorage } from './services';
|
|
3
|
-
export { StorageService };
|
|
4
|
-
export function useLocalStorage(name, config) {
|
|
5
|
-
const service = React.useMemo(() => fromLocalStorage(name, config.defaultValue, config.serialize, config.deserialize), [name, config.defaultValue, config.serialize, config.deserialize]);
|
|
6
|
-
return useStoredValue(service);
|
|
7
|
-
}
|
|
8
|
-
export function useSessionStorage(name, config) {
|
|
9
|
-
const service = React.useMemo(() => fromSessionStorage(name, config.defaultValue, config.serialize, config.deserialize), [name, config.defaultValue, config.serialize, config.deserialize]);
|
|
10
|
-
return useStoredValue(service);
|
|
11
|
-
}
|
|
12
|
-
export default function useStoredValue(service) {
|
|
13
|
-
const [value, setValue] = React.useState(service.get());
|
|
14
|
-
React.useEffect(() => service.addChangeListener(setValue), [service]);
|
|
15
|
-
const set = React.useCallback((value) => {
|
|
16
|
-
service.set(value);
|
|
17
|
-
}, [service]);
|
|
18
|
-
const updateValue = React.useCallback((updater) => {
|
|
19
|
-
return typeof updater === 'function'
|
|
20
|
-
? service.update(updater)
|
|
21
|
-
: service.set(updater);
|
|
22
|
-
}, [service]);
|
|
23
|
-
const deleteValue = React.useCallback(() => {
|
|
24
|
-
service.delete();
|
|
25
|
-
}, [service]);
|
|
26
|
-
return React.useMemo(() => {
|
|
27
|
-
return { value, set, update: updateValue, delete: deleteValue };
|
|
28
|
-
}, [value, set, deleteValue, updateValue]);
|
|
29
|
-
}
|
|
30
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/main/web/storage/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAElF,OAAO,EAAE,cAAc,EAAE,CAAC;AAgB1B,MAAM,UAAU,eAAe,CAAI,IAAY,EAAE,MAA4B;IACzE,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CACzB,GAAG,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,WAAW,CAAC,EACvF,CAAC,IAAI,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,WAAW,CAAC,CACpE,CAAC;IAEF,OAAO,cAAc,CAAC,OAAO,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAI,IAAY,EAAE,MAA4B;IAC3E,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CACzB,GAAG,EAAE,CAAC,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,WAAW,CAAC,EACzF,CAAC,IAAI,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,WAAW,CAAC,CACpE,CAAC;IAEF,OAAO,cAAc,CAAC,OAAO,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,CAAC,OAAO,UAAU,cAAc,CAAI,OAA0B;IAChE,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAE3D,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEtE,MAAM,GAAG,GAAG,KAAK,CAAC,WAAW,CACzB,CAAC,KAAQ,EAAE,EAAE;QACT,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC,EACD,CAAC,OAAO,CAAC,CACZ,CAAC;IAEF,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CACjC,CAAC,OAAgC,EAAE,EAAE;QACjC,OAAO,OAAO,OAAO,KAAK,UAAU;YAChC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,OAA0B,CAAC;YAC5C,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC,EACD,CAAC,OAAO,CAAC,CACZ,CAAC;IAEF,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACvC,OAAO,CAAC,MAAM,EAAE,CAAC;IACrB,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACtB,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IACpE,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;AAC/C,CAAC"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { type StorageBackend } from './backends';
|
|
2
|
-
type ChangeListener<T> = (value: T) => unknown;
|
|
3
|
-
type Unsubscribe = () => void;
|
|
4
|
-
export declare class StorageService<T> {
|
|
5
|
-
private storage;
|
|
6
|
-
private defaultValue;
|
|
7
|
-
private serialize;
|
|
8
|
-
private deserialize;
|
|
9
|
-
private changeListeners;
|
|
10
|
-
constructor(storage: StorageBackend, defaultValue: T, serialize: (value: T) => string | null, deserialize: (value: string) => T);
|
|
11
|
-
get(): T;
|
|
12
|
-
set(value: T): void;
|
|
13
|
-
update(updater: (value: T) => T): void;
|
|
14
|
-
delete(): void;
|
|
15
|
-
addChangeListener(listener: ChangeListener<T>): Unsubscribe;
|
|
16
|
-
private emitChange;
|
|
17
|
-
}
|
|
18
|
-
export declare function fromLocalStorage<T>(key: string, defaultValue: T, serialize: (value: T) => string | null, deserialize: (value: string) => T): StorageService<T>;
|
|
19
|
-
export declare function fromSessionStorage<T>(key: string, defaultValue: T, serialize: (value: T) => string | null, deserialize: (value: string) => T): StorageService<T>;
|
|
20
|
-
export {};
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
import { LocalStorageBackend, SessionStorageBackend } from './backends';
|
|
2
|
-
export class StorageService {
|
|
3
|
-
storage;
|
|
4
|
-
defaultValue;
|
|
5
|
-
serialize;
|
|
6
|
-
deserialize;
|
|
7
|
-
// eslint-disable-next-line prettier/prettier
|
|
8
|
-
changeListeners = [];
|
|
9
|
-
constructor(storage, defaultValue, serialize, deserialize) {
|
|
10
|
-
this.storage = storage;
|
|
11
|
-
this.defaultValue = defaultValue;
|
|
12
|
-
this.serialize = serialize;
|
|
13
|
-
this.deserialize = deserialize;
|
|
14
|
-
}
|
|
15
|
-
get() {
|
|
16
|
-
const value = this.storage.get();
|
|
17
|
-
if (value == null) {
|
|
18
|
-
return this.defaultValue;
|
|
19
|
-
}
|
|
20
|
-
return this.deserialize(value);
|
|
21
|
-
}
|
|
22
|
-
set(value) {
|
|
23
|
-
const serialized = this.serialize(value);
|
|
24
|
-
if (serialized != null) {
|
|
25
|
-
this.storage.set(serialized);
|
|
26
|
-
}
|
|
27
|
-
else {
|
|
28
|
-
this.delete();
|
|
29
|
-
}
|
|
30
|
-
this.emitChange();
|
|
31
|
-
}
|
|
32
|
-
update(updater) {
|
|
33
|
-
const value = updater(this.get());
|
|
34
|
-
this.set(value);
|
|
35
|
-
this.emitChange();
|
|
36
|
-
}
|
|
37
|
-
delete() {
|
|
38
|
-
this.storage.delete();
|
|
39
|
-
this.emitChange();
|
|
40
|
-
}
|
|
41
|
-
addChangeListener(listener) {
|
|
42
|
-
const unsubscribe = () => {
|
|
43
|
-
const index = this.changeListeners.indexOf(listener);
|
|
44
|
-
if (index !== -1) {
|
|
45
|
-
this.changeListeners.splice(index, 1);
|
|
46
|
-
}
|
|
47
|
-
};
|
|
48
|
-
if (this.changeListeners.indexOf(listener) === -1) {
|
|
49
|
-
this.changeListeners.push(listener);
|
|
50
|
-
listener(this.get());
|
|
51
|
-
}
|
|
52
|
-
return unsubscribe;
|
|
53
|
-
}
|
|
54
|
-
emitChange() {
|
|
55
|
-
const value = this.get();
|
|
56
|
-
this.changeListeners.forEach((listener) => {
|
|
57
|
-
listener(value);
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
export function fromLocalStorage(key, defaultValue, serialize, deserialize) {
|
|
62
|
-
const storageBackend = new LocalStorageBackend(key);
|
|
63
|
-
return new StorageService(storageBackend, defaultValue, serialize, deserialize);
|
|
64
|
-
}
|
|
65
|
-
export function fromSessionStorage(key, defaultValue, serialize, deserialize) {
|
|
66
|
-
const storageBackend = new SessionStorageBackend(key);
|
|
67
|
-
return new StorageService(storageBackend, defaultValue, serialize, deserialize);
|
|
68
|
-
}
|
|
69
|
-
//# sourceMappingURL=services.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"services.js","sourceRoot":"","sources":["../../../src/main/web/storage/services.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { DateTime } from 'luxon';
|
|
2
|
-
type Opaque<K, T> = T & {
|
|
3
|
-
__TYPE__: K;
|
|
4
|
-
};
|
|
5
|
-
export type ISODate = Opaque<'ISODate', string>;
|
|
6
|
-
export type DateFormat = 'DATETIME_FULL' | 'DATETIME_FULL_WITH_SECONDS' | 'DATETIME_HUGE' | 'DATETIME_HUGE_WITH_SECONDS' | 'DATETIME_MED' | 'DATETIME_MED_WITH_SECONDS' | 'DATETIME_SHORT' | 'DATETIME_SHORT_WITH_SECONDS' | 'DATE_FULL' | 'DATE_HUGE' | 'DATE_MED' | 'DATE_SHORT' | 'TIME_24_SIMPLE' | 'TIME_24_WITH_LONG_OFFSET' | 'TIME_24_WITH_SECONDS' | 'TIME_24_WITH_SHORT_OFFSET' | 'TIME_SIMPLE' | 'TIME_WITH_LONG_OFFSET' | 'TIME_WITH_SECONDS' | 'TIME_WITH_SHORT_OFFSET';
|
|
7
|
-
export type GenericDateTime = string | Date | DateTime | ISODate;
|
|
8
|
-
export declare function toDateTime(value: GenericDateTime): DateTime;
|
|
9
|
-
export {};
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { DateTime } from 'luxon';
|
|
2
|
-
export function toDateTime(value) {
|
|
3
|
-
if (value instanceof DateTime) {
|
|
4
|
-
return value.toUTC();
|
|
5
|
-
}
|
|
6
|
-
if (value instanceof Date) {
|
|
7
|
-
return DateTime.fromISO(value.toISOString());
|
|
8
|
-
}
|
|
9
|
-
try {
|
|
10
|
-
return DateTime.fromISO(new Date(value).toISOString());
|
|
11
|
-
}
|
|
12
|
-
catch (e) {
|
|
13
|
-
return DateTime.invalid(e instanceof Error ? e.message : '');
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=datetime.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"datetime.js","sourceRoot":"","sources":["../../../src/main/web/time/datetime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AA8BjC,MAAM,UAAU,UAAU,CAAC,KAAsB;IAC7C,IAAI,KAAK,YAAY,QAAQ,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;IAED,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;QACxB,OAAO,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,CAAC;QACD,OAAO,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IAC3D,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACjE,CAAC;AACL,CAAC"}
|
package/lib/esnext/time/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/main/web/time/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAc,MAAM,YAAY,CAAC;AAClD,OAAO,EAAuD,UAAU,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { DateTime } from 'luxon';
|
|
2
|
-
export interface Clock {
|
|
3
|
-
readonly now: DateTime;
|
|
4
|
-
/**
|
|
5
|
-
* Updates the current time in the given interval.
|
|
6
|
-
* @param intervalMs Interval for clock update in milliseconds. Defaults to 1000ms.
|
|
7
|
-
*/
|
|
8
|
-
tick(intervalMs?: number): () => void;
|
|
9
|
-
update(): void;
|
|
10
|
-
}
|
|
11
|
-
export declare const useClock: (tickIntervalMs?: number, locale?: string) => Clock;
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { DateTime } from 'luxon';
|
|
2
|
-
import * as React from 'react';
|
|
3
|
-
export const useClock = function useClock(tickIntervalMs, locale) {
|
|
4
|
-
const getCurrentTime = React.useCallback(() => (locale != null ? DateTime.utc().setLocale(locale) : DateTime.utc()), [locale]);
|
|
5
|
-
const [now, setNow] = React.useState(getCurrentTime);
|
|
6
|
-
const update = React.useCallback(() => setNow(getCurrentTime()), [getCurrentTime]);
|
|
7
|
-
const tick = React.useCallback((intervalMs = 1000) => {
|
|
8
|
-
const interval = setInterval(update, intervalMs);
|
|
9
|
-
return () => clearInterval(interval);
|
|
10
|
-
}, [update]);
|
|
11
|
-
React.useEffect(() => {
|
|
12
|
-
if (tickIntervalMs != null && tickIntervalMs > 0) {
|
|
13
|
-
return tick(tickIntervalMs);
|
|
14
|
-
}
|
|
15
|
-
}, [tick, tickIntervalMs]);
|
|
16
|
-
return React.useMemo(() => ({ now, tick, update }), [now, tick, update]);
|
|
17
|
-
};
|
|
18
|
-
//# sourceMappingURL=useClock.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useClock.js","sourceRoot":"","sources":["../../../src/main/web/time/useClock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAY/B,MAAM,CAAC,MAAM,QAAQ,GAAG,SAAS,QAAQ,CAAC,cAAuB,EAAE,MAAe;IAC9E,MAAM,cAAc,GAAG,KAAK,CAAC,WAAW,CACpC,GAAG,EAAE,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,EAC1E,CAAC,MAAM,CAAC,CACX,CAAC;IAEF,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IAErD,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;IAEnF,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,CAC1B,CAAC,UAAU,GAAG,IAAI,EAAE,EAAE;QAClB,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QACjD,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACzC,CAAC,EACD,CAAC,MAAM,CAAC,CACX,CAAC;IAEF,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,IAAI,cAAc,IAAI,IAAI,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;YAC/C,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC;QAChC,CAAC;IACL,CAAC,EAAE,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC;IAE3B,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;AAC7E,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/main/web/timers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export default function useDebounce<T>(value: T, delay: number): T;
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import * as react from 'react';
|
|
2
|
-
export default function useDebounce(value, delay) {
|
|
3
|
-
const [debouncedValue, setDebouncedValue] = react.useState(value);
|
|
4
|
-
react.useEffect(() => {
|
|
5
|
-
const handler = setTimeout(() => {
|
|
6
|
-
setDebouncedValue(value);
|
|
7
|
-
}, delay);
|
|
8
|
-
return () => clearTimeout(handler);
|
|
9
|
-
}, [value, delay]);
|
|
10
|
-
return debouncedValue;
|
|
11
|
-
}
|
|
12
|
-
//# sourceMappingURL=useDebounce.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useDebounce.js","sourceRoot":"","sources":["../../../src/main/web/timers/useDebounce.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,MAAM,CAAC,OAAO,UAAU,WAAW,CAAI,KAAQ,EAAE,KAAa;IAC1D,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAElE,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC,EAAE,KAAK,CAAC,CAAC;QAEV,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IAEnB,OAAO,cAAc,CAAC;AAC1B,CAAC"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
type MaybeCleanup = (() => void) | void;
|
|
2
|
-
interface CallbackWithCleanup {
|
|
3
|
-
(): MaybeCleanup;
|
|
4
|
-
}
|
|
5
|
-
interface TimeoutCallback {
|
|
6
|
-
(timeoutHandler: CallbackWithCleanup, timeoutDurationMs?: number): () => void;
|
|
7
|
-
cancel(): void;
|
|
8
|
-
}
|
|
9
|
-
export default function useTimer(defaultTimeoutDurationMs?: number, timerFunction?: TimerFunction): TimeoutCallback;
|
|
10
|
-
type TimerFunction = typeof setTimeout | typeof setInterval;
|
|
11
|
-
export declare function useTimeout(defaultTimeoutDurationMs?: number): TimeoutCallback;
|
|
12
|
-
export declare function useInterval(defaultTimeoutDurationMs?: number): TimeoutCallback;
|
|
13
|
-
export {};
|