@kdeveloper/kvark 0.14.3 → 0.16.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 +75 -1
- package/dist/family.d.ts +2 -3
- package/dist/family.js +1 -1
- package/dist/index.d.ts +2 -3
- package/dist/index.js +1 -1
- package/dist/preact/index.d.ts +1 -1
- package/dist/react/index.d.ts +1 -1
- package/dist/{store-B8tJAhDX.js → store-76uVtDce.js} +18 -7
- package/dist/store-76uVtDce.js.map +1 -0
- package/dist/types-B2mzc3A5.js.map +1 -1
- package/dist/{store-DARYBuZ0.d.ts → types-d2mv_eob.d.ts} +142 -39
- package/dist/vue/index.d.ts +1 -1
- package/package.json +1 -1
- package/dist/atom-B0toJ_7O.d.ts +0 -84
- package/dist/store-B8tJAhDX.js.map +0 -1
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
|
|
@@ -314,8 +387,9 @@ If the `PATCH` fails, both the item and the list revert to their pre-optimistic
|
|
|
314
387
|
|
|
315
388
|
Sometimes a server action updates **several** atoms at once, and there is no single writable atom that should own the mutation. Use **`mutation(fn)`** to define that work once, then run it with **`store.mutate(m, ...args)`** or **`useMutation(m)`** in components.
|
|
316
389
|
|
|
317
|
-
The callback receives a **`MutationContext`** (the same optimistic and invalidation helpers as in `set`, but **without** `setOptimisticValue
|
|
390
|
+
The callback receives a **`MutationContext`** (the same optimistic and invalidation helpers as in `set`, but **without** `setOptimisticValue` or `ctx.signal`). Standalone mutations can read any atom with **`ctx.get(atom)`**. In contrast, inside **`set`**, **`ctx.get(...)`** still means "read a declared dependency by key":
|
|
318
391
|
|
|
392
|
+
- **`ctx.get(atom)`** — resolve any atom with the same semantics as `store.get(atom)` / `client.get(atom)`.
|
|
319
393
|
- **`ctx.writeOptimistic(atom, value | mutator)`** — same semantics as inside `set`. On throw, every atom touched by `writeOptimistic` rolls back to its state before the first optimistic write in this run.
|
|
320
394
|
- **`ctx.invalidate` / `ctx.invalidateMany`** — mark atoms stale (not rolled back on error).
|
|
321
395
|
|
package/dist/family.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import {
|
|
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-d2mv_eob.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-
|
|
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-76uVtDce.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
|
|
2
|
-
|
|
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-d2mv_eob.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-
|
|
1
|
+
import { c as infinityAtomFamily, l as infinityAtom, n as mutation, t as createStore, u as atom } from "./store-76uVtDce.js";
|
|
2
2
|
export { atom, createStore, infinityAtom, infinityAtomFamily, mutation };
|
package/dist/preact/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { _ as
|
|
1
|
+
import { _ as StoreClient, f as WritableAtom, g as Store, t as Atom, y as Mutation } from "../types-d2mv_eob.js";
|
|
2
2
|
import { ComponentChildren, VNode } from "preact";
|
|
3
3
|
|
|
4
4
|
//#region src/preact/provider.d.ts
|
package/dist/react/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { _ as
|
|
1
|
+
import { _ as StoreClient, f as WritableAtom, g as Store, t as Atom, y as Mutation } from "../types-d2mv_eob.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) {
|
|
@@ -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,8 @@ var Store = class {
|
|
|
816
825
|
async mutate(mutation, ...args) {
|
|
817
826
|
const relatedSnapshots = /* @__PURE__ */ new Map();
|
|
818
827
|
const ctx = {
|
|
828
|
+
context: this.#context,
|
|
829
|
+
get: (atom) => this.resolve(atom),
|
|
819
830
|
writeOptimistic: (target, valueOrMutate) => {
|
|
820
831
|
this.#relatedOptimisticWrite(target, valueOrMutate, relatedSnapshots);
|
|
821
832
|
},
|
|
@@ -858,8 +869,8 @@ var Store = class {
|
|
|
858
869
|
return this.#client;
|
|
859
870
|
}
|
|
860
871
|
};
|
|
861
|
-
function createStore() {
|
|
862
|
-
return new Store();
|
|
872
|
+
function createStore(...args) {
|
|
873
|
+
return new Store(...args);
|
|
863
874
|
}
|
|
864
875
|
const DEFAULT_RETRY = 3;
|
|
865
876
|
function normalizeRetry(value) {
|
|
@@ -895,4 +906,4 @@ function extractPreviousValue(state) {
|
|
|
895
906
|
//#endregion
|
|
896
907
|
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
908
|
|
|
898
|
-
//# sourceMappingURL=store-
|
|
909
|
+
//# sourceMappingURL=store-76uVtDce.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store-76uVtDce.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":";
|
|
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,18 +177,21 @@ 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; /** Resolve any atom value using the same semantics as `store.get(...)`. */
|
|
188
|
+
get: <Value>(atom: Atom<Value>) => Promise<Value>;
|
|
56
189
|
writeOptimistic<U>(atom: Atom<U>, value: U): void;
|
|
57
190
|
writeOptimistic<U>(atom: Atom<U>, mutate: (prev: U | undefined) => U): void;
|
|
58
191
|
invalidate(atom: Atom<unknown>): void;
|
|
59
192
|
invalidateMany(atoms: ReadonlyArray<Atom<unknown>>): void;
|
|
60
193
|
};
|
|
61
|
-
interface WritableAtomContext<Deps extends Record<string, DependencyEntry>, Value> extends AtomContext<Deps>, MutationContext {
|
|
194
|
+
interface WritableAtomContext<Deps extends Record<string, DependencyEntry>, Value> extends AtomContext<Deps>, Omit<MutationContext, "get"> {
|
|
62
195
|
setOptimisticValue(value: Value): void;
|
|
63
196
|
setOptimisticValue(mutate: (prev: Value | undefined) => Value): void;
|
|
64
197
|
getPreviousValue(): Value | undefined;
|
|
@@ -79,7 +212,9 @@ type AtomConfig<Value, Deps extends Record<string, DependencyEntry>, Args extend
|
|
|
79
212
|
invalidateAfterSet?: boolean;
|
|
80
213
|
get: (ctx: AtomContext<Deps>) => Promise<Value>;
|
|
81
214
|
set?: (ctx: WritableAtomContext<Deps, Value>, ...args: Args) => Promise<void>;
|
|
82
|
-
onMount?: (set: (value: Value) => void
|
|
215
|
+
onMount?: (set: (value: Value) => void, ctx: {
|
|
216
|
+
context: RegisteredContext;
|
|
217
|
+
}) => (() => void) | void;
|
|
83
218
|
};
|
|
84
219
|
interface InternalAtomConfig<Value> {
|
|
85
220
|
dependencies?: Record<string, DependencyEntry>;
|
|
@@ -90,7 +225,9 @@ interface InternalAtomConfig<Value> {
|
|
|
90
225
|
invalidateAfterSet?: boolean;
|
|
91
226
|
get: (ctx: AtomContext<Record<string, DependencyEntry>>) => Promise<Value>;
|
|
92
227
|
set?: (ctx: WritableAtomContext<Record<string, DependencyEntry>, any>, ...args: readonly unknown[]) => Promise<void>;
|
|
93
|
-
onMount?: (set: (value: unknown) => void
|
|
228
|
+
onMount?: (set: (value: unknown) => void, ctx: {
|
|
229
|
+
context: RegisteredContext;
|
|
230
|
+
}) => (() => void) | void;
|
|
94
231
|
}
|
|
95
232
|
interface Atom<out Value> {
|
|
96
233
|
readonly [CONFIG]: InternalAtomConfig<Value>;
|
|
@@ -103,39 +240,5 @@ type AtomValue<A> = A extends Atom<infer V> ? V : never;
|
|
|
103
240
|
type IsWritable<A> = A extends WritableAtom<unknown, readonly unknown[]> ? true : false;
|
|
104
241
|
type AtomArgs<A> = A extends WritableAtom<unknown, infer Args> ? Args : never;
|
|
105
242
|
//#endregion
|
|
106
|
-
|
|
107
|
-
|
|
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
|
|
243
|
+
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 };
|
|
244
|
+
//# sourceMappingURL=types-d2mv_eob.d.ts.map
|
package/dist/vue/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { _ as
|
|
1
|
+
import { _ as StoreClient, f as WritableAtom, g as Store, t as Atom, y as Mutation } from "../types-d2mv_eob.js";
|
|
2
2
|
import * as _$vue from "vue";
|
|
3
3
|
import { PropType, ShallowRef } from "vue";
|
|
4
4
|
|
package/package.json
CHANGED
package/dist/atom-B0toJ_7O.d.ts
DELETED
|
@@ -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-B8tJAhDX.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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"}
|