@kdeveloper/kvark 0.14.2 → 0.15.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
@@ -147,6 +147,79 @@ const store = createStore();
147
147
 
148
148
  Unlike React, Vue’s `<Suspense>` only activates for **async** child components. Since `useAtomValue` and `useAtom` return `PromiseLike` refs, just **`await`** them in an async `setup` (or top-level `<script setup>`) to trigger Suspense — see [Suspense (Vue 3)](#suspense-vue-3).
149
149
 
150
+ ## Store Context
151
+
152
+ Kvark can inject arbitrary application context into every atom and mutation callback through the store, similar to router context in TanStack Router. The context is immutable for the lifetime of a store and is available in `get`, `set`, `onMount`, `mutation`, `batch.fetch`, and `infinityAtom.queryFn`.
153
+
154
+ First, declare the context type once with module augmentation:
155
+
156
+ ```ts
157
+ import type { User, ApiClient } from "./api";
158
+
159
+ declare module "@kdeveloper/kvark" {
160
+ interface Register {
161
+ context: {
162
+ apiClient: ApiClient;
163
+ currentUser: User;
164
+ };
165
+ }
166
+ }
167
+ ```
168
+
169
+ Then create a store with that context:
170
+
171
+ ```ts
172
+ import { createStore } from "@kdeveloper/kvark";
173
+
174
+ export const store = createStore({
175
+ context: {
176
+ apiClient,
177
+ currentUser,
178
+ },
179
+ });
180
+ ```
181
+
182
+ Now every Kvark callback can read `ctx.context`:
183
+
184
+ ```ts
185
+ import { atom, mutation } from "@kdeveloper/kvark";
186
+
187
+ const userAtom = atom({
188
+ dependencies: { userId: userIdAtom },
189
+ get: async (ctx) => {
190
+ return ctx.context.apiClient.users.get(await ctx.get("userId"));
191
+ },
192
+ set: async (ctx, patch: Partial<User>) => {
193
+ await ctx.context.apiClient.users.update(ctx.context.currentUser.id, patch);
194
+ },
195
+ });
196
+
197
+ const clockAtom = atom(Date.now(), {
198
+ onMount: (set, { context }) => {
199
+ const id = setInterval(() => set(context.apiClient.now()), 1000);
200
+ return () => clearInterval(id);
201
+ },
202
+ });
203
+
204
+ const saveUserMutation = mutation(async (ctx, patch: Partial<User>) => {
205
+ await ctx.context.apiClient.users.update(ctx.context.currentUser.id, patch);
206
+ });
207
+ ```
208
+
209
+ `infinityAtom` also receives the same context via `queryFn`:
210
+
211
+ ```ts
212
+ const feedAtom = infinityAtom({
213
+ initialCursor: 0,
214
+ queryFn: async ({ cursor, signal, context }) => {
215
+ return context.apiClient.feed.list({ cursor, signal });
216
+ },
217
+ getNextCursor: (lastPage) => lastPage.nextCursor,
218
+ });
219
+ ```
220
+
221
+ Batch families receive it via `input.ctx.context` inside `batch.fetch`.
222
+
150
223
  ## Core Concepts
151
224
 
152
225
  ### Atoms
package/dist/family.d.ts CHANGED
@@ -1,5 +1,4 @@
1
- import { _ as WritableAtom, a as mutation, c as AtomConfig, d as AtomValue, f as DependencyEntry, g as StalePolicy, h as RetryDelay, i as Mutation, l as AtomContext, m as MutationContext, o as Atom, r as createStore, u as AtomState, v as WritableAtomContext } from "./store-DARYBuZ0.js";
2
- import { a as InfinityAtomFamilyOptions, c as InfiniteData, i as InfinityAtomFamily, l as InfinityAtomOptions, o as InfinityFamilyAtom, r as atom, s as infinityAtomFamily, u as infinityAtom } from "./atom-B0toJ_7O.js";
1
+ import { A as atom, C as InfinityFamilyAtom, D as infinityAtom, E as InfinityAtomOptions, S as InfinityAtomFamilyOptions, T as InfiniteData, a as AtomState, b as mutation, d as StalePolicy, f as WritableAtom, h as RegisteredContext, i as AtomContext, l as MutationContext, m as Register, o as AtomValue, p as WritableAtomContext, r as AtomConfig, s as DependencyEntry, t as Atom, u as RetryDelay, v as createStore, w as infinityAtomFamily, x as InfinityAtomFamily, y as Mutation } from "./types-CDcdcLn9.js";
3
2
 
4
3
  //#region src/internal/family-batch-schedulers.d.ts
5
4
  type BatchSchedulerContext = {
@@ -94,5 +93,5 @@ declare function atomFamily<Param, Value, Deps extends Record<string, Dependency
94
93
  */
95
94
  declare function stableFamilyKey(value: unknown): string;
96
95
  //#endregion
97
- 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 };
96
+ 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 Register, type RegisteredContext, type StalePolicy, type WritableAtom, atom, atomFamily, createStore, infinityAtom, infinityAtomFamily, maxBatchSizeScheduler, microtaskScheduler, mutation, stableFamilyKey, windowScheduler, windowedFiniteBatchScheduler };
98
97
  //# sourceMappingURL=family.d.ts.map
package/dist/family.js CHANGED
@@ -1,4 +1,4 @@
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-DCQ1r_XE.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-BjywcZCM.js";
2
2
  //#region src/internal/stable-family-key.ts
3
3
  /**
4
4
  * Produces a deterministic string key for plain-object/array/primitive values.
package/dist/index.d.ts CHANGED
@@ -1,3 +1,2 @@
1
- import { _ as WritableAtom, a as mutation, c as AtomConfig, d as AtomValue, g as StalePolicy, h as RetryDelay, i as Mutation, l as AtomContext, m as MutationContext, n as StoreClient, o as Atom, p as IsWritable, r as createStore, s as AtomArgs, u as AtomState, v as WritableAtomContext } from "./store-DARYBuZ0.js";
2
- import { a as InfinityAtomFamilyOptions, c as InfiniteData, i as InfinityAtomFamily, l as InfinityAtomOptions, n as SimpleAtomSetArg, o as InfinityFamilyAtom, r as atom, s as infinityAtomFamily, t as SimpleAtomOptions, u as infinityAtom } from "./atom-B0toJ_7O.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 SimpleAtomOptions, type SimpleAtomSetArg, type StalePolicy, type StoreClient, type WritableAtom, type WritableAtomContext, atom, createStore, infinityAtom, infinityAtomFamily, mutation };
1
+ import { A as atom, C as InfinityFamilyAtom, D as infinityAtom, E as InfinityAtomOptions, O as SimpleAtomOptions, S as InfinityAtomFamilyOptions, T as InfiniteData, _ as StoreClient, a as AtomState, b as mutation, c as IsWritable, d as StalePolicy, f as WritableAtom, h as RegisteredContext, i as AtomContext, k as SimpleAtomSetArg, l as MutationContext, m as Register, n as AtomArgs, o as AtomValue, p as WritableAtomContext, r as AtomConfig, t as Atom, u as RetryDelay, v as createStore, w as infinityAtomFamily, x as InfinityAtomFamily, y as Mutation } from "./types-CDcdcLn9.js";
2
+ export { Atom, AtomArgs, AtomConfig, AtomContext, AtomState, AtomValue, InfiniteData, InfinityAtomFamily, InfinityAtomFamilyOptions, InfinityAtomOptions, InfinityFamilyAtom, IsWritable, Mutation, MutationContext, Register, RegisteredContext, RetryDelay, SimpleAtomOptions, SimpleAtomSetArg, StalePolicy, StoreClient, WritableAtom, WritableAtomContext, atom, createStore, infinityAtom, infinityAtomFamily, mutation };
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- import { c as infinityAtomFamily, l as infinityAtom, n as mutation, t as createStore, u as atom } from "./store-DCQ1r_XE.js";
1
+ import { c as infinityAtomFamily, l as infinityAtom, n as mutation, t as createStore, u as atom } from "./store-BjywcZCM.js";
2
2
  export { atom, createStore, infinityAtom, infinityAtomFamily, mutation };
@@ -1,4 +1,4 @@
1
- import { _ as WritableAtom, i as Mutation, n as StoreClient, o as Atom, t as Store } from "../store-DARYBuZ0.js";
1
+ import { _ as StoreClient, f as WritableAtom, g as Store, t as Atom, y as Mutation } from "../types-CDcdcLn9.js";
2
2
  import { ComponentChildren, VNode } from "preact";
3
3
 
4
4
  //#region src/preact/provider.d.ts
@@ -1,4 +1,4 @@
1
- import { _ as WritableAtom, i as Mutation, n as StoreClient, o as Atom, t as Store } from "../store-DARYBuZ0.js";
1
+ import { _ as StoreClient, f as WritableAtom, g as Store, t as Atom, y as Mutation } from "../types-CDcdcLn9.js";
2
2
  import { ReactNode } from "react";
3
3
 
4
4
  //#region src/react/provider.d.ts
@@ -83,14 +83,16 @@ function infinityAtom(options) {
83
83
  const prev = ctx.getPreviousValue();
84
84
  if (prev == null) return buildResult([await options.queryFn({
85
85
  cursor: options.initialCursor,
86
- signal: ctx.signal
86
+ signal: ctx.signal,
87
+ context: ctx.context
87
88
  })], [options.initialCursor]);
88
89
  const pages = [];
89
90
  const pageCursors = [];
90
91
  for (const cursor of prev.pageCursors) {
91
92
  const page = await options.queryFn({
92
93
  cursor,
93
- signal: ctx.signal
94
+ signal: ctx.signal,
95
+ context: ctx.context
94
96
  });
95
97
  pages.push(page);
96
98
  pageCursors.push(cursor);
@@ -111,7 +113,8 @@ function infinityAtom(options) {
111
113
  });
112
114
  const page = await options.queryFn({
113
115
  cursor: nextCursor,
114
- signal: ctx.signal
116
+ signal: ctx.signal,
117
+ context: ctx.context
115
118
  });
116
119
  const pages = [...current.pages, page];
117
120
  const pageCursors = [...current.pageCursors, nextCursor];
@@ -509,8 +512,13 @@ var Store = class {
509
512
  #controllers = /* @__PURE__ */ new WeakMap();
510
513
  #familyUnsubs = /* @__PURE__ */ new Set();
511
514
  #registeredFamilies = /* @__PURE__ */ new WeakSet();
515
+ #context;
512
516
  #client = null;
513
517
  #flushScheduled = false;
518
+ constructor(...args) {
519
+ const [options] = args;
520
+ this.#context = options?.context;
521
+ }
514
522
  #getOrCreate(atom) {
515
523
  let entry = this.#atoms.get(atom);
516
524
  if (entry == null) {
@@ -550,7 +558,6 @@ var Store = class {
550
558
  if (isAtomFamily(dep)) continue;
551
559
  if (!depPromises.has(key)) depPromises.set(key, this.resolve(dep));
552
560
  }
553
- if (depPromises.size > 0) await Promise.all(depPromises.values());
554
561
  this.#registerRdeps(atom, dependencies);
555
562
  }
556
563
  const ctx = this.#makeCtx(atom, dependencies ?? {}, depPromises);
@@ -562,6 +569,7 @@ var Store = class {
562
569
  if (delay > 0) await abortableDelay(delay, ctx.signal);
563
570
  }
564
571
  try {
572
+ if (depPromises.size > 0) await Promise.all(depPromises.values());
565
573
  const value = await config.get(ctx);
566
574
  if (ctx.signal.aborted) throw new DOMException("The operation was aborted", "AbortError");
567
575
  entry.state = {
@@ -710,6 +718,7 @@ var Store = class {
710
718
  return this.resolve(dep);
711
719
  };
712
720
  return {
721
+ context: this.#context,
713
722
  signal: controller.signal,
714
723
  get,
715
724
  getPreviousValue: () => {
@@ -735,7 +744,7 @@ var Store = class {
735
744
  entry.version++;
736
745
  this.#scheduleNotify(atom);
737
746
  };
738
- const cleanup = config.onMount(setValue);
747
+ const cleanup = config.onMount(setValue, { context: this.#context });
739
748
  if (typeof cleanup === "function") entry.unmount = cleanup;
740
749
  }
741
750
  }
@@ -816,6 +825,7 @@ var Store = class {
816
825
  async mutate(mutation, ...args) {
817
826
  const relatedSnapshots = /* @__PURE__ */ new Map();
818
827
  const ctx = {
828
+ context: this.#context,
819
829
  writeOptimistic: (target, valueOrMutate) => {
820
830
  this.#relatedOptimisticWrite(target, valueOrMutate, relatedSnapshots);
821
831
  },
@@ -858,8 +868,8 @@ var Store = class {
858
868
  return this.#client;
859
869
  }
860
870
  };
861
- function createStore() {
862
- return new Store();
871
+ function createStore(...args) {
872
+ return new Store(...args);
863
873
  }
864
874
  const DEFAULT_RETRY = 3;
865
875
  function normalizeRetry(value) {
@@ -895,4 +905,4 @@ function extractPreviousValue(state) {
895
905
  //#endregion
896
906
  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 };
897
907
 
898
- //# sourceMappingURL=store-DCQ1r_XE.js.map
908
+ //# sourceMappingURL=store-BjywcZCM.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store-BjywcZCM.js","names":["#maxSize","#nodeMap","#valueMap","#head","#tail","#moveToMru","#insertBeforeTail","#evict","#detach","#fetch","#scheduler","#queue","#keySet","#flush","#atoms","#rdeps","#pending","#controllers","#familyUnsubs","#registeredFamilies","#context","#getOrCreate","#runGet","#registerRdeps","#makeCtx","#scheduleNotify","#markStale","#schedulePendingFlush","#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/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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types-B2mzc3A5.js","names":[],"sources":["../src/internal/types.ts"],"mappings":";AAAA,MAAa,SAAS,OAAO,eAAe;AAC5C,MAAa,WAAW,OAAO,iBAAiB;AAChD,MAAa,cAAc,OAAO,mBAAmB"}
1
+ {"version":3,"file":"types-B2mzc3A5.js","names":[],"sources":["../src/internal/types.ts"],"mappings":";AAEA,MAAa,SAAS,OAAO,eAAe;AAC5C,MAAa,WAAW,OAAO,iBAAiB;AAChD,MAAa,cAAc,OAAO,mBAAmB"}
@@ -1,3 +1,133 @@
1
+ //#region src/internal/atom.d.ts
2
+ type WritableConfig<Value, Deps extends Record<string, DependencyEntry>, Args extends readonly unknown[]> = AtomConfig<Value, Deps, Args> & {
3
+ set: (ctx: WritableAtomContext<Deps, Value>, ...args: Args) => Promise<void>;
4
+ };
5
+ type ReadonlyConfig<Value, Deps extends Record<string, DependencyEntry>> = Omit<AtomConfig<Value, Deps, readonly []>, "set">;
6
+ type SimpleAtomOptions<Value> = {
7
+ debugLabel?: string;
8
+ onMount?: (set: (value: Value) => void, ctx: {
9
+ context: RegisteredContext;
10
+ }) => (() => void) | void;
11
+ };
12
+ type SimpleAtomSetArg<Value> = Value | ((prev: Value) => Value);
13
+ type LooksLikeAtomConfig = {
14
+ get: (ctx: never) => Promise<unknown>;
15
+ };
16
+ declare function atom<Value, Deps extends Record<string, DependencyEntry> = Record<never, never>, Args extends readonly unknown[] = readonly []>(config: WritableConfig<Value, Deps, Args>): WritableAtom<Value, Args>;
17
+ declare function atom<Value, Deps extends Record<string, DependencyEntry> = Record<never, never>>(config: ReadonlyConfig<Value, Deps>): Atom<Value>;
18
+ declare function atom<Value>(initialValue: Value extends LooksLikeAtomConfig ? never : Value, options?: SimpleAtomOptions<Value>): WritableAtom<Value, readonly [SimpleAtomSetArg<Value>]>;
19
+ //#endregion
20
+ //#region src/internal/infinity-atom.d.ts
21
+ type InfiniteData<Page, Cursor> = {
22
+ pages: Page[];
23
+ pageCursors: Cursor[];
24
+ hasNextPage: boolean;
25
+ isFetchingNextPage: boolean;
26
+ };
27
+ type InfinityAtomOptions<Page, Cursor> = {
28
+ initialCursor: Cursor;
29
+ queryFn: (args: {
30
+ cursor: Cursor;
31
+ signal: AbortSignal;
32
+ context: RegisteredContext;
33
+ }) => Promise<Page>;
34
+ getNextCursor: (lastPage: Page, allPages: Page[]) => Cursor | undefined | null;
35
+ maxPages?: number;
36
+ debugLabel?: string;
37
+ stalePolicy?: StalePolicy;
38
+ retry?: boolean | number;
39
+ retryDelay?: RetryDelay;
40
+ dependencies?: Record<string, DependencyEntry>;
41
+ };
42
+ declare function infinityAtom<Page, Cursor>(options: InfinityAtomOptions<Page, Cursor>): WritableAtom<InfiniteData<Page, Cursor>, [action: "loadNext"]>;
43
+ //#endregion
44
+ //#region src/internal/infinity-atom-family.d.ts
45
+ type InfinityAtomFamilyBaseOptions<Param, Key = Param> = {
46
+ cachePolicy?: "keep-all" | "lru";
47
+ lruSize?: number;
48
+ /**
49
+ * Optional function to derive a stable cache key from `param`.
50
+ * Use when `Param` is an object and you want equality-by-value semantics.
51
+ * The returned key is used for all cache operations (get, set, LRU, invalidate, remove).
52
+ * The original `param` is still passed to `initialCursor`, `queryFn`, `getNextCursor`,
53
+ * and `dependencies`.
54
+ *
55
+ * For plain objects/arrays you can use `stableFamilyKey` from `@kdeveloper/kvark/family`.
56
+ * Treat the param object as immutable after the first call.
57
+ */
58
+ paramKey?: (param: Param) => Key;
59
+ debugLabel?: string;
60
+ stalePolicy?: StalePolicy;
61
+ retry?: boolean | number;
62
+ retryDelay?: RetryDelay;
63
+ maxPages?: number;
64
+ };
65
+ type InfinityAtomFamilyOptions<Param, Page, Cursor, Key = Param> = InfinityAtomFamilyBaseOptions<Param, Key> & {
66
+ dependencies?: (param: Param) => Record<string, DependencyEntry>;
67
+ initialCursor: (param: Param) => Cursor;
68
+ queryFn: (param: Param) => (args: {
69
+ cursor: Cursor;
70
+ signal: AbortSignal;
71
+ context: RegisteredContext;
72
+ }) => Promise<Page>;
73
+ getNextCursor: (param: Param) => (lastPage: Page, allPages: Page[]) => Cursor | undefined | null;
74
+ };
75
+ type InfinityFamilyAtom<Page, Cursor> = WritableAtom<InfiniteData<Page, Cursor>, [action: "loadNext"]>;
76
+ interface InfinityAtomFamily<Param, Page, Cursor, Key = Param> {
77
+ (param: Param): InfinityFamilyAtom<Page, Cursor>;
78
+ invalidate(param: Param): void;
79
+ invalidateAll(): void;
80
+ remove(param: Param): void;
81
+ getCache(): ReadonlyMap<Key, InfinityFamilyAtom<Page, Cursor>>;
82
+ }
83
+ declare function infinityAtomFamily<Param, Page, Cursor, Key = Param>(options: InfinityAtomFamilyOptions<Param, Page, Cursor, Key>): InfinityAtomFamily<Param, Page, Cursor, Key>;
84
+ //#endregion
85
+ //#region src/internal/mutation.d.ts
86
+ declare const MUTATION_RUN: unique symbol;
87
+ type Mutation<in out Args extends readonly unknown[]> = {
88
+ readonly [MUTATION_RUN]: (ctx: MutationContext, ...args: Args) => Promise<void>;
89
+ };
90
+ declare function mutation<const Args extends readonly unknown[]>(fn: (ctx: MutationContext, ...args: Args) => Promise<void>): Mutation<Args>;
91
+ //#endregion
92
+ //#region src/internal/store.d.ts
93
+ interface StoreClient {
94
+ get<V>(atom: Atom<V>): Promise<V>;
95
+ set<V, A extends readonly unknown[]>(atom: WritableAtom<V, A>, ...args: NoInfer<A>): Promise<void>;
96
+ mutate<Args extends readonly unknown[]>(mutation: Mutation<Args>, ...args: Args): Promise<void>;
97
+ write<V>(atom: Atom<V>, value: V): void;
98
+ write<V>(atom: Atom<V>, mutate: (prev: V | undefined) => V): void;
99
+ invalidate(atom: Atom<unknown>): void;
100
+ invalidateMany(atoms: ReadonlyArray<Atom<unknown>>): void;
101
+ subscribe<V>(atom: Atom<V>, listener: (state: AtomState<V>) => void): () => void;
102
+ }
103
+ type StoreOptions = unknown extends RegisteredContext ? {
104
+ context?: RegisteredContext;
105
+ } : {
106
+ context: RegisteredContext;
107
+ };
108
+ declare class Store {
109
+ #private;
110
+ constructor(...args: unknown extends RegisteredContext ? [options?: StoreOptions] : [options: StoreOptions]);
111
+ resolve<V>(atom: Atom<V>): Promise<V>;
112
+ invalidate(atom: Atom<unknown>): void;
113
+ invalidateMany(atoms: ReadonlyArray<Atom<unknown>>): void;
114
+ subscribe<V>(atom: Atom<V>, listener: () => void): () => void;
115
+ getSnapshot<V>(atom: Atom<V>): AtomState<V>;
116
+ getServerSnapshot<V>(atom: Atom<V>): AtomState<V>;
117
+ set<V, A extends readonly unknown[]>(atom: WritableAtom<V, A>, ...args: NoInfer<A>): Promise<void>;
118
+ mutate<Args extends readonly unknown[]>(mutation: Mutation<Args>, ...args: Args): Promise<void>;
119
+ write<V>(atom: Atom<V>, value: V): void;
120
+ write<V>(atom: Atom<V>, mutate: (prev: V | undefined) => V): void;
121
+ getClient(): StoreClient;
122
+ }
123
+ declare function createStore(...args: unknown extends RegisteredContext ? [options?: StoreOptions] : [options: StoreOptions]): Store;
124
+ //#endregion
125
+ //#region src/index.d.ts
126
+ interface Register {}
127
+ type RegisteredContext = Register extends {
128
+ context: infer Context;
129
+ } ? Context : unknown;
130
+ //#endregion
1
131
  //#region src/internal/types.d.ts
2
132
  declare const CONFIG: unique symbol;
3
133
  declare const WRITABLE: unique symbol;
@@ -47,12 +177,14 @@ type DependencyValue<D> = D extends Atom<infer V> ? V : D extends AtomFamilyLike
47
177
  */
48
178
  type DependencyArgs<D> = D extends AtomFamilyLike<infer P, unknown> ? readonly [param: P] : readonly [];
49
179
  type AtomContext<Deps extends Record<string, DependencyEntry>> = {
180
+ context: RegisteredContext;
50
181
  get: <K extends keyof Deps>(key: K, ...args: DependencyArgs<Deps[K]>) => Promise<DependencyValue<Deps[K]>>;
51
182
  signal: AbortSignal;
52
183
  getPreviousValue: () => unknown;
53
184
  };
54
185
  /** Context for standalone mutations: optimistic writes and invalidation (no primary atom). */
55
186
  type MutationContext = {
187
+ context: RegisteredContext;
56
188
  writeOptimistic<U>(atom: Atom<U>, value: U): void;
57
189
  writeOptimistic<U>(atom: Atom<U>, mutate: (prev: U | undefined) => U): void;
58
190
  invalidate(atom: Atom<unknown>): void;
@@ -79,7 +211,9 @@ type AtomConfig<Value, Deps extends Record<string, DependencyEntry>, Args extend
79
211
  invalidateAfterSet?: boolean;
80
212
  get: (ctx: AtomContext<Deps>) => Promise<Value>;
81
213
  set?: (ctx: WritableAtomContext<Deps, Value>, ...args: Args) => Promise<void>;
82
- onMount?: (set: (value: Value) => void) => (() => void) | void;
214
+ onMount?: (set: (value: Value) => void, ctx: {
215
+ context: RegisteredContext;
216
+ }) => (() => void) | void;
83
217
  };
84
218
  interface InternalAtomConfig<Value> {
85
219
  dependencies?: Record<string, DependencyEntry>;
@@ -90,7 +224,9 @@ interface InternalAtomConfig<Value> {
90
224
  invalidateAfterSet?: boolean;
91
225
  get: (ctx: AtomContext<Record<string, DependencyEntry>>) => Promise<Value>;
92
226
  set?: (ctx: WritableAtomContext<Record<string, DependencyEntry>, any>, ...args: readonly unknown[]) => Promise<void>;
93
- onMount?: (set: (value: unknown) => void) => (() => void) | void;
227
+ onMount?: (set: (value: unknown) => void, ctx: {
228
+ context: RegisteredContext;
229
+ }) => (() => void) | void;
94
230
  }
95
231
  interface Atom<out Value> {
96
232
  readonly [CONFIG]: InternalAtomConfig<Value>;
@@ -103,39 +239,5 @@ type AtomValue<A> = A extends Atom<infer V> ? V : never;
103
239
  type IsWritable<A> = A extends WritableAtom<unknown, readonly unknown[]> ? true : false;
104
240
  type AtomArgs<A> = A extends WritableAtom<unknown, infer Args> ? Args : never;
105
241
  //#endregion
106
- //#region src/internal/mutation.d.ts
107
- declare const MUTATION_RUN: unique symbol;
108
- type Mutation<in out Args extends readonly unknown[]> = {
109
- readonly [MUTATION_RUN]: (ctx: MutationContext, ...args: Args) => Promise<void>;
110
- };
111
- declare function mutation<const Args extends readonly unknown[]>(fn: (ctx: MutationContext, ...args: Args) => Promise<void>): Mutation<Args>;
112
- //#endregion
113
- //#region src/internal/store.d.ts
114
- interface StoreClient {
115
- get<V>(atom: Atom<V>): Promise<V>;
116
- set<V, A extends readonly unknown[]>(atom: WritableAtom<V, A>, ...args: NoInfer<A>): Promise<void>;
117
- mutate<Args extends readonly unknown[]>(mutation: Mutation<Args>, ...args: Args): Promise<void>;
118
- write<V>(atom: Atom<V>, value: V): void;
119
- write<V>(atom: Atom<V>, mutate: (prev: V | undefined) => V): void;
120
- invalidate(atom: Atom<unknown>): void;
121
- invalidateMany(atoms: ReadonlyArray<Atom<unknown>>): void;
122
- subscribe<V>(atom: Atom<V>, listener: (state: AtomState<V>) => void): () => void;
123
- }
124
- declare class Store {
125
- #private;
126
- resolve<V>(atom: Atom<V>): Promise<V>;
127
- invalidate(atom: Atom<unknown>): void;
128
- invalidateMany(atoms: ReadonlyArray<Atom<unknown>>): void;
129
- subscribe<V>(atom: Atom<V>, listener: () => void): () => void;
130
- getSnapshot<V>(atom: Atom<V>): AtomState<V>;
131
- getServerSnapshot<V>(atom: Atom<V>): AtomState<V>;
132
- set<V, A extends readonly unknown[]>(atom: WritableAtom<V, A>, ...args: NoInfer<A>): Promise<void>;
133
- mutate<Args extends readonly unknown[]>(mutation: Mutation<Args>, ...args: Args): Promise<void>;
134
- write<V>(atom: Atom<V>, value: V): void;
135
- write<V>(atom: Atom<V>, mutate: (prev: V | undefined) => V): void;
136
- getClient(): StoreClient;
137
- }
138
- declare function createStore(): Store;
139
- //#endregion
140
- export { WritableAtom as _, mutation as a, AtomConfig as c, AtomValue as d, DependencyEntry as f, StalePolicy as g, RetryDelay as h, Mutation as i, AtomContext as l, MutationContext as m, StoreClient as n, Atom as o, IsWritable as p, createStore as r, AtomArgs as s, Store as t, AtomState as u, WritableAtomContext as v };
141
- //# sourceMappingURL=store-DARYBuZ0.d.ts.map
242
+ export { atom as A, InfinityFamilyAtom as C, infinityAtom as D, InfinityAtomOptions as E, SimpleAtomOptions as O, InfinityAtomFamilyOptions as S, InfiniteData as T, StoreClient as _, AtomState as a, mutation as b, IsWritable as c, StalePolicy as d, WritableAtom as f, Store as g, RegisteredContext as h, AtomContext as i, SimpleAtomSetArg as k, MutationContext as l, Register as m, AtomArgs as n, AtomValue as o, WritableAtomContext as p, AtomConfig as r, DependencyEntry as s, Atom as t, RetryDelay as u, createStore as v, infinityAtomFamily as w, InfinityAtomFamily as x, Mutation as y };
243
+ //# sourceMappingURL=types-CDcdcLn9.d.ts.map
@@ -1,4 +1,4 @@
1
- import { _ as WritableAtom, i as Mutation, n as StoreClient, o as Atom, t as Store } from "../store-DARYBuZ0.js";
1
+ import { _ as StoreClient, f as WritableAtom, g as Store, t as Atom, y as Mutation } from "../types-CDcdcLn9.js";
2
2
  import * as _$vue from "vue";
3
3
  import { PropType, ShallowRef } from "vue";
4
4
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kdeveloper/kvark",
3
- "version": "0.14.2",
3
+ "version": "0.15.0",
4
4
  "description": "Atomic state management with explicit dependency graphs",
5
5
  "license": "MIT",
6
6
  "files": [
@@ -1,84 +0,0 @@
1
- import { _ as WritableAtom, c as AtomConfig, f as DependencyEntry, g as StalePolicy, h as RetryDelay, o as Atom, v as WritableAtomContext } from "./store-DARYBuZ0.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, DependencyEntry>;
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, DependencyEntry>;
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, DependencyEntry>, 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, DependencyEntry>> = Omit<AtomConfig<Value, Deps, readonly []>, "set">;
71
- type SimpleAtomOptions<Value> = {
72
- debugLabel?: string;
73
- onMount?: (set: (value: Value) => void) => (() => void) | void;
74
- };
75
- type SimpleAtomSetArg<Value> = Value | ((prev: Value) => Value);
76
- type LooksLikeAtomConfig = {
77
- get: (ctx: never) => Promise<unknown>;
78
- };
79
- declare function atom<Value, Deps extends Record<string, DependencyEntry> = Record<never, never>, Args extends readonly unknown[] = readonly []>(config: WritableConfig<Value, Deps, Args>): WritableAtom<Value, Args>;
80
- declare function atom<Value, Deps extends Record<string, DependencyEntry> = Record<never, never>>(config: ReadonlyConfig<Value, Deps>): Atom<Value>;
81
- declare function atom<Value>(initialValue: Value extends LooksLikeAtomConfig ? never : Value, options?: SimpleAtomOptions<Value>): WritableAtom<Value, readonly [SimpleAtomSetArg<Value>]>;
82
- //#endregion
83
- export { InfinityAtomFamilyOptions as a, InfiniteData as c, InfinityAtomFamily as i, InfinityAtomOptions as l, SimpleAtomSetArg as n, InfinityFamilyAtom as o, atom as r, infinityAtomFamily as s, SimpleAtomOptions as t, infinityAtom as u };
84
- //# sourceMappingURL=atom-B0toJ_7O.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"store-DCQ1r_XE.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","#registerSingleRdep","#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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"}