@kdeveloper/kvark 1.1.0 → 1.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -714,6 +714,10 @@ A built-in helper that serialises plain objects and arrays into a deterministic
714
714
  - Not supported: class instances (other than plain `Object`/`Array`), `Map`, `Set`, `Symbol`, functions, circular references.
715
715
  - Memoises by object reference via a `WeakMap` — repeated calls with the **same object reference** are O(1). Treat param objects as **immutable** after the first call; mutating an object after it has been memoised will silently return the stale key.
716
716
 
717
+ #### Development-only stability check
718
+
719
+ In development builds (`process.env.NODE_ENV !== "production"`), `atomFamily` and `infinityAtomFamily` track how `param` maps to a cache key. If `paramKey` returns a different key for the same param reference, or if you call the family with two different object references that have the same content but no `paramKey` is provided, a `console.warn` is emitted explaining the problem. After 50 such warnings the family throws to interrupt what is almost certainly an infinite-loading loop. The check is fully removed by bundlers in production builds.
720
+
717
721
  ### Batching (`atomFamily` with `batch`)
718
722
 
719
723
  Instead of fetching each atom individually, you can batch multiple concurrent requests into a single call — inspired by [`@yornaath/batshit`](https://www.npmjs.com/package/@yornaath/batshit). Replace `read` with `batch`:
package/dist/family.d.ts CHANGED
@@ -20,6 +20,11 @@ type BatchFetchInput<Param, Key, Deps extends Record<string, DependencyEntry>> =
20
20
  signal: AbortSignal;
21
21
  ctx: AtomContext<Deps>;
22
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>;
23
28
  //#endregion
24
29
  //#region src/internal/family.d.ts
25
30
  type AtomFamilyBaseOptions<Param, Key = Param> = {
@@ -53,23 +58,64 @@ type AtomFamilyGetOptions<Param, Value, Deps extends Record<string, DependencyEn
53
58
  dependencies?: (param: Param) => Deps;
54
59
  read: (param: Param) => (ctx: AtomContext<Deps>) => Promise<Value>;
55
60
  write?: (param: Param) => (ctx: WritableAtomContext<Deps, Value>, ...args: Args) => Promise<void>;
61
+ stream?: never;
62
+ reduce?: never;
63
+ initialValue?: never;
56
64
  batch?: never;
57
65
  };
58
- type AtomFamilyBatchOptions<Param, Value, Deps extends Record<string, DependencyEntry>, Key = Param> = AtomFamilyBaseOptions<Param, Key> & {
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> & {
59
105
  /**
60
106
  * In batch mode `dependencies` takes **no param** — the same set of dependency atoms
61
107
  * is shared by every member of the family. This ensures that `ctx` passed to `batch.fetch`
62
- * is valid for the entire batch.
108
+ * (or `batch.stream`) is valid for the entire batch.
63
109
  */
64
110
  dependencies?: () => Deps;
65
- batch: {
66
- fetch: (input: BatchFetchInput<Param, Key, Deps>) => Promise<Map<Key, Value>>;
67
- scheduler?: BatchScheduler;
68
- };
111
+ batch: AtomFamilyBatchFetchConfig<Param, Value, Deps, Key> | AtomFamilyBatchStreamConfig<Param, Value, Chunk, Deps, Key>;
69
112
  read?: never;
70
113
  write?: never;
114
+ stream?: never;
115
+ reduce?: never;
116
+ initialValue?: never;
71
117
  };
72
- type AtomFamilyOptions<Param, Value, Deps extends Record<string, DependencyEntry>, Args extends readonly unknown[], Key = Param> = AtomFamilyGetOptions<Param, Value, Deps, Args, Key> | AtomFamilyBatchOptions<Param, Value, Deps, Key>;
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>;
73
119
  interface AtomFamily<Param, Value, Key = Param> {
74
120
  (param: Param): Atom<Value>;
75
121
  invalidate(param: Param): void;
@@ -80,7 +126,7 @@ interface AtomFamily<Param, Value, Key = Param> {
80
126
  clear(): void;
81
127
  getCache(): ReadonlyMap<Key, Atom<Value>>;
82
128
  }
83
- declare function atomFamily<Param, Value, Deps extends Record<string, DependencyEntry> = Record<never, never>, Args extends readonly unknown[] = readonly [], Key = Param>(options: AtomFamilyOptions<Param, Value, Deps, Args, Key>): AtomFamily<Param, Value, Key>;
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>;
84
130
  //#endregion
85
131
  //#region src/internal/stable-family-key.d.ts
86
132
  /**
@@ -96,5 +142,5 @@ declare function atomFamily<Param, Value, Deps extends Record<string, Dependency
96
142
  */
97
143
  declare function stableFamilyKey(value: unknown): string;
98
144
  //#endregion
99
- 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 Store, type StoreClient, type StoreInspection, type StoreOptions, type WritableAtom, atom, atomFamily, createStore, infinityAtom, infinityAtomFamily, maxBatchSizeScheduler, microtaskScheduler, mutation, stableFamilyKey, windowScheduler, windowedFiniteBatchScheduler };
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 };
100
146
  //# sourceMappingURL=family.d.ts.map
package/dist/family.js CHANGED
@@ -1,59 +1,2 @@
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-DeTRbkBP.js";
2
- //#region src/internal/stable-family-key.ts
3
- /**
4
- * Produces a deterministic string key for plain-object/array/primitive values.
5
- *
6
- * Supported types: string, number, boolean, null, undefined, bigint,
7
- * plain objects (incl. nested), arrays.
8
- *
9
- * Not supported (throws or produces non-unique output): circular references,
10
- * class instances other than plain Object/Array, Map, Set, Symbol, functions.
11
- * Treat the parameter as immutable — mutating an object after its first key is
12
- * computed via a WeakMap memo will silently return the stale cached key.
13
- */
14
- const memo = /* @__PURE__ */ new WeakMap();
15
- function formatUnknownForError(value) {
16
- switch (typeof value) {
17
- case "string": return JSON.stringify(value);
18
- case "number":
19
- case "boolean":
20
- case "bigint": return String(value);
21
- case "symbol": return value.description ?? "(symbol)";
22
- case "function": return `function ${value.name}`;
23
- default: return "(unknown)";
24
- }
25
- }
26
- function stableFamilyKey(value) {
27
- if (value !== null && typeof value === "object") {
28
- const cached = memo.get(value);
29
- if (cached !== void 0) return cached;
30
- const result = serializeValue(value);
31
- memo.set(value, result);
32
- return result;
33
- }
34
- return serializeValue(value);
35
- }
36
- function serializeValue(value) {
37
- if (value === null) return "null";
38
- if (value === void 0) return "undefined";
39
- const t = typeof value;
40
- if (t === "string") return JSON.stringify(value);
41
- if (t === "number") return String(value);
42
- if (t === "boolean") return String(value);
43
- if (t === "bigint") return `${String(value)}n`;
44
- if (t !== "object") throw new TypeError(`stableFamilyKey: unsupported type "${t}" (${formatUnknownForError(value)})`);
45
- if (Array.isArray(value)) return `[${value.map(serializeValue).join(",")}]`;
46
- const proto = Object.getPrototypeOf(value);
47
- if (proto !== Object.prototype && proto !== null) {
48
- const ctorName = value.constructor?.name ?? "unknown";
49
- throw new TypeError(`stableFamilyKey: only plain objects are supported (got ${ctorName})`);
50
- }
51
- return `{${Object.keys(value).sort().map((k) => {
52
- const v = value[k];
53
- return `${JSON.stringify(k)}:${serializeValue(v)}`;
54
- }).join(",")}}`;
55
- }
56
- //#endregion
1
+ import { a as microtaskScheduler, c as infinityAtomFamily, d as atom, i as maxBatchSizeScheduler, l as stableFamilyKey, n as mutation, o as windowScheduler, r as atomFamily, s as windowedFiniteBatchScheduler, t as createStore, u as infinityAtom } from "./store-CpNQ6odV.js";
57
2
  export { atom, atomFamily, createStore, infinityAtom, infinityAtomFamily, maxBatchSizeScheduler, microtaskScheduler, mutation, stableFamilyKey, windowScheduler, windowedFiniteBatchScheduler };
58
-
59
- //# sourceMappingURL=family.js.map
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-DeTRbkBP.js";
1
+ import { c as infinityAtomFamily, d as atom, n as mutation, t as createStore, u as infinityAtom } from "./store-CpNQ6odV.js";
2
2
  export { atom, createStore, infinityAtom, infinityAtomFamily, mutation };
@@ -245,6 +245,156 @@ function normalizeMaxSize(maxSize) {
245
245
  return Math.max(0, Math.floor(maxSize));
246
246
  }
247
247
  //#endregion
248
+ //#region src/internal/is-dev.ts
249
+ /**
250
+ * Development-mode flag. Mirrors the convention used by React / Preact:
251
+ * checks `process.env.NODE_ENV` at module evaluation time so that bundlers
252
+ * (Vite, Rollup, esbuild, webpack, …) can statically inline the value and
253
+ * tree-shake the guarded branches in production builds.
254
+ *
255
+ * Not exported from the public API; for internal use only.
256
+ */
257
+ const isDev = typeof process !== "undefined" && typeof process.env !== "undefined" && process.env["NODE_ENV"] !== "production";
258
+ //#endregion
259
+ //#region src/internal/stable-family-key.ts
260
+ /**
261
+ * Produces a deterministic string key for plain-object/array/primitive values.
262
+ *
263
+ * Supported types: string, number, boolean, null, undefined, bigint,
264
+ * plain objects (incl. nested), arrays.
265
+ *
266
+ * Not supported (throws or produces non-unique output): circular references,
267
+ * class instances other than plain Object/Array, Map, Set, Symbol, functions.
268
+ * Treat the parameter as immutable — mutating an object after its first key is
269
+ * computed via a WeakMap memo will silently return the stale cached key.
270
+ */
271
+ const memo = /* @__PURE__ */ new WeakMap();
272
+ function formatUnknownForError(value) {
273
+ switch (typeof value) {
274
+ case "string": return JSON.stringify(value);
275
+ case "number":
276
+ case "boolean":
277
+ case "bigint": return String(value);
278
+ case "symbol": return value.description ?? "(symbol)";
279
+ case "function": return `function ${value.name}`;
280
+ default: return "(unknown)";
281
+ }
282
+ }
283
+ function stableFamilyKey(value) {
284
+ if (value !== null && typeof value === "object") {
285
+ const cached = memo.get(value);
286
+ if (cached !== void 0) return cached;
287
+ const result = serializeValue(value);
288
+ memo.set(value, result);
289
+ return result;
290
+ }
291
+ return serializeValue(value);
292
+ }
293
+ function serializeValue(value) {
294
+ if (value === null) return "null";
295
+ if (value === void 0) return "undefined";
296
+ const t = typeof value;
297
+ if (t === "string") return JSON.stringify(value);
298
+ if (t === "number") return String(value);
299
+ if (t === "boolean") return String(value);
300
+ if (t === "bigint") return `${String(value)}n`;
301
+ if (t !== "object") throw new TypeError(`stableFamilyKey: unsupported type "${t}" (${formatUnknownForError(value)})`);
302
+ if (Array.isArray(value)) return `[${value.map(serializeValue).join(",")}]`;
303
+ const proto = Object.getPrototypeOf(value);
304
+ if (proto !== Object.prototype && proto !== null) {
305
+ const ctorName = value.constructor?.name ?? "unknown";
306
+ throw new TypeError(`stableFamilyKey: only plain objects are supported (got ${ctorName})`);
307
+ }
308
+ return `{${Object.keys(value).sort().map((k) => {
309
+ const v = value[k];
310
+ return `${JSON.stringify(k)}:${serializeValue(v)}`;
311
+ }).join(",")}}`;
312
+ }
313
+ //#endregion
314
+ //#region src/internal/family-param-key-dev.ts
315
+ /**
316
+ * Number of unstable paramKey detections after which the tracker throws.
317
+ * Aligns with the React-style convention of warning loudly in development and
318
+ * then hard-failing once the situation looks like an infinite loop.
319
+ */
320
+ const MAX_UNSTABLE_PARAM_KEY_RETRIES = 50;
321
+ /**
322
+ * Detects two classes of unstable cache keys that cause `atomFamily` /
323
+ * `infinityAtomFamily` to create a new atom on every call and therefore loop
324
+ * forever in Suspense / hook-driven render trees:
325
+ *
326
+ * - **A.** `paramKey` is provided but returns a different value for the same
327
+ * `param` (mutable state, impure function).
328
+ * - **B.** `paramKey` is not provided and the same content object is passed by
329
+ * reference more than once (e.g. an inline literal recreated each render).
330
+ *
331
+ * In both cases a `console.warn` is emitted; after
332
+ * `MAX_UNSTABLE_PARAM_KEY_RETRIES` warnings the tracker throws so that the
333
+ * runaway loop surfaces as a real error.
334
+ */
335
+ function createFamilyParamKeyDevTracker(options) {
336
+ const label = options.debugLabel ?? "atomFamily";
337
+ let warningCount = 0;
338
+ const seenObjectParams = /* @__PURE__ */ new WeakMap();
339
+ const seenPrimitiveParams = /* @__PURE__ */ new Map();
340
+ const seenStableKeys = /* @__PURE__ */ new Map();
341
+ function trigger(message) {
342
+ warningCount++;
343
+ console.warn(message);
344
+ if (warningCount >= MAX_UNSTABLE_PARAM_KEY_RETRIES) throw new Error(`${label}: detected ${MAX_UNSTABLE_PARAM_KEY_RETRIES} unstable paramKey resolutions in a row. This almost certainly causes infinite re-fetching. Provide a stable \`paramKey\` (e.g. \`stableFamilyKey\` from \`@kdeveloper/kvark/family\`) or treat param objects as immutable.`);
345
+ }
346
+ function trackParamKeyStability(param, key) {
347
+ if (param !== null && typeof param === "object") {
348
+ if (!seenObjectParams.has(param)) {
349
+ seenObjectParams.set(param, key);
350
+ return;
351
+ }
352
+ const prev = seenObjectParams.get(param);
353
+ if (prev !== key) {
354
+ seenObjectParams.set(param, key);
355
+ trigger(`${label}: \`paramKey\` returned a different key for the same param reference (previous: ${formatKey(prev)}, current: ${formatKey(key)}). paramKey must be a pure function of param; do not derive keys from mutable state.`);
356
+ }
357
+ return;
358
+ }
359
+ if (!seenPrimitiveParams.has(param)) {
360
+ seenPrimitiveParams.set(param, key);
361
+ return;
362
+ }
363
+ const prev = seenPrimitiveParams.get(param);
364
+ if (prev !== key) {
365
+ seenPrimitiveParams.set(param, key);
366
+ trigger(`${label}: \`paramKey\` returned a different key for the same param value (previous: ${formatKey(prev)}, current: ${formatKey(key)}).`);
367
+ }
368
+ }
369
+ function trackMissingParamKey(param) {
370
+ if (param === null || typeof param !== "object") return;
371
+ let stable;
372
+ try {
373
+ stable = stableFamilyKey(param);
374
+ } catch {
375
+ return;
376
+ }
377
+ const firstRef = seenStableKeys.get(stable);
378
+ if (firstRef === void 0) {
379
+ seenStableKeys.set(stable, param);
380
+ return;
381
+ }
382
+ if (firstRef !== param) trigger(`${label}: received two different object references with the same content (${stable}) but no \`paramKey\` was provided, so they were cached as separate atoms. This commonly causes infinite loading in render loops. Pass \`paramKey: stableFamilyKey\` (or another stable key function) to atomFamily.`);
383
+ }
384
+ return { track(param, key) {
385
+ if (options.hasParamKey) {
386
+ trackParamKeyStability(param, key);
387
+ return;
388
+ }
389
+ trackMissingParamKey(param);
390
+ } };
391
+ }
392
+ function formatKey(value) {
393
+ if (typeof value === "string") return JSON.stringify(value);
394
+ if (typeof value === "bigint") return `${String(value)}n`;
395
+ return String(value);
396
+ }
397
+ //#endregion
248
398
  //#region src/internal/infinity-atom-family.ts
249
399
  function infinityAtomFamily(options) {
250
400
  const cache = new LruCache(options.cachePolicy === "lru" ? options.lruSize ?? 100 : Infinity);
@@ -260,8 +410,14 @@ function infinityAtomFamily(options) {
260
410
  };
261
411
  }
262
412
  };
413
+ const devTracker = isDev ? createFamilyParamKeyDevTracker({
414
+ hasParamKey: options.paramKey != null,
415
+ debugLabel: options.debugLabel
416
+ }) : null;
263
417
  function keyOf(param) {
264
- return options.paramKey != null ? options.paramKey(param) : param;
418
+ const key = options.paramKey != null ? options.paramKey(param) : param;
419
+ devTracker?.track(param, key);
420
+ return key;
265
421
  }
266
422
  function attachLink(target) {
267
423
  target[FAMILY_LINK] = link;
@@ -435,6 +591,169 @@ var BatchCoordinator = class {
435
591
  });
436
592
  }
437
593
  };
594
+ function createBuffer() {
595
+ return {
596
+ chunks: [],
597
+ closed: false,
598
+ error: null,
599
+ resolveNext: null,
600
+ rejectNext: null
601
+ };
602
+ }
603
+ function pushChunk(buf, chunk) {
604
+ if (buf.closed) return;
605
+ if (buf.resolveNext != null) {
606
+ const resolve = buf.resolveNext;
607
+ buf.resolveNext = null;
608
+ buf.rejectNext = null;
609
+ resolve({
610
+ value: chunk,
611
+ done: false
612
+ });
613
+ return;
614
+ }
615
+ buf.chunks.push(chunk);
616
+ }
617
+ function closeBuffer(buf, error) {
618
+ if (buf.closed) return;
619
+ buf.closed = true;
620
+ if (error !== void 0) buf.error = error;
621
+ if (buf.resolveNext != null) {
622
+ const resolve = buf.resolveNext;
623
+ const reject = buf.rejectNext;
624
+ buf.resolveNext = null;
625
+ buf.rejectNext = null;
626
+ if (error !== void 0 && reject != null) reject(error);
627
+ else resolve({
628
+ value: void 0,
629
+ done: true
630
+ });
631
+ }
632
+ }
633
+ function bufferIterable(buf) {
634
+ const iterator = {
635
+ [Symbol.asyncIterator]() {
636
+ return iterator;
637
+ },
638
+ next() {
639
+ if (buf.chunks.length > 0) {
640
+ const value = buf.chunks.shift();
641
+ return Promise.resolve({
642
+ value,
643
+ done: false
644
+ });
645
+ }
646
+ if (buf.closed) {
647
+ if (buf.error !== null && buf.error !== void 0) return Promise.reject(buf.error);
648
+ return Promise.resolve({
649
+ value: void 0,
650
+ done: true
651
+ });
652
+ }
653
+ return new Promise((resolve, reject) => {
654
+ buf.resolveNext = resolve;
655
+ buf.rejectNext = reject;
656
+ });
657
+ },
658
+ return() {
659
+ closeBuffer(buf);
660
+ return Promise.resolve({
661
+ value: void 0,
662
+ done: true
663
+ });
664
+ }
665
+ };
666
+ return iterator;
667
+ }
668
+ var StreamBatchCoordinator = class {
669
+ #stream;
670
+ #scheduler;
671
+ #queue = [];
672
+ #keySet = /* @__PURE__ */ new Set();
673
+ constructor(stream, scheduler) {
674
+ this.#stream = stream;
675
+ this.#scheduler = scheduler ?? microtaskScheduler();
676
+ }
677
+ enqueue(key, param, ctx, signal) {
678
+ const buffer = createBuffer();
679
+ const entry = {
680
+ key,
681
+ param,
682
+ ctx,
683
+ signal,
684
+ buffer
685
+ };
686
+ if (signal.aborted) {
687
+ closeBuffer(buffer, new DOMException("The operation was aborted", "AbortError"));
688
+ return bufferIterable(buffer);
689
+ }
690
+ signal.addEventListener("abort", () => {
691
+ closeBuffer(buffer, new DOMException("The operation was aborted", "AbortError"));
692
+ }, { once: true });
693
+ this.#queue.push(entry);
694
+ this.#keySet.add(key);
695
+ this.#scheduler.schedule(() => this.#flush(), { pendingCount: this.#keySet.size });
696
+ return bufferIterable(buffer);
697
+ }
698
+ #flush() {
699
+ if (this.#queue.length === 0) return;
700
+ const entries = this.#queue;
701
+ this.#queue = [];
702
+ this.#keySet = /* @__PURE__ */ new Set();
703
+ this.#scheduler.reset();
704
+ const uniqueKeys = [];
705
+ const uniqueParams = [];
706
+ const entriesByKey = /* @__PURE__ */ new Map();
707
+ for (const entry of entries) {
708
+ let bucket = entriesByKey.get(entry.key);
709
+ if (bucket == null) {
710
+ bucket = [];
711
+ entriesByKey.set(entry.key, bucket);
712
+ uniqueKeys.push(entry.key);
713
+ uniqueParams.push(entry.param);
714
+ }
715
+ bucket.push(entry);
716
+ }
717
+ const firstEntry = entries[0];
718
+ if (firstEntry == null) return;
719
+ const firstCtx = firstEntry.ctx;
720
+ const controller = new AbortController();
721
+ let abortedCount = 0;
722
+ const total = entries.length;
723
+ const onEntryAbort = () => {
724
+ abortedCount++;
725
+ if (abortedCount === total) controller.abort();
726
+ };
727
+ for (const entry of entries) if (entry.signal.aborted) abortedCount++;
728
+ else entry.signal.addEventListener("abort", onEntryAbort, { once: true });
729
+ if (abortedCount === total) controller.abort();
730
+ const closeAll = (error) => {
731
+ for (const entry of entries) if (error !== void 0) closeBuffer(entry.buffer, error);
732
+ else closeBuffer(entry.buffer);
733
+ };
734
+ (async () => {
735
+ try {
736
+ const iterable = await this.#stream({
737
+ keys: uniqueKeys,
738
+ params: uniqueParams,
739
+ signal: controller.signal,
740
+ ctx: firstCtx
741
+ });
742
+ for await (const chunkMap of iterable) {
743
+ if (controller.signal.aborted) break;
744
+ for (const [key, chunk] of chunkMap) {
745
+ const bucket = entriesByKey.get(key);
746
+ if (bucket == null) continue;
747
+ for (const entry of bucket) if (!entry.signal.aborted) pushChunk(entry.buffer, chunk);
748
+ }
749
+ }
750
+ closeAll();
751
+ } catch (error) {
752
+ closeAll(error);
753
+ }
754
+ })();
755
+ }
756
+ };
438
757
  //#endregion
439
758
  //#region src/internal/family.ts
440
759
  function getFamilyLink(target) {
@@ -443,9 +762,28 @@ function getFamilyLink(target) {
443
762
  function atomFamily(options) {
444
763
  const cache = new LruCache(options.cachePolicy === "lru" ? options.lruSize ?? 100 : Infinity);
445
764
  const storeCallbacks = /* @__PURE__ */ new Set();
446
- const coordinator = options.batch != null ? new BatchCoordinator(options.batch.fetch, options.batch.scheduler) : null;
765
+ let fetchCoordinator = null;
766
+ let streamCoordinator = null;
767
+ let batchStreamConfig = null;
768
+ if (options.batch != null) {
769
+ const batch = options.batch;
770
+ if (batch.fetch != null) fetchCoordinator = new BatchCoordinator(batch.fetch, batch.scheduler);
771
+ else {
772
+ batchStreamConfig = batch;
773
+ streamCoordinator = new StreamBatchCoordinator(batchStreamConfig.stream, batchStreamConfig.scheduler);
774
+ }
775
+ }
776
+ const devTracker = isDev ? createFamilyParamKeyDevTracker({
777
+ hasParamKey: options.paramKey != null,
778
+ debugLabel: options.debugLabel
779
+ }) : null;
447
780
  function keyOf(param) {
448
- return options.paramKey != null ? options.paramKey(param) : param;
781
+ const key = options.paramKey != null ? options.paramKey(param) : param;
782
+ devTracker?.track(param, key);
783
+ return key;
784
+ }
785
+ function resolveInitialValue(initial, param) {
786
+ return typeof initial === "function" ? initial(param) : initial;
449
787
  }
450
788
  const link = {
451
789
  invalidateAtom(target) {
@@ -466,36 +804,67 @@ function atomFamily(options) {
466
804
  const cached = cache.get(key);
467
805
  if (cached != null) return cached;
468
806
  let deps;
469
- let readFn;
807
+ let source;
470
808
  let writeFn;
471
- if (coordinator != null) {
809
+ if (fetchCoordinator != null) {
810
+ deps = options.dependencies?.();
811
+ const coord = fetchCoordinator;
812
+ source = {
813
+ kind: "read",
814
+ read: (ctx) => coord.enqueue(key, param, ctx, ctx.signal)
815
+ };
816
+ writeFn = void 0;
817
+ } else if (streamCoordinator != null && batchStreamConfig != null) {
472
818
  deps = options.dependencies?.();
473
- readFn = (ctx) => coordinator.enqueue(key, param, ctx, ctx.signal);
819
+ const coord = streamCoordinator;
820
+ const cfg = batchStreamConfig;
821
+ source = {
822
+ kind: "stream",
823
+ initialValue: resolveInitialValue(cfg.initialValue, param),
824
+ stream: (ctx) => coord.enqueue(key, param, ctx, ctx.signal),
825
+ reduce: cfg.reduce
826
+ };
474
827
  writeFn = void 0;
828
+ } else if (options.stream != null) {
829
+ const streamOptions = options;
830
+ deps = streamOptions.dependencies?.(param);
831
+ source = {
832
+ kind: "stream",
833
+ initialValue: resolveInitialValue(streamOptions.initialValue, param),
834
+ stream: streamOptions.stream(param),
835
+ reduce: streamOptions.reduce(param)
836
+ };
837
+ writeFn = streamOptions.write?.(param);
475
838
  } else {
476
839
  const readOptions = options;
477
840
  deps = readOptions.dependencies?.(param);
478
- readFn = readOptions.read(param);
841
+ source = {
842
+ kind: "read",
843
+ read: readOptions.read(param)
844
+ };
479
845
  writeFn = readOptions.write?.(param);
480
846
  }
481
847
  const labelSuffix = options.paramKey != null ? String(key) : String(param);
482
- const created = createAtom(options.debugLabel != null ? `${options.debugLabel}(${labelSuffix})` : void 0, deps, readFn, writeFn);
848
+ const created = createAtom(options.debugLabel != null ? `${options.debugLabel}(${labelSuffix})` : void 0, deps, source, writeFn);
483
849
  attachLink(created);
484
850
  cache.set(key, created);
485
851
  return created;
486
852
  }
487
- function createAtom(label, deps, readFn, writeFn) {
488
- const base = { read: readFn };
853
+ function createAtom(label, deps, source, writeFn) {
854
+ const base = {};
855
+ if (source.kind === "read") base.read = source.read;
856
+ else {
857
+ base.initialValue = source.initialValue;
858
+ base.stream = source.stream;
859
+ base.reduce = source.reduce;
860
+ }
489
861
  if (label != null) base.debugLabel = label;
490
862
  if (deps != null) base.dependencies = deps;
491
863
  if (options.stalePolicy != null) base.stalePolicy = options.stalePolicy;
492
864
  if (options.retry != null) base.retry = options.retry;
493
865
  if (options.retryDelay != null) base.retryDelay = options.retryDelay;
494
866
  if (options.invalidateAfterWrite != null) base.invalidateAfterWrite = options.invalidateAfterWrite;
495
- if (writeFn != null) {
496
- base.write = writeFn;
497
- return atom(base);
498
- }
867
+ if (writeFn != null) base.write = writeFn;
499
868
  return atom(base);
500
869
  }
501
870
  const family = getOrCreate;
@@ -1064,6 +1433,6 @@ function extractPreviousValue(state) {
1064
1433
  if (state.status === "error") return state.value;
1065
1434
  }
1066
1435
  //#endregion
1067
- 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 };
1436
+ export { microtaskScheduler as a, infinityAtomFamily as c, atom as d, maxBatchSizeScheduler as i, stableFamilyKey as l, mutation as n, windowScheduler as o, atomFamily as r, windowedFiniteBatchScheduler as s, createStore as t, infinityAtom as u };
1068
1437
 
1069
- //# sourceMappingURL=store-DeTRbkBP.js.map
1438
+ //# sourceMappingURL=store-CpNQ6odV.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store-CpNQ6odV.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","#assertActive","#getOrCreate","#runRead","#registerRdeps","#makeCtx","#runStreamRead","#scheduleNotify","#markStale","#schedulePendingFlush","#abortRead","#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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kdeveloper/kvark",
3
- "version": "1.1.0",
3
+ "version": "1.1.2",
4
4
  "description": "Atomic state management with explicit dependency graphs",
5
5
  "license": "MIT",
6
6
  "files": [
@@ -1 +0,0 @@
1
- {"version":3,"file":"family.js","names":[],"sources":["../src/internal/stable-family-key.ts"],"mappings":";;;;;;;;;;;;;AAYA,MAAM,uBAAO,IAAI,SAAyB;AAE1C,SAAS,sBAAsB,OAAwB;CACrD,QAAQ,OAAO,OAAf;EACE,KAAK,UACH,OAAO,KAAK,UAAU,MAAM;EAC9B,KAAK;EACL,KAAK;EACL,KAAK,UACH,OAAO,OAAO,MAAM;EACtB,KAAK,UACH,OAAO,MAAM,eAAe;EAC9B,KAAK,YACH,OAAO,YAAY,MAAM;EAC3B,SACE,OAAO;;;AAIb,SAAgB,gBAAgB,OAAwB;CACtD,IAAI,UAAU,QAAQ,OAAO,UAAU,UAAU;EAC/C,MAAM,SAAS,KAAK,IAAI,MAAM;EAC9B,IAAI,WAAW,KAAA,GACb,OAAO;EAGT,MAAM,SAAS,eAAe,MAAM;EACpC,KAAK,IAAI,OAAO,OAAO;EACvB,OAAO;;CAGT,OAAO,eAAe,MAAM;;AAG9B,SAAS,eAAe,OAAwB;CAC9C,IAAI,UAAU,MACZ,OAAO;CAET,IAAI,UAAU,KAAA,GACZ,OAAO;CAGT,MAAM,IAAI,OAAO;CAEjB,IAAI,MAAM,UACR,OAAO,KAAK,UAAU,MAAM;CAE9B,IAAI,MAAM,UACR,OAAO,OAAO,MAAgB;CAEhC,IAAI,MAAM,WACR,OAAO,OAAO,MAAiB;CAEjC,IAAI,MAAM,UACR,OAAO,GAAG,OAAO,MAAgB,CAAC;CAGpC,IAAI,MAAM,UACR,MAAM,IAAI,UACR,sCAAsC,EAAE,KAAK,sBAAsB,MAAM,CAAC,GAC3E;CAGH,IAAI,MAAM,QAAQ,MAAM,EAEtB,OAAO,IADQ,MAAoB,IAAI,eACvB,CAAC,KAAK,IAAI,CAAC;CAG7B,MAAM,QAAQ,OAAO,eAAe,MAAgB;CACpD,IAAI,UAAU,OAAO,aAAa,UAAU,MAAM;EAChD,MAAM,WAAY,MAA8C,aAAa,QAAQ;EACrF,MAAM,IAAI,UAAU,0DAA0D,SAAS,GAAG;;CAQ5F,OAAO,IALM,OAAO,KAAK,MAAiC,CAAC,MACzC,CAAC,KAAK,MAAM;EAC5B,MAAM,IAAK,MAAkC;EAC7C,OAAO,GAAG,KAAK,UAAU,EAAE,CAAC,GAAG,eAAe,EAAE;GAElC,CAAC,KAAK,IAAI,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"store-DeTRbkBP.js","names":["#maxSize","#nodeMap","#valueMap","#head","#tail","#moveToMru","#insertBeforeTail","#evict","#detach","#fetch","#scheduler","#queue","#keySet","#flush","#atoms","#entries","#rdeps","#pending","#familyUnsubs","#registeredFamilies","#context","#disposed","#assertActive","#getOrCreate","#runRead","#registerRdeps","#makeCtx","#runStreamRead","#scheduleNotify","#markStale","#schedulePendingFlush","#abortRead","#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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"}