@kdeveloper/kvark 1.4.3 → 1.5.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 +20 -0
- package/dist/family-B6CDCsXX.d.ts +132 -0
- package/dist/family.d.ts +3 -130
- package/dist/family.js +2 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +2 -1
- package/dist/infinity-atom-family-d5CFnMGY.js +156 -0
- package/dist/infinity-atom-family-d5CFnMGY.js.map +1 -0
- package/dist/preact/index.d.ts +1 -1
- package/dist/preact/index.js +1 -1
- package/dist/react/index.d.ts +1 -1
- package/dist/react/index.js +1 -1
- package/dist/{store-DxInm7iX.js → store-BAe5XNQY.js} +26 -156
- package/dist/store-BAe5XNQY.js.map +1 -0
- package/dist/tests.d.ts +49 -0
- package/dist/tests.js +86 -0
- package/dist/tests.js.map +1 -0
- package/dist/{types-Bxnij_5I.d.ts → types-GIwtmktJ.d.ts} +9 -4
- package/dist/{use-atom-value-Bu9qPOox.js → use-atom-value-BiN9catp.js} +1 -1
- package/dist/{use-atom-value-Bu9qPOox.js.map → use-atom-value-BiN9catp.js.map} +1 -1
- package/dist/vue/index.d.ts +1 -1
- package/package.json +5 -1
- package/dist/store-DxInm7iX.js.map +0 -1
package/README.md
CHANGED
|
@@ -1222,6 +1222,25 @@ type Writable = IsWritable<typeof countAtom>; // → true | false
|
|
|
1222
1222
|
|
|
1223
1223
|
`WritableAtomContext` extends `MutationContext` — the same `writeOptimistic` / `invalidate` / `invalidateMany` helpers appear on both standalone mutations and writable `write` callbacks.
|
|
1224
1224
|
|
|
1225
|
+
## Test Utilities
|
|
1226
|
+
|
|
1227
|
+
```ts
|
|
1228
|
+
import { createTestStore, mockAtom, resolveAtom } from "@kdeveloper/kvark/tests";
|
|
1229
|
+
|
|
1230
|
+
const userMock = mockAtom(userAtom, { value: { id: "u1", name: "Ada" } });
|
|
1231
|
+
const profileAtom = atom({
|
|
1232
|
+
dependencies: { user: userAtom },
|
|
1233
|
+
read: async (ctx) => ctx.read("user"),
|
|
1234
|
+
});
|
|
1235
|
+
|
|
1236
|
+
const store = createTestStore({ dependencyOverrides: [[userAtom, userMock]] });
|
|
1237
|
+
expect(await resolveAtom(store, profileAtom)).toEqual({ id: "u1", name: "Ada" });
|
|
1238
|
+
```
|
|
1239
|
+
|
|
1240
|
+
`mockAtom` also accepts `{ read: vi.fn(...) }` / `{ read: jest.fn(...) }` and `{ error }`.
|
|
1241
|
+
Use `mockAtomFamily` for family dependencies, `setAtomValue(s)` for seeded values, and
|
|
1242
|
+
`resolveAtom(s)` to read typed atom values in tests.
|
|
1243
|
+
|
|
1225
1244
|
## Package Structure
|
|
1226
1245
|
|
|
1227
1246
|
| Import | Contents |
|
|
@@ -1231,6 +1250,7 @@ type Writable = IsWritable<typeof countAtom>; // → true | false
|
|
|
1231
1250
|
| `@kdeveloper/kvark/preact` | `Provider`, `AtomCancellationScope`, `useStore`, `useAtomValue`, `useApplyAtom`, `useMutation`, `useAtom`, `useAtomContext` |
|
|
1232
1251
|
| `@kdeveloper/kvark/vue` | `Provider`, `useStore`, `useAtomValue`, `useApplyAtom`, `useMutation`, `useAtom`, `useAtomContext`; types `ThenableShallowRef`, `ThenableObservedShallowRef`, `ObservedValue` |
|
|
1233
1252
|
| `@kdeveloper/kvark/family` | `atomFamily`, `infinityAtomFamily`, `stableFamilyKey`, `microtaskScheduler`, `windowScheduler`, `maxBatchSizeScheduler`, `windowedFiniteBatchScheduler`, re-exports `atom`, `infinityAtom`, `mutation`, `createStore`; types include `AtomFamily`, `InfinityAtomFamily`, `BatchScheduler`, `BatchFetchInput`, `Mutation`, `MutationContext`, and core atom types |
|
|
1253
|
+
| `@kdeveloper/kvark/tests` | Test helpers: `createTestStore`, `mockAtom`, `mockAtomFamily`, `withAtomMocks`, `setAtomValue`, `setAtomValues`, `resolveAtom`, `resolveAtoms`; store-level `dependencyOverrides`; framework-agnostic and compatible with Vitest/Jest mock functions |
|
|
1234
1254
|
|
|
1235
1255
|
The core (`@kdeveloper/kvark`) has **zero runtime dependencies**. **React**, **Preact**, and **Vue** are optional peer dependencies — install the framework you use and import from `/react`, `/preact`, or `/vue`.
|
|
1236
1256
|
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
import { d as RetryDelay, f as StalePolicy, h as WritableAtomContext, i as AtomContext, s as DependencyEntry, t as Atom } from "./types-GIwtmktJ.js";
|
|
2
|
+
|
|
3
|
+
//#region src/internal/family-batch-schedulers.d.ts
|
|
4
|
+
type BatchSchedulerContext = {
|
|
5
|
+
pendingCount: number;
|
|
6
|
+
};
|
|
7
|
+
interface BatchScheduler {
|
|
8
|
+
schedule(flush: () => void, context: BatchSchedulerContext): void;
|
|
9
|
+
reset(): void;
|
|
10
|
+
}
|
|
11
|
+
declare function microtaskScheduler(): BatchScheduler;
|
|
12
|
+
declare function windowScheduler(ms: number): BatchScheduler;
|
|
13
|
+
declare function maxBatchSizeScheduler(maxSize: number): BatchScheduler;
|
|
14
|
+
declare function windowedFiniteBatchScheduler(ms: number, maxSize: number): BatchScheduler;
|
|
15
|
+
//#endregion
|
|
16
|
+
//#region src/internal/family-batch.d.ts
|
|
17
|
+
type BatchFetchInput<Param, Key, Deps extends Record<string, DependencyEntry>> = {
|
|
18
|
+
keys: readonly Key[];
|
|
19
|
+
params: readonly Param[];
|
|
20
|
+
signal: AbortSignal;
|
|
21
|
+
ctx: AtomContext<Deps>;
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* Input passed to a batched `stream` fetcher. Same shape as {@link BatchFetchInput},
|
|
25
|
+
* just aliased for clarity at call sites.
|
|
26
|
+
*/
|
|
27
|
+
type BatchStreamInput<Param, Key, Deps extends Record<string, DependencyEntry>> = BatchFetchInput<Param, Key, Deps>;
|
|
28
|
+
//#endregion
|
|
29
|
+
//#region src/internal/family.d.ts
|
|
30
|
+
type AtomFamilyBaseOptions<Param, Key = Param> = {
|
|
31
|
+
stalePolicy?: StalePolicy;
|
|
32
|
+
retry?: boolean | number;
|
|
33
|
+
retryDelay?: RetryDelay;
|
|
34
|
+
cachePolicy?: "keep-all" | "lru";
|
|
35
|
+
lruSize?: number;
|
|
36
|
+
debugLabel?: string;
|
|
37
|
+
/**
|
|
38
|
+
* If `false`, the store will not auto-invalidate the atom after a successful `write`.
|
|
39
|
+
* Use this when the family's `write` writes the authoritative next value via
|
|
40
|
+
* `ctx.setOptimisticValue` and there is no need to re-run `read` to converge.
|
|
41
|
+
* Defaults to `true` (matches the typical CRUD pattern: `write` mutates the server,
|
|
42
|
+
* `read` then refetches the canonical state).
|
|
43
|
+
*/
|
|
44
|
+
invalidateAfterWrite?: boolean;
|
|
45
|
+
/**
|
|
46
|
+
* Optional function to derive a stable cache key from `param`.
|
|
47
|
+
* Use when `Param` is an object and you want equality-by-value semantics.
|
|
48
|
+
* The returned key is used for all cache operations (get, set, LRU, invalidate, remove).
|
|
49
|
+
* The original `param` is still passed to `read`, `write`, and `dependencies`.
|
|
50
|
+
*
|
|
51
|
+
* For plain objects/arrays you can use `stableFamilyKey` from `@kdeveloper/kvark/family`.
|
|
52
|
+
* Treat the param object as immutable after the first call — `stableFamilyKey` memoises
|
|
53
|
+
* by object reference via a WeakMap.
|
|
54
|
+
*/
|
|
55
|
+
paramKey?: (param: Param) => Key;
|
|
56
|
+
};
|
|
57
|
+
type AtomFamilyGetOptions<Param, Value, Deps extends Record<string, DependencyEntry>, Args extends readonly unknown[], Key = Param> = AtomFamilyBaseOptions<Param, Key> & {
|
|
58
|
+
dependencies?: (param: Param) => Deps;
|
|
59
|
+
read: (param: Param) => (ctx: AtomContext<Deps>) => Promise<Value>;
|
|
60
|
+
write?: (param: Param) => (ctx: WritableAtomContext<Deps, Value>, ...args: Args) => Promise<void>;
|
|
61
|
+
stream?: never;
|
|
62
|
+
reduce?: never;
|
|
63
|
+
initialValue?: never;
|
|
64
|
+
batch?: never;
|
|
65
|
+
};
|
|
66
|
+
/**
|
|
67
|
+
* Streaming variant of `atomFamily` (non-batched). Mirrors `atom({ stream, reduce, initialValue })`,
|
|
68
|
+
* but with a `param` curried in front so each member of the family can build its own iterable
|
|
69
|
+
* (e.g. SSE / WebSocket subscription scoped to `param`).
|
|
70
|
+
*/
|
|
71
|
+
type AtomFamilyStreamOptions<Param, Value, Chunk, Deps extends Record<string, DependencyEntry>, Args extends readonly unknown[], Key = Param> = AtomFamilyBaseOptions<Param, Key> & {
|
|
72
|
+
dependencies?: (param: Param) => Deps;
|
|
73
|
+
/**
|
|
74
|
+
* Initial value used at the start of every `stream` run (including
|
|
75
|
+
* re-runs after invalidation). Provide a function to derive a per-param
|
|
76
|
+
* initial value.
|
|
77
|
+
*/
|
|
78
|
+
initialValue: Value | ((param: Param) => Value);
|
|
79
|
+
stream: (param: Param) => (ctx: AtomContext<Deps>) => AsyncIterable<Chunk> | Promise<AsyncIterable<Chunk>>;
|
|
80
|
+
reduce: (param: Param) => (value: Value, chunk: Chunk, ctx: AtomContext<Deps>) => Value | Promise<Value>;
|
|
81
|
+
write?: (param: Param) => (ctx: WritableAtomContext<Deps, Value>, ...args: Args) => Promise<void>;
|
|
82
|
+
read?: never;
|
|
83
|
+
batch?: never;
|
|
84
|
+
};
|
|
85
|
+
type AtomFamilyBatchFetchConfig<Param, Value, Deps extends Record<string, DependencyEntry>, Key> = {
|
|
86
|
+
fetch: (input: BatchFetchInput<Param, Key, Deps>) => Promise<Map<Key, Value>>;
|
|
87
|
+
scheduler?: BatchScheduler;
|
|
88
|
+
stream?: never;
|
|
89
|
+
reduce?: never;
|
|
90
|
+
initialValue?: never;
|
|
91
|
+
};
|
|
92
|
+
type AtomFamilyBatchStreamConfig<Param, Value, Chunk, Deps extends Record<string, DependencyEntry>, Key> = {
|
|
93
|
+
/**
|
|
94
|
+
* Streaming batch fetcher. Each yielded `Map<Key, Chunk>` routes its entries to
|
|
95
|
+
* the matching member atoms; chunks for keys that are not currently subscribed
|
|
96
|
+
* are ignored.
|
|
97
|
+
*/
|
|
98
|
+
stream: (input: BatchStreamInput<Param, Key, Deps>) => AsyncIterable<Map<Key, Chunk>> | Promise<AsyncIterable<Map<Key, Chunk>>>;
|
|
99
|
+
reduce: (value: Value, chunk: Chunk, ctx: AtomContext<Deps>) => Value | Promise<Value>;
|
|
100
|
+
initialValue: Value | ((param: Param) => Value);
|
|
101
|
+
scheduler?: BatchScheduler;
|
|
102
|
+
fetch?: never;
|
|
103
|
+
};
|
|
104
|
+
type AtomFamilyBatchOptions<Param, Value, Deps extends Record<string, DependencyEntry>, Key = Param, Chunk = never> = AtomFamilyBaseOptions<Param, Key> & {
|
|
105
|
+
/**
|
|
106
|
+
* In batch mode `dependencies` takes **no param** — the same set of dependency atoms
|
|
107
|
+
* is shared by every member of the family. This ensures that `ctx` passed to `batch.fetch`
|
|
108
|
+
* (or `batch.stream`) is valid for the entire batch.
|
|
109
|
+
*/
|
|
110
|
+
dependencies?: () => Deps;
|
|
111
|
+
batch: AtomFamilyBatchFetchConfig<Param, Value, Deps, Key> | AtomFamilyBatchStreamConfig<Param, Value, Chunk, Deps, Key>;
|
|
112
|
+
read?: never;
|
|
113
|
+
write?: never;
|
|
114
|
+
stream?: never;
|
|
115
|
+
reduce?: never;
|
|
116
|
+
initialValue?: never;
|
|
117
|
+
};
|
|
118
|
+
type AtomFamilyOptions<Param, Value, Deps extends Record<string, DependencyEntry>, Args extends readonly unknown[], Key = Param, Chunk = never> = AtomFamilyGetOptions<Param, Value, Deps, Args, Key> | AtomFamilyStreamOptions<Param, Value, Chunk, Deps, Args, Key> | AtomFamilyBatchOptions<Param, Value, Deps, Key, Chunk>;
|
|
119
|
+
interface AtomFamily<Param, Value, Key = Param> {
|
|
120
|
+
(param: Param): Atom<Value>;
|
|
121
|
+
invalidate(param: Param): void;
|
|
122
|
+
invalidateAll(): void;
|
|
123
|
+
has(param: Param): boolean;
|
|
124
|
+
peek(param: Param): Atom<Value> | undefined;
|
|
125
|
+
remove(param: Param): void;
|
|
126
|
+
clear(): void;
|
|
127
|
+
getCache(): ReadonlyMap<Key, Atom<Value>>;
|
|
128
|
+
}
|
|
129
|
+
declare function atomFamily<Param, Value, Deps extends Record<string, DependencyEntry> = Record<never, never>, Args extends readonly unknown[] = readonly [], Key = Param, Chunk = never>(options: AtomFamilyOptions<Param, Value, Deps, Args, Key, Chunk>): AtomFamily<Param, Value, Key>;
|
|
130
|
+
//#endregion
|
|
131
|
+
export { AtomFamilyStreamOptions as a, BatchStreamInput as c, maxBatchSizeScheduler as d, microtaskScheduler as f, AtomFamilyOptions as i, BatchScheduler as l, windowedFiniteBatchScheduler as m, AtomFamilyBatchOptions as n, atomFamily as o, windowScheduler as p, AtomFamilyGetOptions as r, BatchFetchInput as s, AtomFamily as t, BatchSchedulerContext as u };
|
|
132
|
+
//# sourceMappingURL=family-B6CDCsXX.d.ts.map
|
package/dist/family.d.ts
CHANGED
|
@@ -1,133 +1,6 @@
|
|
|
1
|
-
import { A as
|
|
1
|
+
import { A as infinityAtomFamily, C as StoreOptions, D as InfinityAtomFamily, E as mutation, I as atom, M as InfinityAtomOptions, N as infinityAtom, O as InfinityAtomFamilyOptions, S as StoreInspection, T as Mutation, _ as RegisteredContext, a as AtomState, b as Store, f as StalePolicy, g as Register, i as AtomContext, j as InfiniteData, k as InfinityFamilyAtom, l as MutationContext, m as WritableAtom, o as AtomValue, r as AtomConfig, t as Atom, v as DependencyOverride, w as createStore, x as StoreClient, y as DependencyOverrideEntry } from "./types-GIwtmktJ.js";
|
|
2
|
+
import { a as AtomFamilyStreamOptions, c as BatchStreamInput, d as maxBatchSizeScheduler, f as microtaskScheduler, i as AtomFamilyOptions, l as BatchScheduler, m as windowedFiniteBatchScheduler, n as AtomFamilyBatchOptions, o as atomFamily, p as windowScheduler, r as AtomFamilyGetOptions, s as BatchFetchInput, t as AtomFamily, u as BatchSchedulerContext } from "./family-B6CDCsXX.js";
|
|
2
3
|
|
|
3
|
-
//#region src/internal/family-batch-schedulers.d.ts
|
|
4
|
-
type BatchSchedulerContext = {
|
|
5
|
-
pendingCount: number;
|
|
6
|
-
};
|
|
7
|
-
interface BatchScheduler {
|
|
8
|
-
schedule(flush: () => void, context: BatchSchedulerContext): void;
|
|
9
|
-
reset(): void;
|
|
10
|
-
}
|
|
11
|
-
declare function microtaskScheduler(): BatchScheduler;
|
|
12
|
-
declare function windowScheduler(ms: number): BatchScheduler;
|
|
13
|
-
declare function maxBatchSizeScheduler(maxSize: number): BatchScheduler;
|
|
14
|
-
declare function windowedFiniteBatchScheduler(ms: number, maxSize: number): BatchScheduler;
|
|
15
|
-
//#endregion
|
|
16
|
-
//#region src/internal/family-batch.d.ts
|
|
17
|
-
type BatchFetchInput<Param, Key, Deps extends Record<string, DependencyEntry>> = {
|
|
18
|
-
keys: readonly Key[];
|
|
19
|
-
params: readonly Param[];
|
|
20
|
-
signal: AbortSignal;
|
|
21
|
-
ctx: AtomContext<Deps>;
|
|
22
|
-
};
|
|
23
|
-
/**
|
|
24
|
-
* Input passed to a batched `stream` fetcher. Same shape as {@link BatchFetchInput},
|
|
25
|
-
* just aliased for clarity at call sites.
|
|
26
|
-
*/
|
|
27
|
-
type BatchStreamInput<Param, Key, Deps extends Record<string, DependencyEntry>> = BatchFetchInput<Param, Key, Deps>;
|
|
28
|
-
//#endregion
|
|
29
|
-
//#region src/internal/family.d.ts
|
|
30
|
-
type AtomFamilyBaseOptions<Param, Key = Param> = {
|
|
31
|
-
stalePolicy?: StalePolicy;
|
|
32
|
-
retry?: boolean | number;
|
|
33
|
-
retryDelay?: RetryDelay;
|
|
34
|
-
cachePolicy?: "keep-all" | "lru";
|
|
35
|
-
lruSize?: number;
|
|
36
|
-
debugLabel?: string;
|
|
37
|
-
/**
|
|
38
|
-
* If `false`, the store will not auto-invalidate the atom after a successful `write`.
|
|
39
|
-
* Use this when the family's `write` writes the authoritative next value via
|
|
40
|
-
* `ctx.setOptimisticValue` and there is no need to re-run `read` to converge.
|
|
41
|
-
* Defaults to `true` (matches the typical CRUD pattern: `write` mutates the server,
|
|
42
|
-
* `read` then refetches the canonical state).
|
|
43
|
-
*/
|
|
44
|
-
invalidateAfterWrite?: boolean;
|
|
45
|
-
/**
|
|
46
|
-
* Optional function to derive a stable cache key from `param`.
|
|
47
|
-
* Use when `Param` is an object and you want equality-by-value semantics.
|
|
48
|
-
* The returned key is used for all cache operations (get, set, LRU, invalidate, remove).
|
|
49
|
-
* The original `param` is still passed to `read`, `write`, and `dependencies`.
|
|
50
|
-
*
|
|
51
|
-
* For plain objects/arrays you can use `stableFamilyKey` from `@kdeveloper/kvark/family`.
|
|
52
|
-
* Treat the param object as immutable after the first call — `stableFamilyKey` memoises
|
|
53
|
-
* by object reference via a WeakMap.
|
|
54
|
-
*/
|
|
55
|
-
paramKey?: (param: Param) => Key;
|
|
56
|
-
};
|
|
57
|
-
type AtomFamilyGetOptions<Param, Value, Deps extends Record<string, DependencyEntry>, Args extends readonly unknown[], Key = Param> = AtomFamilyBaseOptions<Param, Key> & {
|
|
58
|
-
dependencies?: (param: Param) => Deps;
|
|
59
|
-
read: (param: Param) => (ctx: AtomContext<Deps>) => Promise<Value>;
|
|
60
|
-
write?: (param: Param) => (ctx: WritableAtomContext<Deps, Value>, ...args: Args) => Promise<void>;
|
|
61
|
-
stream?: never;
|
|
62
|
-
reduce?: never;
|
|
63
|
-
initialValue?: never;
|
|
64
|
-
batch?: never;
|
|
65
|
-
};
|
|
66
|
-
/**
|
|
67
|
-
* Streaming variant of `atomFamily` (non-batched). Mirrors `atom({ stream, reduce, initialValue })`,
|
|
68
|
-
* but with a `param` curried in front so each member of the family can build its own iterable
|
|
69
|
-
* (e.g. SSE / WebSocket subscription scoped to `param`).
|
|
70
|
-
*/
|
|
71
|
-
type AtomFamilyStreamOptions<Param, Value, Chunk, Deps extends Record<string, DependencyEntry>, Args extends readonly unknown[], Key = Param> = AtomFamilyBaseOptions<Param, Key> & {
|
|
72
|
-
dependencies?: (param: Param) => Deps;
|
|
73
|
-
/**
|
|
74
|
-
* Initial value used at the start of every `stream` run (including
|
|
75
|
-
* re-runs after invalidation). Provide a function to derive a per-param
|
|
76
|
-
* initial value.
|
|
77
|
-
*/
|
|
78
|
-
initialValue: Value | ((param: Param) => Value);
|
|
79
|
-
stream: (param: Param) => (ctx: AtomContext<Deps>) => AsyncIterable<Chunk> | Promise<AsyncIterable<Chunk>>;
|
|
80
|
-
reduce: (param: Param) => (value: Value, chunk: Chunk, ctx: AtomContext<Deps>) => Value | Promise<Value>;
|
|
81
|
-
write?: (param: Param) => (ctx: WritableAtomContext<Deps, Value>, ...args: Args) => Promise<void>;
|
|
82
|
-
read?: never;
|
|
83
|
-
batch?: never;
|
|
84
|
-
};
|
|
85
|
-
type AtomFamilyBatchFetchConfig<Param, Value, Deps extends Record<string, DependencyEntry>, Key> = {
|
|
86
|
-
fetch: (input: BatchFetchInput<Param, Key, Deps>) => Promise<Map<Key, Value>>;
|
|
87
|
-
scheduler?: BatchScheduler;
|
|
88
|
-
stream?: never;
|
|
89
|
-
reduce?: never;
|
|
90
|
-
initialValue?: never;
|
|
91
|
-
};
|
|
92
|
-
type AtomFamilyBatchStreamConfig<Param, Value, Chunk, Deps extends Record<string, DependencyEntry>, Key> = {
|
|
93
|
-
/**
|
|
94
|
-
* Streaming batch fetcher. Each yielded `Map<Key, Chunk>` routes its entries to
|
|
95
|
-
* the matching member atoms; chunks for keys that are not currently subscribed
|
|
96
|
-
* are ignored.
|
|
97
|
-
*/
|
|
98
|
-
stream: (input: BatchStreamInput<Param, Key, Deps>) => AsyncIterable<Map<Key, Chunk>> | Promise<AsyncIterable<Map<Key, Chunk>>>;
|
|
99
|
-
reduce: (value: Value, chunk: Chunk, ctx: AtomContext<Deps>) => Value | Promise<Value>;
|
|
100
|
-
initialValue: Value | ((param: Param) => Value);
|
|
101
|
-
scheduler?: BatchScheduler;
|
|
102
|
-
fetch?: never;
|
|
103
|
-
};
|
|
104
|
-
type AtomFamilyBatchOptions<Param, Value, Deps extends Record<string, DependencyEntry>, Key = Param, Chunk = never> = AtomFamilyBaseOptions<Param, Key> & {
|
|
105
|
-
/**
|
|
106
|
-
* In batch mode `dependencies` takes **no param** — the same set of dependency atoms
|
|
107
|
-
* is shared by every member of the family. This ensures that `ctx` passed to `batch.fetch`
|
|
108
|
-
* (or `batch.stream`) is valid for the entire batch.
|
|
109
|
-
*/
|
|
110
|
-
dependencies?: () => Deps;
|
|
111
|
-
batch: AtomFamilyBatchFetchConfig<Param, Value, Deps, Key> | AtomFamilyBatchStreamConfig<Param, Value, Chunk, Deps, Key>;
|
|
112
|
-
read?: never;
|
|
113
|
-
write?: never;
|
|
114
|
-
stream?: never;
|
|
115
|
-
reduce?: never;
|
|
116
|
-
initialValue?: never;
|
|
117
|
-
};
|
|
118
|
-
type AtomFamilyOptions<Param, Value, Deps extends Record<string, DependencyEntry>, Args extends readonly unknown[], Key = Param, Chunk = never> = AtomFamilyGetOptions<Param, Value, Deps, Args, Key> | AtomFamilyStreamOptions<Param, Value, Chunk, Deps, Args, Key> | AtomFamilyBatchOptions<Param, Value, Deps, Key, Chunk>;
|
|
119
|
-
interface AtomFamily<Param, Value, Key = Param> {
|
|
120
|
-
(param: Param): Atom<Value>;
|
|
121
|
-
invalidate(param: Param): void;
|
|
122
|
-
invalidateAll(): void;
|
|
123
|
-
has(param: Param): boolean;
|
|
124
|
-
peek(param: Param): Atom<Value> | undefined;
|
|
125
|
-
remove(param: Param): void;
|
|
126
|
-
clear(): void;
|
|
127
|
-
getCache(): ReadonlyMap<Key, Atom<Value>>;
|
|
128
|
-
}
|
|
129
|
-
declare function atomFamily<Param, Value, Deps extends Record<string, DependencyEntry> = Record<never, never>, Args extends readonly unknown[] = readonly [], Key = Param, Chunk = never>(options: AtomFamilyOptions<Param, Value, Deps, Args, Key, Chunk>): AtomFamily<Param, Value, Key>;
|
|
130
|
-
//#endregion
|
|
131
4
|
//#region src/internal/stable-family-key.d.ts
|
|
132
5
|
/**
|
|
133
6
|
* Produces a deterministic string key for plain-object/array/primitive values.
|
|
@@ -142,5 +15,5 @@ declare function atomFamily<Param, Value, Deps extends Record<string, Dependency
|
|
|
142
15
|
*/
|
|
143
16
|
declare function stableFamilyKey(value: unknown): string;
|
|
144
17
|
//#endregion
|
|
145
|
-
export { type Atom, type AtomConfig, type AtomContext, type AtomFamily, type AtomFamilyBatchOptions, type AtomFamilyGetOptions, type AtomFamilyOptions, type AtomFamilyStreamOptions, type AtomState, type AtomValue, type BatchFetchInput, type BatchScheduler, type BatchSchedulerContext, type BatchStreamInput, type InfiniteData, type InfinityAtomFamily, type InfinityAtomFamilyOptions, type InfinityAtomOptions, type InfinityFamilyAtom, type Mutation, type MutationContext, type Register, type RegisteredContext, type StalePolicy, type Store, type StoreClient, type StoreInspection, type StoreOptions, type WritableAtom, atom, atomFamily, createStore, infinityAtom, infinityAtomFamily, maxBatchSizeScheduler, microtaskScheduler, mutation, stableFamilyKey, windowScheduler, windowedFiniteBatchScheduler };
|
|
18
|
+
export { type Atom, type AtomConfig, type AtomContext, type AtomFamily, type AtomFamilyBatchOptions, type AtomFamilyGetOptions, type AtomFamilyOptions, type AtomFamilyStreamOptions, type AtomState, type AtomValue, type BatchFetchInput, type BatchScheduler, type BatchSchedulerContext, type BatchStreamInput, type DependencyOverride, type DependencyOverrideEntry, type InfiniteData, type InfinityAtomFamily, type InfinityAtomFamilyOptions, type InfinityAtomOptions, type InfinityFamilyAtom, type Mutation, type MutationContext, type Register, type RegisteredContext, type StalePolicy, type Store, type StoreClient, type StoreInspection, type StoreOptions, type WritableAtom, atom, atomFamily, createStore, infinityAtom, infinityAtomFamily, maxBatchSizeScheduler, microtaskScheduler, mutation, stableFamilyKey, windowScheduler, windowedFiniteBatchScheduler };
|
|
146
19
|
//# sourceMappingURL=family.d.ts.map
|
package/dist/family.js
CHANGED
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
import { a as microtaskScheduler,
|
|
1
|
+
import { a as microtaskScheduler, f as atom, i as maxBatchSizeScheduler, l as stableFamilyKey, n as mutation, o as windowScheduler, r as atomFamily, s as windowedFiniteBatchScheduler, t as createStore } from "./store-BAe5XNQY.js";
|
|
2
|
+
import { n as infinityAtom, t as infinityAtomFamily } from "./infinity-atom-family-d5CFnMGY.js";
|
|
2
3
|
export { atom, atomFamily, createStore, infinityAtom, infinityAtomFamily, maxBatchSizeScheduler, microtaskScheduler, mutation, stableFamilyKey, windowScheduler, windowedFiniteBatchScheduler };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { A as
|
|
2
|
-
export { Atom, AtomArgs, AtomConfig, AtomContext, AtomState, AtomValue, InfiniteData, InfinityAtomFamily, InfinityAtomFamilyOptions, InfinityAtomOptions, InfinityFamilyAtom, IsWritable, Mutation, MutationContext, ReadAtomConfig, Register, RegisteredContext, RetryDelay, SimpleAtomOptions, SimpleAtomWriteArg, StalePolicy, Store, StoreClient, StoreInspection, StoreOptions, StreamAtomConfig, WritableAtom, WritableAtomContext, atom, createStore, infinityAtom, infinityAtomFamily, mutation };
|
|
1
|
+
import { A as infinityAtomFamily, C as StoreOptions, D as InfinityAtomFamily, E as mutation, F as SimpleAtomWriteArg, I as atom, M as InfinityAtomOptions, N as infinityAtom, O as InfinityAtomFamilyOptions, P as SimpleAtomOptions, S as StoreInspection, T as Mutation, _ as RegisteredContext, a as AtomState, b as Store, c as IsWritable, d as RetryDelay, f as StalePolicy, g as Register, h as WritableAtomContext, i as AtomContext, j as InfiniteData, k as InfinityFamilyAtom, l as MutationContext, m as WritableAtom, n as AtomArgs, o as AtomValue, p as StreamAtomConfig, r as AtomConfig, t as Atom, u as ReadAtomConfig, v as DependencyOverride, w as createStore, x as StoreClient, y as DependencyOverrideEntry } from "./types-GIwtmktJ.js";
|
|
2
|
+
export { Atom, AtomArgs, AtomConfig, AtomContext, AtomState, AtomValue, DependencyOverride, DependencyOverrideEntry, InfiniteData, InfinityAtomFamily, InfinityAtomFamilyOptions, InfinityAtomOptions, InfinityFamilyAtom, IsWritable, Mutation, MutationContext, ReadAtomConfig, Register, RegisteredContext, RetryDelay, SimpleAtomOptions, SimpleAtomWriteArg, StalePolicy, Store, StoreClient, StoreInspection, StoreOptions, StreamAtomConfig, WritableAtom, WritableAtomContext, atom, createStore, infinityAtom, infinityAtomFamily, mutation };
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { f as atom, n as mutation, t as createStore } from "./store-BAe5XNQY.js";
|
|
2
|
+
import { n as infinityAtom, t as infinityAtomFamily } from "./infinity-atom-family-d5CFnMGY.js";
|
|
2
3
|
export { atom, createStore, infinityAtom, infinityAtomFamily, mutation };
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
import { n as FAMILY_LINK } from "./types-B2mzc3A5.js";
|
|
2
|
+
import { c as createFamilyParamKeyDevTracker, d as LruCache, f as atom, u as isDev } from "./store-BAe5XNQY.js";
|
|
3
|
+
//#region src/internal/infinity-atom.ts
|
|
4
|
+
function infinityAtom(options) {
|
|
5
|
+
function applyMaxPages(pages, cursors) {
|
|
6
|
+
if (options.maxPages != null && pages.length > options.maxPages) {
|
|
7
|
+
const excess = pages.length - options.maxPages;
|
|
8
|
+
return {
|
|
9
|
+
pages: pages.slice(excess),
|
|
10
|
+
cursors: cursors.slice(excess)
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
return {
|
|
14
|
+
pages,
|
|
15
|
+
cursors
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
function buildResult(pages, pageCursors) {
|
|
19
|
+
const trimmed = applyMaxPages(pages, pageCursors);
|
|
20
|
+
const lastPage = trimmed.pages[trimmed.pages.length - 1];
|
|
21
|
+
const nextCursor = lastPage != null ? options.getNextCursor(lastPage, trimmed.pages) : void 0;
|
|
22
|
+
return {
|
|
23
|
+
pages: trimmed.pages,
|
|
24
|
+
pageCursors: trimmed.cursors,
|
|
25
|
+
hasNextPage: nextCursor != null,
|
|
26
|
+
isFetchingNextPage: false
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
const config = {
|
|
30
|
+
invalidateAfterWrite: false,
|
|
31
|
+
read: async (ctx) => {
|
|
32
|
+
const prev = ctx.getPreviousValue();
|
|
33
|
+
if (prev == null) return buildResult([await options.queryFn({
|
|
34
|
+
cursor: options.initialCursor,
|
|
35
|
+
signal: ctx.signal,
|
|
36
|
+
global: ctx.global
|
|
37
|
+
})], [options.initialCursor]);
|
|
38
|
+
const pages = [];
|
|
39
|
+
const pageCursors = [];
|
|
40
|
+
for (const cursor of prev.pageCursors) {
|
|
41
|
+
const page = await options.queryFn({
|
|
42
|
+
cursor,
|
|
43
|
+
signal: ctx.signal,
|
|
44
|
+
global: ctx.global
|
|
45
|
+
});
|
|
46
|
+
pages.push(page);
|
|
47
|
+
pageCursors.push(cursor);
|
|
48
|
+
}
|
|
49
|
+
return buildResult(pages, pageCursors);
|
|
50
|
+
},
|
|
51
|
+
write: async (ctx, action) => {
|
|
52
|
+
if (action !== "loadNext") return;
|
|
53
|
+
const current = ctx.getPreviousValue();
|
|
54
|
+
if (current == null || !current.hasNextPage) return;
|
|
55
|
+
const lastPage = current.pages[current.pages.length - 1];
|
|
56
|
+
if (lastPage == null) return;
|
|
57
|
+
const nextCursor = options.getNextCursor(lastPage, current.pages);
|
|
58
|
+
if (nextCursor == null) return;
|
|
59
|
+
ctx.setOptimisticValue({
|
|
60
|
+
...current,
|
|
61
|
+
isFetchingNextPage: true
|
|
62
|
+
});
|
|
63
|
+
const page = await options.queryFn({
|
|
64
|
+
cursor: nextCursor,
|
|
65
|
+
signal: ctx.signal,
|
|
66
|
+
global: ctx.global
|
|
67
|
+
});
|
|
68
|
+
const pages = [...current.pages, page];
|
|
69
|
+
const pageCursors = [...current.pageCursors, nextCursor];
|
|
70
|
+
ctx.setOptimisticValue(buildResult(pages, pageCursors));
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
if (options.debugLabel != null) config.debugLabel = options.debugLabel;
|
|
74
|
+
if (options.stalePolicy != null) config.stalePolicy = options.stalePolicy;
|
|
75
|
+
if (options.retry != null) config.retry = options.retry;
|
|
76
|
+
if (options.retryDelay != null) config.retryDelay = options.retryDelay;
|
|
77
|
+
if (options.dependencies != null) config.dependencies = options.dependencies;
|
|
78
|
+
return atom(config);
|
|
79
|
+
}
|
|
80
|
+
//#endregion
|
|
81
|
+
//#region src/internal/infinity-atom-family.ts
|
|
82
|
+
function infinityAtomFamily(options) {
|
|
83
|
+
const cache = new LruCache(options.cachePolicy === "lru" ? options.lruSize ?? 100 : Infinity);
|
|
84
|
+
const storeCallbacks = /* @__PURE__ */ new Set();
|
|
85
|
+
const link = {
|
|
86
|
+
invalidateAtom(target) {
|
|
87
|
+
for (const cb of storeCallbacks) cb(target);
|
|
88
|
+
},
|
|
89
|
+
registerStore(cb) {
|
|
90
|
+
storeCallbacks.add(cb);
|
|
91
|
+
return () => {
|
|
92
|
+
storeCallbacks.delete(cb);
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
};
|
|
96
|
+
const devTracker = isDev ? createFamilyParamKeyDevTracker({
|
|
97
|
+
hasParamKey: options.paramKey != null,
|
|
98
|
+
debugLabel: options.debugLabel
|
|
99
|
+
}) : null;
|
|
100
|
+
function keyOf(param) {
|
|
101
|
+
const key = options.paramKey != null ? options.paramKey(param) : param;
|
|
102
|
+
devTracker?.track(param, key);
|
|
103
|
+
return key;
|
|
104
|
+
}
|
|
105
|
+
function attachLink(target) {
|
|
106
|
+
target[FAMILY_LINK] = link;
|
|
107
|
+
}
|
|
108
|
+
function buildAtomOptions(param, key) {
|
|
109
|
+
const opts = {
|
|
110
|
+
initialCursor: options.initialCursor(param),
|
|
111
|
+
queryFn: options.queryFn(param),
|
|
112
|
+
getNextCursor: options.getNextCursor(param)
|
|
113
|
+
};
|
|
114
|
+
if (options.maxPages != null) opts.maxPages = options.maxPages;
|
|
115
|
+
if (options.stalePolicy != null) opts.stalePolicy = options.stalePolicy;
|
|
116
|
+
if (options.retry != null) opts.retry = options.retry;
|
|
117
|
+
if (options.retryDelay != null) opts.retryDelay = options.retryDelay;
|
|
118
|
+
if (options.dependencies != null) opts.dependencies = options.dependencies(param);
|
|
119
|
+
if (options.debugLabel != null) {
|
|
120
|
+
const labelSuffix = options.paramKey != null ? String(key) : String(param);
|
|
121
|
+
opts.debugLabel = `${options.debugLabel}(${labelSuffix})`;
|
|
122
|
+
}
|
|
123
|
+
return opts;
|
|
124
|
+
}
|
|
125
|
+
function getOrCreate(param) {
|
|
126
|
+
const key = keyOf(param);
|
|
127
|
+
const cached = cache.get(key);
|
|
128
|
+
if (cached != null) return cached;
|
|
129
|
+
const created = infinityAtom(buildAtomOptions(param, key));
|
|
130
|
+
attachLink(created);
|
|
131
|
+
cache.set(key, created);
|
|
132
|
+
return created;
|
|
133
|
+
}
|
|
134
|
+
const family = getOrCreate;
|
|
135
|
+
family.invalidate = (param) => {
|
|
136
|
+
const cached = cache.peek(keyOf(param));
|
|
137
|
+
if (cached != null) link.invalidateAtom(cached);
|
|
138
|
+
};
|
|
139
|
+
family.invalidateAll = () => {
|
|
140
|
+
for (const cached of cache.values()) link.invalidateAtom(cached);
|
|
141
|
+
};
|
|
142
|
+
family.has = (param) => cache.peek(keyOf(param)) != null;
|
|
143
|
+
family.peek = (param) => cache.peek(keyOf(param));
|
|
144
|
+
family.remove = (param) => {
|
|
145
|
+
cache.delete(keyOf(param));
|
|
146
|
+
};
|
|
147
|
+
family.clear = () => {
|
|
148
|
+
cache.clear();
|
|
149
|
+
};
|
|
150
|
+
family.getCache = () => cache.asReadonlyMap();
|
|
151
|
+
return family;
|
|
152
|
+
}
|
|
153
|
+
//#endregion
|
|
154
|
+
export { infinityAtom as n, infinityAtomFamily as t };
|
|
155
|
+
|
|
156
|
+
//# sourceMappingURL=infinity-atom-family-d5CFnMGY.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"infinity-atom-family-d5CFnMGY.js","names":[],"sources":["../src/internal/infinity-atom.ts","../src/internal/infinity-atom-family.ts"],"mappings":"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"}
|
package/dist/preact/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { T as Mutation, b as Store, m as WritableAtom, t as Atom, x as StoreClient } from "../types-GIwtmktJ.js";
|
|
2
2
|
import { ComponentChildren, VNode } from "preact";
|
|
3
3
|
|
|
4
4
|
//#region src/preact/atom-cancellation-scope.d.ts
|
package/dist/preact/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as getAtomValueResult } from "../use-atom-value-
|
|
1
|
+
import { t as getAtomValueResult } from "../use-atom-value-BiN9catp.js";
|
|
2
2
|
import { createContext } from "preact";
|
|
3
3
|
import { useCallback, useContext, useEffect, useMemo, useReducer, useRef } from "preact/hooks";
|
|
4
4
|
import { jsx } from "preact/jsx-runtime";
|
package/dist/react/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { T as Mutation, b as Store, m as WritableAtom, t as Atom, x as StoreClient } from "../types-GIwtmktJ.js";
|
|
2
2
|
import { ReactNode } from "react";
|
|
3
3
|
|
|
4
4
|
//#region src/react/atom-cancellation-scope.d.ts
|
package/dist/react/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as getAtomValueResult } from "../use-atom-value-
|
|
1
|
+
import { t as getAtomValueResult } from "../use-atom-value-BiN9catp.js";
|
|
2
2
|
import { createContext, useCallback, useContext, useEffect, useMemo, useReducer, useRef } from "react";
|
|
3
3
|
import { jsx } from "react/jsx-runtime";
|
|
4
4
|
//#region src/react/provider.tsx
|
|
@@ -56,84 +56,6 @@ function fromInitialValue(initialValue, options) {
|
|
|
56
56
|
};
|
|
57
57
|
}
|
|
58
58
|
//#endregion
|
|
59
|
-
//#region src/internal/infinity-atom.ts
|
|
60
|
-
function infinityAtom(options) {
|
|
61
|
-
function applyMaxPages(pages, cursors) {
|
|
62
|
-
if (options.maxPages != null && pages.length > options.maxPages) {
|
|
63
|
-
const excess = pages.length - options.maxPages;
|
|
64
|
-
return {
|
|
65
|
-
pages: pages.slice(excess),
|
|
66
|
-
cursors: cursors.slice(excess)
|
|
67
|
-
};
|
|
68
|
-
}
|
|
69
|
-
return {
|
|
70
|
-
pages,
|
|
71
|
-
cursors
|
|
72
|
-
};
|
|
73
|
-
}
|
|
74
|
-
function buildResult(pages, pageCursors) {
|
|
75
|
-
const trimmed = applyMaxPages(pages, pageCursors);
|
|
76
|
-
const lastPage = trimmed.pages[trimmed.pages.length - 1];
|
|
77
|
-
const nextCursor = lastPage != null ? options.getNextCursor(lastPage, trimmed.pages) : void 0;
|
|
78
|
-
return {
|
|
79
|
-
pages: trimmed.pages,
|
|
80
|
-
pageCursors: trimmed.cursors,
|
|
81
|
-
hasNextPage: nextCursor != null,
|
|
82
|
-
isFetchingNextPage: false
|
|
83
|
-
};
|
|
84
|
-
}
|
|
85
|
-
const config = {
|
|
86
|
-
invalidateAfterWrite: false,
|
|
87
|
-
read: async (ctx) => {
|
|
88
|
-
const prev = ctx.getPreviousValue();
|
|
89
|
-
if (prev == null) return buildResult([await options.queryFn({
|
|
90
|
-
cursor: options.initialCursor,
|
|
91
|
-
signal: ctx.signal,
|
|
92
|
-
global: ctx.global
|
|
93
|
-
})], [options.initialCursor]);
|
|
94
|
-
const pages = [];
|
|
95
|
-
const pageCursors = [];
|
|
96
|
-
for (const cursor of prev.pageCursors) {
|
|
97
|
-
const page = await options.queryFn({
|
|
98
|
-
cursor,
|
|
99
|
-
signal: ctx.signal,
|
|
100
|
-
global: ctx.global
|
|
101
|
-
});
|
|
102
|
-
pages.push(page);
|
|
103
|
-
pageCursors.push(cursor);
|
|
104
|
-
}
|
|
105
|
-
return buildResult(pages, pageCursors);
|
|
106
|
-
},
|
|
107
|
-
write: async (ctx, action) => {
|
|
108
|
-
if (action !== "loadNext") return;
|
|
109
|
-
const current = ctx.getPreviousValue();
|
|
110
|
-
if (current == null || !current.hasNextPage) return;
|
|
111
|
-
const lastPage = current.pages[current.pages.length - 1];
|
|
112
|
-
if (lastPage == null) return;
|
|
113
|
-
const nextCursor = options.getNextCursor(lastPage, current.pages);
|
|
114
|
-
if (nextCursor == null) return;
|
|
115
|
-
ctx.setOptimisticValue({
|
|
116
|
-
...current,
|
|
117
|
-
isFetchingNextPage: true
|
|
118
|
-
});
|
|
119
|
-
const page = await options.queryFn({
|
|
120
|
-
cursor: nextCursor,
|
|
121
|
-
signal: ctx.signal,
|
|
122
|
-
global: ctx.global
|
|
123
|
-
});
|
|
124
|
-
const pages = [...current.pages, page];
|
|
125
|
-
const pageCursors = [...current.pageCursors, nextCursor];
|
|
126
|
-
ctx.setOptimisticValue(buildResult(pages, pageCursors));
|
|
127
|
-
}
|
|
128
|
-
};
|
|
129
|
-
if (options.debugLabel != null) config.debugLabel = options.debugLabel;
|
|
130
|
-
if (options.stalePolicy != null) config.stalePolicy = options.stalePolicy;
|
|
131
|
-
if (options.retry != null) config.retry = options.retry;
|
|
132
|
-
if (options.retryDelay != null) config.retryDelay = options.retryDelay;
|
|
133
|
-
if (options.dependencies != null) config.dependencies = options.dependencies;
|
|
134
|
-
return atom(config);
|
|
135
|
-
}
|
|
136
|
-
//#endregion
|
|
137
59
|
//#region src/internal/lru-cache.ts
|
|
138
60
|
/**
|
|
139
61
|
* Fixed-capacity cache with O(1) get, set, delete and LRU eviction.
|
|
@@ -400,79 +322,6 @@ function formatKey(value) {
|
|
|
400
322
|
return String(value);
|
|
401
323
|
}
|
|
402
324
|
//#endregion
|
|
403
|
-
//#region src/internal/infinity-atom-family.ts
|
|
404
|
-
function infinityAtomFamily(options) {
|
|
405
|
-
const cache = new LruCache(options.cachePolicy === "lru" ? options.lruSize ?? 100 : Infinity);
|
|
406
|
-
const storeCallbacks = /* @__PURE__ */ new Set();
|
|
407
|
-
const link = {
|
|
408
|
-
invalidateAtom(target) {
|
|
409
|
-
for (const cb of storeCallbacks) cb(target);
|
|
410
|
-
},
|
|
411
|
-
registerStore(cb) {
|
|
412
|
-
storeCallbacks.add(cb);
|
|
413
|
-
return () => {
|
|
414
|
-
storeCallbacks.delete(cb);
|
|
415
|
-
};
|
|
416
|
-
}
|
|
417
|
-
};
|
|
418
|
-
const devTracker = isDev ? createFamilyParamKeyDevTracker({
|
|
419
|
-
hasParamKey: options.paramKey != null,
|
|
420
|
-
debugLabel: options.debugLabel
|
|
421
|
-
}) : null;
|
|
422
|
-
function keyOf(param) {
|
|
423
|
-
const key = options.paramKey != null ? options.paramKey(param) : param;
|
|
424
|
-
devTracker?.track(param, key);
|
|
425
|
-
return key;
|
|
426
|
-
}
|
|
427
|
-
function attachLink(target) {
|
|
428
|
-
target[FAMILY_LINK] = link;
|
|
429
|
-
}
|
|
430
|
-
function buildAtomOptions(param, key) {
|
|
431
|
-
const opts = {
|
|
432
|
-
initialCursor: options.initialCursor(param),
|
|
433
|
-
queryFn: options.queryFn(param),
|
|
434
|
-
getNextCursor: options.getNextCursor(param)
|
|
435
|
-
};
|
|
436
|
-
if (options.maxPages != null) opts.maxPages = options.maxPages;
|
|
437
|
-
if (options.stalePolicy != null) opts.stalePolicy = options.stalePolicy;
|
|
438
|
-
if (options.retry != null) opts.retry = options.retry;
|
|
439
|
-
if (options.retryDelay != null) opts.retryDelay = options.retryDelay;
|
|
440
|
-
if (options.dependencies != null) opts.dependencies = options.dependencies(param);
|
|
441
|
-
if (options.debugLabel != null) {
|
|
442
|
-
const labelSuffix = options.paramKey != null ? String(key) : String(param);
|
|
443
|
-
opts.debugLabel = `${options.debugLabel}(${labelSuffix})`;
|
|
444
|
-
}
|
|
445
|
-
return opts;
|
|
446
|
-
}
|
|
447
|
-
function getOrCreate(param) {
|
|
448
|
-
const key = keyOf(param);
|
|
449
|
-
const cached = cache.get(key);
|
|
450
|
-
if (cached != null) return cached;
|
|
451
|
-
const created = infinityAtom(buildAtomOptions(param, key));
|
|
452
|
-
attachLink(created);
|
|
453
|
-
cache.set(key, created);
|
|
454
|
-
return created;
|
|
455
|
-
}
|
|
456
|
-
const family = getOrCreate;
|
|
457
|
-
family.invalidate = (param) => {
|
|
458
|
-
const cached = cache.peek(keyOf(param));
|
|
459
|
-
if (cached != null) link.invalidateAtom(cached);
|
|
460
|
-
};
|
|
461
|
-
family.invalidateAll = () => {
|
|
462
|
-
for (const cached of cache.values()) link.invalidateAtom(cached);
|
|
463
|
-
};
|
|
464
|
-
family.has = (param) => cache.peek(keyOf(param)) != null;
|
|
465
|
-
family.peek = (param) => cache.peek(keyOf(param));
|
|
466
|
-
family.remove = (param) => {
|
|
467
|
-
cache.delete(keyOf(param));
|
|
468
|
-
};
|
|
469
|
-
family.clear = () => {
|
|
470
|
-
cache.clear();
|
|
471
|
-
};
|
|
472
|
-
family.getCache = () => cache.asReadonlyMap();
|
|
473
|
-
return family;
|
|
474
|
-
}
|
|
475
|
-
//#endregion
|
|
476
325
|
//#region src/internal/family-batch-schedulers.ts
|
|
477
326
|
function microtaskScheduler() {
|
|
478
327
|
let scheduled = false;
|
|
@@ -911,13 +760,19 @@ var Store = class {
|
|
|
911
760
|
#pending = /* @__PURE__ */ new Set();
|
|
912
761
|
#familyUnsubs = /* @__PURE__ */ new Set();
|
|
913
762
|
#registeredFamilies = /* @__PURE__ */ new WeakSet();
|
|
763
|
+
#dependencyOverrides = /* @__PURE__ */ new WeakMap();
|
|
914
764
|
#context;
|
|
765
|
+
#hasDependencyOverrides = false;
|
|
915
766
|
#client = null;
|
|
916
767
|
#flushScheduled = false;
|
|
917
768
|
#disposed = false;
|
|
918
769
|
constructor(...args) {
|
|
919
770
|
const [options] = args;
|
|
920
771
|
this.#context = options?.context;
|
|
772
|
+
if (options?.dependencyOverrides != null) for (const [source, replacement] of options.dependencyOverrides) {
|
|
773
|
+
this.#dependencyOverrides.set(source, replacement);
|
|
774
|
+
this.#hasDependencyOverrides = true;
|
|
775
|
+
}
|
|
921
776
|
}
|
|
922
777
|
#getOrCreate(atom) {
|
|
923
778
|
let entry = this.#atoms.get(atom);
|
|
@@ -940,6 +795,21 @@ var Store = class {
|
|
|
940
795
|
#assertActive() {
|
|
941
796
|
if (this.#disposed) throw new Error("Store has been disposed");
|
|
942
797
|
}
|
|
798
|
+
#resolveDependency(dep) {
|
|
799
|
+
return this.#dependencyOverrides.get(dep) ?? dep;
|
|
800
|
+
}
|
|
801
|
+
#resolveDependencies(deps) {
|
|
802
|
+
if (!this.#hasDependencyOverrides) return deps;
|
|
803
|
+
let resolvedDeps = null;
|
|
804
|
+
for (const [key, dep] of Object.entries(deps)) {
|
|
805
|
+
const resolved = this.#resolveDependency(dep);
|
|
806
|
+
if (resolved !== dep) {
|
|
807
|
+
resolvedDeps ??= { ...deps };
|
|
808
|
+
resolvedDeps[key] = resolved;
|
|
809
|
+
}
|
|
810
|
+
}
|
|
811
|
+
return resolvedDeps ?? deps;
|
|
812
|
+
}
|
|
943
813
|
#abortRead(atom) {
|
|
944
814
|
const entry = this.#atoms.get(atom);
|
|
945
815
|
if (entry?.controller != null) {
|
|
@@ -999,7 +869,7 @@ var Store = class {
|
|
|
999
869
|
}
|
|
1000
870
|
async #runRead(atom) {
|
|
1001
871
|
const config = atom[CONFIG];
|
|
1002
|
-
const dependencies = config.dependencies;
|
|
872
|
+
const dependencies = config.dependencies == null ? void 0 : this.#resolveDependencies(config.dependencies);
|
|
1003
873
|
const stalePolicy = config.stalePolicy ?? "keep";
|
|
1004
874
|
const retryCount = normalizeRetry(config.retry);
|
|
1005
875
|
const retryDelay = config.retryDelay ?? 0;
|
|
@@ -1214,7 +1084,7 @@ var Store = class {
|
|
|
1214
1084
|
if (isAtomFamily(dep)) {
|
|
1215
1085
|
if (rest.length === 0) throw new Error(`Dependency "${String(key)}" is an atomFamily and requires a parameter. Use ctx.read("${String(key)}", param) instead of ctx.read("${String(key)}").`);
|
|
1216
1086
|
const param = rest[0];
|
|
1217
|
-
const target = dep(param);
|
|
1087
|
+
const target = this.#resolveDependency(dep(param));
|
|
1218
1088
|
this.#registerSingleRdep(atom, target);
|
|
1219
1089
|
return this.read(target);
|
|
1220
1090
|
}
|
|
@@ -1295,7 +1165,7 @@ var Store = class {
|
|
|
1295
1165
|
this.#assertActive();
|
|
1296
1166
|
const config = atom[CONFIG];
|
|
1297
1167
|
if (config.write == null) throw new Error(`Atom${atom.debugLabel != null ? ` "${atom.debugLabel}"` : ""} is not writable`);
|
|
1298
|
-
const deps = config.dependencies
|
|
1168
|
+
const deps = config.dependencies == null ? {} : this.#resolveDependencies(config.dependencies);
|
|
1299
1169
|
const baseCtx = this.#makeCtx(atom, deps);
|
|
1300
1170
|
const entry = this.#getOrCreate(atom);
|
|
1301
1171
|
const optimisticSnapshot = { current: null };
|
|
@@ -1479,6 +1349,6 @@ function extractPreviousValue(state) {
|
|
|
1479
1349
|
if (state.status === "error") return state.value;
|
|
1480
1350
|
}
|
|
1481
1351
|
//#endregion
|
|
1482
|
-
export { microtaskScheduler as a,
|
|
1352
|
+
export { microtaskScheduler as a, createFamilyParamKeyDevTracker as c, LruCache as d, atom as f, maxBatchSizeScheduler as i, stableFamilyKey as l, mutation as n, windowScheduler as o, atomFamily as r, windowedFiniteBatchScheduler as s, createStore as t, isDev as u };
|
|
1483
1353
|
|
|
1484
|
-
//# sourceMappingURL=store-
|
|
1354
|
+
//# sourceMappingURL=store-BAe5XNQY.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store-BAe5XNQY.js","names":["#maxSize","#nodeMap","#valueMap","#head","#tail","#moveToMru","#insertBeforeTail","#evict","#detach","#fetch","#scheduler","#queue","#keySet","#flush","#stream","#atoms","#entries","#rdeps","#pending","#familyUnsubs","#registeredFamilies","#dependencyOverrides","#context","#hasDependencyOverrides","#disposed","#resolveDependency","#abortRead","#assertActive","#getOrCreate","#runRead","#abortReadIfUnowned","#resolveDependencies","#registerRdeps","#makeCtx","#runStreamRead","#scheduleNotify","#markStale","#schedulePendingFlush","#cancelRead","#flushScheduled","#flushPending","#markReverseDependentsStale","#registerSingleRdep","#autoRegisterFamily","#relatedOptimisticWrite","#rollbackRelatedSnapshots","#client"],"sources":["../src/internal/atom.ts","../src/internal/lru-cache.ts","../src/internal/is-dev.ts","../src/internal/stable-family-key.ts","../src/internal/family-param-key-dev.ts","../src/internal/family-batch-schedulers.ts","../src/internal/family-batch.ts","../src/internal/family.ts","../src/internal/mutation.ts","../src/internal/store.ts"],"mappings":"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"}
|
package/dist/tests.d.ts
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { C as StoreOptions, F as SimpleAtomWriteArg, _ as RegisteredContext, b as Store, m as WritableAtom, o as AtomValue, s as DependencyEntry, t as Atom, v as DependencyOverride, x as StoreClient, y as DependencyOverrideEntry } from "./types-GIwtmktJ.js";
|
|
2
|
+
import { t as AtomFamily } from "./family-B6CDCsXX.js";
|
|
3
|
+
|
|
4
|
+
//#region src/tests.d.ts
|
|
5
|
+
type TestStoreClient = Pick<StoreClient, "read" | "write">;
|
|
6
|
+
type AtomValueEntry<A extends Atom<unknown> = Atom<unknown>> = readonly [atom: A, value: AtomValue<A>];
|
|
7
|
+
type TestStoreOptions = StoreOptions & {
|
|
8
|
+
values?: readonly AtomValueEntry[];
|
|
9
|
+
};
|
|
10
|
+
type MockAtomRead<Value> = () => Value | Promise<Value>;
|
|
11
|
+
type MockAtomValueOptions<Value> = {
|
|
12
|
+
debugLabel?: string;
|
|
13
|
+
value: Value;
|
|
14
|
+
};
|
|
15
|
+
type MockAtomReadOptions<Value> = {
|
|
16
|
+
debugLabel?: string;
|
|
17
|
+
read: MockAtomRead<Value>;
|
|
18
|
+
};
|
|
19
|
+
type MockAtomErrorOptions = {
|
|
20
|
+
debugLabel?: string;
|
|
21
|
+
error: unknown;
|
|
22
|
+
};
|
|
23
|
+
type MockAtomOptions<Value> = MockAtomValueOptions<Value> | MockAtomReadOptions<Value> | MockAtomErrorOptions;
|
|
24
|
+
type MockAtomFamilyValueOptions<Value> = {
|
|
25
|
+
debugLabel?: string;
|
|
26
|
+
value: Value;
|
|
27
|
+
};
|
|
28
|
+
type MockAtomFamilyGetValueOptions<Param, Value> = {
|
|
29
|
+
debugLabel?: string;
|
|
30
|
+
getValue: (param: Param) => Value | Promise<Value>;
|
|
31
|
+
};
|
|
32
|
+
type MockAtomFamilyErrorOptions<Param> = {
|
|
33
|
+
debugLabel?: string;
|
|
34
|
+
getError?: (param: Param) => unknown;
|
|
35
|
+
error?: unknown;
|
|
36
|
+
};
|
|
37
|
+
type MockAtomFamilyOptions<Param, Value> = MockAtomFamilyValueOptions<Value> | MockAtomFamilyGetValueOptions<Param, Value> | MockAtomFamilyErrorOptions<Param>;
|
|
38
|
+
declare function createTestStore(...args: unknown extends RegisteredContext ? [options?: TestStoreOptions] : [options: TestStoreOptions]): Store;
|
|
39
|
+
declare function mockAtom<Value>(source: Atom<Value>, options: MockAtomValueOptions<Value>): WritableAtom<Value, readonly [SimpleAtomWriteArg<Value>]>;
|
|
40
|
+
declare function mockAtom<Value>(source: Atom<Value>, options: MockAtomReadOptions<Value> | MockAtomErrorOptions): Atom<Value>;
|
|
41
|
+
declare function mockAtomFamily<Param, Value, Key>(source: AtomFamily<Param, Value, Key>, options: MockAtomFamilyOptions<Param, Value>): AtomFamily<Param, Value>;
|
|
42
|
+
declare function withAtomMocks<Deps extends Record<string, DependencyEntry>>(dependencies: Deps, mocks: Partial<Deps>): Deps;
|
|
43
|
+
declare function setAtomValue<Value>(store: TestStoreClient, target: Atom<Value>, value: Value): void;
|
|
44
|
+
declare function setAtomValues(store: TestStoreClient, entries: readonly AtomValueEntry[]): void;
|
|
45
|
+
declare function resolveAtom<Value>(store: TestStoreClient, target: Atom<Value>): Promise<Value>;
|
|
46
|
+
declare function resolveAtoms<const Atoms extends readonly Atom<unknown>[]>(store: TestStoreClient, targets: Atoms): Promise<{ [Index in keyof Atoms]: AtomValue<Atoms[Index]> }>;
|
|
47
|
+
//#endregion
|
|
48
|
+
export { AtomValueEntry, type DependencyOverride, type DependencyOverrideEntry, MockAtomErrorOptions, MockAtomFamilyErrorOptions, MockAtomFamilyGetValueOptions, MockAtomFamilyOptions, MockAtomFamilyValueOptions, MockAtomOptions, MockAtomRead, MockAtomReadOptions, MockAtomValueOptions, TestStoreClient, TestStoreOptions, createTestStore, mockAtom, mockAtomFamily, resolveAtom, resolveAtoms, setAtomValue, setAtomValues, withAtomMocks };
|
|
49
|
+
//# sourceMappingURL=tests.d.ts.map
|
package/dist/tests.js
ADDED
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { f as atom, r as atomFamily, t as createStore } from "./store-BAe5XNQY.js";
|
|
2
|
+
//#region src/tests.ts
|
|
3
|
+
function createTestStore(...args) {
|
|
4
|
+
const [options] = args;
|
|
5
|
+
const values = options?.values;
|
|
6
|
+
const storeOptions = stripTestStoreOptions(options);
|
|
7
|
+
const store = storeOptions == null ? createStore() : createStore(storeOptions);
|
|
8
|
+
if (values != null) setAtomValues(store, values);
|
|
9
|
+
return store;
|
|
10
|
+
}
|
|
11
|
+
function mockAtom(source, options) {
|
|
12
|
+
const debugLabel = mockDebugLabel(source.debugLabel, options.debugLabel);
|
|
13
|
+
if ("value" in options) {
|
|
14
|
+
const initialValue = options.value;
|
|
15
|
+
return atom({
|
|
16
|
+
debugLabel,
|
|
17
|
+
invalidateAfterWrite: false,
|
|
18
|
+
read: async (ctx) => {
|
|
19
|
+
await Promise.resolve();
|
|
20
|
+
const previous = ctx.getPreviousValue();
|
|
21
|
+
return previous === void 0 ? initialValue : previous;
|
|
22
|
+
},
|
|
23
|
+
write: async (ctx, valueOrMutate) => {
|
|
24
|
+
const previous = ctx.getPreviousValue();
|
|
25
|
+
const next = typeof valueOrMutate === "function" ? valueOrMutate(previous === void 0 ? initialValue : previous) : valueOrMutate;
|
|
26
|
+
ctx.setOptimisticValue(next);
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
if ("read" in options) return atom({
|
|
31
|
+
debugLabel,
|
|
32
|
+
read: async () => options.read()
|
|
33
|
+
});
|
|
34
|
+
return atom({
|
|
35
|
+
debugLabel,
|
|
36
|
+
retry: false,
|
|
37
|
+
read: async () => {
|
|
38
|
+
throw options.error;
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
function mockAtomFamily(source, options) {
|
|
43
|
+
return atomFamily({
|
|
44
|
+
debugLabel: options.debugLabel ?? mockFamilyDebugLabel(source),
|
|
45
|
+
retry: false,
|
|
46
|
+
read: (param) => async () => {
|
|
47
|
+
if ("value" in options) return options.value;
|
|
48
|
+
if ("getValue" in options) return options.getValue(param);
|
|
49
|
+
throw options.getError == null ? options.error : options.getError(param);
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
function withAtomMocks(dependencies, mocks) {
|
|
54
|
+
return {
|
|
55
|
+
...dependencies,
|
|
56
|
+
...mocks
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
function setAtomValue(store, target, value) {
|
|
60
|
+
store.write(target, value);
|
|
61
|
+
}
|
|
62
|
+
function setAtomValues(store, entries) {
|
|
63
|
+
for (const [target, value] of entries) store.write(target, value);
|
|
64
|
+
}
|
|
65
|
+
function resolveAtom(store, target) {
|
|
66
|
+
return store.read(target);
|
|
67
|
+
}
|
|
68
|
+
async function resolveAtoms(store, targets) {
|
|
69
|
+
return await Promise.all(targets.map((target) => store.read(target)));
|
|
70
|
+
}
|
|
71
|
+
function stripTestStoreOptions(options) {
|
|
72
|
+
if (options == null) return;
|
|
73
|
+
const { values: _values, ...storeOptions } = options;
|
|
74
|
+
return storeOptions;
|
|
75
|
+
}
|
|
76
|
+
function mockDebugLabel(source, explicit) {
|
|
77
|
+
if (explicit != null) return explicit;
|
|
78
|
+
return source == null ? "mockAtom" : `mock(${source})`;
|
|
79
|
+
}
|
|
80
|
+
function mockFamilyDebugLabel(source) {
|
|
81
|
+
return source.name == null || source.name === "" ? "mockAtomFamily" : `mock(${source.name})`;
|
|
82
|
+
}
|
|
83
|
+
//#endregion
|
|
84
|
+
export { createTestStore, mockAtom, mockAtomFamily, resolveAtom, resolveAtoms, setAtomValue, setAtomValues, withAtomMocks };
|
|
85
|
+
|
|
86
|
+
//# sourceMappingURL=tests.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tests.js","names":[],"sources":["../src/tests.ts"],"mappings":";;AAqEA,SAAgB,gBACd,GAAG,MAGI;CACP,MAAM,CAAC,WAAW;CAClB,MAAM,SAAS,SAAS;CACxB,MAAM,eAAe,sBAAsB,QAAQ;CACnD,MAAM,QAAQ,gBAAgB,OAAO,aAAa,GAAG,YAAY,aAAa;CAE9E,IAAI,UAAU,MACZ,cAAc,OAAO,OAAO;CAG9B,OAAO;;AAWT,SAAgB,SAAgB,QAAqB,SAA8C;CACjG,MAAM,aAAa,eAAe,OAAO,YAAY,QAAQ,WAAW;CAExE,IAAI,WAAW,SAAS;EACtB,MAAM,eAAe,QAAQ;EAC7B,OAAO,KAAK;GACV;GACA,sBAAsB;GACtB,MAAM,OAAO,QAAQ;IACnB,MAAM,QAAQ,SAAS;IACvB,MAAM,WAAW,IAAI,kBAAkB;IACvC,OAAO,aAAa,KAAA,IAAY,eAAe;;GAEjD,OAAO,OAAO,KAAK,kBAA6C;IAC9D,MAAM,WAAW,IAAI,kBAAkB;IAEvC,MAAM,OACJ,OAAO,kBAAkB,aACpB,cAHM,aAAa,KAAA,IAAY,eAAe,SAGA,GAC/C;IACN,IAAI,mBAAmB,KAAK;;GAE/B,CAAC;;CAGJ,IAAI,UAAU,SACZ,OAAO,KAAK;EACV;EACA,MAAM,YAAY,QAAQ,MAAM;EACjC,CAAC;CAGJ,OAAO,KAAK;EACV;EACA,OAAO;EACP,MAAM,YAAY;GAChB,MAAM,QAAQ;;EAEjB,CAAC;;AAGJ,SAAgB,eACd,QACA,SAC0B;CAI1B,OAAO,WAAW;EAChB,YAHA,QAAQ,cAAc,qBAAqB,OAAqC;EAIhF,OAAO;EACP,OAAO,UAAiB,YAAY;GAClC,IAAI,WAAW,SACb,OAAO,QAAQ;GAEjB,IAAI,cAAc,SAChB,OAAO,QAAQ,SAAS,MAAM;GAEhC,MAAM,QAAQ,YAAY,OAAO,QAAQ,QAAQ,QAAQ,SAAS,MAAM;;EAE3E,CAAC;;AAGJ,SAAgB,cACd,cACA,OACM;CACN,OAAO;EAAE,GAAG;EAAc,GAAG;EAAO;;AAGtC,SAAgB,aACd,OACA,QACA,OACM;CACN,MAAM,MAAM,QAAQ,MAAM;;AAG5B,SAAgB,cAAc,OAAwB,SAA0C;CAC9F,KAAK,MAAM,CAAC,QAAQ,UAAU,SAC5B,MAAM,MAAM,QAAQ,MAAM;;AAI9B,SAAgB,YAAmB,OAAwB,QAAqC;CAC9F,OAAO,MAAM,KAAK,OAAO;;AAG3B,eAAsB,aACpB,OACA,SAC8D;CAE9D,OAAO,MADc,QAAQ,IAAI,QAAQ,KAAK,WAAW,MAAM,KAAK,OAAO,CAAC,CAAC;;AAI/E,SAAS,sBAAsB,SAAiE;CAC9F,IAAI,WAAW,MACb;CAGF,MAAM,EAAE,QAAQ,SAAS,GAAG,iBAAiB;CAC7C,OAAO;;AAGT,SAAS,eAAe,QAA4B,UAAsC;CACxF,IAAI,YAAY,MACd,OAAO;CAET,OAAO,UAAU,OAAO,aAAa,QAAQ,OAAO;;AAGtD,SAAS,qBAAqB,QAA4C;CACxE,OAAO,OAAO,QAAQ,QAAQ,OAAO,SAAS,KAAK,mBAAmB,QAAQ,OAAO,KAAK"}
|
|
@@ -133,11 +133,16 @@ interface StoreClient {
|
|
|
133
133
|
inspect(atom: Atom<unknown>): StoreInspection;
|
|
134
134
|
dispose(): void;
|
|
135
135
|
}
|
|
136
|
-
type StoreOptions = unknown extends RegisteredContext ? {
|
|
136
|
+
type StoreOptions = unknown extends RegisteredContext ? StoreBaseOptions & {
|
|
137
137
|
context?: RegisteredContext;
|
|
138
|
-
} : {
|
|
138
|
+
} : StoreBaseOptions & {
|
|
139
139
|
context: RegisteredContext;
|
|
140
140
|
};
|
|
141
|
+
type DependencyOverride<D extends DependencyEntry> = D extends Atom<infer V> ? Atom<V> : D extends AtomFamilyLike<infer P, infer V> ? AtomFamilyLike<P, V> : never;
|
|
142
|
+
type DependencyOverrideEntry<D extends DependencyEntry = DependencyEntry> = readonly [source: D, replacement: DependencyOverride<D>];
|
|
143
|
+
type StoreBaseOptions = {
|
|
144
|
+
dependencyOverrides?: readonly DependencyOverrideEntry[];
|
|
145
|
+
};
|
|
141
146
|
declare class Store {
|
|
142
147
|
#private;
|
|
143
148
|
constructor(...args: unknown extends RegisteredContext ? [options?: StoreOptions] : [options: StoreOptions]);
|
|
@@ -309,5 +314,5 @@ type AtomValue<A> = A extends Atom<infer V> ? V : never;
|
|
|
309
314
|
type IsWritable<A> = A extends WritableAtom<unknown, readonly unknown[]> ? true : false;
|
|
310
315
|
type AtomArgs<A> = A extends WritableAtom<unknown, infer Args> ? Args : never;
|
|
311
316
|
//#endregion
|
|
312
|
-
export {
|
|
313
|
-
//# sourceMappingURL=types-
|
|
317
|
+
export { infinityAtomFamily as A, StoreOptions as C, InfinityAtomFamily as D, mutation as E, SimpleAtomWriteArg as F, atom as I, InfinityAtomOptions as M, infinityAtom as N, InfinityAtomFamilyOptions as O, SimpleAtomOptions as P, StoreInspection as S, Mutation as T, RegisteredContext as _, AtomState as a, Store as b, IsWritable as c, RetryDelay as d, StalePolicy as f, Register as g, WritableAtomContext as h, AtomContext as i, InfiniteData as j, InfinityFamilyAtom as k, MutationContext as l, WritableAtom as m, AtomArgs as n, AtomValue as o, StreamAtomConfig as p, AtomConfig as r, DependencyEntry as s, Atom as t, ReadAtomConfig as u, DependencyOverride as v, createStore as w, StoreClient as x, DependencyOverrideEntry as y };
|
|
318
|
+
//# sourceMappingURL=types-GIwtmktJ.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-atom-value-
|
|
1
|
+
{"version":3,"file":"use-atom-value-BiN9catp.js","names":[],"sources":["../src/internal/use-atom-value.ts"],"mappings":";;AAUA,SAAgB,mBACd,OACA,MACA,UACA,SACA,iBACA,eACsB;CACtB,MAAM,cAA2B,KAAK,QAAQ,eAAe;CAE7D,IAAI,SAAS,WAAW,WAAW;EACjC,iBAAiB;EACjB,MAAM,MAAM,KAAK,KAAK;;CAGxB,IAAI,SAAS,WAAW,SAAS;EAC/B,IAAI,gBAAgB,WAAW;GAC7B,iBAAiB;GACjB,MAAM,MAAM,KAAK,KAAK;;EAExB,MAAW,KAAK,KAAK;EAErB,IAAI,SACF,OAAO;GAAE,OAAO,SAAS;GAAO,SAAS;GAAM,OAAO,KAAA;GAAW;EAEnE,OAAO,SAAS;;CAGlB,IAAI,SAAS,WAAW,SAAS;EAC/B,IAAI,WAAW,SAAS,UAAU,KAAA,GAChC,OAAO;GACL,OAAO,SAAS;GAChB,SAAS;GACT,OAAO,SAAS;GACjB;EAEH,IAAI,iBACF,MAAW,KAAK,KAAK;EAEvB,MAAM,SAAS;;CAGjB,IAAI,SACF,OAAO;EAAE,OAAO,SAAS;EAAO,SAAS;EAAO,OAAO,KAAA;EAAW;CAEpE,OAAO,SAAS"}
|
package/dist/vue/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { T as Mutation, b as Store, m as WritableAtom, t as Atom, x as StoreClient } from "../types-GIwtmktJ.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": "1.
|
|
3
|
+
"version": "1.5.1",
|
|
4
4
|
"description": "Atomic state management with explicit dependency graphs",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"files": [
|
|
@@ -30,6 +30,10 @@
|
|
|
30
30
|
"./family": {
|
|
31
31
|
"types": "./dist/family.d.ts",
|
|
32
32
|
"import": "./dist/family.js"
|
|
33
|
+
},
|
|
34
|
+
"./tests": {
|
|
35
|
+
"types": "./dist/tests.d.ts",
|
|
36
|
+
"import": "./dist/tests.js"
|
|
33
37
|
}
|
|
34
38
|
},
|
|
35
39
|
"devDependencies": {
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"store-DxInm7iX.js","names":["#maxSize","#nodeMap","#valueMap","#head","#tail","#moveToMru","#insertBeforeTail","#evict","#detach","#fetch","#scheduler","#queue","#keySet","#flush","#stream","#atoms","#entries","#rdeps","#pending","#familyUnsubs","#registeredFamilies","#context","#disposed","#abortRead","#assertActive","#getOrCreate","#runRead","#abortReadIfUnowned","#registerRdeps","#makeCtx","#runStreamRead","#scheduleNotify","#markStale","#schedulePendingFlush","#cancelRead","#flushScheduled","#flushPending","#markReverseDependentsStale","#registerSingleRdep","#autoRegisterFamily","#relatedOptimisticWrite","#rollbackRelatedSnapshots","#client"],"sources":["../src/internal/atom.ts","../src/internal/infinity-atom.ts","../src/internal/lru-cache.ts","../src/internal/is-dev.ts","../src/internal/stable-family-key.ts","../src/internal/family-param-key-dev.ts","../src/internal/infinity-atom-family.ts","../src/internal/family-batch-schedulers.ts","../src/internal/family-batch.ts","../src/internal/family.ts","../src/internal/mutation.ts","../src/internal/store.ts"],"mappings":"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"}
|