@kdeveloper/kvark 1.4.2 → 1.5.0

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 CHANGED
@@ -440,6 +440,22 @@ The callback receives a **`MutationContext`** (the same optimistic and invalidat
440
440
 
441
441
  Unlike **`write`**, a successful **`mutate` does not invalidate any atom automatically**. Call `ctx.invalidate` / `ctx.invalidateMany` when you want stale-while-revalidate after the request completes.
442
442
 
443
+ A mutation can also `return` a value (for example, the id of a newly created entity). The return type is inferred from the callback and forwarded by `store.mutate(...)` and `useMutation(...)`:
444
+
445
+ ```ts
446
+ const createItem = mutation(async (ctx, label: string) => {
447
+ const res = await fetch("/api/items", {
448
+ method: "POST",
449
+ body: JSON.stringify({ label }),
450
+ });
451
+ const { id } = (await res.json()) as { id: string };
452
+ ctx.invalidate(listAtom);
453
+ return id;
454
+ });
455
+
456
+ const id = await store.mutate(createItem, "new row"); // id: string
457
+ ```
458
+
443
459
  ```ts
444
460
  import { atom, mutation, createStore } from "@kdeveloper/kvark";
445
461
 
@@ -491,7 +507,12 @@ const runAddItem = useMutation(addItem);
491
507
  </script>
492
508
  ```
493
509
 
494
- `useMutation` returns a stable function (React/Preact: `useCallback` over `store.mutate`) with the same argument tuple as your mutation.
510
+ `useMutation` returns a stable function (React/Preact: `useCallback` over `store.mutate`) with the same argument tuple as your mutation. If the mutation `return`s a value, that value is forwarded as the resolved promise:
511
+
512
+ ```ts
513
+ const runCreate = useMutation(createItem);
514
+ const id = await runCreate("new row"); // id: string
515
+ ```
495
516
 
496
517
  #### Writable atoms vs `onMount`
497
518
 
@@ -926,11 +947,14 @@ await applyCount(42);
926
947
 
927
948
  ### `useMutation`
928
949
 
929
- Returns a function that runs a **`mutation(...)`** descriptor against the store, with the same `...args` as the mutation callback (after `ctx`). Does not subscribe to any atom.
950
+ Returns a function that runs a **`mutation(...)`** descriptor against the store, with the same `...args` as the mutation callback (after `ctx`). Does not subscribe to any atom. The resolved value is whatever the mutation callback `return`s (or `void` if it returns nothing).
930
951
 
931
952
  ```tsx
932
953
  const runReorder = useMutation(reorderMutation);
933
954
  await runReorder(itemId, newIndex);
955
+
956
+ const runCreate = useMutation(createItem);
957
+ const id = await runCreate("new row");
934
958
  ```
935
959
 
936
960
  ### `useAtom`
@@ -1126,11 +1150,14 @@ interface StoreClient {
1126
1150
  read<V>(atom: Atom<V>): Promise<V>;
1127
1151
  run<V, A extends readonly unknown[]>(atom: WritableAtom<V, A>, ...args: A): Promise<void>;
1128
1152
  apply<V, A extends readonly unknown[]>(atom: WritableAtom<V, A>, ...args: A): Promise<void>;
1129
- runMutation<Args extends readonly unknown[]>(
1130
- mutation: Mutation<Args>,
1153
+ runMutation<Args extends readonly unknown[], Result>(
1154
+ mutation: Mutation<Args, Result>,
1155
+ ...args: Args
1156
+ ): Promise<Result>;
1157
+ mutate<Args extends readonly unknown[], Result>(
1158
+ mutation: Mutation<Args, Result>,
1131
1159
  ...args: Args
1132
- ): Promise<void>;
1133
- mutate<Args extends readonly unknown[]>(mutation: Mutation<Args>, ...args: Args): Promise<void>;
1160
+ ): Promise<Result>;
1134
1161
  set<V>(atom: Atom<V>, value: V): void;
1135
1162
  set<V>(atom: Atom<V>, mutate: (prev: V | undefined) => V): void;
1136
1163
  write<V>(atom: Atom<V>, value: V): void;
@@ -1195,6 +1222,25 @@ type Writable = IsWritable<typeof countAtom>; // → true | false
1195
1222
 
1196
1223
  `WritableAtomContext` extends `MutationContext` — the same `writeOptimistic` / `invalidate` / `invalidateMany` helpers appear on both standalone mutations and writable `write` callbacks.
1197
1224
 
1225
+ ## Test Utilities
1226
+
1227
+ ```ts
1228
+ import { createTestStore, mockAtom, resolveAtom, withAtomMocks } from "@kdeveloper/kvark/tests";
1229
+
1230
+ const userMock = mockAtom(userAtom, { value: { id: "u1", name: "Ada" } });
1231
+ const profileAtom = atom({
1232
+ dependencies: withAtomMocks({ user: userAtom }, { user: userMock }),
1233
+ read: async (ctx) => ctx.read("user"),
1234
+ });
1235
+
1236
+ const store = createTestStore();
1237
+ expect(await resolveAtom(store, profileAtom)).toEqual({ id: "u1", name: "Ada" });
1238
+ ```
1239
+
1240
+ `mockAtom` also accepts `{ read: vi.fn(...) }` / `{ read: jest.fn(...) }` and `{ error }`.
1241
+ Use `mockAtomFamily` for family dependencies, `setAtomValue(s)` for seeded values, and
1242
+ `resolveAtom(s)` to read typed atom values in tests.
1243
+
1198
1244
  ## Package Structure
1199
1245
 
1200
1246
  | Import | Contents |
@@ -1204,6 +1250,7 @@ type Writable = IsWritable<typeof countAtom>; // → true | false
1204
1250
  | `@kdeveloper/kvark/preact` | `Provider`, `AtomCancellationScope`, `useStore`, `useAtomValue`, `useApplyAtom`, `useMutation`, `useAtom`, `useAtomContext` |
1205
1251
  | `@kdeveloper/kvark/vue` | `Provider`, `useStore`, `useAtomValue`, `useApplyAtom`, `useMutation`, `useAtom`, `useAtomContext`; types `ThenableShallowRef`, `ThenableObservedShallowRef`, `ObservedValue` |
1206
1252
  | `@kdeveloper/kvark/family` | `atomFamily`, `infinityAtomFamily`, `stableFamilyKey`, `microtaskScheduler`, `windowScheduler`, `maxBatchSizeScheduler`, `windowedFiniteBatchScheduler`, re-exports `atom`, `infinityAtom`, `mutation`, `createStore`; types include `AtomFamily`, `InfinityAtomFamily`, `BatchScheduler`, `BatchFetchInput`, `Mutation`, `MutationContext`, and core atom types |
1253
+ | `@kdeveloper/kvark/tests` | Test helpers: `createTestStore`, `mockAtom`, `mockAtomFamily`, `withAtomMocks`, `setAtomValue`, `setAtomValues`, `resolveAtom`, `resolveAtoms`; framework-agnostic and compatible with Vitest/Jest mock functions |
1207
1254
 
1208
1255
  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`.
1209
1256
 
@@ -0,0 +1,132 @@
1
+ import { d as RetryDelay, f as StalePolicy, h as WritableAtomContext, i as AtomContext, s as DependencyEntry, t as Atom } from "./types-DWKKl1AZ.js";
2
+
3
+ //#region src/internal/family-batch-schedulers.d.ts
4
+ type BatchSchedulerContext = {
5
+ pendingCount: number;
6
+ };
7
+ interface BatchScheduler {
8
+ schedule(flush: () => void, context: BatchSchedulerContext): void;
9
+ reset(): void;
10
+ }
11
+ declare function microtaskScheduler(): BatchScheduler;
12
+ declare function windowScheduler(ms: number): BatchScheduler;
13
+ declare function maxBatchSizeScheduler(maxSize: number): BatchScheduler;
14
+ declare function windowedFiniteBatchScheduler(ms: number, maxSize: number): BatchScheduler;
15
+ //#endregion
16
+ //#region src/internal/family-batch.d.ts
17
+ type BatchFetchInput<Param, Key, Deps extends Record<string, DependencyEntry>> = {
18
+ keys: readonly Key[];
19
+ params: readonly Param[];
20
+ signal: AbortSignal;
21
+ ctx: AtomContext<Deps>;
22
+ };
23
+ /**
24
+ * Input passed to a batched `stream` fetcher. Same shape as {@link BatchFetchInput},
25
+ * just aliased for clarity at call sites.
26
+ */
27
+ type BatchStreamInput<Param, Key, Deps extends Record<string, DependencyEntry>> = BatchFetchInput<Param, Key, Deps>;
28
+ //#endregion
29
+ //#region src/internal/family.d.ts
30
+ type AtomFamilyBaseOptions<Param, Key = Param> = {
31
+ stalePolicy?: StalePolicy;
32
+ retry?: boolean | number;
33
+ retryDelay?: RetryDelay;
34
+ cachePolicy?: "keep-all" | "lru";
35
+ lruSize?: number;
36
+ debugLabel?: string;
37
+ /**
38
+ * If `false`, the store will not auto-invalidate the atom after a successful `write`.
39
+ * Use this when the family's `write` writes the authoritative next value via
40
+ * `ctx.setOptimisticValue` and there is no need to re-run `read` to converge.
41
+ * Defaults to `true` (matches the typical CRUD pattern: `write` mutates the server,
42
+ * `read` then refetches the canonical state).
43
+ */
44
+ invalidateAfterWrite?: boolean;
45
+ /**
46
+ * Optional function to derive a stable cache key from `param`.
47
+ * Use when `Param` is an object and you want equality-by-value semantics.
48
+ * The returned key is used for all cache operations (get, set, LRU, invalidate, remove).
49
+ * The original `param` is still passed to `read`, `write`, and `dependencies`.
50
+ *
51
+ * For plain objects/arrays you can use `stableFamilyKey` from `@kdeveloper/kvark/family`.
52
+ * Treat the param object as immutable after the first call — `stableFamilyKey` memoises
53
+ * by object reference via a WeakMap.
54
+ */
55
+ paramKey?: (param: Param) => Key;
56
+ };
57
+ type AtomFamilyGetOptions<Param, Value, Deps extends Record<string, DependencyEntry>, Args extends readonly unknown[], Key = Param> = AtomFamilyBaseOptions<Param, Key> & {
58
+ dependencies?: (param: Param) => Deps;
59
+ read: (param: Param) => (ctx: AtomContext<Deps>) => Promise<Value>;
60
+ write?: (param: Param) => (ctx: WritableAtomContext<Deps, Value>, ...args: Args) => Promise<void>;
61
+ stream?: never;
62
+ reduce?: never;
63
+ initialValue?: never;
64
+ batch?: never;
65
+ };
66
+ /**
67
+ * Streaming variant of `atomFamily` (non-batched). Mirrors `atom({ stream, reduce, initialValue })`,
68
+ * but with a `param` curried in front so each member of the family can build its own iterable
69
+ * (e.g. SSE / WebSocket subscription scoped to `param`).
70
+ */
71
+ type AtomFamilyStreamOptions<Param, Value, Chunk, Deps extends Record<string, DependencyEntry>, Args extends readonly unknown[], Key = Param> = AtomFamilyBaseOptions<Param, Key> & {
72
+ dependencies?: (param: Param) => Deps;
73
+ /**
74
+ * Initial value used at the start of every `stream` run (including
75
+ * re-runs after invalidation). Provide a function to derive a per-param
76
+ * initial value.
77
+ */
78
+ initialValue: Value | ((param: Param) => Value);
79
+ stream: (param: Param) => (ctx: AtomContext<Deps>) => AsyncIterable<Chunk> | Promise<AsyncIterable<Chunk>>;
80
+ reduce: (param: Param) => (value: Value, chunk: Chunk, ctx: AtomContext<Deps>) => Value | Promise<Value>;
81
+ write?: (param: Param) => (ctx: WritableAtomContext<Deps, Value>, ...args: Args) => Promise<void>;
82
+ read?: never;
83
+ batch?: never;
84
+ };
85
+ type AtomFamilyBatchFetchConfig<Param, Value, Deps extends Record<string, DependencyEntry>, Key> = {
86
+ fetch: (input: BatchFetchInput<Param, Key, Deps>) => Promise<Map<Key, Value>>;
87
+ scheduler?: BatchScheduler;
88
+ stream?: never;
89
+ reduce?: never;
90
+ initialValue?: never;
91
+ };
92
+ type AtomFamilyBatchStreamConfig<Param, Value, Chunk, Deps extends Record<string, DependencyEntry>, Key> = {
93
+ /**
94
+ * Streaming batch fetcher. Each yielded `Map<Key, Chunk>` routes its entries to
95
+ * the matching member atoms; chunks for keys that are not currently subscribed
96
+ * are ignored.
97
+ */
98
+ stream: (input: BatchStreamInput<Param, Key, Deps>) => AsyncIterable<Map<Key, Chunk>> | Promise<AsyncIterable<Map<Key, Chunk>>>;
99
+ reduce: (value: Value, chunk: Chunk, ctx: AtomContext<Deps>) => Value | Promise<Value>;
100
+ initialValue: Value | ((param: Param) => Value);
101
+ scheduler?: BatchScheduler;
102
+ fetch?: never;
103
+ };
104
+ type AtomFamilyBatchOptions<Param, Value, Deps extends Record<string, DependencyEntry>, Key = Param, Chunk = never> = AtomFamilyBaseOptions<Param, Key> & {
105
+ /**
106
+ * In batch mode `dependencies` takes **no param** — the same set of dependency atoms
107
+ * is shared by every member of the family. This ensures that `ctx` passed to `batch.fetch`
108
+ * (or `batch.stream`) is valid for the entire batch.
109
+ */
110
+ dependencies?: () => Deps;
111
+ batch: AtomFamilyBatchFetchConfig<Param, Value, Deps, Key> | AtomFamilyBatchStreamConfig<Param, Value, Chunk, Deps, Key>;
112
+ read?: never;
113
+ write?: never;
114
+ stream?: never;
115
+ reduce?: never;
116
+ initialValue?: never;
117
+ };
118
+ type AtomFamilyOptions<Param, Value, Deps extends Record<string, DependencyEntry>, Args extends readonly unknown[], Key = Param, Chunk = never> = AtomFamilyGetOptions<Param, Value, Deps, Args, Key> | AtomFamilyStreamOptions<Param, Value, Chunk, Deps, Args, Key> | AtomFamilyBatchOptions<Param, Value, Deps, Key, Chunk>;
119
+ interface AtomFamily<Param, Value, Key = Param> {
120
+ (param: Param): Atom<Value>;
121
+ invalidate(param: Param): void;
122
+ invalidateAll(): void;
123
+ has(param: Param): boolean;
124
+ peek(param: Param): Atom<Value> | undefined;
125
+ remove(param: Param): void;
126
+ clear(): void;
127
+ getCache(): ReadonlyMap<Key, Atom<Value>>;
128
+ }
129
+ declare function atomFamily<Param, Value, Deps extends Record<string, DependencyEntry> = Record<never, never>, Args extends readonly unknown[] = readonly [], Key = Param, Chunk = never>(options: AtomFamilyOptions<Param, Value, Deps, Args, Key, Chunk>): AtomFamily<Param, Value, Key>;
130
+ //#endregion
131
+ export { AtomFamilyStreamOptions as a, BatchStreamInput as c, maxBatchSizeScheduler as d, microtaskScheduler as f, AtomFamilyOptions as i, BatchScheduler as l, windowedFiniteBatchScheduler as m, AtomFamilyBatchOptions as n, atomFamily as o, windowScheduler as p, AtomFamilyGetOptions as r, BatchFetchInput as s, AtomFamily as t, BatchSchedulerContext as u };
132
+ //# sourceMappingURL=family-DAd09eM5.d.ts.map
package/dist/family.d.ts CHANGED
@@ -1,133 +1,6 @@
1
- import { A as InfinityAtomOptions, C as Mutation, D as InfinityFamilyAtom, E as InfinityAtomFamilyOptions, O as infinityAtomFamily, P as atom, S as createStore, T as InfinityAtomFamily, _ as RegisteredContext, a as AtomState, b as StoreInspection, d as RetryDelay, f as StalePolicy, g as Register, h as WritableAtomContext, i as AtomContext, j as infinityAtom, k as InfiniteData, l as MutationContext, m as WritableAtom, o as AtomValue, r as AtomConfig, s as DependencyEntry, t as Atom, v as Store, w as mutation, x as StoreOptions, y as StoreClient } from "./types-D3CZFq8v.js";
1
+ import { A as InfinityAtomOptions, C as Mutation, D as InfinityFamilyAtom, E as InfinityAtomFamilyOptions, O as infinityAtomFamily, P as atom, S as createStore, T as InfinityAtomFamily, _ as RegisteredContext, a as AtomState, b as StoreInspection, f as StalePolicy, g as Register, i as AtomContext, j as infinityAtom, k as InfiniteData, l as MutationContext, m as WritableAtom, o as AtomValue, r as AtomConfig, t as Atom, v as Store, w as mutation, x as StoreOptions, y as StoreClient } from "./types-DWKKl1AZ.js";
2
+ import { a as AtomFamilyStreamOptions, c as BatchStreamInput, d as maxBatchSizeScheduler, f as microtaskScheduler, i as AtomFamilyOptions, l as BatchScheduler, m as windowedFiniteBatchScheduler, n as AtomFamilyBatchOptions, o as atomFamily, p as windowScheduler, r as AtomFamilyGetOptions, s as BatchFetchInput, t as AtomFamily, u as BatchSchedulerContext } from "./family-DAd09eM5.js";
2
3
 
3
- //#region src/internal/family-batch-schedulers.d.ts
4
- type BatchSchedulerContext = {
5
- pendingCount: number;
6
- };
7
- interface BatchScheduler {
8
- schedule(flush: () => void, context: BatchSchedulerContext): void;
9
- reset(): void;
10
- }
11
- declare function microtaskScheduler(): BatchScheduler;
12
- declare function windowScheduler(ms: number): BatchScheduler;
13
- declare function maxBatchSizeScheduler(maxSize: number): BatchScheduler;
14
- declare function windowedFiniteBatchScheduler(ms: number, maxSize: number): BatchScheduler;
15
- //#endregion
16
- //#region src/internal/family-batch.d.ts
17
- type BatchFetchInput<Param, Key, Deps extends Record<string, DependencyEntry>> = {
18
- keys: readonly Key[];
19
- params: readonly Param[];
20
- signal: AbortSignal;
21
- ctx: AtomContext<Deps>;
22
- };
23
- /**
24
- * Input passed to a batched `stream` fetcher. Same shape as {@link BatchFetchInput},
25
- * just aliased for clarity at call sites.
26
- */
27
- type BatchStreamInput<Param, Key, Deps extends Record<string, DependencyEntry>> = BatchFetchInput<Param, Key, Deps>;
28
- //#endregion
29
- //#region src/internal/family.d.ts
30
- type AtomFamilyBaseOptions<Param, Key = Param> = {
31
- stalePolicy?: StalePolicy;
32
- retry?: boolean | number;
33
- retryDelay?: RetryDelay;
34
- cachePolicy?: "keep-all" | "lru";
35
- lruSize?: number;
36
- debugLabel?: string;
37
- /**
38
- * If `false`, the store will not auto-invalidate the atom after a successful `write`.
39
- * Use this when the family's `write` writes the authoritative next value via
40
- * `ctx.setOptimisticValue` and there is no need to re-run `read` to converge.
41
- * Defaults to `true` (matches the typical CRUD pattern: `write` mutates the server,
42
- * `read` then refetches the canonical state).
43
- */
44
- invalidateAfterWrite?: boolean;
45
- /**
46
- * Optional function to derive a stable cache key from `param`.
47
- * Use when `Param` is an object and you want equality-by-value semantics.
48
- * The returned key is used for all cache operations (get, set, LRU, invalidate, remove).
49
- * The original `param` is still passed to `read`, `write`, and `dependencies`.
50
- *
51
- * For plain objects/arrays you can use `stableFamilyKey` from `@kdeveloper/kvark/family`.
52
- * Treat the param object as immutable after the first call — `stableFamilyKey` memoises
53
- * by object reference via a WeakMap.
54
- */
55
- paramKey?: (param: Param) => Key;
56
- };
57
- type AtomFamilyGetOptions<Param, Value, Deps extends Record<string, DependencyEntry>, Args extends readonly unknown[], Key = Param> = AtomFamilyBaseOptions<Param, Key> & {
58
- dependencies?: (param: Param) => Deps;
59
- read: (param: Param) => (ctx: AtomContext<Deps>) => Promise<Value>;
60
- write?: (param: Param) => (ctx: WritableAtomContext<Deps, Value>, ...args: Args) => Promise<void>;
61
- stream?: never;
62
- reduce?: never;
63
- initialValue?: never;
64
- batch?: never;
65
- };
66
- /**
67
- * Streaming variant of `atomFamily` (non-batched). Mirrors `atom({ stream, reduce, initialValue })`,
68
- * but with a `param` curried in front so each member of the family can build its own iterable
69
- * (e.g. SSE / WebSocket subscription scoped to `param`).
70
- */
71
- type AtomFamilyStreamOptions<Param, Value, Chunk, Deps extends Record<string, DependencyEntry>, Args extends readonly unknown[], Key = Param> = AtomFamilyBaseOptions<Param, Key> & {
72
- dependencies?: (param: Param) => Deps;
73
- /**
74
- * Initial value used at the start of every `stream` run (including
75
- * re-runs after invalidation). Provide a function to derive a per-param
76
- * initial value.
77
- */
78
- initialValue: Value | ((param: Param) => Value);
79
- stream: (param: Param) => (ctx: AtomContext<Deps>) => AsyncIterable<Chunk> | Promise<AsyncIterable<Chunk>>;
80
- reduce: (param: Param) => (value: Value, chunk: Chunk, ctx: AtomContext<Deps>) => Value | Promise<Value>;
81
- write?: (param: Param) => (ctx: WritableAtomContext<Deps, Value>, ...args: Args) => Promise<void>;
82
- read?: never;
83
- batch?: never;
84
- };
85
- type AtomFamilyBatchFetchConfig<Param, Value, Deps extends Record<string, DependencyEntry>, Key> = {
86
- fetch: (input: BatchFetchInput<Param, Key, Deps>) => Promise<Map<Key, Value>>;
87
- scheduler?: BatchScheduler;
88
- stream?: never;
89
- reduce?: never;
90
- initialValue?: never;
91
- };
92
- type AtomFamilyBatchStreamConfig<Param, Value, Chunk, Deps extends Record<string, DependencyEntry>, Key> = {
93
- /**
94
- * Streaming batch fetcher. Each yielded `Map<Key, Chunk>` routes its entries to
95
- * the matching member atoms; chunks for keys that are not currently subscribed
96
- * are ignored.
97
- */
98
- stream: (input: BatchStreamInput<Param, Key, Deps>) => AsyncIterable<Map<Key, Chunk>> | Promise<AsyncIterable<Map<Key, Chunk>>>;
99
- reduce: (value: Value, chunk: Chunk, ctx: AtomContext<Deps>) => Value | Promise<Value>;
100
- initialValue: Value | ((param: Param) => Value);
101
- scheduler?: BatchScheduler;
102
- fetch?: never;
103
- };
104
- type AtomFamilyBatchOptions<Param, Value, Deps extends Record<string, DependencyEntry>, Key = Param, Chunk = never> = AtomFamilyBaseOptions<Param, Key> & {
105
- /**
106
- * In batch mode `dependencies` takes **no param** — the same set of dependency atoms
107
- * is shared by every member of the family. This ensures that `ctx` passed to `batch.fetch`
108
- * (or `batch.stream`) is valid for the entire batch.
109
- */
110
- dependencies?: () => Deps;
111
- batch: AtomFamilyBatchFetchConfig<Param, Value, Deps, Key> | AtomFamilyBatchStreamConfig<Param, Value, Chunk, Deps, Key>;
112
- read?: never;
113
- write?: never;
114
- stream?: never;
115
- reduce?: never;
116
- initialValue?: never;
117
- };
118
- type AtomFamilyOptions<Param, Value, Deps extends Record<string, DependencyEntry>, Args extends readonly unknown[], Key = Param, Chunk = never> = AtomFamilyGetOptions<Param, Value, Deps, Args, Key> | AtomFamilyStreamOptions<Param, Value, Chunk, Deps, Args, Key> | AtomFamilyBatchOptions<Param, Value, Deps, Key, Chunk>;
119
- interface AtomFamily<Param, Value, Key = Param> {
120
- (param: Param): Atom<Value>;
121
- invalidate(param: Param): void;
122
- invalidateAll(): void;
123
- has(param: Param): boolean;
124
- peek(param: Param): Atom<Value> | undefined;
125
- remove(param: Param): void;
126
- clear(): void;
127
- getCache(): ReadonlyMap<Key, Atom<Value>>;
128
- }
129
- declare function atomFamily<Param, Value, Deps extends Record<string, DependencyEntry> = Record<never, never>, Args extends readonly unknown[] = readonly [], Key = Param, Chunk = never>(options: AtomFamilyOptions<Param, Value, Deps, Args, Key, Chunk>): AtomFamily<Param, Value, Key>;
130
- //#endregion
131
4
  //#region src/internal/stable-family-key.d.ts
132
5
  /**
133
6
  * Produces a deterministic string key for plain-object/array/primitive values.
package/dist/family.js CHANGED
@@ -1,2 +1,3 @@
1
- import { a as microtaskScheduler, c as infinityAtomFamily, d as atom, i as maxBatchSizeScheduler, l as stableFamilyKey, n as mutation, o as windowScheduler, r as atomFamily, s as windowedFiniteBatchScheduler, t as createStore, u as infinityAtom } from "./store-K7nS1uOI.js";
1
+ import { a as microtaskScheduler, f as atom, i as maxBatchSizeScheduler, l as stableFamilyKey, n as mutation, o as windowScheduler, r as atomFamily, s as windowedFiniteBatchScheduler, t as createStore } from "./store-C9XvK8PL.js";
2
+ import { n as infinityAtom, t as infinityAtomFamily } from "./infinity-atom-family-Dgy8KNoF.js";
2
3
  export { atom, atomFamily, createStore, infinityAtom, infinityAtomFamily, maxBatchSizeScheduler, microtaskScheduler, mutation, stableFamilyKey, windowScheduler, windowedFiniteBatchScheduler };
package/dist/index.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- import { A as InfinityAtomOptions, C as Mutation, D as InfinityFamilyAtom, E as InfinityAtomFamilyOptions, M as SimpleAtomOptions, N as SimpleAtomWriteArg, O as infinityAtomFamily, P as atom, S as createStore, T as InfinityAtomFamily, _ as RegisteredContext, a as AtomState, b as StoreInspection, c as IsWritable, d as RetryDelay, f as StalePolicy, g as Register, h as WritableAtomContext, i as AtomContext, j as infinityAtom, k as InfiniteData, l as MutationContext, m as WritableAtom, n as AtomArgs, o as AtomValue, p as StreamAtomConfig, r as AtomConfig, t as Atom, u as ReadAtomConfig, v as Store, w as mutation, x as StoreOptions, y as StoreClient } from "./types-D3CZFq8v.js";
1
+ import { A as InfinityAtomOptions, C as Mutation, D as InfinityFamilyAtom, E as InfinityAtomFamilyOptions, M as SimpleAtomOptions, N as SimpleAtomWriteArg, O as infinityAtomFamily, P as atom, S as createStore, T as InfinityAtomFamily, _ as RegisteredContext, a as AtomState, b as StoreInspection, c as IsWritable, d as RetryDelay, f as StalePolicy, g as Register, h as WritableAtomContext, i as AtomContext, j as infinityAtom, k as InfiniteData, l as MutationContext, m as WritableAtom, n as AtomArgs, o as AtomValue, p as StreamAtomConfig, r as AtomConfig, t as Atom, u as ReadAtomConfig, v as Store, w as mutation, x as StoreOptions, y as StoreClient } from "./types-DWKKl1AZ.js";
2
2
  export { Atom, AtomArgs, AtomConfig, AtomContext, AtomState, AtomValue, InfiniteData, InfinityAtomFamily, InfinityAtomFamilyOptions, InfinityAtomOptions, InfinityFamilyAtom, IsWritable, Mutation, MutationContext, ReadAtomConfig, Register, RegisteredContext, RetryDelay, SimpleAtomOptions, SimpleAtomWriteArg, StalePolicy, Store, StoreClient, StoreInspection, StoreOptions, StreamAtomConfig, WritableAtom, WritableAtomContext, atom, createStore, infinityAtom, infinityAtomFamily, mutation };
package/dist/index.js CHANGED
@@ -1,2 +1,3 @@
1
- import { c as infinityAtomFamily, d as atom, n as mutation, t as createStore, u as infinityAtom } from "./store-K7nS1uOI.js";
1
+ import { f as atom, n as mutation, t as createStore } from "./store-C9XvK8PL.js";
2
+ import { n as infinityAtom, t as infinityAtomFamily } from "./infinity-atom-family-Dgy8KNoF.js";
2
3
  export { atom, createStore, infinityAtom, infinityAtomFamily, mutation };
@@ -0,0 +1,156 @@
1
+ import { n as FAMILY_LINK } from "./types-B2mzc3A5.js";
2
+ import { c as createFamilyParamKeyDevTracker, d as LruCache, f as atom, u as isDev } from "./store-C9XvK8PL.js";
3
+ //#region src/internal/infinity-atom.ts
4
+ function infinityAtom(options) {
5
+ function applyMaxPages(pages, cursors) {
6
+ if (options.maxPages != null && pages.length > options.maxPages) {
7
+ const excess = pages.length - options.maxPages;
8
+ return {
9
+ pages: pages.slice(excess),
10
+ cursors: cursors.slice(excess)
11
+ };
12
+ }
13
+ return {
14
+ pages,
15
+ cursors
16
+ };
17
+ }
18
+ function buildResult(pages, pageCursors) {
19
+ const trimmed = applyMaxPages(pages, pageCursors);
20
+ const lastPage = trimmed.pages[trimmed.pages.length - 1];
21
+ const nextCursor = lastPage != null ? options.getNextCursor(lastPage, trimmed.pages) : void 0;
22
+ return {
23
+ pages: trimmed.pages,
24
+ pageCursors: trimmed.cursors,
25
+ hasNextPage: nextCursor != null,
26
+ isFetchingNextPage: false
27
+ };
28
+ }
29
+ const config = {
30
+ invalidateAfterWrite: false,
31
+ read: async (ctx) => {
32
+ const prev = ctx.getPreviousValue();
33
+ if (prev == null) return buildResult([await options.queryFn({
34
+ cursor: options.initialCursor,
35
+ signal: ctx.signal,
36
+ global: ctx.global
37
+ })], [options.initialCursor]);
38
+ const pages = [];
39
+ const pageCursors = [];
40
+ for (const cursor of prev.pageCursors) {
41
+ const page = await options.queryFn({
42
+ cursor,
43
+ signal: ctx.signal,
44
+ global: ctx.global
45
+ });
46
+ pages.push(page);
47
+ pageCursors.push(cursor);
48
+ }
49
+ return buildResult(pages, pageCursors);
50
+ },
51
+ write: async (ctx, action) => {
52
+ if (action !== "loadNext") return;
53
+ const current = ctx.getPreviousValue();
54
+ if (current == null || !current.hasNextPage) return;
55
+ const lastPage = current.pages[current.pages.length - 1];
56
+ if (lastPage == null) return;
57
+ const nextCursor = options.getNextCursor(lastPage, current.pages);
58
+ if (nextCursor == null) return;
59
+ ctx.setOptimisticValue({
60
+ ...current,
61
+ isFetchingNextPage: true
62
+ });
63
+ const page = await options.queryFn({
64
+ cursor: nextCursor,
65
+ signal: ctx.signal,
66
+ global: ctx.global
67
+ });
68
+ const pages = [...current.pages, page];
69
+ const pageCursors = [...current.pageCursors, nextCursor];
70
+ ctx.setOptimisticValue(buildResult(pages, pageCursors));
71
+ }
72
+ };
73
+ if (options.debugLabel != null) config.debugLabel = options.debugLabel;
74
+ if (options.stalePolicy != null) config.stalePolicy = options.stalePolicy;
75
+ if (options.retry != null) config.retry = options.retry;
76
+ if (options.retryDelay != null) config.retryDelay = options.retryDelay;
77
+ if (options.dependencies != null) config.dependencies = options.dependencies;
78
+ return atom(config);
79
+ }
80
+ //#endregion
81
+ //#region src/internal/infinity-atom-family.ts
82
+ function infinityAtomFamily(options) {
83
+ const cache = new LruCache(options.cachePolicy === "lru" ? options.lruSize ?? 100 : Infinity);
84
+ const storeCallbacks = /* @__PURE__ */ new Set();
85
+ const link = {
86
+ invalidateAtom(target) {
87
+ for (const cb of storeCallbacks) cb(target);
88
+ },
89
+ registerStore(cb) {
90
+ storeCallbacks.add(cb);
91
+ return () => {
92
+ storeCallbacks.delete(cb);
93
+ };
94
+ }
95
+ };
96
+ const devTracker = isDev ? createFamilyParamKeyDevTracker({
97
+ hasParamKey: options.paramKey != null,
98
+ debugLabel: options.debugLabel
99
+ }) : null;
100
+ function keyOf(param) {
101
+ const key = options.paramKey != null ? options.paramKey(param) : param;
102
+ devTracker?.track(param, key);
103
+ return key;
104
+ }
105
+ function attachLink(target) {
106
+ target[FAMILY_LINK] = link;
107
+ }
108
+ function buildAtomOptions(param, key) {
109
+ const opts = {
110
+ initialCursor: options.initialCursor(param),
111
+ queryFn: options.queryFn(param),
112
+ getNextCursor: options.getNextCursor(param)
113
+ };
114
+ if (options.maxPages != null) opts.maxPages = options.maxPages;
115
+ if (options.stalePolicy != null) opts.stalePolicy = options.stalePolicy;
116
+ if (options.retry != null) opts.retry = options.retry;
117
+ if (options.retryDelay != null) opts.retryDelay = options.retryDelay;
118
+ if (options.dependencies != null) opts.dependencies = options.dependencies(param);
119
+ if (options.debugLabel != null) {
120
+ const labelSuffix = options.paramKey != null ? String(key) : String(param);
121
+ opts.debugLabel = `${options.debugLabel}(${labelSuffix})`;
122
+ }
123
+ return opts;
124
+ }
125
+ function getOrCreate(param) {
126
+ const key = keyOf(param);
127
+ const cached = cache.get(key);
128
+ if (cached != null) return cached;
129
+ const created = infinityAtom(buildAtomOptions(param, key));
130
+ attachLink(created);
131
+ cache.set(key, created);
132
+ return created;
133
+ }
134
+ const family = getOrCreate;
135
+ family.invalidate = (param) => {
136
+ const cached = cache.peek(keyOf(param));
137
+ if (cached != null) link.invalidateAtom(cached);
138
+ };
139
+ family.invalidateAll = () => {
140
+ for (const cached of cache.values()) link.invalidateAtom(cached);
141
+ };
142
+ family.has = (param) => cache.peek(keyOf(param)) != null;
143
+ family.peek = (param) => cache.peek(keyOf(param));
144
+ family.remove = (param) => {
145
+ cache.delete(keyOf(param));
146
+ };
147
+ family.clear = () => {
148
+ cache.clear();
149
+ };
150
+ family.getCache = () => cache.asReadonlyMap();
151
+ return family;
152
+ }
153
+ //#endregion
154
+ export { infinityAtom as n, infinityAtomFamily as t };
155
+
156
+ //# sourceMappingURL=infinity-atom-family-Dgy8KNoF.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"infinity-atom-family-Dgy8KNoF.js","names":[],"sources":["../src/internal/infinity-atom.ts","../src/internal/infinity-atom-family.ts"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { C as Mutation, m as WritableAtom, t as Atom, v as Store, y as StoreClient } from "../types-D3CZFq8v.js";
1
+ import { C as Mutation, m as WritableAtom, t as Atom, v as Store, y as StoreClient } from "../types-DWKKl1AZ.js";
2
2
  import { ComponentChildren, VNode } from "preact";
3
3
 
4
4
  //#region src/preact/atom-cancellation-scope.d.ts
@@ -35,7 +35,7 @@ declare function useAtomValue<V>(atom: Atom<V>, opts: {
35
35
  declare function useApplyAtom<V, A extends readonly unknown[]>(atom: WritableAtom<V, A>): (...args: A) => Promise<void>;
36
36
  //#endregion
37
37
  //#region src/preact/use-mutation.d.ts
38
- declare function useMutation<Args extends readonly unknown[]>(mutation: Mutation<Args>): (...args: Args) => Promise<void>;
38
+ declare function useMutation<Args extends readonly unknown[], Result = void>(mutation: Mutation<Args, Result>): (...args: Args) => Promise<Result>;
39
39
  //#endregion
40
40
  //#region src/preact/use-atom.d.ts
41
41
  declare function useAtom<V, A extends readonly unknown[]>(atom: WritableAtom<V, A>): readonly [V, (...args: A) => Promise<void>];
@@ -1,4 +1,4 @@
1
- import { t as getAtomValueResult } from "../use-atom-value-Bu9qPOox.js";
1
+ import { t as getAtomValueResult } from "../use-atom-value-BiN9catp.js";
2
2
  import { createContext } from "preact";
3
3
  import { useCallback, useContext, useEffect, useMemo, useReducer, useRef } from "preact/hooks";
4
4
  import { jsx } from "preact/jsx-runtime";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["#store","#leases"],"sources":["../../src/preact/provider.tsx","../../src/preact/atom-cancellation-scope.tsx","../../src/preact/use-atom-value.ts","../../src/preact/use-apply-atom.ts","../../src/preact/use-mutation.ts","../../src/preact/use-atom.ts","../../src/preact/use-atom-context.ts","../../src/preact/use-stable-fn.ts"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["#store","#leases"],"sources":["../../src/preact/provider.tsx","../../src/preact/atom-cancellation-scope.tsx","../../src/preact/use-atom-value.ts","../../src/preact/use-apply-atom.ts","../../src/preact/use-mutation.ts","../../src/preact/use-atom.ts","../../src/preact/use-atom-context.ts","../../src/preact/use-stable-fn.ts"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { C as Mutation, m as WritableAtom, t as Atom, v as Store, y as StoreClient } from "../types-D3CZFq8v.js";
1
+ import { C as Mutation, m as WritableAtom, t as Atom, v as Store, y as StoreClient } from "../types-DWKKl1AZ.js";
2
2
  import { ReactNode } from "react";
3
3
 
4
4
  //#region src/react/atom-cancellation-scope.d.ts
@@ -35,7 +35,7 @@ declare function useAtomValue<V>(atom: Atom<V>, opts: {
35
35
  declare function useApplyAtom<V, A extends readonly unknown[]>(atom: WritableAtom<V, A>): (...args: A) => Promise<void>;
36
36
  //#endregion
37
37
  //#region src/react/use-mutation.d.ts
38
- declare function useMutation<Args extends readonly unknown[]>(mutation: Mutation<Args>): (...args: Args) => Promise<void>;
38
+ declare function useMutation<Args extends readonly unknown[], Result = void>(mutation: Mutation<Args, Result>): (...args: Args) => Promise<Result>;
39
39
  //#endregion
40
40
  //#region src/react/use-atom.d.ts
41
41
  declare function useAtom<V, A extends readonly unknown[]>(atom: WritableAtom<V, A>): readonly [V, (...args: A) => Promise<void>];
@@ -1,4 +1,4 @@
1
- import { t as getAtomValueResult } from "../use-atom-value-Bu9qPOox.js";
1
+ import { t as getAtomValueResult } from "../use-atom-value-BiN9catp.js";
2
2
  import { createContext, useCallback, useContext, useEffect, useMemo, useReducer, useRef } from "react";
3
3
  import { jsx } from "react/jsx-runtime";
4
4
  //#region src/react/provider.tsx
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["#store","#leases"],"sources":["../../src/react/provider.tsx","../../src/react/atom-cancellation-scope.tsx","../../src/react/use-atom-value.ts","../../src/react/use-apply-atom.ts","../../src/react/use-mutation.ts","../../src/react/use-atom.ts","../../src/react/use-atom-context.ts","../../src/react/use-stable-fn.ts"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["#store","#leases"],"sources":["../../src/react/provider.tsx","../../src/react/atom-cancellation-scope.tsx","../../src/react/use-atom-value.ts","../../src/react/use-apply-atom.ts","../../src/react/use-mutation.ts","../../src/react/use-atom.ts","../../src/react/use-atom-context.ts","../../src/react/use-stable-fn.ts"],"mappings":";;;;AAGA,MAAM,eAAe,cAA4B,KAAK;AAOtD,SAAgB,SAAS,EAAE,OAAO,YAAsC;CACtE,OAAO,oBAAC,aAAa,UAAd;EAAuB,OAAO;EAAQ;EAAiC,CAAA;;AAGhF,SAAgB,WAAkB;CAChC,MAAM,QAAQ,WAAW,aAAa;CACtC,IAAI,SAAS,MACX,MAAM,IAAI,MAAM,4CAA4C;CAE9D,OAAO;;;;ACTT,IAAM,kCAAN,MAAgE;CAC9D;CACA,0BAAmB,IAAI,KAAgC;CAEvD,YAAY,OAAc;EACxB,KAAKA,SAAS;;CAGhB,OAAO,MAA2B;EAChC,IAAI,KAAKC,QAAQ,IAAI,KAAK,EACxB;EAEF,KAAKA,QAAQ,IAAI,MAAM,KAAKD,OAAO,WAAW,KAAK,CAAC;;CAGtD,QAAQ,MAA2B;EACjC,MAAM,UAAU,KAAKC,QAAQ,IAAI,KAAK;EACtC,IAAI,WAAW,MACb;EAEF,KAAKA,QAAQ,OAAO,KAAK;EACzB,SAAS;;CAGX,UAAgB;EACd,KAAK,MAAM,WAAW,KAAKA,QAAQ,QAAQ,EACzC,SAAS;EAEX,KAAKA,QAAQ,OAAO;;;AAIxB,MAAM,+BAA+B,cAAqC,KAAK;AAM/E,SAAgB,sBAAsB,EAAE,YAAmD;CACzF,MAAM,QAAQ,UAAU;CACxB,MAAM,QAAQ,cAAc,IAAI,gCAAgC,MAAM,EAAE,CAAC,MAAM,CAAC;CAEhF,gBAAgB;EACd,aAAa;GACX,MAAM,SAAS;;IAEhB,CAAC,MAAM,CAAC;CAEX,OACE,oBAAC,6BAA6B,UAA9B;EAAuC,OAAO;EAC3C;EACqC,CAAA;;AAI5C,SAAgB,2BAAkD;CAChE,OAAO,WAAW,6BAA6B;;;;ACpDjD,SAAgB,aAAgB,MAAe,MAAgD;CAC7F,MAAM,QAAQ,UAAU;CACxB,MAAM,oBAAoB,0BAA0B;CACpD,MAAM,GAAG,YAAY,YAAY,UAAkB,QAAQ,GAAG,EAAE;CAEhE,MAAM,WAAyB,MAAM,YAAY,KAAK;CACtD,MAAM,cAAc,OAAO,SAAS;CACpC,YAAY,UAAU;CAEtB,gBAAgB;EACd,MAAM,eAAqB;GACzB,IAAI,CAAC,OAAO,GAAG,YAAY,SAAS,MAAM,YAAY,KAAK,CAAC,EAC1D,UAAU;;EAGd,MAAM,cAAc,MAAM,UAAU,MAAM,OAAO;EACjD,mBAAmB,QAAQ,KAAK;EAChC,QAAQ;EACR,OAAO;IACN;EAAC;EAAO;EAAM;EAAkB,CAAC;CAKpC,MAAM,mBAAmB,OAAO,KAAK;CACrC,MAAM,kBAAkB,iBAAiB;CACzC,iBAAiB,UAAU;CAE3B,OAAO,mBAAmB,OAAO,MAAM,UAAU,MAAM,YAAY,MAAM,uBAAuB;EAC9F,mBAAmB,OAAO,KAAK;GAC/B;;;;ACxCJ,SAAgB,aACd,MAC+B;CAC/B,MAAM,QAAQ,UAAU;CACxB,OAAO,aAAa,GAAG,SAA2B,MAAM,MAAM,MAAM,GAAG,KAAK,EAAE,CAAC,OAAO,KAAK,CAAC;;;;ACJ9F,SAAgB,YACd,UACoC;CACpC,MAAM,QAAQ,UAAU;CACxB,OAAO,aACJ,GAAG,SAAgC,MAAM,OAAO,UAAU,GAAG,KAAK,EACnE,CAAC,OAAO,SAAS,CAClB;;;;ACPH,SAAgB,QACd,MAC6C;CAG7C,OAAO,CAFO,aAAa,KAEd,EADE,aAAa,KACP,CAAC;;;;ACLxB,SAAgB,eAAkB,UAA8D;CAC9F,MAAM,QAAQ,UAAU;CACxB,OAAO,kBAA8B,SAAS,MAAM,WAAW,CAAC,EAAE,CAAC,OAAO,SAAS,CAAC;;;;ACJtF,SAAgB,YACd,IACsB;CACtB,MAAM,MAAM,OAAO,GAAG;CACtB,IAAI,UAAU;CAEd,OAAO,aAAa,GAAG,SAAe,IAAI,QAAQ,GAAG,KAAK,EAAE,EAAE,CAAC"}
@@ -56,84 +56,6 @@ function fromInitialValue(initialValue, options) {
56
56
  };
57
57
  }
58
58
  //#endregion
59
- //#region src/internal/infinity-atom.ts
60
- function infinityAtom(options) {
61
- function applyMaxPages(pages, cursors) {
62
- if (options.maxPages != null && pages.length > options.maxPages) {
63
- const excess = pages.length - options.maxPages;
64
- return {
65
- pages: pages.slice(excess),
66
- cursors: cursors.slice(excess)
67
- };
68
- }
69
- return {
70
- pages,
71
- cursors
72
- };
73
- }
74
- function buildResult(pages, pageCursors) {
75
- const trimmed = applyMaxPages(pages, pageCursors);
76
- const lastPage = trimmed.pages[trimmed.pages.length - 1];
77
- const nextCursor = lastPage != null ? options.getNextCursor(lastPage, trimmed.pages) : void 0;
78
- return {
79
- pages: trimmed.pages,
80
- pageCursors: trimmed.cursors,
81
- hasNextPage: nextCursor != null,
82
- isFetchingNextPage: false
83
- };
84
- }
85
- const config = {
86
- invalidateAfterWrite: false,
87
- read: async (ctx) => {
88
- const prev = ctx.getPreviousValue();
89
- if (prev == null) return buildResult([await options.queryFn({
90
- cursor: options.initialCursor,
91
- signal: ctx.signal,
92
- global: ctx.global
93
- })], [options.initialCursor]);
94
- const pages = [];
95
- const pageCursors = [];
96
- for (const cursor of prev.pageCursors) {
97
- const page = await options.queryFn({
98
- cursor,
99
- signal: ctx.signal,
100
- global: ctx.global
101
- });
102
- pages.push(page);
103
- pageCursors.push(cursor);
104
- }
105
- return buildResult(pages, pageCursors);
106
- },
107
- write: async (ctx, action) => {
108
- if (action !== "loadNext") return;
109
- const current = ctx.getPreviousValue();
110
- if (current == null || !current.hasNextPage) return;
111
- const lastPage = current.pages[current.pages.length - 1];
112
- if (lastPage == null) return;
113
- const nextCursor = options.getNextCursor(lastPage, current.pages);
114
- if (nextCursor == null) return;
115
- ctx.setOptimisticValue({
116
- ...current,
117
- isFetchingNextPage: true
118
- });
119
- const page = await options.queryFn({
120
- cursor: nextCursor,
121
- signal: ctx.signal,
122
- global: ctx.global
123
- });
124
- const pages = [...current.pages, page];
125
- const pageCursors = [...current.pageCursors, nextCursor];
126
- ctx.setOptimisticValue(buildResult(pages, pageCursors));
127
- }
128
- };
129
- if (options.debugLabel != null) config.debugLabel = options.debugLabel;
130
- if (options.stalePolicy != null) config.stalePolicy = options.stalePolicy;
131
- if (options.retry != null) config.retry = options.retry;
132
- if (options.retryDelay != null) config.retryDelay = options.retryDelay;
133
- if (options.dependencies != null) config.dependencies = options.dependencies;
134
- return atom(config);
135
- }
136
- //#endregion
137
59
  //#region src/internal/lru-cache.ts
138
60
  /**
139
61
  * Fixed-capacity cache with O(1) get, set, delete and LRU eviction.
@@ -400,79 +322,6 @@ function formatKey(value) {
400
322
  return String(value);
401
323
  }
402
324
  //#endregion
403
- //#region src/internal/infinity-atom-family.ts
404
- function infinityAtomFamily(options) {
405
- const cache = new LruCache(options.cachePolicy === "lru" ? options.lruSize ?? 100 : Infinity);
406
- const storeCallbacks = /* @__PURE__ */ new Set();
407
- const link = {
408
- invalidateAtom(target) {
409
- for (const cb of storeCallbacks) cb(target);
410
- },
411
- registerStore(cb) {
412
- storeCallbacks.add(cb);
413
- return () => {
414
- storeCallbacks.delete(cb);
415
- };
416
- }
417
- };
418
- const devTracker = isDev ? createFamilyParamKeyDevTracker({
419
- hasParamKey: options.paramKey != null,
420
- debugLabel: options.debugLabel
421
- }) : null;
422
- function keyOf(param) {
423
- const key = options.paramKey != null ? options.paramKey(param) : param;
424
- devTracker?.track(param, key);
425
- return key;
426
- }
427
- function attachLink(target) {
428
- target[FAMILY_LINK] = link;
429
- }
430
- function buildAtomOptions(param, key) {
431
- const opts = {
432
- initialCursor: options.initialCursor(param),
433
- queryFn: options.queryFn(param),
434
- getNextCursor: options.getNextCursor(param)
435
- };
436
- if (options.maxPages != null) opts.maxPages = options.maxPages;
437
- if (options.stalePolicy != null) opts.stalePolicy = options.stalePolicy;
438
- if (options.retry != null) opts.retry = options.retry;
439
- if (options.retryDelay != null) opts.retryDelay = options.retryDelay;
440
- if (options.dependencies != null) opts.dependencies = options.dependencies(param);
441
- if (options.debugLabel != null) {
442
- const labelSuffix = options.paramKey != null ? String(key) : String(param);
443
- opts.debugLabel = `${options.debugLabel}(${labelSuffix})`;
444
- }
445
- return opts;
446
- }
447
- function getOrCreate(param) {
448
- const key = keyOf(param);
449
- const cached = cache.get(key);
450
- if (cached != null) return cached;
451
- const created = infinityAtom(buildAtomOptions(param, key));
452
- attachLink(created);
453
- cache.set(key, created);
454
- return created;
455
- }
456
- const family = getOrCreate;
457
- family.invalidate = (param) => {
458
- const cached = cache.peek(keyOf(param));
459
- if (cached != null) link.invalidateAtom(cached);
460
- };
461
- family.invalidateAll = () => {
462
- for (const cached of cache.values()) link.invalidateAtom(cached);
463
- };
464
- family.has = (param) => cache.peek(keyOf(param)) != null;
465
- family.peek = (param) => cache.peek(keyOf(param));
466
- family.remove = (param) => {
467
- cache.delete(keyOf(param));
468
- };
469
- family.clear = () => {
470
- cache.clear();
471
- };
472
- family.getCache = () => cache.asReadonlyMap();
473
- return family;
474
- }
475
- //#endregion
476
325
  //#region src/internal/family-batch-schedulers.ts
477
326
  function microtaskScheduler() {
478
327
  let scheduled = false;
@@ -1352,7 +1201,7 @@ var Store = class {
1352
1201
  invalidateMany: (targets) => this.invalidateMany(targets)
1353
1202
  };
1354
1203
  try {
1355
- await mutation[MUTATION_RUN](ctx, ...args);
1204
+ return await mutation[MUTATION_RUN](ctx, ...args);
1356
1205
  } catch (e) {
1357
1206
  this.#rollbackRelatedSnapshots(relatedSnapshots);
1358
1207
  throw e;
@@ -1479,6 +1328,6 @@ function extractPreviousValue(state) {
1479
1328
  if (state.status === "error") return state.value;
1480
1329
  }
1481
1330
  //#endregion
1482
- export { microtaskScheduler as a, infinityAtomFamily as c, atom as d, maxBatchSizeScheduler as i, stableFamilyKey as l, mutation as n, windowScheduler as o, atomFamily as r, windowedFiniteBatchScheduler as s, createStore as t, infinityAtom as u };
1331
+ export { microtaskScheduler as a, createFamilyParamKeyDevTracker as c, LruCache as d, atom as f, maxBatchSizeScheduler as i, stableFamilyKey as l, mutation as n, windowScheduler as o, atomFamily as r, windowedFiniteBatchScheduler as s, createStore as t, isDev as u };
1483
1332
 
1484
- //# sourceMappingURL=store-K7nS1uOI.js.map
1333
+ //# sourceMappingURL=store-C9XvK8PL.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store-C9XvK8PL.js","names":["#maxSize","#nodeMap","#valueMap","#head","#tail","#moveToMru","#insertBeforeTail","#evict","#detach","#fetch","#scheduler","#queue","#keySet","#flush","#stream","#atoms","#entries","#rdeps","#pending","#familyUnsubs","#registeredFamilies","#context","#disposed","#abortRead","#assertActive","#getOrCreate","#runRead","#abortReadIfUnowned","#registerRdeps","#makeCtx","#runStreamRead","#scheduleNotify","#markStale","#schedulePendingFlush","#cancelRead","#flushScheduled","#flushPending","#markReverseDependentsStale","#registerSingleRdep","#autoRegisterFamily","#relatedOptimisticWrite","#rollbackRelatedSnapshots","#client"],"sources":["../src/internal/atom.ts","../src/internal/lru-cache.ts","../src/internal/is-dev.ts","../src/internal/stable-family-key.ts","../src/internal/family-param-key-dev.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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"}
@@ -0,0 +1,49 @@
1
+ import { N as SimpleAtomWriteArg, _ as RegisteredContext, m as WritableAtom, o as AtomValue, s as DependencyEntry, t as Atom, v as Store, x as StoreOptions, y as StoreClient } from "./types-DWKKl1AZ.js";
2
+ import { t as AtomFamily } from "./family-DAd09eM5.js";
3
+
4
+ //#region src/tests.d.ts
5
+ type TestStoreClient = Pick<StoreClient, "read" | "write">;
6
+ type AtomValueEntry<A extends Atom<unknown> = Atom<unknown>> = readonly [atom: A, value: AtomValue<A>];
7
+ type TestStoreOptions = StoreOptions & {
8
+ values?: readonly AtomValueEntry[];
9
+ };
10
+ type MockAtomRead<Value> = () => Value | Promise<Value>;
11
+ type MockAtomValueOptions<Value> = {
12
+ debugLabel?: string;
13
+ value: Value;
14
+ };
15
+ type MockAtomReadOptions<Value> = {
16
+ debugLabel?: string;
17
+ read: MockAtomRead<Value>;
18
+ };
19
+ type MockAtomErrorOptions = {
20
+ debugLabel?: string;
21
+ error: unknown;
22
+ };
23
+ type MockAtomOptions<Value> = MockAtomValueOptions<Value> | MockAtomReadOptions<Value> | MockAtomErrorOptions;
24
+ type MockAtomFamilyValueOptions<Value> = {
25
+ debugLabel?: string;
26
+ value: Value;
27
+ };
28
+ type MockAtomFamilyGetValueOptions<Param, Value> = {
29
+ debugLabel?: string;
30
+ getValue: (param: Param) => Value | Promise<Value>;
31
+ };
32
+ type MockAtomFamilyErrorOptions<Param> = {
33
+ debugLabel?: string;
34
+ getError?: (param: Param) => unknown;
35
+ error?: unknown;
36
+ };
37
+ type MockAtomFamilyOptions<Param, Value> = MockAtomFamilyValueOptions<Value> | MockAtomFamilyGetValueOptions<Param, Value> | MockAtomFamilyErrorOptions<Param>;
38
+ declare function createTestStore(...args: unknown extends RegisteredContext ? [options?: TestStoreOptions] : [options: TestStoreOptions]): Store;
39
+ declare function mockAtom<Value>(source: Atom<Value>, options: MockAtomValueOptions<Value>): WritableAtom<Value, readonly [SimpleAtomWriteArg<Value>]>;
40
+ declare function mockAtom<Value>(source: Atom<Value>, options: MockAtomReadOptions<Value> | MockAtomErrorOptions): Atom<Value>;
41
+ declare function mockAtomFamily<Param, Value, Key>(source: AtomFamily<Param, Value, Key>, options: MockAtomFamilyOptions<Param, Value>): AtomFamily<Param, Value>;
42
+ declare function withAtomMocks<Deps extends Record<string, DependencyEntry>>(dependencies: Deps, mocks: Partial<Deps>): Deps;
43
+ declare function setAtomValue<Value>(store: TestStoreClient, target: Atom<Value>, value: Value): void;
44
+ declare function setAtomValues(store: TestStoreClient, entries: readonly AtomValueEntry[]): void;
45
+ declare function resolveAtom<Value>(store: TestStoreClient, target: Atom<Value>): Promise<Value>;
46
+ declare function resolveAtoms<const Atoms extends readonly Atom<unknown>[]>(store: TestStoreClient, targets: Atoms): Promise<{ [Index in keyof Atoms]: AtomValue<Atoms[Index]> }>;
47
+ //#endregion
48
+ export { AtomValueEntry, MockAtomErrorOptions, MockAtomFamilyErrorOptions, MockAtomFamilyGetValueOptions, MockAtomFamilyOptions, MockAtomFamilyValueOptions, MockAtomOptions, MockAtomRead, MockAtomReadOptions, MockAtomValueOptions, TestStoreClient, TestStoreOptions, createTestStore, mockAtom, mockAtomFamily, resolveAtom, resolveAtoms, setAtomValue, setAtomValues, withAtomMocks };
49
+ //# sourceMappingURL=tests.d.ts.map
package/dist/tests.js ADDED
@@ -0,0 +1,86 @@
1
+ import { f as atom, r as atomFamily, t as createStore } from "./store-C9XvK8PL.js";
2
+ //#region src/tests.ts
3
+ function createTestStore(...args) {
4
+ const [options] = args;
5
+ const values = options?.values;
6
+ const storeOptions = stripTestStoreOptions(options);
7
+ const store = storeOptions == null ? createStore() : createStore(storeOptions);
8
+ if (values != null) setAtomValues(store, values);
9
+ return store;
10
+ }
11
+ function mockAtom(source, options) {
12
+ const debugLabel = mockDebugLabel(source.debugLabel, options.debugLabel);
13
+ if ("value" in options) {
14
+ const initialValue = options.value;
15
+ return atom({
16
+ debugLabel,
17
+ invalidateAfterWrite: false,
18
+ read: async (ctx) => {
19
+ await Promise.resolve();
20
+ const previous = ctx.getPreviousValue();
21
+ return previous === void 0 ? initialValue : previous;
22
+ },
23
+ write: async (ctx, valueOrMutate) => {
24
+ const previous = ctx.getPreviousValue();
25
+ const next = typeof valueOrMutate === "function" ? valueOrMutate(previous === void 0 ? initialValue : previous) : valueOrMutate;
26
+ ctx.setOptimisticValue(next);
27
+ }
28
+ });
29
+ }
30
+ if ("read" in options) return atom({
31
+ debugLabel,
32
+ read: async () => options.read()
33
+ });
34
+ return atom({
35
+ debugLabel,
36
+ retry: false,
37
+ read: async () => {
38
+ throw options.error;
39
+ }
40
+ });
41
+ }
42
+ function mockAtomFamily(source, options) {
43
+ return atomFamily({
44
+ debugLabel: options.debugLabel ?? mockFamilyDebugLabel(source),
45
+ retry: false,
46
+ read: (param) => async () => {
47
+ if ("value" in options) return options.value;
48
+ if ("getValue" in options) return options.getValue(param);
49
+ throw options.getError == null ? options.error : options.getError(param);
50
+ }
51
+ });
52
+ }
53
+ function withAtomMocks(dependencies, mocks) {
54
+ return {
55
+ ...dependencies,
56
+ ...mocks
57
+ };
58
+ }
59
+ function setAtomValue(store, target, value) {
60
+ store.write(target, value);
61
+ }
62
+ function setAtomValues(store, entries) {
63
+ for (const [target, value] of entries) store.write(target, value);
64
+ }
65
+ function resolveAtom(store, target) {
66
+ return store.read(target);
67
+ }
68
+ async function resolveAtoms(store, targets) {
69
+ return await Promise.all(targets.map((target) => store.read(target)));
70
+ }
71
+ function stripTestStoreOptions(options) {
72
+ if (options == null) return;
73
+ const { values: _values, ...storeOptions } = options;
74
+ return storeOptions;
75
+ }
76
+ function mockDebugLabel(source, explicit) {
77
+ if (explicit != null) return explicit;
78
+ return source == null ? "mockAtom" : `mock(${source})`;
79
+ }
80
+ function mockFamilyDebugLabel(source) {
81
+ return source.name == null || source.name === "" ? "mockAtomFamily" : `mock(${source.name})`;
82
+ }
83
+ //#endregion
84
+ export { createTestStore, mockAtom, mockAtomFamily, resolveAtom, resolveAtoms, setAtomValue, setAtomValues, withAtomMocks };
85
+
86
+ //# sourceMappingURL=tests.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tests.js","names":[],"sources":["../src/tests.ts"],"mappings":";;AA4DA,SAAgB,gBACd,GAAG,MAGI;CACP,MAAM,CAAC,WAAW;CAClB,MAAM,SAAS,SAAS;CACxB,MAAM,eAAe,sBAAsB,QAAQ;CACnD,MAAM,QAAQ,gBAAgB,OAAO,aAAa,GAAG,YAAY,aAAa;CAE9E,IAAI,UAAU,MACZ,cAAc,OAAO,OAAO;CAG9B,OAAO;;AAWT,SAAgB,SAAgB,QAAqB,SAA8C;CACjG,MAAM,aAAa,eAAe,OAAO,YAAY,QAAQ,WAAW;CAExE,IAAI,WAAW,SAAS;EACtB,MAAM,eAAe,QAAQ;EAC7B,OAAO,KAAK;GACV;GACA,sBAAsB;GACtB,MAAM,OAAO,QAAQ;IACnB,MAAM,QAAQ,SAAS;IACvB,MAAM,WAAW,IAAI,kBAAkB;IACvC,OAAO,aAAa,KAAA,IAAY,eAAe;;GAEjD,OAAO,OAAO,KAAK,kBAA6C;IAC9D,MAAM,WAAW,IAAI,kBAAkB;IAEvC,MAAM,OACJ,OAAO,kBAAkB,aACpB,cAHM,aAAa,KAAA,IAAY,eAAe,SAGA,GAC/C;IACN,IAAI,mBAAmB,KAAK;;GAE/B,CAAC;;CAGJ,IAAI,UAAU,SACZ,OAAO,KAAK;EACV;EACA,MAAM,YAAY,QAAQ,MAAM;EACjC,CAAC;CAGJ,OAAO,KAAK;EACV;EACA,OAAO;EACP,MAAM,YAAY;GAChB,MAAM,QAAQ;;EAEjB,CAAC;;AAGJ,SAAgB,eACd,QACA,SAC0B;CAI1B,OAAO,WAAW;EAChB,YAHA,QAAQ,cAAc,qBAAqB,OAAqC;EAIhF,OAAO;EACP,OAAO,UAAiB,YAAY;GAClC,IAAI,WAAW,SACb,OAAO,QAAQ;GAEjB,IAAI,cAAc,SAChB,OAAO,QAAQ,SAAS,MAAM;GAEhC,MAAM,QAAQ,YAAY,OAAO,QAAQ,QAAQ,QAAQ,SAAS,MAAM;;EAE3E,CAAC;;AAGJ,SAAgB,cACd,cACA,OACM;CACN,OAAO;EAAE,GAAG;EAAc,GAAG;EAAO;;AAGtC,SAAgB,aACd,OACA,QACA,OACM;CACN,MAAM,MAAM,QAAQ,MAAM;;AAG5B,SAAgB,cAAc,OAAwB,SAA0C;CAC9F,KAAK,MAAM,CAAC,QAAQ,UAAU,SAC5B,MAAM,MAAM,QAAQ,MAAM;;AAI9B,SAAgB,YAAmB,OAAwB,QAAqC;CAC9F,OAAO,MAAM,KAAK,OAAO;;AAG3B,eAAsB,aACpB,OACA,SAC8D;CAE9D,OAAO,MADc,QAAQ,IAAI,QAAQ,KAAK,WAAW,MAAM,KAAK,OAAO,CAAC,CAAC;;AAI/E,SAAS,sBAAsB,SAAiE;CAC9F,IAAI,WAAW,MACb;CAGF,MAAM,EAAE,QAAQ,SAAS,GAAG,iBAAiB;CAC7C,OAAO;;AAGT,SAAS,eAAe,QAA4B,UAAsC;CACxF,IAAI,YAAY,MACd,OAAO;CAET,OAAO,UAAU,OAAO,aAAa,QAAQ,OAAO;;AAGtD,SAAS,qBAAqB,QAA4C;CACxE,OAAO,OAAO,QAAQ,QAAQ,OAAO,SAAS,KAAK,mBAAmB,QAAQ,OAAO,KAAK"}
@@ -96,10 +96,10 @@ declare function infinityAtomFamily<Param, Page, Cursor, Key = Param>(options: I
96
96
  //#endregion
97
97
  //#region src/internal/mutation.d.ts
98
98
  declare const MUTATION_RUN: unique symbol;
99
- type Mutation<in out Args extends readonly unknown[]> = {
100
- readonly [MUTATION_RUN]: (ctx: MutationContext, ...args: Args) => Promise<void>;
99
+ type Mutation<in out Args extends readonly unknown[], in out Result = void> = {
100
+ readonly [MUTATION_RUN]: (ctx: MutationContext, ...args: Args) => Promise<Result>;
101
101
  };
102
- declare function mutation<const Args extends readonly unknown[]>(fn: (ctx: MutationContext, ...args: Args) => Promise<void>): Mutation<Args>;
102
+ declare function mutation<const Args extends readonly unknown[], Result = void>(fn: (ctx: MutationContext, ...args: Args) => Promise<Result>): Mutation<Args, Result>;
103
103
  //#endregion
104
104
  //#region src/internal/store.d.ts
105
105
  type StoreInspection = {
@@ -118,8 +118,8 @@ interface StoreClient {
118
118
  read<V>(atom: Atom<V>): Promise<V>;
119
119
  run<V, A extends readonly unknown[]>(atom: WritableAtom<V, A>, ...args: NoInfer<A>): Promise<void>;
120
120
  apply<V, A extends readonly unknown[]>(atom: WritableAtom<V, A>, ...args: NoInfer<A>): Promise<void>;
121
- runMutation<Args extends readonly unknown[]>(mutation: Mutation<Args>, ...args: Args): Promise<void>;
122
- mutate<Args extends readonly unknown[]>(mutation: Mutation<Args>, ...args: Args): Promise<void>;
121
+ runMutation<Args extends readonly unknown[], Result>(mutation: Mutation<Args, Result>, ...args: Args): Promise<Result>;
122
+ mutate<Args extends readonly unknown[], Result>(mutation: Mutation<Args, Result>, ...args: Args): Promise<Result>;
123
123
  set<V>(atom: Atom<V>, value: V): void;
124
124
  set<V>(atom: Atom<V>, mutate: (prev: V | undefined) => V): void;
125
125
  write<V>(atom: Atom<V>, value: V): void;
@@ -154,11 +154,11 @@ declare class Store {
154
154
  getSnapshot<V>(atom: Atom<V>): AtomState<V>;
155
155
  getServerSnapshot<V>(atom: Atom<V>): AtomState<V>;
156
156
  apply<V, A extends readonly unknown[]>(atom: WritableAtom<V, A>, ...args: NoInfer<A>): Promise<void>;
157
- mutate<Args extends readonly unknown[]>(mutation: Mutation<Args>, ...args: Args): Promise<void>;
157
+ mutate<Args extends readonly unknown[], Result>(mutation: Mutation<Args, Result>, ...args: Args): Promise<Result>;
158
158
  write<V>(atom: Atom<V>, value: V): void;
159
159
  write<V>(atom: Atom<V>, mutate: (prev: V | undefined) => V): void;
160
160
  run<V, A extends readonly unknown[]>(atom: WritableAtom<V, A>, ...args: NoInfer<A>): Promise<void>;
161
- runMutation<Args extends readonly unknown[]>(mutation: Mutation<Args>, ...args: Args): Promise<void>;
161
+ runMutation<Args extends readonly unknown[], Result>(mutation: Mutation<Args, Result>, ...args: Args): Promise<Result>;
162
162
  set<V>(atom: Atom<V>, value: V): void;
163
163
  set<V>(atom: Atom<V>, mutate: (prev: V | undefined) => V): void;
164
164
  observe<V>(atom: Atom<V>, listener: (state: AtomState<V>) => void): () => void;
@@ -310,4 +310,4 @@ type IsWritable<A> = A extends WritableAtom<unknown, readonly unknown[]> ? true
310
310
  type AtomArgs<A> = A extends WritableAtom<unknown, infer Args> ? Args : never;
311
311
  //#endregion
312
312
  export { InfinityAtomOptions as A, Mutation as C, InfinityFamilyAtom as D, InfinityAtomFamilyOptions as E, SimpleAtomOptions as M, SimpleAtomWriteArg as N, infinityAtomFamily as O, atom as P, createStore as S, InfinityAtomFamily as T, RegisteredContext as _, AtomState as a, StoreInspection as b, IsWritable as c, RetryDelay as d, StalePolicy as f, Register as g, WritableAtomContext as h, AtomContext as i, infinityAtom as j, InfiniteData as k, MutationContext as l, WritableAtom as m, AtomArgs as n, AtomValue as o, StreamAtomConfig as p, AtomConfig as r, DependencyEntry as s, Atom as t, ReadAtomConfig as u, Store as v, mutation as w, StoreOptions as x, StoreClient as y };
313
- //# sourceMappingURL=types-D3CZFq8v.d.ts.map
313
+ //# sourceMappingURL=types-DWKKl1AZ.d.ts.map
@@ -38,4 +38,4 @@ function getAtomValueResult(store, atom, snapshot, observe, isInitialRender, onS
38
38
  //#endregion
39
39
  export { getAtomValueResult as t };
40
40
 
41
- //# sourceMappingURL=use-atom-value-Bu9qPOox.js.map
41
+ //# sourceMappingURL=use-atom-value-BiN9catp.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-atom-value-Bu9qPOox.js","names":[],"sources":["../src/internal/use-atom-value.ts"],"mappings":";;AAUA,SAAgB,mBACd,OACA,MACA,UACA,SACA,iBACA,eACsB;CACtB,MAAM,cAA2B,KAAK,QAAQ,eAAe;CAE7D,IAAI,SAAS,WAAW,WAAW;EACjC,iBAAiB;EACjB,MAAM,MAAM,KAAK,KAAK;;CAGxB,IAAI,SAAS,WAAW,SAAS;EAC/B,IAAI,gBAAgB,WAAW;GAC7B,iBAAiB;GACjB,MAAM,MAAM,KAAK,KAAK;;EAExB,MAAW,KAAK,KAAK;EAErB,IAAI,SACF,OAAO;GAAE,OAAO,SAAS;GAAO,SAAS;GAAM,OAAO,KAAA;GAAW;EAEnE,OAAO,SAAS;;CAGlB,IAAI,SAAS,WAAW,SAAS;EAC/B,IAAI,WAAW,SAAS,UAAU,KAAA,GAChC,OAAO;GACL,OAAO,SAAS;GAChB,SAAS;GACT,OAAO,SAAS;GACjB;EAEH,IAAI,iBACF,MAAW,KAAK,KAAK;EAEvB,MAAM,SAAS;;CAGjB,IAAI,SACF,OAAO;EAAE,OAAO,SAAS;EAAO,SAAS;EAAO,OAAO,KAAA;EAAW;CAEpE,OAAO,SAAS"}
1
+ {"version":3,"file":"use-atom-value-BiN9catp.js","names":[],"sources":["../src/internal/use-atom-value.ts"],"mappings":";;AAUA,SAAgB,mBACd,OACA,MACA,UACA,SACA,iBACA,eACsB;CACtB,MAAM,cAA2B,KAAK,QAAQ,eAAe;CAE7D,IAAI,SAAS,WAAW,WAAW;EACjC,iBAAiB;EACjB,MAAM,MAAM,KAAK,KAAK;;CAGxB,IAAI,SAAS,WAAW,SAAS;EAC/B,IAAI,gBAAgB,WAAW;GAC7B,iBAAiB;GACjB,MAAM,MAAM,KAAK,KAAK;;EAExB,MAAW,KAAK,KAAK;EAErB,IAAI,SACF,OAAO;GAAE,OAAO,SAAS;GAAO,SAAS;GAAM,OAAO,KAAA;GAAW;EAEnE,OAAO,SAAS;;CAGlB,IAAI,SAAS,WAAW,SAAS;EAC/B,IAAI,WAAW,SAAS,UAAU,KAAA,GAChC,OAAO;GACL,OAAO,SAAS;GAChB,SAAS;GACT,OAAO,SAAS;GACjB;EAEH,IAAI,iBACF,MAAW,KAAK,KAAK;EAEvB,MAAM,SAAS;;CAGjB,IAAI,SACF,OAAO;EAAE,OAAO,SAAS;EAAO,SAAS;EAAO,OAAO,KAAA;EAAW;CAEpE,OAAO,SAAS"}
@@ -1,4 +1,4 @@
1
- import { C as Mutation, m as WritableAtom, t as Atom, v as Store, y as StoreClient } from "../types-D3CZFq8v.js";
1
+ import { C as Mutation, m as WritableAtom, t as Atom, v as Store, y as StoreClient } from "../types-DWKKl1AZ.js";
2
2
  import * as _$vue from "vue";
3
3
  import { PropType, ShallowRef } from "vue";
4
4
 
@@ -35,7 +35,7 @@ declare function useAtomValue<V>(atom: Atom<V>, opts: {
35
35
  declare function useApplyAtom<V, A extends readonly unknown[]>(atom: WritableAtom<V, A>): (...args: A) => Promise<void>;
36
36
  //#endregion
37
37
  //#region src/vue/use-mutation.d.ts
38
- declare function useMutation<Args extends readonly unknown[]>(mutation: Mutation<Args>): (...args: Args) => Promise<void>;
38
+ declare function useMutation<Args extends readonly unknown[], Result = void>(mutation: Mutation<Args, Result>): (...args: Args) => Promise<Result>;
39
39
  //#endregion
40
40
  //#region src/vue/use-atom.d.ts
41
41
  type ThenableAtomTuple<V, A extends readonly unknown[]> = readonly [ThenableShallowRef<V>, (...args: A) => Promise<void>] & PromiseLike<readonly [Readonly<ShallowRef<V>>, (...args: A) => Promise<void>]>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../src/vue/provider.ts","../../src/vue/use-atom-value.ts","../../src/vue/use-apply-atom.ts","../../src/vue/use-mutation.ts","../../src/vue/use-atom.ts","../../src/vue/use-atom-context.ts"],"mappings":";;AAGA,MAAM,WAAgC,OAAO,cAAc;AAE3D,MAAa,WAAW,gBAAgB;CACtC,MAAM;CACN,OAAO,EACL,OAAO;EAAE,MAAM;EAA2B,UAAU;EAAM,EAC3D;CACD,MAAM,OAAO,EAAE,SAAS;EACtB,QAAQ,UAAU,MAAM,MAAM;EAC9B,aAAa,MAAM,cAAc;;CAEpC,CAAC;AAEF,SAAgB,WAAkB;CAChC,MAAM,QAAQ,OAAO,SAAS;CAC9B,IAAI,SAAS,MACX,MAAM,IAAI,MAAM,4CAA4C;CAE9D,OAAO;;;;ACAT,SAAgB,aACd,MACA,MACuD;CACvD,MAAM,QAAQ,UAAU;CAKxB,IAAI,kBAAkB;CAEtB,SAAS,OAAO,UAA8C;EAC5D,IAAI,SAAS,WAAW,WAAW;GACjC,MAAW,KAAK,KAAK;GACrB,IAAI,MAAM,YAAY,MACpB,OAAO;IAAE,OAAO,KAAA;IAAgB,SAAS;IAAO,OAAO,KAAA;IAAW;GAEpE;;EAGF,IAAI,SAAS,WAAW,SAAS;GAC/B,MAAW,KAAK,KAAK;GACrB,IAAI,MAAM,YAAY,MACpB,OAAO;IAAE,OAAO,SAAS;IAAO,SAAS;IAAM,OAAO,KAAA;IAAW;GAEnE,OAAO,SAAS;;EAGlB,IAAI,SAAS,WAAW,SAAS;GAC/B,IAAI,MAAM,YAAY,QAAQ,SAAS,UAAU,KAAA,GAC/C,OAAO;IAAE,OAAO,SAAS;IAAY,SAAS;IAAO,OAAO,SAAS;IAAO;GAM9E,IAAI,iBACF,MAAW,KAAK,KAAK;GAEvB,MAAM,SAAS;;EAIjB,IAAI,MAAM,YAAY,MACpB,OAAO;GAAE,OAAO,SAAS;GAAO,SAAS;GAAO,OAAO,KAAA;GAAW;EAEpE,OAAO,SAAS;;CAGlB,MAAM,SAAS,WAAW,OAAO,MAAM,YAAY,KAAK,CAAC,CAAC;CAC1D,kBAAkB;CAElB,aAAa,cAAc;EAIzB,UAHc,MAAM,UAAU,YAAY;GACxC,OAAO,QAAQ,OAAO,MAAM,YAAY,KAAK,CAAC;IAEjC,CAAC;GAChB;CAEF,MAAM,MAAM,SAAS,OAAO;CAE5B,OAAO,IAAI,MAAM,KAAK,EACpB,IAAI,QAAQ,MAAM,UAAU;EAC1B,IAAI,SAAS,QACX,QAAQ,aAAuC,eAC7C,MACG,KAAK,KAAK,CACV,WAAW,KAAK,WAAW,CAC3B,KAAK,YAAqB;EAEjC,OAAO,QAAQ,IAAI,QAAQ,MAAM,SAAS;IAE7C,CAAC;;;;AC1FJ,SAAgB,aACd,MAC+B;CAC/B,MAAM,QAAQ,UAAU;CACxB,QAAQ,GAAG,SAA2B,MAAM,MAAM,MAAM,GAAG,KAAK;;;;ACJlE,SAAgB,YACd,UACkC;CAClC,MAAM,QAAQ,UAAU;CACxB,QAAQ,GAAG,SAA8B,MAAM,OAAO,UAAU,GAAG,KAAK;;;;ACI1E,SAAgB,QACd,MACyB;CACzB,MAAM,QAAQ,aAAa,KAAK;CAChC,MAAM,SAAS,aAAa,KAAK;CAGjC,OAAO,OAAO,OAAO,CAFN,OAAO,OAEI,EAAE,EAE1B,KAAK,aAA4C,YAAsC;EACrF,OAAO,QAAQ,QAAQ,MAAM,CAC1B,WAAW,CAAC,OAAO,OAAO,EAAW,WAAW,CAChD,KAAK,YAAqB;IAEhC,CAAC;;;;ACtBJ,SAAgB,eAAkB,UAA8D;CAC9F,MAAM,QAAQ,UAAU;CACxB,aAAyB,SAAS,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../src/vue/provider.ts","../../src/vue/use-atom-value.ts","../../src/vue/use-apply-atom.ts","../../src/vue/use-mutation.ts","../../src/vue/use-atom.ts","../../src/vue/use-atom-context.ts"],"mappings":";;AAGA,MAAM,WAAgC,OAAO,cAAc;AAE3D,MAAa,WAAW,gBAAgB;CACtC,MAAM;CACN,OAAO,EACL,OAAO;EAAE,MAAM;EAA2B,UAAU;EAAM,EAC3D;CACD,MAAM,OAAO,EAAE,SAAS;EACtB,QAAQ,UAAU,MAAM,MAAM;EAC9B,aAAa,MAAM,cAAc;;CAEpC,CAAC;AAEF,SAAgB,WAAkB;CAChC,MAAM,QAAQ,OAAO,SAAS;CAC9B,IAAI,SAAS,MACX,MAAM,IAAI,MAAM,4CAA4C;CAE9D,OAAO;;;;ACAT,SAAgB,aACd,MACA,MACuD;CACvD,MAAM,QAAQ,UAAU;CAKxB,IAAI,kBAAkB;CAEtB,SAAS,OAAO,UAA8C;EAC5D,IAAI,SAAS,WAAW,WAAW;GACjC,MAAW,KAAK,KAAK;GACrB,IAAI,MAAM,YAAY,MACpB,OAAO;IAAE,OAAO,KAAA;IAAgB,SAAS;IAAO,OAAO,KAAA;IAAW;GAEpE;;EAGF,IAAI,SAAS,WAAW,SAAS;GAC/B,MAAW,KAAK,KAAK;GACrB,IAAI,MAAM,YAAY,MACpB,OAAO;IAAE,OAAO,SAAS;IAAO,SAAS;IAAM,OAAO,KAAA;IAAW;GAEnE,OAAO,SAAS;;EAGlB,IAAI,SAAS,WAAW,SAAS;GAC/B,IAAI,MAAM,YAAY,QAAQ,SAAS,UAAU,KAAA,GAC/C,OAAO;IAAE,OAAO,SAAS;IAAY,SAAS;IAAO,OAAO,SAAS;IAAO;GAM9E,IAAI,iBACF,MAAW,KAAK,KAAK;GAEvB,MAAM,SAAS;;EAIjB,IAAI,MAAM,YAAY,MACpB,OAAO;GAAE,OAAO,SAAS;GAAO,SAAS;GAAO,OAAO,KAAA;GAAW;EAEpE,OAAO,SAAS;;CAGlB,MAAM,SAAS,WAAW,OAAO,MAAM,YAAY,KAAK,CAAC,CAAC;CAC1D,kBAAkB;CAElB,aAAa,cAAc;EAIzB,UAHc,MAAM,UAAU,YAAY;GACxC,OAAO,QAAQ,OAAO,MAAM,YAAY,KAAK,CAAC;IAEjC,CAAC;GAChB;CAEF,MAAM,MAAM,SAAS,OAAO;CAE5B,OAAO,IAAI,MAAM,KAAK,EACpB,IAAI,QAAQ,MAAM,UAAU;EAC1B,IAAI,SAAS,QACX,QAAQ,aAAuC,eAC7C,MACG,KAAK,KAAK,CACV,WAAW,KAAK,WAAW,CAC3B,KAAK,YAAqB;EAEjC,OAAO,QAAQ,IAAI,QAAQ,MAAM,SAAS;IAE7C,CAAC;;;;AC1FJ,SAAgB,aACd,MAC+B;CAC/B,MAAM,QAAQ,UAAU;CACxB,QAAQ,GAAG,SAA2B,MAAM,MAAM,MAAM,GAAG,KAAK;;;;ACJlE,SAAgB,YACd,UACoC;CACpC,MAAM,QAAQ,UAAU;CACxB,QAAQ,GAAG,SAAgC,MAAM,OAAO,UAAU,GAAG,KAAK;;;;ACI5E,SAAgB,QACd,MACyB;CACzB,MAAM,QAAQ,aAAa,KAAK;CAChC,MAAM,SAAS,aAAa,KAAK;CAGjC,OAAO,OAAO,OAAO,CAFN,OAAO,OAEI,EAAE,EAE1B,KAAK,aAA4C,YAAsC;EACrF,OAAO,QAAQ,QAAQ,MAAM,CAC1B,WAAW,CAAC,OAAO,OAAO,EAAW,WAAW,CAChD,KAAK,YAAqB;IAEhC,CAAC;;;;ACtBJ,SAAgB,eAAkB,UAA8D;CAC9F,MAAM,QAAQ,UAAU;CACxB,aAAyB,SAAS,MAAM,WAAW,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kdeveloper/kvark",
3
- "version": "1.4.2",
3
+ "version": "1.5.0",
4
4
  "description": "Atomic state management with explicit dependency graphs",
5
5
  "license": "MIT",
6
6
  "files": [
@@ -30,6 +30,10 @@
30
30
  "./family": {
31
31
  "types": "./dist/family.d.ts",
32
32
  "import": "./dist/family.js"
33
+ },
34
+ "./tests": {
35
+ "types": "./dist/tests.d.ts",
36
+ "import": "./dist/tests.js"
33
37
  }
34
38
  },
35
39
  "devDependencies": {
@@ -1 +0,0 @@
1
- {"version":3,"file":"store-K7nS1uOI.js","names":["#maxSize","#nodeMap","#valueMap","#head","#tail","#moveToMru","#insertBeforeTail","#evict","#detach","#fetch","#scheduler","#queue","#keySet","#flush","#stream","#atoms","#entries","#rdeps","#pending","#familyUnsubs","#registeredFamilies","#context","#disposed","#abortRead","#assertActive","#getOrCreate","#runRead","#abortReadIfUnowned","#registerRdeps","#makeCtx","#runStreamRead","#scheduleNotify","#markStale","#schedulePendingFlush","#cancelRead","#flushScheduled","#flushPending","#markReverseDependentsStale","#registerSingleRdep","#autoRegisterFamily","#relatedOptimisticWrite","#rollbackRelatedSnapshots","#client"],"sources":["../src/internal/atom.ts","../src/internal/infinity-atom.ts","../src/internal/lru-cache.ts","../src/internal/is-dev.ts","../src/internal/stable-family-key.ts","../src/internal/family-param-key-dev.ts","../src/internal/infinity-atom-family.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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"}