@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.
Files changed (182) hide show
  1. package/README.md +22 -0
  2. package/package.json +19 -7
  3. package/lib/cjs/browser/index.d.ts +0 -1
  4. package/lib/cjs/browser/index.js +0 -6
  5. package/lib/cjs/browser/index.js.map +0 -1
  6. package/lib/cjs/browser/useWindowFocusDetection.d.ts +0 -1
  7. package/lib/cjs/browser/useWindowFocusDetection.js +0 -17
  8. package/lib/cjs/browser/useWindowFocusDetection.js.map +0 -1
  9. package/lib/cjs/effects/index.d.ts +0 -3
  10. package/lib/cjs/effects/index.js +0 -11
  11. package/lib/cjs/effects/index.js.map +0 -1
  12. package/lib/cjs/effects/useDebouncedEffect.d.ts +0 -2
  13. package/lib/cjs/effects/useDebouncedEffect.js +0 -13
  14. package/lib/cjs/effects/useDebouncedEffect.js.map +0 -1
  15. package/lib/cjs/effects/useEffectOnUpdate.d.ts +0 -2
  16. package/lib/cjs/effects/useEffectOnUpdate.js +0 -16
  17. package/lib/cjs/effects/useEffectOnUpdate.js.map +0 -1
  18. package/lib/cjs/effects/useRefresh.d.ts +0 -3
  19. package/lib/cjs/effects/useRefresh.js +0 -11
  20. package/lib/cjs/effects/useRefresh.js.map +0 -1
  21. package/lib/cjs/hooks/index.d.ts +0 -1
  22. package/lib/cjs/hooks/index.js +0 -6
  23. package/lib/cjs/hooks/index.js.map +0 -1
  24. package/lib/cjs/hooks/useToggle.d.ts +0 -9
  25. package/lib/cjs/hooks/useToggle.js +0 -13
  26. package/lib/cjs/hooks/useToggle.js.map +0 -1
  27. package/lib/cjs/index.d.ts +0 -7
  28. package/lib/cjs/index.js +0 -11
  29. package/lib/cjs/index.js.map +0 -1
  30. package/lib/cjs/storage/backends.d.ts +0 -20
  31. package/lib/cjs/storage/backends.js +0 -33
  32. package/lib/cjs/storage/backends.js.map +0 -1
  33. package/lib/cjs/storage/index.d.ts +0 -18
  34. package/lib/cjs/storage/index.js +0 -37
  35. package/lib/cjs/storage/index.js.map +0 -1
  36. package/lib/cjs/storage/services.d.ts +0 -20
  37. package/lib/cjs/storage/services.js +0 -71
  38. package/lib/cjs/storage/services.js.map +0 -1
  39. package/lib/cjs/time/datetime.d.ts +0 -9
  40. package/lib/cjs/time/datetime.js +0 -19
  41. package/lib/cjs/time/datetime.js.map +0 -1
  42. package/lib/cjs/time/index.d.ts +0 -2
  43. package/lib/cjs/time/index.js +0 -8
  44. package/lib/cjs/time/index.js.map +0 -1
  45. package/lib/cjs/time/useClock.d.ts +0 -11
  46. package/lib/cjs/time/useClock.js +0 -23
  47. package/lib/cjs/time/useClock.js.map +0 -1
  48. package/lib/cjs/timers/index.d.ts +0 -2
  49. package/lib/cjs/timers/index.js +0 -10
  50. package/lib/cjs/timers/index.js.map +0 -1
  51. package/lib/cjs/timers/useDebounce.d.ts +0 -1
  52. package/lib/cjs/timers/useDebounce.js +0 -16
  53. package/lib/cjs/timers/useDebounce.js.map +0 -1
  54. package/lib/cjs/timers/useTimer.d.ts +0 -13
  55. package/lib/cjs/timers/useTimer.js +0 -44
  56. package/lib/cjs/timers/useTimer.js.map +0 -1
  57. package/lib/cjs/ts/index.d.ts +0 -1
  58. package/lib/cjs/ts/index.js +0 -6
  59. package/lib/cjs/ts/index.js.map +0 -1
  60. package/lib/cjs/ts/unreachable.d.ts +0 -1
  61. package/lib/cjs/ts/unreachable.js +0 -7
  62. package/lib/cjs/ts/unreachable.js.map +0 -1
  63. package/lib/esm/browser/index.d.ts +0 -1
  64. package/lib/esm/browser/index.js +0 -2
  65. package/lib/esm/browser/index.js.map +0 -1
  66. package/lib/esm/browser/useWindowFocusDetection.d.ts +0 -1
  67. package/lib/esm/browser/useWindowFocusDetection.js +0 -13
  68. package/lib/esm/browser/useWindowFocusDetection.js.map +0 -1
  69. package/lib/esm/effects/index.d.ts +0 -3
  70. package/lib/esm/effects/index.js +0 -4
  71. package/lib/esm/effects/index.js.map +0 -1
  72. package/lib/esm/effects/useDebouncedEffect.d.ts +0 -2
  73. package/lib/esm/effects/useDebouncedEffect.js +0 -9
  74. package/lib/esm/effects/useDebouncedEffect.js.map +0 -1
  75. package/lib/esm/effects/useEffectOnUpdate.d.ts +0 -2
  76. package/lib/esm/effects/useEffectOnUpdate.js +0 -12
  77. package/lib/esm/effects/useEffectOnUpdate.js.map +0 -1
  78. package/lib/esm/effects/useRefresh.d.ts +0 -3
  79. package/lib/esm/effects/useRefresh.js +0 -7
  80. package/lib/esm/effects/useRefresh.js.map +0 -1
  81. package/lib/esm/hooks/index.d.ts +0 -1
  82. package/lib/esm/hooks/index.js +0 -2
  83. package/lib/esm/hooks/index.js.map +0 -1
  84. package/lib/esm/hooks/useToggle.d.ts +0 -9
  85. package/lib/esm/hooks/useToggle.js +0 -9
  86. package/lib/esm/hooks/useToggle.js.map +0 -1
  87. package/lib/esm/index.d.ts +0 -7
  88. package/lib/esm/index.js +0 -8
  89. package/lib/esm/index.js.map +0 -1
  90. package/lib/esm/storage/backends.d.ts +0 -20
  91. package/lib/esm/storage/backends.js +0 -28
  92. package/lib/esm/storage/backends.js.map +0 -1
  93. package/lib/esm/storage/index.d.ts +0 -18
  94. package/lib/esm/storage/index.js +0 -30
  95. package/lib/esm/storage/index.js.map +0 -1
  96. package/lib/esm/storage/services.d.ts +0 -20
  97. package/lib/esm/storage/services.js +0 -65
  98. package/lib/esm/storage/services.js.map +0 -1
  99. package/lib/esm/time/datetime.d.ts +0 -9
  100. package/lib/esm/time/datetime.js +0 -16
  101. package/lib/esm/time/datetime.js.map +0 -1
  102. package/lib/esm/time/index.d.ts +0 -2
  103. package/lib/esm/time/index.js +0 -3
  104. package/lib/esm/time/index.js.map +0 -1
  105. package/lib/esm/time/useClock.d.ts +0 -11
  106. package/lib/esm/time/useClock.js +0 -18
  107. package/lib/esm/time/useClock.js.map +0 -1
  108. package/lib/esm/timers/index.d.ts +0 -2
  109. package/lib/esm/timers/index.js +0 -3
  110. package/lib/esm/timers/index.js.map +0 -1
  111. package/lib/esm/timers/useDebounce.d.ts +0 -1
  112. package/lib/esm/timers/useDebounce.js +0 -12
  113. package/lib/esm/timers/useDebounce.js.map +0 -1
  114. package/lib/esm/timers/useTimer.d.ts +0 -13
  115. package/lib/esm/timers/useTimer.js +0 -38
  116. package/lib/esm/timers/useTimer.js.map +0 -1
  117. package/lib/esm/ts/index.d.ts +0 -1
  118. package/lib/esm/ts/index.js +0 -2
  119. package/lib/esm/ts/index.js.map +0 -1
  120. package/lib/esm/ts/unreachable.d.ts +0 -1
  121. package/lib/esm/ts/unreachable.js +0 -4
  122. package/lib/esm/ts/unreachable.js.map +0 -1
  123. package/lib/esnext/browser/index.d.ts +0 -1
  124. package/lib/esnext/browser/index.js +0 -2
  125. package/lib/esnext/browser/index.js.map +0 -1
  126. package/lib/esnext/browser/useWindowFocusDetection.d.ts +0 -1
  127. package/lib/esnext/browser/useWindowFocusDetection.js +0 -13
  128. package/lib/esnext/browser/useWindowFocusDetection.js.map +0 -1
  129. package/lib/esnext/effects/index.d.ts +0 -3
  130. package/lib/esnext/effects/index.js +0 -4
  131. package/lib/esnext/effects/index.js.map +0 -1
  132. package/lib/esnext/effects/useDebouncedEffect.d.ts +0 -2
  133. package/lib/esnext/effects/useDebouncedEffect.js +0 -9
  134. package/lib/esnext/effects/useDebouncedEffect.js.map +0 -1
  135. package/lib/esnext/effects/useEffectOnUpdate.d.ts +0 -2
  136. package/lib/esnext/effects/useEffectOnUpdate.js +0 -12
  137. package/lib/esnext/effects/useEffectOnUpdate.js.map +0 -1
  138. package/lib/esnext/effects/useRefresh.d.ts +0 -3
  139. package/lib/esnext/effects/useRefresh.js +0 -7
  140. package/lib/esnext/effects/useRefresh.js.map +0 -1
  141. package/lib/esnext/hooks/index.d.ts +0 -1
  142. package/lib/esnext/hooks/index.js +0 -2
  143. package/lib/esnext/hooks/index.js.map +0 -1
  144. package/lib/esnext/hooks/useToggle.d.ts +0 -9
  145. package/lib/esnext/hooks/useToggle.js +0 -9
  146. package/lib/esnext/hooks/useToggle.js.map +0 -1
  147. package/lib/esnext/index.d.ts +0 -7
  148. package/lib/esnext/index.js +0 -8
  149. package/lib/esnext/index.js.map +0 -1
  150. package/lib/esnext/storage/backends.d.ts +0 -20
  151. package/lib/esnext/storage/backends.js +0 -23
  152. package/lib/esnext/storage/backends.js.map +0 -1
  153. package/lib/esnext/storage/index.d.ts +0 -18
  154. package/lib/esnext/storage/index.js +0 -30
  155. package/lib/esnext/storage/index.js.map +0 -1
  156. package/lib/esnext/storage/services.d.ts +0 -20
  157. package/lib/esnext/storage/services.js +0 -69
  158. package/lib/esnext/storage/services.js.map +0 -1
  159. package/lib/esnext/time/datetime.d.ts +0 -9
  160. package/lib/esnext/time/datetime.js +0 -16
  161. package/lib/esnext/time/datetime.js.map +0 -1
  162. package/lib/esnext/time/index.d.ts +0 -2
  163. package/lib/esnext/time/index.js +0 -3
  164. package/lib/esnext/time/index.js.map +0 -1
  165. package/lib/esnext/time/useClock.d.ts +0 -11
  166. package/lib/esnext/time/useClock.js +0 -18
  167. package/lib/esnext/time/useClock.js.map +0 -1
  168. package/lib/esnext/timers/index.d.ts +0 -2
  169. package/lib/esnext/timers/index.js +0 -3
  170. package/lib/esnext/timers/index.js.map +0 -1
  171. package/lib/esnext/timers/useDebounce.d.ts +0 -1
  172. package/lib/esnext/timers/useDebounce.js +0 -12
  173. package/lib/esnext/timers/useDebounce.js.map +0 -1
  174. package/lib/esnext/timers/useTimer.d.ts +0 -13
  175. package/lib/esnext/timers/useTimer.js +0 -38
  176. package/lib/esnext/timers/useTimer.js.map +0 -1
  177. package/lib/esnext/ts/index.d.ts +0 -1
  178. package/lib/esnext/ts/index.js +0 -2
  179. package/lib/esnext/ts/index.js.map +0 -1
  180. package/lib/esnext/ts/unreachable.d.ts +0 -1
  181. package/lib/esnext/ts/unreachable.js +0 -4
  182. 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"}
@@ -1 +0,0 @@
1
- export { unreachable } from './unreachable';
@@ -1,2 +0,0 @@
1
- export { unreachable } from './unreachable';
2
- //# sourceMappingURL=index.js.map
@@ -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,4 +0,0 @@
1
- export function unreachable(value) {
2
- throw new TypeError(`Unexpected unreachable value [${value}]`);
3
- }
4
- //# sourceMappingURL=unreachable.js.map
@@ -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,2 +0,0 @@
1
- export { useWindowFocusDetection } from './useWindowFocusDetection';
2
- //# sourceMappingURL=index.js.map
@@ -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,3 +0,0 @@
1
- export { default as useDebouncedEffect } from './useDebouncedEffect';
2
- export { default as useEffectOnUpdate } from './useEffectOnUpdate';
3
- export { default as useRefresh } from './useRefresh';
@@ -1,4 +0,0 @@
1
- export { default as useDebouncedEffect } from './useDebouncedEffect';
2
- export { default as useEffectOnUpdate } from './useEffectOnUpdate';
3
- export { default as useRefresh } from './useRefresh';
4
- //# sourceMappingURL=index.js.map
@@ -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,2 +0,0 @@
1
- import * as React from 'react';
2
- export default function useDebouncedEffect(timeoutMs: number, effect: React.EffectCallback, dependencyList?: React.DependencyList): void;
@@ -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,2 +0,0 @@
1
- import * as React from 'react';
2
- export default function useEffectOnUpdate(effect: React.EffectCallback, deps?: React.DependencyList): void;
@@ -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,3 +0,0 @@
1
- type RefreshToken = number;
2
- export default function useRefresh(): [RefreshToken, () => void];
3
- export {};
@@ -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,2 +0,0 @@
1
- export { useToggle } from './useToggle';
2
- //# sourceMappingURL=index.js.map
@@ -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"}
@@ -1,7 +0,0 @@
1
- export * from './browser';
2
- export * from './effects';
3
- export * from './hooks';
4
- export * from './storage';
5
- export * from './time';
6
- export * from './timers';
7
- export * from './ts';
@@ -1,8 +0,0 @@
1
- export * from './browser';
2
- export * from './effects';
3
- export * from './hooks';
4
- export * from './storage';
5
- export * from './time';
6
- export * from './timers';
7
- export * from './ts';
8
- //# sourceMappingURL=index.js.map
@@ -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"}
@@ -1,2 +0,0 @@
1
- export { useClock, type Clock } from './useClock';
2
- export { type ISODate, type GenericDateTime, type DateFormat, toDateTime } from './datetime';
@@ -1,3 +0,0 @@
1
- export { useClock } from './useClock';
2
- export { toDateTime } from './datetime';
3
- //# sourceMappingURL=index.js.map
@@ -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,2 +0,0 @@
1
- export { default as useDebounce } from './useDebounce';
2
- export { useTimeout, useInterval } from './useTimer';
@@ -1,3 +0,0 @@
1
- export { default as useDebounce } from './useDebounce';
2
- export { useTimeout, useInterval } from './useTimer';
3
- //# sourceMappingURL=index.js.map
@@ -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 {};