storion 0.3.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  import { Focus } from '../types';
2
- import { AsyncState, AsyncMode, AsyncHandler, AsyncOptions, AsyncActions, CancellablePromise, InferAsyncData, MapAsyncData, MapSettledResult, RaceResult } from './types';
2
+ import { AsyncState, AsyncMode, AsyncHandler, AsyncOptions, AsyncActions, CancellablePromise, InferAsyncData, MapAsyncData, MapSettledResult, RaceResult, AsyncKey, AsyncRequestId } from './types';
3
3
 
4
4
  /**
5
5
  * Get the pending promise for an async state (for Suspense).
@@ -12,14 +12,46 @@ export declare function getPendingPromise<T>(state: AsyncState<T, any>): Promise
12
12
  */
13
13
  declare function promiseTry<T>(fn: () => T | PromiseLike<T>): Promise<Awaited<T>>;
14
14
  export declare function async<T, M extends AsyncMode, TArgs extends any[]>(focus: Focus<AsyncState<T, M>>, handler: AsyncHandler<T, TArgs>, options?: AsyncOptions): AsyncActions<T, M, TArgs>;
15
+ /**
16
+ * Extra properties that can be added to async state.
17
+ * @internal
18
+ */
19
+ interface AsyncStateExtra<T> {
20
+ __key?: AsyncKey<T>;
21
+ __requestId?: AsyncRequestId;
22
+ }
23
+ /**
24
+ * Create a frozen AsyncState with the specified status.
25
+ * Users cannot modify properties directly - must use async actions.
26
+ *
27
+ * Overloads:
28
+ * - asyncState("fresh", "idle") - Fresh idle state
29
+ * - asyncState("fresh", "pending", extra?) - Fresh pending state
30
+ * - asyncState("fresh", "success", data) - Fresh success state
31
+ * - asyncState("fresh", "error", error, extra?) - Fresh error state
32
+ * - asyncState("stale", "idle", data) - Stale idle state
33
+ * - asyncState("stale", "pending", data, extra?) - Stale pending state
34
+ * - asyncState("stale", "success", data) - Stale success state
35
+ * - asyncState("stale", "error", data, error, extra?) - Stale error state
36
+ */
37
+ export declare function asyncState<T = unknown>(mode: "fresh", status: "idle"): AsyncState<T, "fresh">;
38
+ export declare function asyncState<T = unknown>(mode: "fresh", status: "pending", extra?: AsyncStateExtra<T>): AsyncState<T, "fresh">;
39
+ export declare function asyncState<T>(mode: "fresh", status: "success", data: T): AsyncState<T, "fresh">;
40
+ export declare function asyncState<T = unknown>(mode: "fresh", status: "error", error: Error, extra?: AsyncStateExtra<T>): AsyncState<T, "fresh">;
41
+ export declare function asyncState<T>(mode: "stale", status: "idle", data: T): AsyncState<T, "stale">;
42
+ export declare function asyncState<T>(mode: "stale", status: "pending", data: T, extra?: AsyncStateExtra<T>): AsyncState<T, "stale">;
43
+ export declare function asyncState<T>(mode: "stale", status: "success", data: T): AsyncState<T, "stale">;
44
+ export declare function asyncState<T>(mode: "stale", status: "error", data: T, error: Error, extra?: AsyncStateExtra<T>): AsyncState<T, "stale">;
15
45
  export declare namespace async {
16
46
  /**
17
47
  * Create a fresh mode async state (data undefined during loading/error).
48
+ * @deprecated Use `asyncState("fresh", "idle")` for explicit state creation
18
49
  */
19
50
  function fresh<T = unknown>(): AsyncState<T, "fresh">;
20
51
  /**
21
52
  * Create a stale mode async state with initial data.
22
53
  * Data is preserved during loading and error states.
54
+ * @deprecated Use `asyncState("stale", "idle", initialData)` for explicit state creation
23
55
  */
24
56
  function stale<T>(initialData: T): AsyncState<T, "stale">;
25
57
  function delay<T = void>(ms: number, resolved?: T): CancellablePromise<T>;
@@ -1 +1 @@
1
- {"version":3,"file":"async.d.ts","sourceRoot":"","sources":["../../src/async/async.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"async.d.ts","sourceRoot":"","sources":["../../src/async/async.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,6 @@
8
8
  * - fresh: data is undefined during loading/error (only show fresh data)
9
9
  * - stale: data is preserved during loading/error (stale-while-revalidate)
10
10
  */
11
- export { async, getPendingPromise } from './async';
11
+ export { async, asyncState, getPendingPromise } from './async';
12
12
  export { AsyncNotReadyError, AsyncAggregateError, type AsyncMode, type AsyncState, type AsyncIdleState, type AsyncIdleStateFresh, type AsyncIdleStateStale, type AsyncPendingState, type AsyncPendingStateFresh, type AsyncPendingStateStale, type AsyncSuccessState, type AsyncErrorState, type AsyncErrorStateFresh, type AsyncErrorStateStale, type AsyncStatus, type AsyncContext, type AsyncHandler, type AsyncOptions, type AsyncRetryOptions, type AsyncActions, type AsyncLastInvocation, type CancellablePromise, type InferAsyncData, type InferAsyncMode, type SettledResult, type MapAsyncData, type MapSettledResult, type RaceResult, type AsyncKey, type SerializedAsyncState, } from './types';
13
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/async/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,UAAU,EACf,KAAK,QAAQ,EACb,KAAK,oBAAoB,GAC1B,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/async/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,UAAU,EACf,KAAK,QAAQ,EACb,KAAK,oBAAoB,GAC1B,MAAM,SAAS,CAAC"}
@@ -261,27 +261,108 @@ function async(focus, handler, options) {
261
261
  last
262
262
  };
263
263
  }
264
+ function asyncState(mode, status, dataOrError, errorOrExtra, extra) {
265
+ let state;
266
+ if (mode === "fresh") {
267
+ switch (status) {
268
+ case "idle":
269
+ state = {
270
+ status: "idle",
271
+ mode: "fresh",
272
+ data: void 0,
273
+ error: void 0,
274
+ timestamp: void 0,
275
+ toJSON: stateToJSON
276
+ };
277
+ break;
278
+ case "pending":
279
+ state = {
280
+ status: "pending",
281
+ mode: "fresh",
282
+ data: void 0,
283
+ error: void 0,
284
+ timestamp: void 0,
285
+ ...dataOrError,
286
+ toJSON: stateToJSON
287
+ };
288
+ break;
289
+ case "success":
290
+ state = {
291
+ status: "success",
292
+ mode: "fresh",
293
+ data: dataOrError,
294
+ error: void 0,
295
+ timestamp: Date.now(),
296
+ toJSON: stateToJSON
297
+ };
298
+ break;
299
+ case "error":
300
+ state = {
301
+ status: "error",
302
+ mode: "fresh",
303
+ data: void 0,
304
+ error: dataOrError,
305
+ timestamp: void 0,
306
+ ...errorOrExtra,
307
+ toJSON: stateToJSON
308
+ };
309
+ break;
310
+ }
311
+ } else {
312
+ switch (status) {
313
+ case "idle":
314
+ state = {
315
+ status: "idle",
316
+ mode: "stale",
317
+ data: dataOrError,
318
+ error: void 0,
319
+ timestamp: void 0,
320
+ toJSON: stateToJSON
321
+ };
322
+ break;
323
+ case "pending":
324
+ state = {
325
+ status: "pending",
326
+ mode: "stale",
327
+ data: dataOrError,
328
+ error: void 0,
329
+ timestamp: void 0,
330
+ ...errorOrExtra,
331
+ toJSON: stateToJSON
332
+ };
333
+ break;
334
+ case "success":
335
+ state = {
336
+ status: "success",
337
+ mode: "stale",
338
+ data: dataOrError,
339
+ error: void 0,
340
+ timestamp: Date.now(),
341
+ toJSON: stateToJSON
342
+ };
343
+ break;
344
+ case "error":
345
+ state = {
346
+ status: "error",
347
+ mode: "stale",
348
+ data: dataOrError,
349
+ error: errorOrExtra,
350
+ timestamp: void 0,
351
+ ...extra,
352
+ toJSON: stateToJSON
353
+ };
354
+ break;
355
+ }
356
+ }
357
+ return Object.freeze(state);
358
+ }
264
359
  ((async2) => {
265
360
  function fresh() {
266
- return {
267
- status: "idle",
268
- mode: "fresh",
269
- data: void 0,
270
- error: void 0,
271
- timestamp: void 0,
272
- toJSON: stateToJSON
273
- };
361
+ return asyncState("fresh", "idle");
274
362
  }
275
363
  async2.fresh = fresh;
276
364
  function stale(initialData) {
277
- return {
278
- status: "idle",
279
- mode: "stale",
280
- data: initialData,
281
- error: void 0,
282
- timestamp: void 0,
283
- toJSON: stateToJSON
284
- };
365
+ return asyncState("stale", "idle", initialData);
285
366
  }
286
367
  async2.stale = stale;
287
368
  function delay(ms, resolved) {
@@ -447,5 +528,6 @@ export {
447
528
  AsyncAggregateError,
448
529
  AsyncNotReadyError,
449
530
  async,
531
+ asyncState,
450
532
  getPendingPromise
451
533
  };
@@ -1,10 +1,10 @@
1
- import { StoreContainer, ContainerOptions, StoreMiddleware } from '../types';
1
+ import { StoreContainer, ContainerOptions, Middleware } from '../types';
2
2
 
3
3
  interface DefaultMiddlewareConfig {
4
4
  /** Middleware to run before container's middleware */
5
- pre?: StoreMiddleware[];
5
+ pre?: Middleware[];
6
6
  /** Middleware to run after container's middleware */
7
- post?: StoreMiddleware[];
7
+ post?: Middleware[];
8
8
  }
9
9
  /**
10
10
  * Container function with static defaults method.
@@ -22,16 +22,10 @@ interface ContainerFn {
22
22
  /**
23
23
  * Create a store container.
24
24
  *
25
- * Container provides resolver methods plus store-specific lifecycle:
26
- * - get(spec): cached instance
27
- * - create(spec): fresh instance
28
- * - set(spec, override): override for DI/testing
29
- * - has(spec): check cache
30
- * - tryGet(spec): get if cached
31
- * - delete(spec): remove from cache
32
- * - clear(): dispose all
33
- * - scope(): child container
25
+ * Container wraps a resolver and adds store-specific features:
26
+ * - get(id): lookup store by instance ID
34
27
  * - onCreate/onDispose: lifecycle events
28
+ * - Ordered disposal (reverse creation order)
35
29
  */
36
30
  export declare const container: ContainerFn;
37
31
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../../src/core/container.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAML,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EAErB,MAAM,UAAU,CAAC;AAUlB,UAAU,uBAAuB;IAC/B,sDAAsD;IACtD,GAAG,CAAC,EAAE,eAAe,EAAE,CAAC;IACxB,qDAAqD;IACrD,IAAI,CAAC,EAAE,eAAe,EAAE,CAAC;CAC1B;AAYD;;GAEG;AACH,UAAU,WAAW;IACnB,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,cAAc,CAAC;IAC7C;;OAEG;IACH,QAAQ,EAAE;QACR,CAAC,MAAM,CAAC,EAAE,uBAAuB,GAAG,IAAI,CAAC;QACzC,KAAK,IAAI,IAAI,CAAC;KACf,CAAC;CACH;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,SAAS,EAAE,WA6SvB,CAAC"}
1
+ {"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../../src/core/container.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAML,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,UAAU,EAEhB,MAAM,UAAU,CAAC;AAWlB,UAAU,uBAAuB;IAC/B,sDAAsD;IACtD,GAAG,CAAC,EAAE,UAAU,EAAE,CAAC;IACnB,qDAAqD;IACrD,IAAI,CAAC,EAAE,UAAU,EAAE,CAAC;CACrB;AAYD;;GAEG;AACH,UAAU,WAAW;IACnB,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,cAAc,CAAC;IAC7C;;OAEG;IACH,QAAQ,EAAE;QACR,CAAC,MAAM,CAAC,EAAE,uBAAuB,GAAG,IAAI,CAAC;QACzC,KAAK,IAAI,IAAI,CAAC;KACf,CAAC;CACH;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,SAAS,EAAE,WAoLvB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"createResolver.d.ts","sourceRoot":"","sources":["../../src/core/createResolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAG/E,YAAY,EACV,OAAO,EACP,UAAU,EACV,iBAAiB,EACjB,QAAQ,EACR,eAAe,GAChB,MAAM,UAAU,CAAC;AAMlB;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,GAAE,eAAoB,GAAG,QAAQ,CAuGtE;AAMD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,IAAI,CAClB,SAAS,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,EACxC,UAAU,EAAE,UAAU,GACrB,UAAU,CAOZ;AAED;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,SAAa,GAAG,UAAU,CAUvE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,GACpD,UAAU,CAMZ"}
1
+ {"version":3,"file":"createResolver.d.ts","sourceRoot":"","sources":["../../src/core/createResolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,KAAK,EACV,OAAO,EAEP,UAAU,EACV,QAAQ,EACR,eAAe,EAIhB,MAAM,UAAU,CAAC;AAIlB,YAAY,EACV,OAAO,EACP,UAAU,EACV,iBAAiB,EACjB,QAAQ,EACR,eAAe,GAChB,MAAM,UAAU,CAAC;AAmClB;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,GAAE,eAAoB,GAAG,QAAQ,CAkKtE;AAMD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,IAAI,CAClB,SAAS,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,EACxC,UAAU,EAAE,UAAU,GACrB,UAAU,CAOZ;AAED;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,SAAa,GAAG,UAAU,CAUvE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,GACpD,UAAU,CAMZ"}
@@ -1 +1 @@
1
- {"version":3,"file":"effect.d.ts","sourceRoot":"","sources":["../../src/core/effect.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAeH;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,uCAAuC;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,mEAAmE;IACnE,KAAK,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC;CAChD;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,gCAAgC;IAChC,KAAK,EAAE,OAAO,CAAC;IACf,2CAA2C;IAC3C,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,4DAA4D;IAC5D,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAC3B,UAAU,GACV,WAAW,GACX,iBAAiB,GACjB,CAAC,CAAC,OAAO,EAAE,kBAAkB,KAAK,IAAI,CAAC,CAAC;AAE5C;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,8BAA8B;IAC9B,OAAO,CAAC,EAAE,mBAAmB,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,oEAAoE;IACpE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACpC;AAMD;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;;;;;;;;;;OAaG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAErB;;;;;;;;OAQG;IACH,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAE7B;;;;;;;;;;;;;OAaG;IACH,SAAS,CAAC,QAAQ,EAAE,YAAY,GAAG,YAAY,CAAC;IAEhD;;;;;;;;;;;OAWG;IACH,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAEzC;;;;;;;;;;;;;OAaG;IACH,IAAI,CAAC,KAAK,SAAS,OAAO,EAAE,EAAE,OAAO,EACnC,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,KAAK,OAAO,GACpC,CAAC,GAAG,IAAI,EAAE,KAAK,KAAK,OAAO,GAAG,SAAS,CAAC;CAC5C;AAmFD;;;GAGG;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,GAAG,EAAE,aAAa,KAAK,IAAI,CAAC;AAsBpD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,wBAAgB,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,YAAY,CA6R1E"}
1
+ {"version":3,"file":"effect.d.ts","sourceRoot":"","sources":["../../src/core/effect.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAgBH;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,uCAAuC;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,mEAAmE;IACnE,KAAK,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC;CAChD;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,gCAAgC;IAChC,KAAK,EAAE,OAAO,CAAC;IACf,2CAA2C;IAC3C,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,4DAA4D;IAC5D,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAC3B,UAAU,GACV,WAAW,GACX,iBAAiB,GACjB,CAAC,CAAC,OAAO,EAAE,kBAAkB,KAAK,IAAI,CAAC,CAAC;AAE5C;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,8BAA8B;IAC9B,OAAO,CAAC,EAAE,mBAAmB,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,oEAAoE;IACpE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACpC;AAMD;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;;;;;;;;;;OAaG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAErB;;;;;;;;OAQG;IACH,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAE7B;;;;;;;;;;;;;OAaG;IACH,SAAS,CAAC,QAAQ,EAAE,YAAY,GAAG,YAAY,CAAC;IAEhD;;;;;;;;;;;OAWG;IACH,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAEzC;;;;;;;;;;;;;OAaG;IACH,IAAI,CAAC,KAAK,SAAS,OAAO,EAAE,EAAE,OAAO,EACnC,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,KAAK,OAAO,GACpC,CAAC,GAAG,IAAI,EAAE,KAAK,KAAK,OAAO,GAAG,SAAS,CAAC;CAC5C;AAqGD;;;GAGG;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,GAAG,EAAE,aAAa,KAAK,IAAI,CAAC;AAsBpD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,wBAAgB,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,YAAY,CA4R1E"}
@@ -1,21 +1,21 @@
1
- import { StoreSpec, StoreMiddleware } from '../types';
1
+ import { Middleware, MiddlewareContext, StoreMiddlewareContext } from '../types';
2
2
 
3
- /** Pattern type for matching spec names */
3
+ /** Pattern type for matching displayName */
4
4
  export type SpecPattern = string | RegExp;
5
5
  /**
6
6
  * Compose multiple middleware into one.
7
7
  * Middleware are applied in order (first middleware wraps the chain).
8
8
  */
9
- export declare function compose(...middlewares: StoreMiddleware[]): StoreMiddleware;
9
+ export declare function compose(...middlewares: Middleware[]): Middleware;
10
10
  /**
11
11
  * Conditionally apply middleware based on a predicate or pattern(s).
12
12
  *
13
13
  * @overload Apply middleware when predicate returns true
14
- * @param predicate - Function that receives spec and returns whether to apply middleware
14
+ * @param predicate - Function that receives context and returns whether to apply middleware
15
15
  * @param middleware - Middleware or array of middleware to apply
16
16
  *
17
17
  * @overload Apply middleware for matching pattern(s)
18
- * @param patterns - Pattern or array of patterns to match spec names
18
+ * @param patterns - Pattern or array of patterns to match displayName
19
19
  * @param middleware - Middleware or array of middleware to apply
20
20
  *
21
21
  * Pattern types:
@@ -43,7 +43,7 @@ export declare function compose(...middlewares: StoreMiddleware[]): StoreMiddlew
43
43
  *
44
44
  * // Predicate function
45
45
  * applyFor(
46
- * (spec) => spec.options.meta?.persist === true,
46
+ * (ctx) => ctx.type === "store" && ctx.spec.options.meta?.persist === true,
47
47
  * persistMiddleware
48
48
  * );
49
49
  *
@@ -51,16 +51,16 @@ export declare function compose(...middlewares: StoreMiddleware[]): StoreMiddlew
51
51
  * applyFor("counterStore", [loggingMiddleware, devtoolsMiddleware]);
52
52
  * ```
53
53
  */
54
- export declare function applyFor(predicate: (spec: StoreSpec<any, any>) => boolean, middleware: StoreMiddleware | StoreMiddleware[]): StoreMiddleware;
55
- export declare function applyFor(patterns: SpecPattern | SpecPattern[], middleware: StoreMiddleware | StoreMiddleware[]): StoreMiddleware;
54
+ export declare function applyFor(predicate: (ctx: MiddlewareContext) => boolean, middleware: Middleware | Middleware[]): Middleware;
55
+ export declare function applyFor(patterns: SpecPattern | SpecPattern[], middleware: Middleware | Middleware[]): Middleware;
56
56
  /**
57
- * Apply middleware to all stores except those matching predicate or pattern(s).
57
+ * Apply middleware to all except those matching predicate or pattern(s).
58
58
  *
59
- * @overload Exclude stores matching predicate
60
- * @param predicate - Function that receives spec and returns whether to exclude
59
+ * @overload Exclude matching predicate
60
+ * @param predicate - Function that receives context and returns whether to exclude
61
61
  * @param middleware - Middleware or array of middleware to apply
62
62
  *
63
- * @overload Exclude stores matching pattern(s)
63
+ * @overload Exclude matching pattern(s)
64
64
  * @param patterns - Pattern or array of patterns to exclude
65
65
  * @param middleware - Middleware or array of middleware to apply
66
66
  *
@@ -68,7 +68,7 @@ export declare function applyFor(patterns: SpecPattern | SpecPattern[], middlewa
68
68
  * ```ts
69
69
  * // Exclude by predicate
70
70
  * applyExcept(
71
- * (spec) => spec.name.startsWith("_"),
71
+ * (ctx) => ctx.displayName?.startsWith("_") ?? false,
72
72
  * loggingMiddleware
73
73
  * );
74
74
  *
@@ -83,6 +83,19 @@ export declare function applyFor(patterns: SpecPattern | SpecPattern[], middlewa
83
83
  * applyExcept(/^(temp|cache)/, persistMiddleware);
84
84
  * ```
85
85
  */
86
- export declare function applyExcept(predicate: (spec: StoreSpec<any, any>) => boolean, middleware: StoreMiddleware | StoreMiddleware[]): StoreMiddleware;
87
- export declare function applyExcept(patterns: SpecPattern | SpecPattern[], middleware: StoreMiddleware | StoreMiddleware[]): StoreMiddleware;
86
+ export declare function applyExcept(predicate: (ctx: MiddlewareContext) => boolean, middleware: Middleware | Middleware[]): Middleware;
87
+ export declare function applyExcept(patterns: SpecPattern | SpecPattern[], middleware: Middleware | Middleware[]): Middleware;
88
+ /**
89
+ * Helper to create store-only middleware.
90
+ * The middleware will only run for stores, not plain factories.
91
+ *
92
+ * @example
93
+ * ```ts
94
+ * const storeLogger = forStores((ctx) => {
95
+ * console.log(`Creating store: ${ctx.spec.displayName}`);
96
+ * return ctx.next();
97
+ * });
98
+ * ```
99
+ */
100
+ export declare function forStores(storeMiddleware: (ctx: StoreMiddlewareContext) => unknown): Middleware;
88
101
  //# sourceMappingURL=middleware.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../src/core/middleware.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAGV,SAAS,EACT,eAAe,EAChB,MAAM,UAAU,CAAC;AAElB,2CAA2C;AAC3C,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,CAAC;AAwD1C;;;GAGG;AACH,wBAAgB,OAAO,CACrB,GAAG,WAAW,EAAE,eAAe,EAAE,GAChC,eAAe,CAqBjB;AAKD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,wBAAgB,QAAQ,CACtB,SAAS,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,OAAO,EACjD,UAAU,EAAE,eAAe,GAAG,eAAe,EAAE,GAC9C,eAAe,CAAC;AACnB,wBAAgB,QAAQ,CACtB,QAAQ,EAAE,WAAW,GAAG,WAAW,EAAE,EACrC,UAAU,EAAE,eAAe,GAAG,eAAe,EAAE,GAC9C,eAAe,CAAC;AA+BnB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,WAAW,CACzB,SAAS,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,OAAO,EACjD,UAAU,EAAE,eAAe,GAAG,eAAe,EAAE,GAC9C,eAAe,CAAC;AACnB,wBAAgB,WAAW,CACzB,QAAQ,EAAE,WAAW,GAAG,WAAW,EAAE,EACrC,UAAU,EAAE,eAAe,GAAG,eAAe,EAAE,GAC9C,eAAe,CAAC"}
1
+ {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../src/core/middleware.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,UAAU,EACV,iBAAiB,EACjB,sBAAsB,EACvB,MAAM,UAAU,CAAC;AAElB,4CAA4C;AAC5C,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,CAAC;AA2D1C;;;GAGG;AACH,wBAAgB,OAAO,CAAC,GAAG,WAAW,EAAE,UAAU,EAAE,GAAG,UAAU,CA6BhE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,wBAAgB,QAAQ,CACtB,SAAS,EAAE,CAAC,GAAG,EAAE,iBAAiB,KAAK,OAAO,EAC9C,UAAU,EAAE,UAAU,GAAG,UAAU,EAAE,GACpC,UAAU,CAAC;AACd,wBAAgB,QAAQ,CACtB,QAAQ,EAAE,WAAW,GAAG,WAAW,EAAE,EACrC,UAAU,EAAE,UAAU,GAAG,UAAU,EAAE,GACpC,UAAU,CAAC;AA4Bd;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,WAAW,CACzB,SAAS,EAAE,CAAC,GAAG,EAAE,iBAAiB,KAAK,OAAO,EAC9C,UAAU,EAAE,UAAU,GAAG,UAAU,EAAE,GACpC,UAAU,CAAC;AACd,wBAAgB,WAAW,CACzB,QAAQ,EAAE,WAAW,GAAG,WAAW,EAAE,EACrC,UAAU,EAAE,UAAU,GAAG,UAAU,EAAE,GACpC,UAAU,CAAC;AAmBd;;;;;;;;;;;GAWG;AACH,wBAAgB,SAAS,CACvB,eAAe,EAAE,CAAC,GAAG,EAAE,sBAAsB,KAAK,OAAO,GACxD,UAAU,CAOZ"}
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/core/store.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAEL,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,QAAQ,EAKb,KAAK,kBAAkB,EACxB,MAAM,UAAU,CAAC;AAyBlB;;;;;;;;GAQG;AACH,wBAAgB,KAAK,CAAC,MAAM,SAAS,SAAS,EAAE,QAAQ,SAAS,WAAW,EAC1E,OAAO,EAAE,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,GACtC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAgB7B;AAYD,0CAA0C;AAC1C,MAAM,WAAW,0BAA0B;IACzC,WAAW,CAAC,EAAE,kBAAkB,CAAC;CAClC;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,SAAS,SAAS,EACxB,QAAQ,SAAS,WAAW,EAE5B,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,EACjC,QAAQ,EAAE,QAAQ,EAClB,eAAe,GAAE,0BAA+B,GAC/C,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,CA0rBjC"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/core/store.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAEL,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,QAAQ,EAKb,KAAK,kBAAkB,EACxB,MAAM,UAAU,CAAC;AAyBlB;;;;;;;;GAQG;AACH,wBAAgB,KAAK,CAAC,MAAM,SAAS,SAAS,EAAE,QAAQ,SAAS,WAAW,EAC1E,OAAO,EAAE,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,GACtC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAqB7B;AAYD,0CAA0C;AAC1C,MAAM,WAAW,0BAA0B;IACzC,WAAW,CAAC,EAAE,kBAAkB,CAAC;CAClC;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,SAAS,SAAS,EACxB,QAAQ,SAAS,WAAW,EAE5B,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,EACjC,QAAQ,EAAE,QAAQ,EAClB,eAAe,GAAE,0BAA+B,GAC/C,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,CA0rBjC"}
@@ -1 +1 @@
1
- {"version":3,"file":"storeContext.d.ts","sourceRoot":"","sources":["../../src/core/storeContext.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAEL,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,QAAQ,EACb,KAAK,YAAY,EAGjB,KAAK,KAAK,EACV,KAAK,YAAY,EAElB,MAAM,UAAU,CAAC;AASlB;;GAEG;AACH,MAAM,WAAW,YAAY,CAAC,MAAM,SAAS,SAAS;IACpD,wBAAwB;IACxB,QAAQ,EAAE,MAAM,MAAM,CAAC;IACvB,4CAA4C;IAC5C,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,KAAK,IAAI,CAAC;IACnD,iCAAiC;IACjC,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,YAAY,CAAC;CACnD;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB,CACxC,MAAM,SAAS,SAAS,EACxB,QAAQ,SAAS,WAAW;IAE5B,8BAA8B;IAC9B,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAClC,oCAAoC;IACpC,QAAQ,EAAE,QAAQ,CAAC;IACnB,gCAAgC;IAChC,eAAe,EAAE,MAAM,MAAM,CAAC;IAC9B,+BAA+B;IAC/B,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;IACvE,iCAAiC;IACjC,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,YAAY,CAAC;IAClD,iCAAiC;IACjC,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,MAAM,KAAK,OAAO,CAAC;IACxC,6BAA6B;IAC7B,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,wDAAwD;IACxD,WAAW,EAAE,MAAM,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,IAAI,CAAC;IAC1D,2CAA2C;IAC3C,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,IAAI,CAAC;IAC3D,4DAA4D;IAC5D,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;IAC3C,8BAA8B;IAC9B,YAAY,EAAE,MAAM,OAAO,CAAC;CAC7B;AAkBD;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,MAAM,SAAS,SAAS,EAAE,MAAM,EAC1D,QAAQ,EAAE,YAAY,CAAC,MAAM,CAAC,EAC9B,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,GAC7B,KAAK,CAAC,MAAM,CAAC,CAsHf;AA2CD;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,SAAS,SAAS,EACxB,QAAQ,SAAS,WAAW,EAC5B,OAAO,EAAE,yBAAyB,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC,CA6J5E"}
1
+ {"version":3,"file":"storeContext.d.ts","sourceRoot":"","sources":["../../src/core/storeContext.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAEL,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,QAAQ,EACb,KAAK,YAAY,EAGjB,KAAK,KAAK,EACV,KAAK,YAAY,EAElB,MAAM,UAAU,CAAC;AASlB;;GAEG;AACH,MAAM,WAAW,YAAY,CAAC,MAAM,SAAS,SAAS;IACpD,wBAAwB;IACxB,QAAQ,EAAE,MAAM,MAAM,CAAC;IACvB,4CAA4C;IAC5C,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,KAAK,IAAI,CAAC;IACnD,iCAAiC;IACjC,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,YAAY,CAAC;CACnD;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB,CACxC,MAAM,SAAS,SAAS,EACxB,QAAQ,SAAS,WAAW;IAE5B,8BAA8B;IAC9B,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAClC,oCAAoC;IACpC,QAAQ,EAAE,QAAQ,CAAC;IACnB,gCAAgC;IAChC,eAAe,EAAE,MAAM,MAAM,CAAC;IAC9B,+BAA+B;IAC/B,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;IACvE,iCAAiC;IACjC,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,YAAY,CAAC;IAClD,iCAAiC;IACjC,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,MAAM,KAAK,OAAO,CAAC;IACxC,6BAA6B;IAC7B,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,wDAAwD;IACxD,WAAW,EAAE,MAAM,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,IAAI,CAAC;IAC1D,2CAA2C;IAC3C,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,IAAI,CAAC;IAC3D,4DAA4D;IAC5D,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;IAC3C,8BAA8B;IAC9B,YAAY,EAAE,MAAM,OAAO,CAAC;CAC7B;AAkBD;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,MAAM,SAAS,SAAS,EAAE,MAAM,EAC1D,QAAQ,EAAE,YAAY,CAAC,MAAM,CAAC,EAC9B,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,GAC7B,KAAK,CAAC,MAAM,CAAC,CAsHf;AA2CD;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,SAAS,SAAS,EACxB,QAAQ,SAAS,WAAW,EAC5B,OAAO,EAAE,yBAAyB,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC,CAiK5E"}
@@ -1,4 +1,4 @@
1
- import { e as emitter, c as createStoreInstance, S as STORION_TYPE } from "../store-XP2pujaJ.js";
1
+ import { e as emitter, c as createStoreInstance, S as STORION_TYPE } from "../store-CwA4YTVb.js";
2
2
  let snapshotIdCounter = 0;
3
3
  let eventIdCounter = 0;
4
4
  const DEFAULT_MAX_EVENTS = 200;
@@ -157,65 +157,78 @@ function devtoolsMiddleware(options = {}) {
157
157
  const registerStore = controller._registerStore;
158
158
  const unregisterStore = controller._unregisterStore;
159
159
  const recordStateChange = controller._recordStateChange;
160
- return (spec, next) => {
161
- const originalSetup = spec.options.setup;
162
- const modifiedOptions = {
163
- ...spec.options,
164
- setup: (context) => {
165
- const originalActions = originalSetup(context);
166
- const devtoolsActions = {
167
- __revertState: (newState) => {
168
- context.update(() => newState);
169
- },
170
- __takeSnapshot: () => {
171
- }
172
- };
173
- return {
174
- ...originalActions,
175
- ...devtoolsActions
176
- };
177
- }
178
- };
179
- const modifiedSpec = function(resolver) {
180
- return createStoreInstance(modifiedSpec, resolver, {});
181
- };
182
- Object.defineProperties(modifiedSpec, {
183
- [STORION_TYPE]: { value: "store.spec", enumerable: false },
184
- name: { value: spec.name, enumerable: true, writable: false },
185
- options: { value: modifiedOptions, enumerable: true, writable: false }
186
- });
187
- const instance = next(modifiedSpec);
188
- registerStore({
189
- id: instance.id,
190
- name: spec.name,
191
- state: { ...instance.state },
192
- disposed: false,
193
- instance,
194
- createdAt: Date.now(),
195
- meta: spec.options.meta
196
- });
197
- let lastAction = null;
198
- const unsubscribeActions = instance.subscribe("@*", (event) => {
199
- const { next: next2 } = event;
200
- if (typeof next2.name === "string" && next2.name.startsWith("__")) return;
201
- lastAction = { name: next2.name, args: next2.args };
202
- });
203
- const unsubscribeState = instance.subscribe(() => {
204
- recordStateChange(
205
- instance.id,
206
- { ...instance.state },
207
- lastAction == null ? void 0 : lastAction.name,
208
- lastAction == null ? void 0 : lastAction.args
209
- );
210
- lastAction = null;
211
- });
212
- instance.onDispose(() => {
213
- unsubscribeActions();
214
- unsubscribeState();
215
- unregisterStore(instance.id);
216
- });
217
- return instance;
160
+ return (ctx) => {
161
+ if (ctx.type !== "store") {
162
+ return ctx.next();
163
+ }
164
+ const { spec, resolver } = ctx;
165
+ return handleStoreCreation(
166
+ spec,
167
+ resolver,
168
+ registerStore,
169
+ unregisterStore,
170
+ recordStateChange
171
+ );
172
+ };
173
+ }
174
+ function handleStoreCreation(spec, resolver, registerStore, unregisterStore, recordStateChange) {
175
+ const originalSetup = spec.options.setup;
176
+ const modifiedOptions = {
177
+ ...spec.options,
178
+ setup: (context) => {
179
+ const originalActions = originalSetup(context);
180
+ const devtoolsActions = {
181
+ __revertState: (newState) => {
182
+ context.update(() => newState);
183
+ },
184
+ __takeSnapshot: () => {
185
+ }
186
+ };
187
+ return {
188
+ ...originalActions,
189
+ ...devtoolsActions
190
+ };
191
+ }
192
+ };
193
+ const modifiedSpec = function(r) {
194
+ return createStoreInstance(modifiedSpec, r, {});
218
195
  };
196
+ Object.defineProperties(modifiedSpec, {
197
+ [STORION_TYPE]: { value: "store.spec", enumerable: false },
198
+ displayName: { value: spec.displayName, enumerable: true, writable: false },
199
+ options: { value: modifiedOptions, enumerable: true, writable: false }
200
+ });
201
+ const instance = modifiedSpec(resolver);
202
+ registerStore({
203
+ id: instance.id,
204
+ name: spec.displayName,
205
+ state: { ...instance.state },
206
+ disposed: false,
207
+ instance,
208
+ createdAt: Date.now(),
209
+ meta: spec.options.meta
210
+ });
211
+ let lastAction = null;
212
+ const unsubscribeActions = instance.subscribe("@*", (event) => {
213
+ const { next } = event;
214
+ if (typeof next.name === "string" && next.name.startsWith("__")) return;
215
+ lastAction = { name: next.name, args: next.args };
216
+ });
217
+ const unsubscribeState = instance.subscribe(() => {
218
+ recordStateChange(
219
+ instance.id,
220
+ { ...instance.state },
221
+ lastAction == null ? void 0 : lastAction.name,
222
+ lastAction == null ? void 0 : lastAction.args
223
+ );
224
+ lastAction = null;
225
+ });
226
+ instance.onDispose(() => {
227
+ unsubscribeActions();
228
+ unsubscribeState();
229
+ unregisterStore(instance.id);
230
+ });
231
+ return instance;
219
232
  }
220
233
  function getDevtoolsController() {
221
234
  if (typeof window !== "undefined") {
@@ -1,4 +1,4 @@
1
- import { StoreMiddleware } from '../types';
1
+ import { Middleware } from '../types';
2
2
  import { DevtoolsController, DevtoolsMiddlewareOptions } from './types';
3
3
 
4
4
  /**
@@ -14,7 +14,7 @@ import { DevtoolsController, DevtoolsMiddlewareOptions } from './types';
14
14
  * });
15
15
  * ```
16
16
  */
17
- export declare function devtoolsMiddleware(options?: DevtoolsMiddlewareOptions): StoreMiddleware;
17
+ export declare function devtoolsMiddleware(options?: DevtoolsMiddlewareOptions): Middleware;
18
18
  /**
19
19
  * Get the devtools controller from window.
20
20
  */
@@ -1 +1 @@
1
- {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../src/devtools/middleware.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACV,eAAe,EAKhB,MAAM,UAAU,CAAC;AAIlB,OAAO,KAAK,EACV,kBAAkB,EAClB,yBAAyB,EAE1B,MAAM,SAAS,CAAC;AAEjB;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,GAAE,yBAA8B,GACtC,eAAe,CA+HjB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,kBAAkB,GAAG,SAAS,CAKtE"}
1
+ {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../src/devtools/middleware.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACV,UAAU,EAKX,MAAM,UAAU,CAAC;AAIlB,OAAO,KAAK,EACV,kBAAkB,EAClB,yBAAyB,EAE1B,MAAM,SAAS,CAAC;AAEjB;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,GAAE,yBAA8B,GACtC,UAAU,CAoDZ;AAwGD;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,kBAAkB,GAAG,SAAS,CAKtE"}
@@ -3065,20 +3065,60 @@ function loadStoredSettings() {
3065
3065
  let panelRoot = null;
3066
3066
  let panelContainer = null;
3067
3067
  let currentPosition = "left";
3068
- let originalBodyPadding = "";
3068
+ const originalBodyPadding = {
3069
+ left: "",
3070
+ right: "",
3071
+ bottom: ""
3072
+ };
3073
+ let currentPaddingSide = null;
3069
3074
  function updateBodyPadding(position, size, collapsed) {
3070
- if (position === "bottom" && !collapsed) {
3071
- if (!originalBodyPadding) {
3072
- originalBodyPadding = document.body.style.paddingBottom || "";
3075
+ if (currentPaddingSide && currentPaddingSide !== position) {
3076
+ restorePaddingForPosition(currentPaddingSide);
3077
+ }
3078
+ if (collapsed) {
3079
+ if (currentPaddingSide) {
3080
+ restorePaddingForPosition(currentPaddingSide);
3081
+ currentPaddingSide = null;
3082
+ }
3083
+ return;
3084
+ }
3085
+ if (position === "bottom") {
3086
+ if (currentPaddingSide !== "bottom") {
3087
+ originalBodyPadding.bottom = document.body.style.paddingBottom || "";
3073
3088
  }
3074
3089
  document.body.style.paddingBottom = `${size}px`;
3075
- } else {
3076
- document.body.style.paddingBottom = originalBodyPadding;
3090
+ currentPaddingSide = "bottom";
3091
+ } else if (position === "left") {
3092
+ if (currentPaddingSide !== "left") {
3093
+ originalBodyPadding.left = document.body.style.paddingLeft || "";
3094
+ }
3095
+ document.body.style.paddingLeft = `${size}px`;
3096
+ currentPaddingSide = "left";
3097
+ } else if (position === "right") {
3098
+ if (currentPaddingSide !== "right") {
3099
+ originalBodyPadding.right = document.body.style.paddingRight || "";
3100
+ }
3101
+ document.body.style.paddingRight = `${size}px`;
3102
+ currentPaddingSide = "right";
3103
+ }
3104
+ }
3105
+ function restorePaddingForPosition(position) {
3106
+ if (position === "bottom") {
3107
+ document.body.style.paddingBottom = originalBodyPadding.bottom;
3108
+ } else if (position === "left") {
3109
+ document.body.style.paddingLeft = originalBodyPadding.left;
3110
+ } else if (position === "right") {
3111
+ document.body.style.paddingRight = originalBodyPadding.right;
3077
3112
  }
3078
3113
  }
3079
3114
  function resetBodyPadding() {
3080
- document.body.style.paddingBottom = originalBodyPadding;
3081
- originalBodyPadding = "";
3115
+ document.body.style.paddingLeft = originalBodyPadding.left;
3116
+ document.body.style.paddingRight = originalBodyPadding.right;
3117
+ document.body.style.paddingBottom = originalBodyPadding.bottom;
3118
+ originalBodyPadding.left = "";
3119
+ originalBodyPadding.right = "";
3120
+ originalBodyPadding.bottom = "";
3121
+ currentPaddingSide = null;
3082
3122
  }
3083
3123
  let wasCollapsed = false;
3084
3124
  function updateContainerPosition(position, size, collapsed = false) {
@@ -1 +1 @@
1
- {"version":3,"file":"mount.d.ts","sourceRoot":"","sources":["../../src/devtools-panel/mount.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAiB,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AA2BpE,MAAM,WAAW,YAAY;IAC3B,0EAA0E;IAC1E,SAAS,CAAC,EAAE,WAAW,GAAG,MAAM,CAAC;IACjC,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,iDAAiD;IACjD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,4BAA4B;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sBAAsB;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AA8ID;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,GAAE,YAAiB,GAAG,MAAM,IAAI,CA6LzE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAU3C;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,IAAI,CAMhE"}
1
+ {"version":3,"file":"mount.d.ts","sourceRoot":"","sources":["../../src/devtools-panel/mount.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAiB,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AA2BpE,MAAM,WAAW,YAAY;IAC3B,0EAA0E;IAC1E,SAAS,CAAC,EAAE,WAAW,GAAG,MAAM,CAAC;IACjC,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,iDAAiD;IACjD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,4BAA4B;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sBAAsB;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAkMD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,GAAE,YAAiB,GAAG,MAAM,IAAI,CA6LzE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAU3C;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,IAAI,CAMhE"}
package/dist/index.d.ts CHANGED
@@ -11,7 +11,7 @@ export { batch, untrack } from './core/tracking';
11
11
  export { createResolver, when, createLoggingMiddleware, createValidationMiddleware, } from './core/createResolver';
12
12
  export { pick } from './core/pick';
13
13
  export { effect, type EffectFn, type EffectContext, type EffectOptions, type EffectErrorStrategy, type EffectErrorContext, type EffectRetryConfig, } from './core/effect';
14
- export { applyFor, applyExcept, compose, type SpecPattern, } from './core/middleware';
14
+ export { applyFor, applyExcept, compose, forStores, type SpecPattern, } from './core/middleware';
15
15
  export { equality, shallowEqual, deepEqual, strictEqual, } from './core/equality';
16
16
  export { trigger, type TriggerOptions } from './trigger';
17
17
  export { wrapFn as wrapFn, unwrapFn, isWrappedFn } from './core/fnWrapper';