kiru 0.54.3 → 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 (335) hide show
  1. package/dist/{appContext.d.ts → appHandle.d.ts} +4 -4
  2. package/dist/appHandle.d.ts.map +1 -0
  3. package/dist/{appContext.js → appHandle.js} +12 -9
  4. package/dist/appHandle.js.map +1 -0
  5. package/dist/components/derive.d.ts +10 -8
  6. package/dist/components/derive.d.ts.map +1 -1
  7. package/dist/components/derive.js +50 -47
  8. package/dist/components/derive.js.map +1 -1
  9. package/dist/components/index.d.ts +0 -1
  10. package/dist/components/index.d.ts.map +1 -1
  11. package/dist/components/index.js +0 -1
  12. package/dist/components/index.js.map +1 -1
  13. package/dist/components/lazy.d.ts.map +1 -1
  14. package/dist/components/lazy.js +5 -4
  15. package/dist/components/lazy.js.map +1 -1
  16. package/dist/components/portal.d.ts.map +1 -1
  17. package/dist/components/portal.js +2 -3
  18. package/dist/components/portal.js.map +1 -1
  19. package/dist/components/transition.d.ts +3 -2
  20. package/dist/components/transition.d.ts.map +1 -1
  21. package/dist/components/transition.js +29 -26
  22. package/dist/components/transition.js.map +1 -1
  23. package/dist/constants.d.ts +1 -5
  24. package/dist/constants.d.ts.map +1 -1
  25. package/dist/constants.js +1 -5
  26. package/dist/constants.js.map +1 -1
  27. package/dist/context.d.ts +1 -1
  28. package/dist/context.d.ts.map +1 -1
  29. package/dist/context.js +25 -19
  30. package/dist/context.js.map +1 -1
  31. package/dist/devtools.d.ts +7 -0
  32. package/dist/devtools.d.ts.map +1 -0
  33. package/dist/devtools.js +15 -0
  34. package/dist/devtools.js.map +1 -0
  35. package/dist/dom.d.ts.map +1 -1
  36. package/dist/dom.js +25 -58
  37. package/dist/dom.js.map +1 -1
  38. package/dist/globalContext.d.ts +15 -16
  39. package/dist/globalContext.d.ts.map +1 -1
  40. package/dist/globalContext.js +36 -46
  41. package/dist/globalContext.js.map +1 -1
  42. package/dist/globals.d.ts +1 -4
  43. package/dist/globals.d.ts.map +1 -1
  44. package/dist/globals.js +1 -4
  45. package/dist/globals.js.map +1 -1
  46. package/dist/headlessRender.d.ts +6 -0
  47. package/dist/headlessRender.d.ts.map +1 -0
  48. package/dist/{recursiveRender.js → headlessRender.js} +17 -16
  49. package/dist/headlessRender.js.map +1 -0
  50. package/dist/hmr.d.ts +5 -7
  51. package/dist/hmr.d.ts.map +1 -1
  52. package/dist/hmr.js +27 -32
  53. package/dist/hmr.js.map +1 -1
  54. package/dist/hooks/index.d.ts +3 -14
  55. package/dist/hooks/index.d.ts.map +1 -1
  56. package/dist/hooks/index.js +3 -14
  57. package/dist/hooks/index.js.map +1 -1
  58. package/dist/hooks/onBeforeMount.d.ts +9 -0
  59. package/dist/hooks/onBeforeMount.d.ts.map +1 -0
  60. package/dist/hooks/onBeforeMount.js +12 -0
  61. package/dist/hooks/onBeforeMount.js.map +1 -0
  62. package/dist/hooks/onCleanup.d.ts +8 -0
  63. package/dist/hooks/onCleanup.d.ts.map +1 -0
  64. package/dist/hooks/onCleanup.js +15 -0
  65. package/dist/hooks/onCleanup.js.map +1 -0
  66. package/dist/hooks/onMount.d.ts +9 -0
  67. package/dist/hooks/onMount.d.ts.map +1 -0
  68. package/dist/hooks/onMount.js +12 -0
  69. package/dist/hooks/onMount.js.map +1 -0
  70. package/dist/hooks/utils.d.ts +2 -62
  71. package/dist/hooks/utils.d.ts.map +1 -1
  72. package/dist/hooks/utils.js +22 -144
  73. package/dist/hooks/utils.js.map +1 -1
  74. package/dist/index.d.ts +8 -4
  75. package/dist/index.d.ts.map +1 -1
  76. package/dist/index.js +8 -6
  77. package/dist/index.js.map +1 -1
  78. package/dist/profiling.d.ts +15 -14
  79. package/dist/profiling.d.ts.map +1 -1
  80. package/dist/profiling.js +9 -4
  81. package/dist/profiling.js.map +1 -1
  82. package/dist/reconciler.d.ts.map +1 -1
  83. package/dist/reconciler.js +12 -25
  84. package/dist/reconciler.js.map +1 -1
  85. package/dist/ref.d.ts +4 -0
  86. package/dist/ref.d.ts.map +1 -0
  87. package/dist/ref.js +4 -0
  88. package/dist/ref.js.map +1 -0
  89. package/dist/renderToString.js +1 -1
  90. package/dist/renderToString.js.map +1 -1
  91. package/dist/router/context.d.ts.map +1 -1
  92. package/dist/router/context.js +1 -2
  93. package/dist/router/context.js.map +1 -1
  94. package/dist/router/fileRouter.d.ts +1 -1
  95. package/dist/router/fileRouter.d.ts.map +1 -1
  96. package/dist/router/fileRouter.js +17 -11
  97. package/dist/router/fileRouter.js.map +1 -1
  98. package/dist/router/fileRouterController.d.ts.map +1 -1
  99. package/dist/router/fileRouterController.js +68 -55
  100. package/dist/router/fileRouterController.js.map +1 -1
  101. package/dist/router/link.d.ts.map +1 -1
  102. package/dist/router/link.js +19 -23
  103. package/dist/router/link.js.map +1 -1
  104. package/dist/router/server/index.d.ts.map +1 -1
  105. package/dist/router/server/index.js +14 -11
  106. package/dist/router/server/index.js.map +1 -1
  107. package/dist/router/types.d.ts +11 -6
  108. package/dist/router/types.d.ts.map +1 -1
  109. package/dist/scheduler.d.ts +1 -0
  110. package/dist/scheduler.d.ts.map +1 -1
  111. package/dist/scheduler.js +65 -52
  112. package/dist/scheduler.js.map +1 -1
  113. package/dist/signals/base.d.ts +0 -1
  114. package/dist/signals/base.d.ts.map +1 -1
  115. package/dist/signals/base.js +13 -36
  116. package/dist/signals/base.js.map +1 -1
  117. package/dist/signals/computed.d.ts +0 -2
  118. package/dist/signals/computed.d.ts.map +1 -1
  119. package/dist/signals/computed.js +1 -40
  120. package/dist/signals/computed.js.map +1 -1
  121. package/dist/signals/effect.d.ts +15 -14
  122. package/dist/signals/effect.d.ts.map +1 -1
  123. package/dist/signals/effect.js +65 -37
  124. package/dist/signals/effect.js.map +1 -1
  125. package/dist/signals/globals.d.ts +0 -5
  126. package/dist/signals/globals.d.ts.map +1 -1
  127. package/dist/signals/globals.js +0 -6
  128. package/dist/signals/globals.js.map +1 -1
  129. package/dist/signals/index.d.ts +4 -4
  130. package/dist/signals/index.d.ts.map +1 -1
  131. package/dist/signals/index.js +4 -4
  132. package/dist/signals/index.js.map +1 -1
  133. package/dist/signals/{for.d.ts → jsx.d.ts} +8 -1
  134. package/dist/signals/jsx.d.ts.map +1 -0
  135. package/dist/signals/{for.js → jsx.js} +4 -1
  136. package/dist/signals/jsx.js.map +1 -0
  137. package/dist/signals/tracking.d.ts +23 -0
  138. package/dist/signals/tracking.d.ts.map +1 -0
  139. package/dist/signals/tracking.js +51 -0
  140. package/dist/signals/tracking.js.map +1 -0
  141. package/dist/signals/types.d.ts +1 -1
  142. package/dist/signals/types.d.ts.map +1 -1
  143. package/dist/signals/utils.d.ts +2 -1
  144. package/dist/signals/utils.d.ts.map +1 -1
  145. package/dist/signals/utils.js +9 -2
  146. package/dist/signals/utils.js.map +1 -1
  147. package/dist/ssr/client.d.ts +3 -3
  148. package/dist/ssr/client.d.ts.map +1 -1
  149. package/dist/ssr/client.js.map +1 -1
  150. package/dist/ssr/server.js +1 -1
  151. package/dist/ssr/server.js.map +1 -1
  152. package/dist/statefulPromise.d.ts +22 -0
  153. package/dist/statefulPromise.d.ts.map +1 -0
  154. package/dist/statefulPromise.js +94 -0
  155. package/dist/statefulPromise.js.map +1 -0
  156. package/dist/types.d.ts +36 -50
  157. package/dist/types.d.ts.map +1 -1
  158. package/dist/types.dom.d.ts +4 -7
  159. package/dist/types.dom.d.ts.map +1 -1
  160. package/dist/types.utils.d.ts +3 -4
  161. package/dist/types.utils.d.ts.map +1 -1
  162. package/dist/utils/vdom.d.ts +8 -6
  163. package/dist/utils/vdom.d.ts.map +1 -1
  164. package/dist/utils/vdom.js +32 -9
  165. package/dist/utils/vdom.js.map +1 -1
  166. package/dist/viewTransitions.d.ts +7 -0
  167. package/dist/viewTransitions.d.ts.map +1 -0
  168. package/dist/viewTransitions.js +71 -0
  169. package/dist/viewTransitions.js.map +1 -0
  170. package/package.json +1 -1
  171. package/src/{appContext.ts → appHandle.ts} +21 -16
  172. package/src/components/derive.ts +74 -69
  173. package/src/components/index.ts +0 -1
  174. package/src/components/lazy.ts +5 -4
  175. package/src/components/portal.ts +2 -3
  176. package/src/components/transition.ts +33 -35
  177. package/src/constants.ts +0 -8
  178. package/src/context.ts +30 -23
  179. package/src/devtools.ts +16 -0
  180. package/src/dom.ts +29 -63
  181. package/src/globalContext.ts +57 -74
  182. package/src/globals.ts +1 -5
  183. package/src/{recursiveRender.ts → headlessRender.ts} +18 -18
  184. package/src/hmr.ts +29 -38
  185. package/src/hooks/index.ts +3 -14
  186. package/src/hooks/onBeforeMount.ts +12 -0
  187. package/src/hooks/onCleanup.ts +15 -0
  188. package/src/hooks/onMount.ts +12 -0
  189. package/src/hooks/utils.ts +28 -238
  190. package/src/index.ts +14 -6
  191. package/src/profiling.ts +22 -20
  192. package/src/reconciler.ts +18 -30
  193. package/src/ref.ts +6 -0
  194. package/src/renderToString.ts +1 -1
  195. package/src/router/context.ts +1 -2
  196. package/src/router/fileRouter.ts +23 -13
  197. package/src/router/fileRouterController.ts +72 -64
  198. package/src/router/link.ts +11 -25
  199. package/src/router/server/index.ts +24 -13
  200. package/src/router/types.ts +15 -8
  201. package/src/scheduler.ts +74 -71
  202. package/src/signals/base.ts +12 -41
  203. package/src/signals/computed.ts +1 -62
  204. package/src/signals/effect.ts +95 -48
  205. package/src/signals/globals.ts +0 -7
  206. package/src/signals/index.ts +4 -4
  207. package/src/signals/{for.ts → jsx.ts} +10 -0
  208. package/src/signals/tracking.ts +69 -0
  209. package/src/signals/types.ts +1 -1
  210. package/src/signals/utils.ts +9 -1
  211. package/src/ssr/client.ts +4 -4
  212. package/src/ssr/server.ts +2 -2
  213. package/src/statefulPromise.ts +136 -0
  214. package/src/types.dom.ts +4 -8
  215. package/src/types.ts +45 -58
  216. package/src/types.utils.ts +3 -4
  217. package/src/utils/vdom.ts +44 -15
  218. package/src/viewTransitions.ts +88 -0
  219. package/dist/appContext.d.ts.map +0 -1
  220. package/dist/appContext.js.map +0 -1
  221. package/dist/components/memo.d.ts +0 -10
  222. package/dist/components/memo.d.ts.map +0 -1
  223. package/dist/components/memo.js +0 -23
  224. package/dist/components/memo.js.map +0 -1
  225. package/dist/form/index.d.ts +0 -4
  226. package/dist/form/index.d.ts.map +0 -1
  227. package/dist/form/index.js +0 -518
  228. package/dist/form/index.js.map +0 -1
  229. package/dist/form/types.d.ts +0 -122
  230. package/dist/form/types.d.ts.map +0 -1
  231. package/dist/form/types.js +0 -2
  232. package/dist/form/types.js.map +0 -1
  233. package/dist/form/utils.d.ts +0 -3
  234. package/dist/form/utils.d.ts.map +0 -1
  235. package/dist/form/utils.js +0 -16
  236. package/dist/form/utils.js.map +0 -1
  237. package/dist/hooks/useAsync.d.ts +0 -18
  238. package/dist/hooks/useAsync.d.ts.map +0 -1
  239. package/dist/hooks/useAsync.js +0 -96
  240. package/dist/hooks/useAsync.js.map +0 -1
  241. package/dist/hooks/useCallback.d.ts +0 -7
  242. package/dist/hooks/useCallback.d.ts.map +0 -1
  243. package/dist/hooks/useCallback.js +0 -30
  244. package/dist/hooks/useCallback.js.map +0 -1
  245. package/dist/hooks/useContext.d.ts +0 -7
  246. package/dist/hooks/useContext.d.ts.map +0 -1
  247. package/dist/hooks/useContext.js +0 -59
  248. package/dist/hooks/useContext.js.map +0 -1
  249. package/dist/hooks/useEffect.d.ts +0 -8
  250. package/dist/hooks/useEffect.d.ts.map +0 -1
  251. package/dist/hooks/useEffect.js +0 -34
  252. package/dist/hooks/useEffect.js.map +0 -1
  253. package/dist/hooks/useEffectEvent.d.ts +0 -8
  254. package/dist/hooks/useEffectEvent.d.ts.map +0 -1
  255. package/dist/hooks/useEffectEvent.js +0 -23
  256. package/dist/hooks/useEffectEvent.js.map +0 -1
  257. package/dist/hooks/useId.d.ts +0 -8
  258. package/dist/hooks/useId.d.ts.map +0 -1
  259. package/dist/hooks/useId.js +0 -35
  260. package/dist/hooks/useId.js.map +0 -1
  261. package/dist/hooks/useLayoutEffect.d.ts +0 -8
  262. package/dist/hooks/useLayoutEffect.d.ts.map +0 -1
  263. package/dist/hooks/useLayoutEffect.js +0 -34
  264. package/dist/hooks/useLayoutEffect.js.map +0 -1
  265. package/dist/hooks/useMemo.d.ts +0 -8
  266. package/dist/hooks/useMemo.d.ts.map +0 -1
  267. package/dist/hooks/useMemo.js +0 -31
  268. package/dist/hooks/useMemo.js.map +0 -1
  269. package/dist/hooks/usePromise.d.ts +0 -8
  270. package/dist/hooks/usePromise.d.ts.map +0 -1
  271. package/dist/hooks/usePromise.js +0 -90
  272. package/dist/hooks/usePromise.js.map +0 -1
  273. package/dist/hooks/useReducer.d.ts +0 -7
  274. package/dist/hooks/useReducer.d.ts.map +0 -1
  275. package/dist/hooks/useReducer.js +0 -44
  276. package/dist/hooks/useReducer.js.map +0 -1
  277. package/dist/hooks/useRef.d.ts +0 -10
  278. package/dist/hooks/useRef.d.ts.map +0 -1
  279. package/dist/hooks/useRef.js +0 -29
  280. package/dist/hooks/useRef.js.map +0 -1
  281. package/dist/hooks/useState.d.ts +0 -7
  282. package/dist/hooks/useState.d.ts.map +0 -1
  283. package/dist/hooks/useState.js +0 -54
  284. package/dist/hooks/useState.js.map +0 -1
  285. package/dist/hooks/useSyncExternalStore.d.ts +0 -8
  286. package/dist/hooks/useSyncExternalStore.d.ts.map +0 -1
  287. package/dist/hooks/useSyncExternalStore.js +0 -50
  288. package/dist/hooks/useSyncExternalStore.js.map +0 -1
  289. package/dist/hooks/useViewTransition.d.ts +0 -10
  290. package/dist/hooks/useViewTransition.d.ts.map +0 -1
  291. package/dist/hooks/useViewTransition.js +0 -27
  292. package/dist/hooks/useViewTransition.js.map +0 -1
  293. package/dist/recursiveRender.d.ts +0 -7
  294. package/dist/recursiveRender.d.ts.map +0 -1
  295. package/dist/recursiveRender.js.map +0 -1
  296. package/dist/signals/for.d.ts.map +0 -1
  297. package/dist/signals/for.js.map +0 -1
  298. package/dist/signals/watch.d.ts +0 -21
  299. package/dist/signals/watch.d.ts.map +0 -1
  300. package/dist/signals/watch.js +0 -86
  301. package/dist/signals/watch.js.map +0 -1
  302. package/dist/store.d.ts +0 -28
  303. package/dist/store.d.ts.map +0 -1
  304. package/dist/store.js +0 -166
  305. package/dist/store.js.map +0 -1
  306. package/dist/swr.d.ts +0 -63
  307. package/dist/swr.d.ts.map +0 -1
  308. package/dist/swr.js +0 -236
  309. package/dist/swr.js.map +0 -1
  310. package/dist/utils/promise.d.ts +0 -16
  311. package/dist/utils/promise.d.ts.map +0 -1
  312. package/dist/utils/promise.js +0 -14
  313. package/dist/utils/promise.js.map +0 -1
  314. package/src/components/memo.ts +0 -39
  315. package/src/form/index.ts +0 -676
  316. package/src/form/types.ts +0 -262
  317. package/src/form/utils.ts +0 -19
  318. package/src/hooks/useAsync.ts +0 -121
  319. package/src/hooks/useCallback.ts +0 -32
  320. package/src/hooks/useContext.ts +0 -79
  321. package/src/hooks/useEffect.ts +0 -40
  322. package/src/hooks/useEffectEvent.ts +0 -24
  323. package/src/hooks/useId.ts +0 -42
  324. package/src/hooks/useLayoutEffect.ts +0 -43
  325. package/src/hooks/useMemo.ts +0 -34
  326. package/src/hooks/usePromise.ts +0 -126
  327. package/src/hooks/useReducer.ts +0 -50
  328. package/src/hooks/useRef.ts +0 -41
  329. package/src/hooks/useState.ts +0 -62
  330. package/src/hooks/useSyncExternalStore.ts +0 -59
  331. package/src/hooks/useViewTransition.ts +0 -25
  332. package/src/signals/watch.ts +0 -139
  333. package/src/store.ts +0 -245
  334. package/src/swr.ts +0 -351
  335. package/src/utils/promise.ts +0 -26
@@ -1,86 +0,0 @@
1
- import { __DEV__ } from "../env.js";
2
- import { useHook } from "../hooks/utils.js";
3
- import { effectQueue } from "./globals.js";
4
- import { executeWithTracking } from "./effect.js";
5
- import { latest, sideEffectsEnabled, generateRandomID, call, } from "../utils/index.js";
6
- export class WatchEffect {
7
- constructor(getter, deps) {
8
- this.id = generateRandomID();
9
- this.getter = getter;
10
- this.deps = deps;
11
- this.unsubs = new Map();
12
- this.isRunning = false;
13
- this.cleanup = null;
14
- if (__DEV__ && "window" in globalThis) {
15
- const { isWaitingForNextWatchCall, pushWatch } = window.__kiru.HMRContext.signals;
16
- if (isWaitingForNextWatchCall()) {
17
- pushWatch(this);
18
- }
19
- }
20
- this.start();
21
- }
22
- start() {
23
- if (this.isRunning) {
24
- return;
25
- }
26
- this.isRunning = true;
27
- // postpone execution during HMR
28
- if (__DEV__ &&
29
- "window" in globalThis &&
30
- window.__kiru.HMRContext?.isReplacement()) {
31
- return queueMicrotask(() => {
32
- if (this.isRunning) {
33
- WatchEffect.run(this);
34
- }
35
- });
36
- }
37
- WatchEffect.run(this);
38
- }
39
- stop() {
40
- effectQueue.delete(this.id);
41
- this.unsubs.forEach(call);
42
- this.unsubs.clear();
43
- this.cleanup?.();
44
- this.cleanup = null;
45
- this.isRunning = false;
46
- }
47
- static run(watchEffect) {
48
- const effect = latest(watchEffect);
49
- const { id, getter, unsubs: subs, deps } = effect;
50
- effect.cleanup =
51
- executeWithTracking({
52
- id,
53
- subs,
54
- fn: getter,
55
- deps,
56
- onDepChanged: () => {
57
- effect.cleanup?.();
58
- WatchEffect.run(effect);
59
- },
60
- }) ?? null;
61
- }
62
- }
63
- export function watch(depsOrGetter, getter) {
64
- if (typeof depsOrGetter === "function") {
65
- return new WatchEffect(depsOrGetter);
66
- }
67
- const dependencies = depsOrGetter;
68
- const effectGetter = getter;
69
- return new WatchEffect(effectGetter, dependencies);
70
- }
71
- export function useWatch(depsOrGetter, getter) {
72
- if (!sideEffectsEnabled())
73
- return;
74
- return useHook("useWatch", { watcher: null }, ({ hook, isInit, isHMR }) => {
75
- if (__DEV__ && isHMR) {
76
- hook.cleanup?.();
77
- isInit = true;
78
- }
79
- if (isInit) {
80
- const watcher = (hook.watcher = watch(depsOrGetter, getter));
81
- hook.cleanup = () => watcher.stop();
82
- }
83
- return hook.watcher;
84
- });
85
- }
86
- //# sourceMappingURL=watch.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"watch.js","sourceRoot":"","sources":["../../src/signals/watch.ts"],"names":[],"mappings":"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"}
package/dist/store.d.ts DELETED
@@ -1,28 +0,0 @@
1
- import type { Prettify } from "./types.utils.js";
2
- import { shallowCompare } from "./utils/index.js";
3
- export { createStore };
4
- export type { Store, MethodFactory };
5
- type MethodFactory<T> = (setState: (setter: Kiru.StateSetter<T>) => void, getState: () => T) => Record<string, Function>;
6
- type StoreHook<T, U extends Record<string, Function>> = {
7
- <R>(sliceFn: (state: T) => R): Prettify<{
8
- value: R;
9
- } & U>;
10
- <F extends null | ((state: T) => unknown), R extends F extends Function ? ReturnType<F> : T>(sliceFn: F, equality: (prev: R, next: R, compare: typeof shallowCompare) => boolean): Prettify<{
11
- value: R;
12
- } & U>;
13
- (): Prettify<{
14
- value: T;
15
- } & U>;
16
- };
17
- type Subscribe<T> = {
18
- (fn: (value: T) => void): () => void;
19
- <R>(sliceFn: (value: T) => R, fn: (value: R) => void): () => void;
20
- };
21
- type Store<T, U extends Record<string, Function>> = StoreHook<T, U> & {
22
- getState: () => T;
23
- setState: (setter: Kiru.StateSetter<T>) => void;
24
- methods: U;
25
- subscribe: Subscribe<T>;
26
- };
27
- declare function createStore<T, U extends MethodFactory<T>>(initial: T, methodFactory: U): Store<T, ReturnType<U>>;
28
- //# sourceMappingURL=store.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAKhD,OAAO,EAEL,cAAc,EAEf,MAAM,kBAAkB,CAAA;AAEzB,OAAO,EAAE,WAAW,EAAE,CAAA;AACtB,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,CAAA;AAEpC,KAAK,aAAa,CAAC,CAAC,IAAI,CACtB,QAAQ,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,IAAI,EAC/C,QAAQ,EAAE,MAAM,CAAC,KACd,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;AAE7B,KAAK,SAAS,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI;IACtD,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC;QAAE,KAAK,EAAE,CAAC,CAAA;KAAE,GAAG,CAAC,CAAC,CAAA;IACzD,CACE,CAAC,SAAS,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,CAAC,EACxC,CAAC,SAAS,CAAC,SAAS,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,EAEhD,OAAO,EAAE,CAAC,EACV,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,cAAc,KAAK,OAAO,GACtE,QAAQ,CAAC;QAAE,KAAK,EAAE,CAAC,CAAA;KAAE,GAAG,CAAC,CAAC,CAAA;IAC7B,IAAI,QAAQ,CAAC;QAAE,KAAK,EAAE,CAAC,CAAA;KAAE,GAAG,CAAC,CAAC,CAAA;CAC/B,CAAA;AAED,KAAK,SAAS,CAAC,CAAC,IAAI;IAClB,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,GAAG,MAAM,IAAI,CAAA;IACpC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,GAAG,MAAM,IAAI,CAAA;CAClE,CAAA;AAED,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;IACpE,QAAQ,EAAE,MAAM,CAAC,CAAA;IACjB,QAAQ,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,IAAI,CAAA;IAC/C,OAAO,EAAE,CAAC,CAAA;IACV,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,CAAA;CACxB,CAAA;AAqBD,iBAAS,WAAW,CAAC,CAAC,EAAE,CAAC,SAAS,aAAa,CAAC,CAAC,CAAC,EAChD,OAAO,EAAE,CAAC,EACV,aAAa,EAAE,CAAC,GACf,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAmLzB"}
package/dist/store.js DELETED
@@ -1,166 +0,0 @@
1
- import { __DEV__ } from "./env.js";
2
- import { useHook } from "./hooks/utils.js";
3
- import { $HMR_ACCEPT } from "./constants.js";
4
- import { safeStringify, shallowCompare, sideEffectsEnabled, } from "./utils/index.js";
5
- export { createStore };
6
- function createStore(initial, methodFactory) {
7
- const state = {
8
- $initial: null,
9
- current: {
10
- value: initial,
11
- epoch: 0,
12
- subscribers: new Set(),
13
- nodeStateMap: new WeakMap(),
14
- methods: null,
15
- },
16
- };
17
- if (__DEV__) {
18
- state.$initial = safeStringify(initial);
19
- }
20
- const getState = () => state.current.value;
21
- const setState = (setter) => {
22
- state.current.value =
23
- typeof setter === "function"
24
- ? setter(state.current.value)
25
- : setter;
26
- const { value, subscribers, nodeStateMap } = state.current;
27
- subscribers.forEach((n) => {
28
- if (typeof n === "function")
29
- return n(value);
30
- const nodeState = nodeStateMap.get(n);
31
- if (!nodeState)
32
- return;
33
- const { slices, update } = nodeState;
34
- let computeChanged = slices.length === 0;
35
- for (let i = 0; i < slices.length; i++) {
36
- const slice = slices[i];
37
- if (!slice)
38
- continue;
39
- const { sliceFn, eq, value: sliceVal } = slice;
40
- const newSliceVal = sliceFn === null ? value : sliceFn(value);
41
- slices[i] = { sliceFn, eq, value: newSliceVal };
42
- if (computeChanged)
43
- continue;
44
- if (eq && eq(sliceVal, newSliceVal, shallowCompare)) {
45
- continue;
46
- }
47
- else if (!eq && shallowCompare(sliceVal, newSliceVal)) {
48
- continue;
49
- }
50
- computeChanged = true;
51
- }
52
- if (computeChanged) {
53
- update();
54
- }
55
- });
56
- state.current.epoch++;
57
- };
58
- state.current.methods = methodFactory(setState, getState);
59
- function useStore(sliceFn = null, equality) {
60
- if (!sideEffectsEnabled()) {
61
- return {
62
- value: sliceFn ? sliceFn(state.current.value) : state.current.value,
63
- ...state.current.methods,
64
- };
65
- }
66
- return useHook("useStore", { value: null, lastChangeSync: -1 }, ({ hook, isInit, isHMR, vNode, index, update }) => {
67
- if (__DEV__) {
68
- if (isInit) {
69
- hook.dev = {
70
- devtools: {
71
- get: () => ({ value: hook.value }),
72
- },
73
- initialArgs: [sliceFn, equality],
74
- };
75
- }
76
- if (isHMR) {
77
- const [fn, eq] = hook.dev.initialArgs;
78
- if (fn !== sliceFn || eq !== equality) {
79
- isInit = true;
80
- hook.dev.initialArgs = [sliceFn, equality];
81
- }
82
- }
83
- }
84
- const { subscribers, nodeStateMap, epoch, value, methods } = state.current;
85
- const nodeState = nodeStateMap.get(vNode) ?? {
86
- slices: [],
87
- update,
88
- };
89
- let slice;
90
- if (isInit || !nodeState.slices[index]) {
91
- subscribers.add(vNode);
92
- hook.lastChangeSync = epoch;
93
- hook.value = sliceFn === null ? value : sliceFn(value);
94
- slice = nodeState.slices[index] = {
95
- sliceFn,
96
- eq: equality,
97
- value: hook.value,
98
- };
99
- nodeStateMap.set(vNode, nodeState);
100
- hook.cleanup = () => {
101
- nodeStateMap.delete(vNode);
102
- subscribers.delete(vNode);
103
- };
104
- }
105
- else {
106
- slice = nodeState.slices[index];
107
- if (slice.sliceFn !== sliceFn) {
108
- slice.value = hook.value = sliceFn ? sliceFn(value) : value;
109
- slice.sliceFn = sliceFn;
110
- }
111
- slice.eq = equality;
112
- }
113
- if (hook.lastChangeSync !== epoch) {
114
- hook.value = slice ? slice.value : state.current.value;
115
- hook.lastChangeSync = epoch;
116
- }
117
- return { value: hook.value, ...methods };
118
- });
119
- }
120
- const store = Object.assign(useStore, {
121
- get getState() {
122
- return getState;
123
- },
124
- get setState() {
125
- return setState;
126
- },
127
- get methods() {
128
- return { ...state.current.methods };
129
- },
130
- subscribe: ((sliceOrCb, cb) => {
131
- if (cb === undefined) {
132
- state.current.subscribers.add(sliceOrCb);
133
- return () => (state.current.subscribers.delete(sliceOrCb), void 0);
134
- }
135
- const selection = {
136
- current: null,
137
- };
138
- const sliceWrapper = (newState) => {
139
- const next = sliceOrCb(newState);
140
- if (shallowCompare(next, selection.current))
141
- return;
142
- selection.current = next;
143
- cb(next);
144
- };
145
- state.current.subscribers.add(sliceWrapper);
146
- return () => (state.current.subscribers.delete(sliceWrapper), void 0);
147
- }),
148
- });
149
- if (__DEV__) {
150
- return Object.assign(store, {
151
- [$HMR_ACCEPT]: {
152
- provide: () => state,
153
- inject: (prev) => {
154
- state.current = prev.current;
155
- state.current.methods = methodFactory(setState, getState);
156
- if (state.$initial !== prev.$initial) {
157
- setState(initial);
158
- }
159
- },
160
- destroy: () => { },
161
- },
162
- });
163
- }
164
- return store;
165
- }
166
- //# sourceMappingURL=store.js.map
package/dist/store.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
package/dist/swr.d.ts DELETED
@@ -1,63 +0,0 @@
1
- import { Signal } from "./signals/base.js";
2
- import { AsyncTaskState } from "./types.utils.js";
3
- export type UseSWRState<T> = AsyncTaskState<T, UseSWRError> & {
4
- mutate: (callback: () => Promise<T>) => void;
5
- isMutating: Signal<boolean>;
6
- isValidating: Signal<boolean>;
7
- };
8
- export declare class UseSWRError extends Error {
9
- constructor(message: unknown);
10
- }
11
- export type SWRResourceState<T> = {
12
- data: T | null;
13
- loading: boolean;
14
- error: Error | null;
15
- };
16
- export type SWRRetryState = {
17
- count: number;
18
- timeout: number;
19
- delay: number;
20
- } | null;
21
- export interface SWRCacheEntry<T> {
22
- key: any;
23
- resource: Signal<SWRResourceState<T>>;
24
- fetcher: (args: any) => Promise<T>;
25
- subscribers: Set<SWRHook>;
26
- isMutating: Signal<boolean>;
27
- isValidating: Signal<boolean>;
28
- retryState: SWRRetryState;
29
- options: SWROptions;
30
- refreshInterval?: number;
31
- }
32
- export type SWRCache = Map<string, SWRCacheEntry<any>>;
33
- export interface SWROptions {
34
- /**
35
- * Specify `false` to disable revalidation on focus
36
- */
37
- revalidateOnFocus?: boolean;
38
- /**
39
- * Number of times to retry a failed fetch
40
- * @default Infinity
41
- */
42
- maxRetryCount?: number;
43
- /**
44
- * Enable automatic refetching of stale data every `refreshInterval` milliseconds
45
- */
46
- refreshInterval?: number;
47
- /**
48
- * Enable refetching of stale data when offline - useful for offline-first apps
49
- */
50
- refetchWhenOffline?: boolean;
51
- }
52
- type SWRHook = Kiru.Hook<{
53
- strKey: string;
54
- options: SWROptions;
55
- update: () => void;
56
- }>;
57
- type SWRTupleKey = readonly [any, ...unknown[]];
58
- export type SWRKey = string | SWRTupleKey | Record<any, any> | null | undefined | false;
59
- export declare function preloadSWR<T>(key: SWRKey, fetcher: (args: SWRKey) => Promise<T>): void;
60
- export declare function getSWRState<T>(key: SWRKey): SWRCacheEntry<T> | null;
61
- export declare function useSWR<T, K extends SWRKey>(key: K, fetcher: (args: K) => Promise<T>, options?: SWROptions): UseSWRState<T>;
62
- export {};
63
- //# sourceMappingURL=swr.d.ts.map
package/dist/swr.d.ts.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"swr.d.ts","sourceRoot":"","sources":["../src/swr.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AASjD,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,cAAc,CAAC,CAAC,EAAE,WAAW,CAAC,GAAG;IAC5D,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,CAAA;IAC5C,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;IAC3B,YAAY,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;CAC9B,CAAA;AAED,qBAAa,WAAY,SAAQ,KAAK;gBACxB,OAAO,EAAE,OAAO;CAK7B;AAED,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI;IAChC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAA;IACd,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;CACd,GAAG,IAAI,CAAA;AAER,MAAM,WAAW,aAAa,CAAC,CAAC;IAC9B,GAAG,EAAE,GAAG,CAAA;IACR,QAAQ,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAA;IACrC,OAAO,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,CAAA;IAClC,WAAW,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;IACzB,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;IAC3B,YAAY,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;IAC7B,UAAU,EAAE,aAAa,CAAA;IACzB,OAAO,EAAE,UAAU,CAAA;IACnB,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB;AAED,MAAM,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAA;AAEtD,MAAM,WAAW,UAAU;IACzB;;OAEG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAE3B;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;IAEtB;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;IAExB;;OAEG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAC7B;AAED,KAAK,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC;IACvB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,UAAU,CAAA;IACnB,MAAM,EAAE,MAAM,IAAI,CAAA;CACnB,CAAC,CAAA;AAEF,KAAK,WAAW,GAAG,SAAS,CAAC,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC,CAAA;AAC/C,MAAM,MAAM,MAAM,GACd,MAAM,GACN,WAAW,GACX,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GAChB,IAAI,GACJ,SAAS,GACT,KAAK,CAAA;AAqET,wBAAgB,UAAU,CAAC,CAAC,EAC1B,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,QAUtC;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI,CAGnE;AAED,wBAAgB,MAAM,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,EACxC,GAAG,EAAE,CAAC,EACN,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,EAChC,OAAO,GAAE,UAAe,kBAiIzB"}
package/dist/swr.js DELETED
@@ -1,236 +0,0 @@
1
- var _a;
2
- import { __DEV__ } from "./env.js";
3
- import { useHook } from "./hooks/utils.js";
4
- import { Signal } from "./signals/base.js";
5
- import { deepCompare, noop, safeStringify, shallowCompare, sideEffectsEnabled, } from "./utils/index.js";
6
- export class UseSWRError extends Error {
7
- constructor(message) {
8
- super(message instanceof Error ? message.message : String(message));
9
- this.name = "UseSWRError";
10
- this.cause = message;
11
- }
12
- }
13
- const SWRGlobalState = {
14
- cache: null,
15
- online: false,
16
- };
17
- if ("window" in globalThis) {
18
- if (__DEV__) {
19
- SWRGlobalState.cache = (_a = window.__kiru).SWRGlobalCache ?? (_a.SWRGlobalCache = new Map());
20
- }
21
- else {
22
- SWRGlobalState.cache = new Map();
23
- }
24
- SWRGlobalState.online = navigator.onLine;
25
- window.addEventListener("online", () => {
26
- SWRGlobalState.online = true;
27
- });
28
- window.addEventListener("offline", () => {
29
- SWRGlobalState.online = false;
30
- });
31
- let blurStart = null;
32
- window.addEventListener("blur", () => {
33
- blurStart = Date.now();
34
- });
35
- window.addEventListener("focus", () => {
36
- const blurDuration = blurStart ? Date.now() - blurStart : 0;
37
- blurStart = null;
38
- if (blurDuration < 3000)
39
- return; // only trigger revalidation after 3 seconds
40
- SWRGlobalState.cache.forEach((entry) => {
41
- if (entry.subscribers.size === 0 ||
42
- entry.options.revalidateOnFocus === false ||
43
- (entry.options.refetchWhenOffline === false &&
44
- SWRGlobalState.online === false)) {
45
- return;
46
- }
47
- entry.isValidating.value = true;
48
- performFetch(entry, () => {
49
- entry.isValidating.value = false;
50
- });
51
- });
52
- });
53
- }
54
- function createSWRCacheEntry(key, fetcher) {
55
- return {
56
- key,
57
- resource: new Signal({
58
- data: null,
59
- loading: true,
60
- error: null,
61
- }),
62
- fetcher,
63
- subscribers: new Set(),
64
- isMutating: new Signal(false),
65
- isValidating: new Signal(false),
66
- retryState: null,
67
- options: {},
68
- };
69
- }
70
- export function preloadSWR(key, fetcher) {
71
- if (!("window" in globalThis))
72
- return;
73
- const strKey = safeStringify(key, { functions: false });
74
- if (!SWRGlobalState.cache.has(strKey)) {
75
- const entry = createSWRCacheEntry(key, fetcher);
76
- SWRGlobalState.cache.set(strKey, entry);
77
- performFetch(entry);
78
- }
79
- }
80
- export function getSWRState(key) {
81
- const strKey = safeStringify(key, { functions: false });
82
- return SWRGlobalState.cache.get(strKey) ?? null;
83
- }
84
- export function useSWR(key, fetcher, options = {}) {
85
- if (!sideEffectsEnabled())
86
- return { data: null, error: null, loading: true };
87
- return useHook("useSWR", { strKey: "", options, update: noop }, ({ hook, isInit, isHMR, update }) => {
88
- if (__DEV__) {
89
- if (isInit) {
90
- hook.dev = {
91
- devtools: {
92
- get: () => ({
93
- key: hook.strKey,
94
- value: SWRGlobalState.cache.get(strKey),
95
- }),
96
- },
97
- initialArgs: [key, options],
98
- };
99
- }
100
- if (isHMR) {
101
- const entry = SWRGlobalState.cache.get(hook.strKey);
102
- const [k, o] = hook.dev.initialArgs;
103
- hook.dev.initialArgs = [key, options];
104
- if (entry) {
105
- if (!shallowCompare(k, key)) {
106
- // if key changed, new entry will be created
107
- }
108
- else if (entry.fetcher !== fetcher ||
109
- !shallowCompare(o, options)) {
110
- entry.fetcher = fetcher;
111
- entry.options = options;
112
- clearTimeout(entry.refreshInterval);
113
- clearTimeout(entry.retryState?.timeout);
114
- performFetch(entry);
115
- }
116
- }
117
- }
118
- }
119
- hook.options = options;
120
- const strKey = safeStringify(key, { functions: false });
121
- let entry;
122
- if (isInit || strKey !== hook.strKey) {
123
- if (strKey !== hook.strKey) {
124
- hook.cleanup?.();
125
- }
126
- hook.strKey = strKey;
127
- hook.update = update;
128
- let isNewEntry = false;
129
- if (!SWRGlobalState.cache.has(strKey)) {
130
- isNewEntry = true;
131
- entry = createSWRCacheEntry(key, fetcher);
132
- SWRGlobalState.cache.set(strKey, entry);
133
- entry.resource.subscribe(() => {
134
- entry.subscribers.forEach((sub) => sub.update());
135
- });
136
- performFetch(entry);
137
- }
138
- entry ?? (entry = SWRGlobalState.cache.get(strKey));
139
- const subs = entry.subscribers;
140
- if (subs.size === 0) {
141
- if (!isNewEntry) {
142
- entry.isValidating.value = true;
143
- performFetch(entry, () => {
144
- entry.isValidating.value = false;
145
- });
146
- }
147
- entry.options = options;
148
- if (options.refreshInterval) {
149
- entry.refreshInterval = window.setInterval(() => {
150
- if (entry.subscribers.size === 0)
151
- return;
152
- performFetch(entry);
153
- }, options.refreshInterval);
154
- }
155
- }
156
- subs.add(hook);
157
- hook.cleanup = () => {
158
- subs.delete(hook);
159
- if (entry.subscribers.size === 0) {
160
- window.clearInterval(entry.refreshInterval);
161
- window.clearTimeout(entry.retryState?.timeout);
162
- }
163
- };
164
- }
165
- entry ?? (entry = SWRGlobalState.cache.get(strKey));
166
- const { resource, isMutating, isValidating } = entry;
167
- const { data, loading, error } = resource.peek();
168
- const mutate = (callback) => {
169
- isMutating.value = true;
170
- callback()
171
- .then((data) => {
172
- if (entry.retryState) {
173
- window.clearTimeout(entry.retryState.timeout);
174
- entry.retryState = null;
175
- entry.isValidating.value = false;
176
- }
177
- const prev = resource.peek().data;
178
- if (deepCompare(prev, data))
179
- return;
180
- resource.value = {
181
- data,
182
- loading: false,
183
- error: null,
184
- };
185
- })
186
- .finally(() => {
187
- isMutating.value = false;
188
- });
189
- };
190
- return {
191
- data,
192
- loading,
193
- error,
194
- isMutating,
195
- isValidating,
196
- mutate,
197
- };
198
- });
199
- }
200
- function performFetch(entry, onSuccess) {
201
- entry.fetcher(entry.key).then((data) => {
202
- if (entry.retryState) {
203
- window.clearTimeout(entry.retryState.timeout);
204
- entry.retryState = null;
205
- }
206
- const prev = entry.resource.peek().data;
207
- if (!deepCompare(prev, data)) {
208
- entry.resource.value = {
209
- data,
210
- loading: false,
211
- error: null,
212
- };
213
- }
214
- onSuccess?.();
215
- }, (error) => {
216
- entry.resource.value = {
217
- data: null,
218
- loading: false,
219
- error: new UseSWRError(error),
220
- };
221
- const retryState = (entry.retryState ?? (entry.retryState = {
222
- count: 0,
223
- timeout: 0,
224
- delay: 250,
225
- }));
226
- if (retryState.count >= (entry.options.maxRetryCount ?? Infinity)) {
227
- return;
228
- }
229
- retryState.timeout = window.setTimeout(() => {
230
- retryState.count++;
231
- retryState.delay *= 2;
232
- performFetch(entry, onSuccess);
233
- }, entry.retryState.delay);
234
- });
235
- }
236
- //# sourceMappingURL=swr.js.map
package/dist/swr.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"swr.js","sourceRoot":"","sources":["../src/swr.ts"],"names":[],"mappings":"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"}
@@ -1,16 +0,0 @@
1
- import { $STREAM_DATA } from "../constants.js";
2
- export interface StreamDataThrowValue {
3
- [$STREAM_DATA]: {
4
- fallback?: JSX.Element;
5
- data: Kiru.StatefulPromise<unknown>[];
6
- };
7
- }
8
- /**
9
- * Returns true if the value is a {@link StreamDataThrowValue}
10
- */
11
- export declare function isStreamDataThrowValue(value: unknown): value is StreamDataThrowValue;
12
- /**
13
- * Returns true if the value is a {@link Kiru.StatefulPromise}
14
- */
15
- export declare function isStatefulPromise(thing: unknown): thing is Kiru.StatefulPromise<unknown>;
16
- //# sourceMappingURL=promise.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"promise.d.ts","sourceRoot":"","sources":["../../src/utils/promise.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAE9C,MAAM,WAAW,oBAAoB;IACnC,CAAC,YAAY,CAAC,EAAE;QACd,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,CAAA;QACtB,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,CAAA;KACtC,CAAA;CACF;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,oBAAoB,CAE/B;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAExC"}
@@ -1,14 +0,0 @@
1
- import { $STREAM_DATA } from "../constants.js";
2
- /**
3
- * Returns true if the value is a {@link StreamDataThrowValue}
4
- */
5
- export function isStreamDataThrowValue(value) {
6
- return typeof value === "object" && !!value && $STREAM_DATA in value;
7
- }
8
- /**
9
- * Returns true if the value is a {@link Kiru.StatefulPromise}
10
- */
11
- export function isStatefulPromise(thing) {
12
- return thing instanceof Promise && "id" in thing && "state" in thing;
13
- }
14
- //# sourceMappingURL=promise.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"promise.js","sourceRoot":"","sources":["../../src/utils/promise.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAS9C;;GAEG;AACH,MAAM,UAAU,sBAAsB,CACpC,KAAc;IAEd,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,IAAI,YAAY,IAAI,KAAK,CAAA;AACtE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAC/B,KAAc;IAEd,OAAO,KAAK,YAAY,OAAO,IAAI,IAAI,IAAI,KAAK,IAAI,OAAO,IAAI,KAAK,CAAA;AACtE,CAAC"}