@kdeveloper/kvark 0.10.1 → 0.11.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 CHANGED
@@ -623,6 +623,37 @@ const projectsAtom = infinityAtom({
623
623
  });
624
624
  ```
625
625
 
626
+ ### `infinityAtomFamily`
627
+
628
+ Parameterised version of `infinityAtom`. Combines the per-key cache and invalidation API of `atomFamily` with the paginated fetch flow of `infinityAtom`. Each `param` produces an independent `WritableAtom<InfiniteData<Page, Cursor>, ["loadNext"]>`, cached by `param` (or `paramKey`).
629
+
630
+ ```ts
631
+ import { infinityAtomFamily } from "@kdeveloper/kvark";
632
+
633
+ const userPostsFamily = infinityAtomFamily({
634
+ debugLabel: "userPosts",
635
+ cachePolicy: "lru",
636
+ lruSize: 50,
637
+ initialCursor: () => 0,
638
+ queryFn:
639
+ (userId: number) =>
640
+ async ({ cursor, signal }) => {
641
+ const res = await fetch(`/api/users/${userId}/posts?cursor=${cursor}`, { signal });
642
+ return res.json() as Promise<{ items: Post[]; nextCursor: number | null }>;
643
+ },
644
+ getNextCursor: () => (page) => page.nextCursor,
645
+ });
646
+
647
+ const aliceFeed = useAtomValue(userPostsFamily(1));
648
+ const setAliceFeed = useSetAtom(userPostsFamily(1));
649
+ await setAliceFeed("loadNext");
650
+
651
+ userPostsFamily.invalidate(1);
652
+ userPostsFamily.invalidateAll();
653
+ ```
654
+
655
+ The same family-level options as `atomFamily` are supported: `cachePolicy: "lru"` + `lruSize`, `paramKey` (with `stableFamilyKey` for object params), `debugLabel`, `stalePolicy`, `retry`, `retryDelay`, and `dependencies: (param) => ({ ... })`. The infinite-scroll options — `initialCursor`, `queryFn`, `getNextCursor` — are functions of `param`, while `maxPages` is shared by every member of the family.
656
+
626
657
  ## React (`@kdeveloper/kvark/react`)
627
658
 
628
659
  All hooks must be used inside a `<Provider>`.
@@ -890,13 +921,13 @@ type Writable = IsWritable<typeof countAtom>; // → true | false
890
921
 
891
922
  ## Package Structure
892
923
 
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` |
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 |
924
+ | Import | Contents |
925
+ | -------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
926
+ | `@kdeveloper/kvark` | `atom`, `infinityAtom`, `infinityAtomFamily`, `mutation`, `createStore`, all types (including `Mutation`, `MutationContext`) |
927
+ | `@kdeveloper/kvark/react` | `Provider`, `useStore`, `useAtomValue`, `useSetAtom`, `useMutation`, `useAtom`, `useAtomContext` |
928
+ | `@kdeveloper/kvark/preact` | `Provider`, `useStore`, `useAtomValue`, `useSetAtom`, `useMutation`, `useAtom`, `useAtomContext` |
929
+ | `@kdeveloper/kvark/vue` | `Provider`, `useStore`, `useAtomValue`, `useSetAtom`, `useMutation`, `useAtom`, `useAtomContext`; types `ThenableShallowRef`, `ThenableObservedShallowRef`, `ObservedValue` |
930
+ | `@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 |
900
931
 
901
932
  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`.
902
933
 
@@ -0,0 +1,75 @@
1
+ import { _ as WritableAtomContext, c as AtomConfig, g as WritableAtom, h as StalePolicy, m as RetryDelay, o as Atom } from "./store-CkSajQlZ.js";
2
+
3
+ //#region src/internal/infinity-atom.d.ts
4
+ type InfiniteData<Page, Cursor> = {
5
+ pages: Page[];
6
+ pageCursors: Cursor[];
7
+ hasNextPage: boolean;
8
+ isFetchingNextPage: boolean;
9
+ };
10
+ type InfinityAtomOptions<Page, Cursor> = {
11
+ initialCursor: Cursor;
12
+ queryFn: (args: {
13
+ cursor: Cursor;
14
+ signal: AbortSignal;
15
+ }) => Promise<Page>;
16
+ getNextCursor: (lastPage: Page, allPages: Page[]) => Cursor | undefined | null;
17
+ maxPages?: number;
18
+ debugLabel?: string;
19
+ stalePolicy?: StalePolicy;
20
+ retry?: boolean | number;
21
+ retryDelay?: RetryDelay;
22
+ dependencies?: Record<string, Atom<unknown>>;
23
+ };
24
+ declare function infinityAtom<Page, Cursor>(options: InfinityAtomOptions<Page, Cursor>): WritableAtom<InfiniteData<Page, Cursor>, [action: "loadNext"]>;
25
+ //#endregion
26
+ //#region src/internal/infinity-atom-family.d.ts
27
+ type InfinityAtomFamilyBaseOptions<Param, Key = Param> = {
28
+ cachePolicy?: "keep-all" | "lru";
29
+ lruSize?: number;
30
+ /**
31
+ * Optional function to derive a stable cache key from `param`.
32
+ * Use when `Param` is an object and you want equality-by-value semantics.
33
+ * The returned key is used for all cache operations (get, set, LRU, invalidate, remove).
34
+ * The original `param` is still passed to `initialCursor`, `queryFn`, `getNextCursor`,
35
+ * and `dependencies`.
36
+ *
37
+ * For plain objects/arrays you can use `stableFamilyKey` from `@kdeveloper/kvark/family`.
38
+ * Treat the param object as immutable after the first call.
39
+ */
40
+ paramKey?: (param: Param) => Key;
41
+ debugLabel?: string;
42
+ stalePolicy?: StalePolicy;
43
+ retry?: boolean | number;
44
+ retryDelay?: RetryDelay;
45
+ maxPages?: number;
46
+ };
47
+ type InfinityAtomFamilyOptions<Param, Page, Cursor, Key = Param> = InfinityAtomFamilyBaseOptions<Param, Key> & {
48
+ dependencies?: (param: Param) => Record<string, Atom<unknown>>;
49
+ initialCursor: (param: Param) => Cursor;
50
+ queryFn: (param: Param) => (args: {
51
+ cursor: Cursor;
52
+ signal: AbortSignal;
53
+ }) => Promise<Page>;
54
+ getNextCursor: (param: Param) => (lastPage: Page, allPages: Page[]) => Cursor | undefined | null;
55
+ };
56
+ type InfinityFamilyAtom<Page, Cursor> = WritableAtom<InfiniteData<Page, Cursor>, [action: "loadNext"]>;
57
+ interface InfinityAtomFamily<Param, Page, Cursor, Key = Param> {
58
+ (param: Param): InfinityFamilyAtom<Page, Cursor>;
59
+ invalidate(param: Param): void;
60
+ invalidateAll(): void;
61
+ remove(param: Param): void;
62
+ getCache(): ReadonlyMap<Key, InfinityFamilyAtom<Page, Cursor>>;
63
+ }
64
+ declare function infinityAtomFamily<Param, Page, Cursor, Key = Param>(options: InfinityAtomFamilyOptions<Param, Page, Cursor, Key>): InfinityAtomFamily<Param, Page, Cursor, Key>;
65
+ //#endregion
66
+ //#region src/internal/atom.d.ts
67
+ type WritableConfig<Value, Deps extends Record<string, Atom<unknown>>, Args extends readonly unknown[]> = AtomConfig<Value, Deps, Args> & {
68
+ set: (ctx: WritableAtomContext<Deps, Value>, ...args: Args) => Promise<void>;
69
+ };
70
+ type ReadonlyConfig<Value, Deps extends Record<string, Atom<unknown>>> = Omit<AtomConfig<Value, Deps, readonly []>, "set">;
71
+ declare function atom<Value, Deps extends Record<string, Atom<unknown>> = Record<never, never>, Args extends readonly unknown[] = readonly []>(config: WritableConfig<Value, Deps, Args>): WritableAtom<Value, Args>;
72
+ declare function atom<Value, Deps extends Record<string, Atom<unknown>> = Record<never, never>>(config: ReadonlyConfig<Value, Deps>): Atom<Value>;
73
+ //#endregion
74
+ export { infinityAtomFamily as a, infinityAtom as c, InfinityFamilyAtom as i, InfinityAtomFamily as n, InfiniteData as o, InfinityAtomFamilyOptions as r, InfinityAtomOptions as s, atom as t };
75
+ //# sourceMappingURL=atom-Bmwlf4MR.d.ts.map
package/dist/family.d.ts CHANGED
@@ -1,5 +1,5 @@
1
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";
2
+ import { a as infinityAtomFamily, c as infinityAtom, i as InfinityFamilyAtom, n as InfinityAtomFamily, o as InfiniteData, r as InfinityAtomFamilyOptions, s as InfinityAtomOptions, t as atom } from "./atom-Bmwlf4MR.js";
3
3
 
4
4
  //#region src/internal/family-batch-schedulers.d.ts
5
5
  type BatchSchedulerContext = {
@@ -86,5 +86,5 @@ declare function atomFamily<Param, Value, Deps extends Record<string, Atom<unkno
86
86
  */
87
87
  declare function stableFamilyKey(value: unknown): string;
88
88
  //#endregion
89
- export { type Atom, type AtomConfig, type AtomContext, type AtomFamily, type AtomFamilyBatchOptions, type AtomFamilyGetOptions, type AtomFamilyOptions, type AtomState, type AtomValue, type BatchFetchInput, type BatchScheduler, type BatchSchedulerContext, type Mutation, type MutationContext, type StalePolicy, type WritableAtom, atom, atomFamily, createStore, maxBatchSizeScheduler, microtaskScheduler, mutation, stableFamilyKey, windowScheduler, windowedFiniteBatchScheduler };
89
+ export { type Atom, type AtomConfig, type AtomContext, type AtomFamily, type AtomFamilyBatchOptions, type AtomFamilyGetOptions, type AtomFamilyOptions, type AtomState, type AtomValue, type BatchFetchInput, type BatchScheduler, type BatchSchedulerContext, type InfiniteData, type InfinityAtomFamily, type InfinityAtomFamilyOptions, type InfinityAtomOptions, type InfinityFamilyAtom, type Mutation, type MutationContext, type StalePolicy, type WritableAtom, atom, atomFamily, createStore, infinityAtom, infinityAtomFamily, maxBatchSizeScheduler, microtaskScheduler, mutation, stableFamilyKey, windowScheduler, windowedFiniteBatchScheduler };
90
90
  //# sourceMappingURL=family.d.ts.map
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-DhEeznqs.js";
1
+ import { a as microtaskScheduler, c as infinityAtomFamily, i as maxBatchSizeScheduler, l as infinityAtom, n as mutation, o as windowScheduler, r as atomFamily, s as windowedFiniteBatchScheduler, t as createStore, u as atom } from "./store-Br0Mq40M.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.
@@ -54,6 +54,6 @@ function serializeValue(value) {
54
54
  }).join(",")}}`;
55
55
  }
56
56
  //#endregion
57
- export { atom, atomFamily, createStore, maxBatchSizeScheduler, microtaskScheduler, mutation, stableFamilyKey, windowScheduler, windowedFiniteBatchScheduler };
57
+ export { atom, atomFamily, createStore, infinityAtom, infinityAtomFamily, maxBatchSizeScheduler, microtaskScheduler, mutation, stableFamilyKey, windowScheduler, windowedFiniteBatchScheduler };
58
58
 
59
59
  //# sourceMappingURL=family.js.map
package/dist/index.d.ts CHANGED
@@ -1,28 +1,3 @@
1
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
-
4
- //#region src/internal/infinity-atom.d.ts
5
- type InfiniteData<Page, Cursor> = {
6
- pages: Page[];
7
- pageCursors: Cursor[];
8
- hasNextPage: boolean;
9
- isFetchingNextPage: boolean;
10
- };
11
- type InfinityAtomOptions<Page, Cursor> = {
12
- initialCursor: Cursor;
13
- queryFn: (args: {
14
- cursor: Cursor;
15
- signal: AbortSignal;
16
- }) => Promise<Page>;
17
- getNextCursor: (lastPage: Page, allPages: Page[]) => Cursor | undefined | null;
18
- maxPages?: number;
19
- debugLabel?: string;
20
- stalePolicy?: StalePolicy;
21
- retry?: boolean | number;
22
- retryDelay?: RetryDelay;
23
- dependencies?: Record<string, Atom<unknown>>;
24
- };
25
- declare function infinityAtom<Page, Cursor>(options: InfinityAtomOptions<Page, Cursor>): WritableAtom<InfiniteData<Page, Cursor>, [action: "loadNext"]>;
26
- //#endregion
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 };
28
- //# sourceMappingURL=index.d.ts.map
2
+ import { a as infinityAtomFamily, c as infinityAtom, i as InfinityFamilyAtom, n as InfinityAtomFamily, o as InfiniteData, r as InfinityAtomFamilyOptions, s as InfinityAtomOptions, t as atom } from "./atom-Bmwlf4MR.js";
3
+ export { type Atom, type AtomArgs, type AtomConfig, type AtomContext, type AtomState, type AtomValue, type InfiniteData, type InfinityAtomFamily, type InfinityAtomFamilyOptions, type InfinityAtomOptions, type InfinityFamilyAtom, type IsWritable, type Mutation, type MutationContext, type RetryDelay, type StalePolicy, type StoreClient, type WritableAtom, type WritableAtomContext, atom, createStore, infinityAtom, infinityAtomFamily, mutation };
package/dist/index.js CHANGED
@@ -1,78 +1,2 @@
1
- import { c as atom, n as mutation, t as createStore } from "./store-DhEeznqs.js";
2
- //#region src/internal/infinity-atom.ts
3
- function infinityAtom(options) {
4
- function applyMaxPages(pages, cursors) {
5
- if (options.maxPages != null && pages.length > options.maxPages) {
6
- const excess = pages.length - options.maxPages;
7
- return {
8
- pages: pages.slice(excess),
9
- cursors: cursors.slice(excess)
10
- };
11
- }
12
- return {
13
- pages,
14
- cursors
15
- };
16
- }
17
- function buildResult(pages, pageCursors) {
18
- const trimmed = applyMaxPages(pages, pageCursors);
19
- const lastPage = trimmed.pages[trimmed.pages.length - 1];
20
- const nextCursor = lastPage != null ? options.getNextCursor(lastPage, trimmed.pages) : void 0;
21
- return {
22
- pages: trimmed.pages,
23
- pageCursors: trimmed.cursors,
24
- hasNextPage: nextCursor != null,
25
- isFetchingNextPage: false
26
- };
27
- }
28
- const config = {
29
- get: async (ctx) => {
30
- const prev = ctx.getPreviousValue();
31
- if (prev == null) return buildResult([await options.queryFn({
32
- cursor: options.initialCursor,
33
- signal: ctx.signal
34
- })], [options.initialCursor]);
35
- const pages = [];
36
- const pageCursors = [];
37
- for (const cursor of prev.pageCursors) {
38
- const page = await options.queryFn({
39
- cursor,
40
- signal: ctx.signal
41
- });
42
- pages.push(page);
43
- pageCursors.push(cursor);
44
- }
45
- return buildResult(pages, pageCursors);
46
- },
47
- set: async (ctx, action) => {
48
- if (action !== "loadNext") return;
49
- const current = ctx.getPreviousValue();
50
- if (current == null || !current.hasNextPage) return;
51
- const lastPage = current.pages[current.pages.length - 1];
52
- if (lastPage == null) return;
53
- const nextCursor = options.getNextCursor(lastPage, current.pages);
54
- if (nextCursor == null) return;
55
- ctx.setOptimisticValue({
56
- ...current,
57
- isFetchingNextPage: true
58
- });
59
- const page = await options.queryFn({
60
- cursor: nextCursor,
61
- signal: ctx.signal
62
- });
63
- const pages = [...current.pages, page];
64
- const pageCursors = [...current.pageCursors, nextCursor];
65
- ctx.setOptimisticValue(buildResult(pages, pageCursors));
66
- }
67
- };
68
- if (options.debugLabel != null) config.debugLabel = options.debugLabel;
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;
72
- if (options.dependencies != null) config.dependencies = options.dependencies;
73
- return atom(config);
74
- }
75
- //#endregion
76
- export { atom, createStore, infinityAtom, mutation };
77
-
78
- //# sourceMappingURL=index.js.map
1
+ import { c as infinityAtomFamily, l as infinityAtom, n as mutation, t as createStore, u as atom } from "./store-Br0Mq40M.js";
2
+ export { atom, createStore, infinityAtom, infinityAtomFamily, mutation };
@@ -21,6 +21,80 @@ function atom(config) {
21
21
  };
22
22
  }
23
23
  //#endregion
24
+ //#region src/internal/infinity-atom.ts
25
+ function infinityAtom(options) {
26
+ function applyMaxPages(pages, cursors) {
27
+ if (options.maxPages != null && pages.length > options.maxPages) {
28
+ const excess = pages.length - options.maxPages;
29
+ return {
30
+ pages: pages.slice(excess),
31
+ cursors: cursors.slice(excess)
32
+ };
33
+ }
34
+ return {
35
+ pages,
36
+ cursors
37
+ };
38
+ }
39
+ function buildResult(pages, pageCursors) {
40
+ const trimmed = applyMaxPages(pages, pageCursors);
41
+ const lastPage = trimmed.pages[trimmed.pages.length - 1];
42
+ const nextCursor = lastPage != null ? options.getNextCursor(lastPage, trimmed.pages) : void 0;
43
+ return {
44
+ pages: trimmed.pages,
45
+ pageCursors: trimmed.cursors,
46
+ hasNextPage: nextCursor != null,
47
+ isFetchingNextPage: false
48
+ };
49
+ }
50
+ const config = {
51
+ get: async (ctx) => {
52
+ const prev = ctx.getPreviousValue();
53
+ if (prev == null) return buildResult([await options.queryFn({
54
+ cursor: options.initialCursor,
55
+ signal: ctx.signal
56
+ })], [options.initialCursor]);
57
+ const pages = [];
58
+ const pageCursors = [];
59
+ for (const cursor of prev.pageCursors) {
60
+ const page = await options.queryFn({
61
+ cursor,
62
+ signal: ctx.signal
63
+ });
64
+ pages.push(page);
65
+ pageCursors.push(cursor);
66
+ }
67
+ return buildResult(pages, pageCursors);
68
+ },
69
+ set: async (ctx, action) => {
70
+ if (action !== "loadNext") return;
71
+ const current = ctx.getPreviousValue();
72
+ if (current == null || !current.hasNextPage) return;
73
+ const lastPage = current.pages[current.pages.length - 1];
74
+ if (lastPage == null) return;
75
+ const nextCursor = options.getNextCursor(lastPage, current.pages);
76
+ if (nextCursor == null) return;
77
+ ctx.setOptimisticValue({
78
+ ...current,
79
+ isFetchingNextPage: true
80
+ });
81
+ const page = await options.queryFn({
82
+ cursor: nextCursor,
83
+ signal: ctx.signal
84
+ });
85
+ const pages = [...current.pages, page];
86
+ const pageCursors = [...current.pageCursors, nextCursor];
87
+ ctx.setOptimisticValue(buildResult(pages, pageCursors));
88
+ }
89
+ };
90
+ if (options.debugLabel != null) config.debugLabel = options.debugLabel;
91
+ if (options.stalePolicy != null) config.stalePolicy = options.stalePolicy;
92
+ if (options.retry != null) config.retry = options.retry;
93
+ if (options.retryDelay != null) config.retryDelay = options.retryDelay;
94
+ if (options.dependencies != null) config.dependencies = options.dependencies;
95
+ return atom(config);
96
+ }
97
+ //#endregion
24
98
  //#region src/internal/lru-cache.ts
25
99
  /**
26
100
  * Fixed-capacity cache with O(1) get, set, delete and LRU eviction.
@@ -122,6 +196,68 @@ var LruCache = class {
122
196
  }
123
197
  };
124
198
  //#endregion
199
+ //#region src/internal/infinity-atom-family.ts
200
+ function infinityAtomFamily(options) {
201
+ const cache = new LruCache(options.cachePolicy === "lru" ? options.lruSize ?? 100 : Infinity);
202
+ const storeCallbacks = /* @__PURE__ */ new Set();
203
+ const link = {
204
+ invalidateAtom(target) {
205
+ for (const cb of storeCallbacks) cb(target);
206
+ },
207
+ registerStore(cb) {
208
+ storeCallbacks.add(cb);
209
+ return () => {
210
+ storeCallbacks.delete(cb);
211
+ };
212
+ }
213
+ };
214
+ function keyOf(param) {
215
+ return options.paramKey != null ? options.paramKey(param) : param;
216
+ }
217
+ function attachLink(target) {
218
+ target[FAMILY_LINK] = link;
219
+ }
220
+ function buildAtomOptions(param, key) {
221
+ const opts = {
222
+ initialCursor: options.initialCursor(param),
223
+ queryFn: options.queryFn(param),
224
+ getNextCursor: options.getNextCursor(param)
225
+ };
226
+ if (options.maxPages != null) opts.maxPages = options.maxPages;
227
+ if (options.stalePolicy != null) opts.stalePolicy = options.stalePolicy;
228
+ if (options.retry != null) opts.retry = options.retry;
229
+ if (options.retryDelay != null) opts.retryDelay = options.retryDelay;
230
+ if (options.dependencies != null) opts.dependencies = options.dependencies(param);
231
+ if (options.debugLabel != null) {
232
+ const labelSuffix = options.paramKey != null ? String(key) : String(param);
233
+ opts.debugLabel = `${options.debugLabel}(${labelSuffix})`;
234
+ }
235
+ return opts;
236
+ }
237
+ function getOrCreate(param) {
238
+ const key = keyOf(param);
239
+ const cached = cache.get(key);
240
+ if (cached != null) return cached;
241
+ const created = infinityAtom(buildAtomOptions(param, key));
242
+ attachLink(created);
243
+ cache.set(key, created);
244
+ return created;
245
+ }
246
+ const family = getOrCreate;
247
+ family.invalidate = (param) => {
248
+ const cached = cache.peek(keyOf(param));
249
+ if (cached != null) link.invalidateAtom(cached);
250
+ };
251
+ family.invalidateAll = () => {
252
+ for (const cached of cache.values()) link.invalidateAtom(cached);
253
+ };
254
+ family.remove = (param) => {
255
+ cache.delete(keyOf(param));
256
+ };
257
+ family.getCache = () => cache.asReadonlyMap();
258
+ return family;
259
+ }
260
+ //#endregion
125
261
  //#region src/internal/family-batch-schedulers.ts
126
262
  function microtaskScheduler() {
127
263
  let scheduled = false;
@@ -699,6 +835,6 @@ function extractPreviousValue(state) {
699
835
  if (state.status === "error") return state.value;
700
836
  }
701
837
  //#endregion
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 };
838
+ export { microtaskScheduler as a, infinityAtomFamily as c, maxBatchSizeScheduler as i, infinityAtom as l, mutation as n, windowScheduler as o, atomFamily as r, windowedFiniteBatchScheduler as s, createStore as t, atom as u };
703
839
 
704
- //# sourceMappingURL=store-DhEeznqs.js.map
840
+ //# sourceMappingURL=store-Br0Mq40M.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store-Br0Mq40M.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/infinity-atom.ts","../src/internal/lru-cache.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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kdeveloper/kvark",
3
- "version": "0.10.1",
3
+ "version": "0.11.1",
4
4
  "description": "Atomic state management with explicit dependency graphs",
5
5
  "license": "MIT",
6
6
  "files": [
@@ -36,22 +36,22 @@
36
36
  "@testing-library/dom": "^10.4.1",
37
37
  "@testing-library/preact": "^3.2.4",
38
38
  "@testing-library/react": "^16.3.2",
39
- "@types/node": "^25.5.0",
39
+ "@types/node": "^25.6.0",
40
40
  "@types/react": "^19.2.14",
41
41
  "@types/react-dom": "^19.2.3",
42
- "@vitest/coverage-v8": "^4.1.2",
42
+ "@vitest/coverage-v8": "^4.1.4",
43
43
  "@vue/test-utils": "^2.4.6",
44
- "jsdom": "^29.0.1",
44
+ "jsdom": "^29.0.2",
45
45
  "oxfmt": "^0.42.0",
46
- "oxlint": "^1.57.0",
46
+ "oxlint": "^1.60.0",
47
47
  "oxlint-tsgolint": "^0.18.1",
48
- "preact": "^10.29.0",
49
- "react": ">=18",
50
- "react-dom": "^19.2.4",
51
- "tsdown": "^0.21.7",
52
- "typescript": "^6.0.2",
53
- "vitest": "^4.1.2",
54
- "vue": "^3.5.31"
48
+ "preact": "^10.29.1",
49
+ "react": "^19.2.5",
50
+ "react-dom": "^19.2.5",
51
+ "tsdown": "^0.21.9",
52
+ "typescript": "^6.0.3",
53
+ "vitest": "^4.1.4",
54
+ "vue": "^3.5.32"
55
55
  },
56
56
  "peerDependencies": {
57
57
  "preact": ">=10",
@@ -1,12 +0,0 @@
1
- import { _ as WritableAtomContext, c as AtomConfig, g as WritableAtom, o as Atom } from "./store-CkSajQlZ.js";
2
-
3
- //#region src/internal/atom.d.ts
4
- type WritableConfig<Value, Deps extends Record<string, Atom<unknown>>, Args extends readonly unknown[]> = AtomConfig<Value, Deps, Args> & {
5
- set: (ctx: WritableAtomContext<Deps, Value>, ...args: Args) => Promise<void>;
6
- };
7
- type ReadonlyConfig<Value, Deps extends Record<string, Atom<unknown>>> = Omit<AtomConfig<Value, Deps, readonly []>, "set">;
8
- declare function atom<Value, Deps extends Record<string, Atom<unknown>> = Record<never, never>, Args extends readonly unknown[] = readonly []>(config: WritableConfig<Value, Deps, Args>): WritableAtom<Value, Args>;
9
- declare function atom<Value, Deps extends Record<string, Atom<unknown>> = Record<never, never>>(config: ReadonlyConfig<Value, Deps>): Atom<Value>;
10
- //#endregion
11
- export { atom as t };
12
- //# sourceMappingURL=atom-KKDuP3S2.d.ts.map
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
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"}
@@ -1 +0,0 @@
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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"}