@kdeveloper/kvark 0.10.0 → 0.10.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 +47 -23
- package/dist/{atom-BhfSS5xG.d.ts → atom-KKDuP3S2.d.ts} +2 -2
- package/dist/family.d.ts +4 -2
- package/dist/family.js +1 -1
- package/dist/index.d.ts +5 -3
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/preact/index.d.ts +1 -1
- package/dist/react/index.d.ts +1 -1
- package/dist/{store-DUIAp1x7.d.ts → store-CkSajQlZ.d.ts} +7 -2
- package/dist/{store-gE1mKZy1.js → store-DhEeznqs.js} +57 -23
- package/dist/store-DhEeznqs.js.map +1 -0
- package/dist/vue/index.d.ts +1 -1
- package/package.json +3 -1
- package/dist/store-gE1mKZy1.js.map +0 -1
package/README.md
CHANGED
|
@@ -422,6 +422,31 @@ Available `stalePolicy` values:
|
|
|
422
422
|
| `'suspend'` | Re-throw Promise on revalidation (re-suspends) |
|
|
423
423
|
| `'reset'` | Clear value and re-suspend immediately |
|
|
424
424
|
|
|
425
|
+
### Retry on error
|
|
426
|
+
|
|
427
|
+
By default a failed `get` immediately sets the atom to `error` state. You can opt into automatic retries with the `retry` and `retryDelay` options:
|
|
428
|
+
|
|
429
|
+
```ts
|
|
430
|
+
const userAtom = atom({
|
|
431
|
+
retry: 3,
|
|
432
|
+
retryDelay: (attempt) => Math.min(1000 * 2 ** attempt, 30_000),
|
|
433
|
+
get: async (ctx) => {
|
|
434
|
+
const res = await fetch("/api/user", { signal: ctx.signal });
|
|
435
|
+
if (!res.ok) throw new Error("Failed to fetch user");
|
|
436
|
+
return res.json();
|
|
437
|
+
},
|
|
438
|
+
});
|
|
439
|
+
```
|
|
440
|
+
|
|
441
|
+
| Option | Type | Default | Description |
|
|
442
|
+
| ------------ | ---------------------------------------------- | ------- | ------------------------------------------------------------------------------- |
|
|
443
|
+
| `retry` | `boolean \| number` | — | Number of **additional** attempts after the first failure. `true` defaults to 3 |
|
|
444
|
+
| `retryDelay` | `number \| ((attemptIndex: number) => number)` | `0` | Delay in ms before each retry. `attemptIndex` starts at 0 |
|
|
445
|
+
|
|
446
|
+
Retries respect `AbortSignal` — if the atom is invalidated or unmounted mid-retry the remaining attempts are cancelled. The atom stays in its previous state (no intermediate `error` flashes) until all retries are exhausted.
|
|
447
|
+
|
|
448
|
+
The same options are available in `atomFamily` and `infinityAtom`.
|
|
449
|
+
|
|
425
450
|
### `atomFamily`
|
|
426
451
|
|
|
427
452
|
Create a family of atoms parametrised by a key. Atoms are cached by param; supports LRU eviction.
|
|
@@ -516,12 +541,12 @@ const bob = useAtomValue(userFamily(2));
|
|
|
516
541
|
|
|
517
542
|
`batch.fetch` receives:
|
|
518
543
|
|
|
519
|
-
| Field | Type
|
|
520
|
-
| -------- |
|
|
521
|
-
| `keys` | `readonly Key[]`
|
|
522
|
-
| `params` | `readonly Param[]`
|
|
523
|
-
| `signal` | `AbortSignal`
|
|
524
|
-
| `ctx` | `AtomContext<Deps>`
|
|
544
|
+
| Field | Type | Description |
|
|
545
|
+
| -------- | ------------------- | -------------------------------------------------------- |
|
|
546
|
+
| `keys` | `readonly Key[]` | Unique keys (after `paramKey`) accumulated in this batch |
|
|
547
|
+
| `params` | `readonly Param[]` | Corresponding original `param` values (same order) |
|
|
548
|
+
| `signal` | `AbortSignal` | Aborts when **all** individual atom signals are aborted |
|
|
549
|
+
| `ctx` | `AtomContext<Deps>` | Context from the first enqueued atom in the batch |
|
|
525
550
|
|
|
526
551
|
Return a `Map<Key, Value>`. Keys missing from the map cause an error for those atoms.
|
|
527
552
|
|
|
@@ -533,24 +558,23 @@ In batch mode, `dependencies` takes **no param**: `() => Deps`. This guarantees
|
|
|
533
558
|
|
|
534
559
|
All schedulers are factory functions that return a `BatchScheduler` instance.
|
|
535
560
|
|
|
536
|
-
| Factory
|
|
537
|
-
|
|
|
538
|
-
| `microtaskScheduler()` _(default)_
|
|
539
|
-
| `windowScheduler(ms)`
|
|
540
|
-
| `maxBatchSizeScheduler(maxSize)`
|
|
541
|
-
| `windowedFiniteBatchScheduler(ms, maxSize)`
|
|
561
|
+
| Factory | Behaviour |
|
|
562
|
+
| ------------------------------------------- | ---------------------------------------------------------------------------------------- |
|
|
563
|
+
| `microtaskScheduler()` _(default)_ | Flushes at the end of the current microtask (coalesces all synchronous enqueues) |
|
|
564
|
+
| `windowScheduler(ms)` | Flushes after `ms` milliseconds since the first enqueue in the window |
|
|
565
|
+
| `maxBatchSizeScheduler(maxSize)` | Flushes immediately when the number of unique keys reaches `maxSize` (no timer fallback) |
|
|
566
|
+
| `windowedFiniteBatchScheduler(ms, maxSize)` | Flushes on timer **or** when `maxSize` unique keys are reached — whichever comes first |
|
|
542
567
|
|
|
543
568
|
```ts
|
|
544
|
-
import {
|
|
545
|
-
windowScheduler,
|
|
546
|
-
windowedFiniteBatchScheduler,
|
|
547
|
-
} from "@kdeveloper/kvark/family";
|
|
569
|
+
import { windowScheduler, windowedFiniteBatchScheduler } from "@kdeveloper/kvark/family";
|
|
548
570
|
|
|
549
571
|
// Flush after 10 ms or when 50 unique keys accumulate
|
|
550
572
|
const family = atomFamily({
|
|
551
573
|
batch: {
|
|
552
574
|
scheduler: windowedFiniteBatchScheduler(10, 50),
|
|
553
|
-
fetch: async ({ keys, signal }) => {
|
|
575
|
+
fetch: async ({ keys, signal }) => {
|
|
576
|
+
/* ... */
|
|
577
|
+
},
|
|
554
578
|
},
|
|
555
579
|
});
|
|
556
580
|
```
|
|
@@ -866,12 +890,12 @@ type Writable = IsWritable<typeof countAtom>; // → true | false
|
|
|
866
890
|
|
|
867
891
|
## Package Structure
|
|
868
892
|
|
|
869
|
-
| Import | Contents
|
|
870
|
-
| -------------------------- |
|
|
871
|
-
| `@kdeveloper/kvark` | `atom`, `mutation`, `createStore`, all types (including `Mutation`, `MutationContext`)
|
|
872
|
-
| `@kdeveloper/kvark/react`
|
|
873
|
-
| `@kdeveloper/kvark/preact`
|
|
874
|
-
| `@kdeveloper/kvark/vue`
|
|
893
|
+
| Import | Contents |
|
|
894
|
+
| -------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
895
|
+
| `@kdeveloper/kvark` | `atom`, `mutation`, `createStore`, all types (including `Mutation`, `MutationContext`) |
|
|
896
|
+
| `@kdeveloper/kvark/react` | `Provider`, `useStore`, `useAtomValue`, `useSetAtom`, `useMutation`, `useAtom`, `useAtomContext` |
|
|
897
|
+
| `@kdeveloper/kvark/preact` | `Provider`, `useStore`, `useAtomValue`, `useSetAtom`, `useMutation`, `useAtom`, `useAtomContext` |
|
|
898
|
+
| `@kdeveloper/kvark/vue` | `Provider`, `useStore`, `useAtomValue`, `useSetAtom`, `useMutation`, `useAtom`, `useAtomContext`; types `ThenableShallowRef`, `ThenableObservedShallowRef`, `ObservedValue` |
|
|
875
899
|
| `@kdeveloper/kvark/family` | `atomFamily`, `stableFamilyKey`, `microtaskScheduler`, `windowScheduler`, `maxBatchSizeScheduler`, `windowedFiniteBatchScheduler`, re-exports `atom`, `mutation`, `createStore`; types include `AtomFamily`, `BatchScheduler`, `BatchFetchInput`, `Mutation`, `MutationContext`, and core atom types |
|
|
876
900
|
|
|
877
901
|
The core (`@kdeveloper/kvark`) has **zero runtime dependencies**. **React**, **Preact**, and **Vue** are optional peer dependencies — install the framework you use and import from `/react`, `/preact`, or `/vue`.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { _ as WritableAtomContext, c as AtomConfig, g as WritableAtom, o as Atom } from "./store-CkSajQlZ.js";
|
|
2
2
|
|
|
3
3
|
//#region src/internal/atom.d.ts
|
|
4
4
|
type WritableConfig<Value, Deps extends Record<string, Atom<unknown>>, Args extends readonly unknown[]> = AtomConfig<Value, Deps, Args> & {
|
|
@@ -9,4 +9,4 @@ declare function atom<Value, Deps extends Record<string, Atom<unknown>> = Record
|
|
|
9
9
|
declare function atom<Value, Deps extends Record<string, Atom<unknown>> = Record<never, never>>(config: ReadonlyConfig<Value, Deps>): Atom<Value>;
|
|
10
10
|
//#endregion
|
|
11
11
|
export { atom as t };
|
|
12
|
-
//# sourceMappingURL=atom-
|
|
12
|
+
//# sourceMappingURL=atom-KKDuP3S2.d.ts.map
|
package/dist/family.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { a as mutation, c as AtomConfig, d as AtomValue, g as
|
|
2
|
-
import { t as atom } from "./atom-
|
|
1
|
+
import { _ as WritableAtomContext, a as mutation, c as AtomConfig, d as AtomValue, g as WritableAtom, h as StalePolicy, i as Mutation, l as AtomContext, m as RetryDelay, o as Atom, p as MutationContext, r as createStore, u as AtomState } from "./store-CkSajQlZ.js";
|
|
2
|
+
import { t as atom } from "./atom-KKDuP3S2.js";
|
|
3
3
|
|
|
4
4
|
//#region src/internal/family-batch-schedulers.d.ts
|
|
5
5
|
type BatchSchedulerContext = {
|
|
@@ -25,6 +25,8 @@ type BatchFetchInput<Param, Key, Deps extends Record<string, Atom<unknown>>> = {
|
|
|
25
25
|
//#region src/internal/family.d.ts
|
|
26
26
|
type AtomFamilyBaseOptions<Param, Key = Param> = {
|
|
27
27
|
stalePolicy?: StalePolicy;
|
|
28
|
+
retry?: boolean | number;
|
|
29
|
+
retryDelay?: RetryDelay;
|
|
28
30
|
cachePolicy?: "keep-all" | "lru";
|
|
29
31
|
lruSize?: number;
|
|
30
32
|
debugLabel?: string;
|
package/dist/family.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as microtaskScheduler, c as atom, i as maxBatchSizeScheduler, n as mutation, o as windowScheduler, r as atomFamily, s as windowedFiniteBatchScheduler, t as createStore } from "./store-
|
|
1
|
+
import { a as microtaskScheduler, c as atom, i as maxBatchSizeScheduler, n as mutation, o as windowScheduler, r as atomFamily, s as windowedFiniteBatchScheduler, t as createStore } from "./store-DhEeznqs.js";
|
|
2
2
|
//#region src/internal/stable-family-key.ts
|
|
3
3
|
/**
|
|
4
4
|
* Produces a deterministic string key for plain-object/array/primitive values.
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { a as mutation, c as AtomConfig, d as AtomValue, f as IsWritable, g as
|
|
2
|
-
import { t as atom } from "./atom-
|
|
1
|
+
import { _ as WritableAtomContext, a as mutation, c as AtomConfig, d as AtomValue, f as IsWritable, g as WritableAtom, h as StalePolicy, i as Mutation, l as AtomContext, m as RetryDelay, n as StoreClient, o as Atom, p as MutationContext, r as createStore, s as AtomArgs, u as AtomState } from "./store-CkSajQlZ.js";
|
|
2
|
+
import { t as atom } from "./atom-KKDuP3S2.js";
|
|
3
3
|
|
|
4
4
|
//#region src/internal/infinity-atom.d.ts
|
|
5
5
|
type InfiniteData<Page, Cursor> = {
|
|
@@ -18,9 +18,11 @@ type InfinityAtomOptions<Page, Cursor> = {
|
|
|
18
18
|
maxPages?: number;
|
|
19
19
|
debugLabel?: string;
|
|
20
20
|
stalePolicy?: StalePolicy;
|
|
21
|
+
retry?: boolean | number;
|
|
22
|
+
retryDelay?: RetryDelay;
|
|
21
23
|
dependencies?: Record<string, Atom<unknown>>;
|
|
22
24
|
};
|
|
23
25
|
declare function infinityAtom<Page, Cursor>(options: InfinityAtomOptions<Page, Cursor>): WritableAtom<InfiniteData<Page, Cursor>, [action: "loadNext"]>;
|
|
24
26
|
//#endregion
|
|
25
|
-
export { type Atom, type AtomArgs, type AtomConfig, type AtomContext, type AtomState, type AtomValue, type InfiniteData, type InfinityAtomOptions, type IsWritable, type Mutation, type MutationContext, type StalePolicy, type StoreClient, type WritableAtom, type WritableAtomContext, atom, createStore, infinityAtom, mutation };
|
|
27
|
+
export { type Atom, type AtomArgs, type AtomConfig, type AtomContext, type AtomState, type AtomValue, type InfiniteData, type InfinityAtomOptions, type IsWritable, type Mutation, type MutationContext, type RetryDelay, type StalePolicy, type StoreClient, type WritableAtom, type WritableAtomContext, atom, createStore, infinityAtom, mutation };
|
|
26
28
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { c as atom, n as mutation, t as createStore } from "./store-
|
|
1
|
+
import { c as atom, n as mutation, t as createStore } from "./store-DhEeznqs.js";
|
|
2
2
|
//#region src/internal/infinity-atom.ts
|
|
3
3
|
function infinityAtom(options) {
|
|
4
4
|
function applyMaxPages(pages, cursors) {
|
|
@@ -67,6 +67,8 @@ function infinityAtom(options) {
|
|
|
67
67
|
};
|
|
68
68
|
if (options.debugLabel != null) config.debugLabel = options.debugLabel;
|
|
69
69
|
if (options.stalePolicy != null) config.stalePolicy = options.stalePolicy;
|
|
70
|
+
if (options.retry != null) config.retry = options.retry;
|
|
71
|
+
if (options.retryDelay != null) config.retryDelay = options.retryDelay;
|
|
70
72
|
if (options.dependencies != null) config.dependencies = options.dependencies;
|
|
71
73
|
return atom(config);
|
|
72
74
|
}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../src/internal/infinity-atom.ts"],"mappings":";;
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../src/internal/infinity-atom.ts"],"mappings":";;AAsBA,SAAgB,aACd,SACgE;CAGhE,SAAS,cAAc,OAAe,SAAyD;AAC7F,MAAI,QAAQ,YAAY,QAAQ,MAAM,SAAS,QAAQ,UAAU;GAC/D,MAAM,SAAS,MAAM,SAAS,QAAQ;AACtC,UAAO;IAAE,OAAO,MAAM,MAAM,OAAO;IAAE,SAAS,QAAQ,MAAM,OAAO;IAAE;;AAEvE,SAAO;GAAE;GAAO;GAAS;;CAG3B,SAAS,YAAY,OAAe,aAA6B;EAC/D,MAAM,UAAU,cAAc,OAAO,YAAY;EACjD,MAAM,WAAW,QAAQ,MAAM,QAAQ,MAAM,SAAS;EACtD,MAAM,aACJ,YAAY,OAAO,QAAQ,cAAc,UAAU,QAAQ,MAAM,GAAG,KAAA;AACtE,SAAO;GACL,OAAO,QAAQ;GACf,aAAa,QAAQ;GACrB,aAAa,cAAc;GAC3B,oBAAoB;GACrB;;CAGH,MAAM,SAAgF;EACpF,KAAK,OAAO,QAAQ;GAClB,MAAM,OAAO,IAAI,kBAAkB;AAEnC,OAAI,QAAQ,KAKV,QAAO,YAAY,CAJN,MAAM,QAAQ,QAAQ;IACjC,QAAQ,QAAQ;IAChB,QAAQ,IAAI;IACb,CAAC,CACuB,EAAE,CAAC,QAAQ,cAAc,CAAC;GAIrD,MAAM,QAAgB,EAAE;GACxB,MAAM,cAAwB,EAAE;AAChC,QAAK,MAAM,UAAU,KAAK,aAAa;IACrC,MAAM,OAAO,MAAM,QAAQ,QAAQ;KAAE;KAAQ,QAAQ,IAAI;KAAQ,CAAC;AAClE,UAAM,KAAK,KAAK;AAChB,gBAAY,KAAK,OAAO;;AAE1B,UAAO,YAAY,OAAO,YAAY;;EAExC,KAAK,OAAO,KAAK,WAAW;AAC1B,OAAI,WAAW,WACb;GAGF,MAAM,UAAU,IAAI,kBAAkB;AACtC,OAAI,WAAW,QAAQ,CAAC,QAAQ,YAC9B;GAGF,MAAM,WAAW,QAAQ,MAAM,QAAQ,MAAM,SAAS;AACtD,OAAI,YAAY,KACd;GAGF,MAAM,aAAa,QAAQ,cAAc,UAAU,QAAQ,MAAM;AACjE,OAAI,cAAc,KAChB;AAGF,OAAI,mBAAmB;IAAE,GAAG;IAAS,oBAAoB;IAAM,CAAC;GAEhE,MAAM,OAAO,MAAM,QAAQ,QAAQ;IACjC,QAAQ;IACR,QAAQ,IAAI;IACb,CAAC;GAEF,MAAM,QAAQ,CAAC,GAAG,QAAQ,OAAO,KAAK;GACtC,MAAM,cAAc,CAAC,GAAG,QAAQ,aAAa,WAAW;AAExD,OAAI,mBAAmB,YAAY,OAAO,YAAY,CAAC;;EAE1D;AAED,KAAI,QAAQ,cAAc,KACxB,QAAO,aAAa,QAAQ;AAE9B,KAAI,QAAQ,eAAe,KACzB,QAAO,cAAc,QAAQ;AAE/B,KAAI,QAAQ,SAAS,KACnB,QAAO,QAAQ,QAAQ;AAEzB,KAAI,QAAQ,cAAc,KACxB,QAAO,aAAa,QAAQ;AAE9B,KAAI,QAAQ,gBAAgB,KAC1B,QAAO,eAAe,QAAQ;AAGhC,QAAO,KAAK,OAAO"}
|
package/dist/preact/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { g as WritableAtom, i as Mutation, n as StoreClient, o as Atom, t as Store } from "../store-CkSajQlZ.js";
|
|
2
2
|
import { ComponentChildren, VNode } from "preact";
|
|
3
3
|
|
|
4
4
|
//#region src/preact/provider.d.ts
|
package/dist/react/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { g as WritableAtom, i as Mutation, n as StoreClient, o as Atom, t as Store } from "../store-CkSajQlZ.js";
|
|
2
2
|
import { ReactNode } from "react";
|
|
3
3
|
|
|
4
4
|
//#region src/react/provider.d.ts
|
|
@@ -36,9 +36,12 @@ interface WritableAtomContext<Deps extends Record<string, Atom<unknown>>, Value>
|
|
|
36
36
|
setOptimisticValue(mutate: (prev: Value | undefined) => Value): void;
|
|
37
37
|
getPreviousValue(): Value | undefined;
|
|
38
38
|
}
|
|
39
|
+
type RetryDelay = number | ((attemptIndex: number) => number);
|
|
39
40
|
type AtomConfig<Value, Deps extends Record<string, Atom<unknown>>, Args extends readonly unknown[]> = {
|
|
40
41
|
dependencies?: Deps;
|
|
41
42
|
stalePolicy?: StalePolicy;
|
|
43
|
+
retry?: boolean | number;
|
|
44
|
+
retryDelay?: RetryDelay;
|
|
42
45
|
debugLabel?: string;
|
|
43
46
|
get: (ctx: AtomContext<Deps>) => Promise<Value>;
|
|
44
47
|
set?: (ctx: WritableAtomContext<Deps, Value>, ...args: Args) => Promise<void>;
|
|
@@ -47,6 +50,8 @@ type AtomConfig<Value, Deps extends Record<string, Atom<unknown>>, Args extends
|
|
|
47
50
|
interface InternalAtomConfig<Value> {
|
|
48
51
|
dependencies?: Record<string, Atom<unknown>>;
|
|
49
52
|
stalePolicy?: StalePolicy;
|
|
53
|
+
retry?: boolean | number;
|
|
54
|
+
retryDelay?: RetryDelay;
|
|
50
55
|
debugLabel?: string;
|
|
51
56
|
get: (ctx: AtomContext<Record<string, Atom<unknown>>>) => Promise<Value>;
|
|
52
57
|
set?: (ctx: WritableAtomContext<Record<string, Atom<unknown>>, any>, ...args: readonly unknown[]) => Promise<void>;
|
|
@@ -97,5 +102,5 @@ declare class Store {
|
|
|
97
102
|
}
|
|
98
103
|
declare function createStore(): Store;
|
|
99
104
|
//#endregion
|
|
100
|
-
export { mutation as a, AtomConfig as c, AtomValue as d, IsWritable as f,
|
|
101
|
-
//# sourceMappingURL=store-
|
|
105
|
+
export { WritableAtomContext as _, mutation as a, AtomConfig as c, AtomValue as d, IsWritable as f, WritableAtom as g, StalePolicy as h, Mutation as i, AtomContext as l, RetryDelay as m, StoreClient as n, Atom as o, MutationContext as p, createStore as r, AtomArgs as s, Store as t, AtomState as u };
|
|
106
|
+
//# sourceMappingURL=store-CkSajQlZ.d.ts.map
|
|
@@ -6,6 +6,8 @@ function atom(config) {
|
|
|
6
6
|
if (config.debugLabel != null) internal.debugLabel = config.debugLabel;
|
|
7
7
|
if (config.dependencies != null) internal.dependencies = config.dependencies;
|
|
8
8
|
if (config.stalePolicy != null) internal.stalePolicy = config.stalePolicy;
|
|
9
|
+
if (config.retry != null) internal.retry = config.retry;
|
|
10
|
+
if (config.retryDelay != null) internal.retryDelay = config.retryDelay;
|
|
9
11
|
if (config.set != null) internal.set = config.set;
|
|
10
12
|
if (config.onMount != null) internal.onMount = config.onMount;
|
|
11
13
|
if (config.set != null) return {
|
|
@@ -297,6 +299,8 @@ function atomFamily(options) {
|
|
|
297
299
|
if (label != null) base.debugLabel = label;
|
|
298
300
|
if (deps != null) base.dependencies = deps;
|
|
299
301
|
if (options.stalePolicy != null) base.stalePolicy = options.stalePolicy;
|
|
302
|
+
if (options.retry != null) base.retry = options.retry;
|
|
303
|
+
if (options.retryDelay != null) base.retryDelay = options.retryDelay;
|
|
300
304
|
if (setFn != null) {
|
|
301
305
|
base.set = setFn;
|
|
302
306
|
return atom(base);
|
|
@@ -368,35 +372,46 @@ var Store = class {
|
|
|
368
372
|
const config = atom[CONFIG];
|
|
369
373
|
const dependencies = config.dependencies;
|
|
370
374
|
const stalePolicy = config.stalePolicy ?? "keep";
|
|
375
|
+
const retryCount = normalizeRetry(config.retry);
|
|
376
|
+
const retryDelay = config.retryDelay ?? 0;
|
|
371
377
|
const entry = this.#getOrCreate(atom);
|
|
372
378
|
if (dependencies != null) {
|
|
373
379
|
await Promise.all(Object.values(dependencies).map((dep) => this.resolve(dep)));
|
|
374
380
|
this.#registerRdeps(atom, dependencies);
|
|
375
381
|
}
|
|
376
382
|
const ctx = this.#makeCtx(atom, dependencies ?? {});
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
if (
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
}
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
383
|
+
let lastError;
|
|
384
|
+
for (let attempt = 0; attempt <= retryCount; attempt++) {
|
|
385
|
+
if (attempt > 0) {
|
|
386
|
+
if (ctx.signal.aborted) throw new DOMException("The operation was aborted", "AbortError");
|
|
387
|
+
const delay = typeof retryDelay === "function" ? retryDelay(attempt - 1) : retryDelay;
|
|
388
|
+
if (delay > 0) await abortableDelay(delay, ctx.signal);
|
|
389
|
+
}
|
|
390
|
+
try {
|
|
391
|
+
const value = await config.get(ctx);
|
|
392
|
+
if (ctx.signal.aborted) throw new DOMException("The operation was aborted", "AbortError");
|
|
393
|
+
entry.state = {
|
|
394
|
+
status: "fresh",
|
|
395
|
+
value,
|
|
396
|
+
error: void 0
|
|
397
|
+
};
|
|
398
|
+
entry.version++;
|
|
399
|
+
this.#scheduleNotify(atom);
|
|
400
|
+
return value;
|
|
401
|
+
} catch (e) {
|
|
402
|
+
if (isAbortError(e)) throw e;
|
|
403
|
+
lastError = e;
|
|
404
|
+
}
|
|
399
405
|
}
|
|
406
|
+
const prevValue = extractPreviousValue(entry.state);
|
|
407
|
+
entry.state = {
|
|
408
|
+
status: "error",
|
|
409
|
+
value: stalePolicy === "keep" ? prevValue : void 0,
|
|
410
|
+
error: lastError
|
|
411
|
+
};
|
|
412
|
+
entry.version++;
|
|
413
|
+
this.#scheduleNotify(atom);
|
|
414
|
+
throw lastError;
|
|
400
415
|
}
|
|
401
416
|
invalidate(atom) {
|
|
402
417
|
this.#markStale(atom);
|
|
@@ -657,6 +672,25 @@ var Store = class {
|
|
|
657
672
|
function createStore() {
|
|
658
673
|
return new Store();
|
|
659
674
|
}
|
|
675
|
+
const DEFAULT_RETRY = 3;
|
|
676
|
+
function normalizeRetry(value) {
|
|
677
|
+
if (value == null || value === false) return 0;
|
|
678
|
+
if (value === true) return DEFAULT_RETRY;
|
|
679
|
+
return Math.max(0, Math.floor(value));
|
|
680
|
+
}
|
|
681
|
+
function abortableDelay(ms, signal) {
|
|
682
|
+
return new Promise((resolve, reject) => {
|
|
683
|
+
if (signal.aborted) {
|
|
684
|
+
reject(new DOMException("The operation was aborted", "AbortError"));
|
|
685
|
+
return;
|
|
686
|
+
}
|
|
687
|
+
const timer = setTimeout(resolve, ms);
|
|
688
|
+
signal.addEventListener("abort", () => {
|
|
689
|
+
clearTimeout(timer);
|
|
690
|
+
reject(new DOMException("The operation was aborted", "AbortError"));
|
|
691
|
+
}, { once: true });
|
|
692
|
+
});
|
|
693
|
+
}
|
|
660
694
|
function isAbortError(e) {
|
|
661
695
|
return e instanceof DOMException && e.name === "AbortError";
|
|
662
696
|
}
|
|
@@ -667,4 +701,4 @@ function extractPreviousValue(state) {
|
|
|
667
701
|
//#endregion
|
|
668
702
|
export { microtaskScheduler as a, atom as c, maxBatchSizeScheduler as i, mutation as n, windowScheduler as o, atomFamily as r, windowedFiniteBatchScheduler as s, createStore as t };
|
|
669
703
|
|
|
670
|
-
//# sourceMappingURL=store-
|
|
704
|
+
//# sourceMappingURL=store-DhEeznqs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store-DhEeznqs.js","names":["#maxSize","#nodeMap","#valueMap","#head","#tail","#moveToMru","#insertBeforeTail","#evict","#detach","#fetch","#scheduler","#queue","#keySet","#flush","#atoms","#rdeps","#pending","#controllers","#familyUnsubs","#registeredFamilies","#getOrCreate","#runGet","#registerRdeps","#makeCtx","#scheduleNotify","#markStale","#schedulePendingFlush","#flushScheduled","#flushPending","#markReverseDependentsStale","#autoRegisterFamily","#relatedOptimisticWrite","#rollbackRelatedSnapshots","#client"],"sources":["../src/internal/atom.ts","../src/internal/lru-cache.ts","../src/internal/family-batch-schedulers.ts","../src/internal/family-batch.ts","../src/internal/family.ts","../src/internal/mutation.ts","../src/internal/store.ts"],"mappings":"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"}
|
package/dist/vue/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { g as WritableAtom, i as Mutation, n as StoreClient, o as Atom, t as Store } from "../store-CkSajQlZ.js";
|
|
2
2
|
import * as _$vue from "vue";
|
|
3
3
|
import { PropType, ShallowRef } from "vue";
|
|
4
4
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kdeveloper/kvark",
|
|
3
|
-
"version": "0.10.
|
|
3
|
+
"version": "0.10.1",
|
|
4
4
|
"description": "Atomic state management with explicit dependency graphs",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"files": [
|
|
@@ -39,6 +39,7 @@
|
|
|
39
39
|
"@types/node": "^25.5.0",
|
|
40
40
|
"@types/react": "^19.2.14",
|
|
41
41
|
"@types/react-dom": "^19.2.3",
|
|
42
|
+
"@vitest/coverage-v8": "^4.1.2",
|
|
42
43
|
"@vue/test-utils": "^2.4.6",
|
|
43
44
|
"jsdom": "^29.0.1",
|
|
44
45
|
"oxfmt": "^0.42.0",
|
|
@@ -79,6 +80,7 @@
|
|
|
79
80
|
"fmt": "oxfmt .",
|
|
80
81
|
"fmt:check": "oxfmt --check .",
|
|
81
82
|
"test": "vitest run",
|
|
83
|
+
"test:coverage": "vitest run --coverage",
|
|
82
84
|
"test:watch": "vitest"
|
|
83
85
|
}
|
|
84
86
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"store-gE1mKZy1.js","names":["#maxSize","#nodeMap","#valueMap","#head","#tail","#moveToMru","#insertBeforeTail","#evict","#detach","#fetch","#scheduler","#queue","#keySet","#flush","#atoms","#rdeps","#pending","#controllers","#familyUnsubs","#registeredFamilies","#getOrCreate","#runGet","#registerRdeps","#makeCtx","#scheduleNotify","#markStale","#schedulePendingFlush","#flushScheduled","#flushPending","#markReverseDependentsStale","#autoRegisterFamily","#relatedOptimisticWrite","#rollbackRelatedSnapshots","#client"],"sources":["../src/internal/atom.ts","../src/internal/lru-cache.ts","../src/internal/family-batch-schedulers.ts","../src/internal/family-batch.ts","../src/internal/family.ts","../src/internal/mutation.ts","../src/internal/store.ts"],"mappings":"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"}
|