storion 0.3.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +90 -12
- package/dist/core/container.d.ts.map +1 -1
- package/dist/core/createResolver.d.ts.map +1 -1
- package/dist/core/effect.d.ts.map +1 -1
- package/dist/core/middleware.d.ts +10 -10
- package/dist/core/middleware.d.ts.map +1 -1
- package/dist/core/store.d.ts.map +1 -1
- package/dist/devtools/index.js +69 -59
- package/dist/devtools/middleware.d.ts.map +1 -1
- package/dist/react/index.js +3 -3
- package/dist/{store-XP2pujaJ.js → store-Yv-9gPVf.js} +8 -4
- package/dist/storion.js +116 -47
- package/dist/types.d.ts +42 -41
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -315,9 +315,41 @@ export const settingsStore = store({
|
|
|
315
315
|
|
|
316
316
|
### Reactive Effects
|
|
317
317
|
|
|
318
|
-
**The problem:** You need to sync with external systems (WebSocket, localStorage
|
|
318
|
+
**The problem:** You need to sync with external systems (WebSocket, localStorage) or compute derived state when dependencies change, and properly clean up when needed.
|
|
319
319
|
|
|
320
|
-
**With Storion:** Effects automatically track which state properties you read and re-run only when those change.
|
|
320
|
+
**With Storion:** Effects automatically track which state properties you read and re-run only when those change. Use them for side effects or computed state.
|
|
321
|
+
|
|
322
|
+
**Example 1: Computed/Derived State**
|
|
323
|
+
|
|
324
|
+
```ts
|
|
325
|
+
import { store, effect } from "storion";
|
|
326
|
+
|
|
327
|
+
export const userStore = store({
|
|
328
|
+
name: "user",
|
|
329
|
+
state: {
|
|
330
|
+
firstName: "",
|
|
331
|
+
lastName: "",
|
|
332
|
+
fullName: "", // Computed from firstName + lastName
|
|
333
|
+
},
|
|
334
|
+
setup({ state }) {
|
|
335
|
+
// Auto-updates fullName when firstName or lastName changes
|
|
336
|
+
effect(() => {
|
|
337
|
+
state.fullName = `${state.firstName} ${state.lastName}`.trim();
|
|
338
|
+
});
|
|
339
|
+
|
|
340
|
+
return {
|
|
341
|
+
setFirstName: (name: string) => {
|
|
342
|
+
state.firstName = name;
|
|
343
|
+
},
|
|
344
|
+
setLastName: (name: string) => {
|
|
345
|
+
state.lastName = name;
|
|
346
|
+
},
|
|
347
|
+
};
|
|
348
|
+
},
|
|
349
|
+
});
|
|
350
|
+
```
|
|
351
|
+
|
|
352
|
+
**Example 2: External System Sync**
|
|
321
353
|
|
|
322
354
|
```ts
|
|
323
355
|
import { store, effect } from "storion";
|
|
@@ -330,7 +362,6 @@ export const syncStore = store({
|
|
|
330
362
|
},
|
|
331
363
|
setup({ state }) {
|
|
332
364
|
effect((ctx) => {
|
|
333
|
-
// Effect tracks state.userId and re-runs when it changes
|
|
334
365
|
if (!state.userId) return;
|
|
335
366
|
|
|
336
367
|
const ws = new WebSocket(`/ws?user=${state.userId}`);
|
|
@@ -555,18 +586,24 @@ const userStore = store({
|
|
|
555
586
|
|
|
556
587
|
```ts
|
|
557
588
|
import { container, compose, applyFor, applyExcept } from "storion";
|
|
589
|
+
import type { StoreMiddleware } from "storion";
|
|
558
590
|
|
|
559
|
-
// Logging middleware
|
|
560
|
-
const loggingMiddleware = (
|
|
561
|
-
|
|
562
|
-
|
|
591
|
+
// Logging middleware - ctx.spec is always available
|
|
592
|
+
const loggingMiddleware: StoreMiddleware = (ctx) => {
|
|
593
|
+
console.log(`Creating store: ${ctx.displayName}`);
|
|
594
|
+
const instance = ctx.next();
|
|
595
|
+
console.log(`Created: ${instance.id}`);
|
|
563
596
|
return instance;
|
|
564
597
|
};
|
|
565
598
|
|
|
566
599
|
// Persistence middleware
|
|
567
|
-
const persistMiddleware = (
|
|
568
|
-
const instance = next(
|
|
569
|
-
//
|
|
600
|
+
const persistMiddleware: StoreMiddleware = (ctx) => {
|
|
601
|
+
const instance = ctx.next();
|
|
602
|
+
// Access store-specific options directly
|
|
603
|
+
const isPersistent = ctx.spec.options.meta?.persist === true;
|
|
604
|
+
if (isPersistent) {
|
|
605
|
+
// Add persistence logic...
|
|
606
|
+
}
|
|
570
607
|
return instance;
|
|
571
608
|
};
|
|
572
609
|
|
|
@@ -582,7 +619,10 @@ const app = container({
|
|
|
582
619
|
applyFor(["authStore", "settingsStore"], loggingMiddleware),
|
|
583
620
|
|
|
584
621
|
// Apply based on custom condition
|
|
585
|
-
applyFor(
|
|
622
|
+
applyFor(
|
|
623
|
+
(ctx) => ctx.spec.options.meta?.persist === true,
|
|
624
|
+
persistMiddleware
|
|
625
|
+
)
|
|
586
626
|
),
|
|
587
627
|
});
|
|
588
628
|
```
|
|
@@ -606,7 +646,7 @@ const app = container({
|
|
|
606
646
|
|
|
607
647
|
```ts
|
|
608
648
|
interface StoreOptions<TState, TActions> {
|
|
609
|
-
name?: string; // Store name for debugging
|
|
649
|
+
name?: string; // Store display name for debugging (becomes spec.displayName)
|
|
610
650
|
state: TState; // Initial state
|
|
611
651
|
setup: (ctx: StoreContext) => TActions; // Setup function
|
|
612
652
|
lifetime?: "singleton" | "autoDispose"; // Instance lifetime
|
|
@@ -686,6 +726,44 @@ interface AsyncState<T, M extends "fresh" | "stale"> {
|
|
|
686
726
|
}
|
|
687
727
|
```
|
|
688
728
|
|
|
729
|
+
### Middleware
|
|
730
|
+
|
|
731
|
+
| Export | Description |
|
|
732
|
+
| ------------- | -------------------------------------------------- |
|
|
733
|
+
| `compose` | Compose multiple StoreMiddleware into one |
|
|
734
|
+
| `applyFor` | Apply middleware conditionally (pattern/predicate) |
|
|
735
|
+
| `applyExcept` | Apply middleware except for matching patterns |
|
|
736
|
+
|
|
737
|
+
#### StoreMiddlewareContext
|
|
738
|
+
|
|
739
|
+
Container middleware uses `StoreMiddlewareContext` where `spec` is always available:
|
|
740
|
+
|
|
741
|
+
```ts
|
|
742
|
+
interface StoreMiddlewareContext<S, A> {
|
|
743
|
+
spec: StoreSpec<S, A>; // The store spec (always present)
|
|
744
|
+
resolver: Resolver; // The resolver/container instance
|
|
745
|
+
next: () => StoreInstance<S, A>; // Call next middleware or create the store
|
|
746
|
+
displayName: string; // Store name (always present for stores)
|
|
747
|
+
}
|
|
748
|
+
|
|
749
|
+
type StoreMiddleware = <S, A>(
|
|
750
|
+
ctx: StoreMiddlewareContext<S, A>
|
|
751
|
+
) => StoreInstance<S, A>;
|
|
752
|
+
```
|
|
753
|
+
|
|
754
|
+
For generic resolver middleware (non-container), use `Middleware` with `MiddlewareContext`:
|
|
755
|
+
|
|
756
|
+
```ts
|
|
757
|
+
interface MiddlewareContext<T> {
|
|
758
|
+
factory: Factory<T>; // The factory being invoked
|
|
759
|
+
resolver: Resolver; // The resolver instance
|
|
760
|
+
next: () => T; // Call next middleware or the factory
|
|
761
|
+
displayName?: string; // Name (from factory.displayName or factory.name)
|
|
762
|
+
}
|
|
763
|
+
|
|
764
|
+
type Middleware = <T>(ctx: MiddlewareContext<T>) => T;
|
|
765
|
+
```
|
|
766
|
+
|
|
689
767
|
### Devtools (`storion/devtools`)
|
|
690
768
|
|
|
691
769
|
```ts
|
|
@@ -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,
|
|
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,EAIrB,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,WA4TvB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createResolver.d.ts","sourceRoot":"","sources":["../../src/core/createResolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"createResolver.d.ts","sourceRoot":"","sources":["../../src/core/createResolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,KAAK,EACV,OAAO,EACP,UAAU,EACV,QAAQ,EACR,eAAe,EAEhB,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,CAoItE;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;
|
|
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,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { StoreMiddleware, StoreMiddlewareContext } from '../types';
|
|
2
2
|
|
|
3
|
-
/** Pattern type for matching
|
|
3
|
+
/** Pattern type for matching displayName */
|
|
4
4
|
export type SpecPattern = string | RegExp;
|
|
5
5
|
/**
|
|
6
|
-
* Compose multiple middleware into one.
|
|
6
|
+
* Compose multiple store middleware into one.
|
|
7
7
|
* Middleware are applied in order (first middleware wraps the chain).
|
|
8
8
|
*/
|
|
9
9
|
export declare function compose(...middlewares: StoreMiddleware[]): StoreMiddleware;
|
|
@@ -11,11 +11,11 @@ export declare function compose(...middlewares: StoreMiddleware[]): StoreMiddlew
|
|
|
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
|
|
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
|
|
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
|
-
* (
|
|
46
|
+
* (ctx) => ctx.spec.options.meta?.persist === true,
|
|
47
47
|
* persistMiddleware
|
|
48
48
|
* );
|
|
49
49
|
*
|
|
@@ -51,13 +51,13 @@ export declare function compose(...middlewares: StoreMiddleware[]): StoreMiddlew
|
|
|
51
51
|
* applyFor("counterStore", [loggingMiddleware, devtoolsMiddleware]);
|
|
52
52
|
* ```
|
|
53
53
|
*/
|
|
54
|
-
export declare function applyFor(predicate: (
|
|
54
|
+
export declare function applyFor(predicate: (ctx: StoreMiddlewareContext) => boolean, middleware: StoreMiddleware | StoreMiddleware[]): StoreMiddleware;
|
|
55
55
|
export declare function applyFor(patterns: SpecPattern | SpecPattern[], middleware: StoreMiddleware | StoreMiddleware[]): StoreMiddleware;
|
|
56
56
|
/**
|
|
57
57
|
* Apply middleware to all stores except those matching predicate or pattern(s).
|
|
58
58
|
*
|
|
59
59
|
* @overload Exclude stores matching predicate
|
|
60
|
-
* @param predicate - Function that receives
|
|
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
63
|
* @overload Exclude stores matching pattern(s)
|
|
@@ -68,7 +68,7 @@ export declare function applyFor(patterns: SpecPattern | SpecPattern[], middlewa
|
|
|
68
68
|
* ```ts
|
|
69
69
|
* // Exclude by predicate
|
|
70
70
|
* applyExcept(
|
|
71
|
-
* (
|
|
71
|
+
* (ctx) => ctx.displayName.startsWith("_"),
|
|
72
72
|
* loggingMiddleware
|
|
73
73
|
* );
|
|
74
74
|
*
|
|
@@ -83,6 +83,6 @@ export declare function applyFor(patterns: SpecPattern | SpecPattern[], middlewa
|
|
|
83
83
|
* applyExcept(/^(temp|cache)/, persistMiddleware);
|
|
84
84
|
* ```
|
|
85
85
|
*/
|
|
86
|
-
export declare function applyExcept(predicate: (
|
|
86
|
+
export declare function applyExcept(predicate: (ctx: StoreMiddlewareContext) => boolean, middleware: StoreMiddleware | StoreMiddleware[]): StoreMiddleware;
|
|
87
87
|
export declare function applyExcept(patterns: SpecPattern | SpecPattern[], middleware: StoreMiddleware | StoreMiddleware[]): StoreMiddleware;
|
|
88
88
|
//# sourceMappingURL=middleware.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../src/core/middleware.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../src/core/middleware.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EACV,eAAe,EACf,sBAAsB,EAIvB,MAAM,UAAU,CAAC;AAElB,4CAA4C;AAC5C,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,CAAC;AAwD1C;;;GAGG;AACH,wBAAgB,OAAO,CAAC,GAAG,WAAW,EAAE,eAAe,EAAE,GAAG,eAAe,CA+B1E;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,wBAAgB,QAAQ,CACtB,SAAS,EAAE,CAAC,GAAG,EAAE,sBAAsB,KAAK,OAAO,EACnD,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;AA0CnB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,WAAW,CACzB,SAAS,EAAE,CAAC,GAAG,EAAE,sBAAsB,KAAK,OAAO,EACnD,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"}
|
package/dist/core/store.d.ts.map
CHANGED
|
@@ -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,
|
|
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"}
|
package/dist/devtools/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { e as emitter, c as createStoreInstance, S as STORION_TYPE } from "../store-
|
|
1
|
+
import { e as emitter, c as createStoreInstance, S as STORION_TYPE } from "../store-Yv-9gPVf.js";
|
|
2
2
|
let snapshotIdCounter = 0;
|
|
3
3
|
let eventIdCounter = 0;
|
|
4
4
|
const DEFAULT_MAX_EVENTS = 200;
|
|
@@ -157,65 +157,75 @@ function devtoolsMiddleware(options = {}) {
|
|
|
157
157
|
const registerStore = controller._registerStore;
|
|
158
158
|
const unregisterStore = controller._unregisterStore;
|
|
159
159
|
const recordStateChange = controller._recordStateChange;
|
|
160
|
-
return (
|
|
161
|
-
const
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
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
|
+
const { spec, resolver } = ctx;
|
|
162
|
+
return handleStoreCreation(
|
|
163
|
+
spec,
|
|
164
|
+
resolver,
|
|
165
|
+
registerStore,
|
|
166
|
+
unregisterStore,
|
|
167
|
+
recordStateChange
|
|
168
|
+
);
|
|
169
|
+
};
|
|
170
|
+
}
|
|
171
|
+
function handleStoreCreation(spec, resolver, registerStore, unregisterStore, recordStateChange) {
|
|
172
|
+
const originalSetup = spec.options.setup;
|
|
173
|
+
const modifiedOptions = {
|
|
174
|
+
...spec.options,
|
|
175
|
+
setup: (context) => {
|
|
176
|
+
const originalActions = originalSetup(context);
|
|
177
|
+
const devtoolsActions = {
|
|
178
|
+
__revertState: (newState) => {
|
|
179
|
+
context.update(() => newState);
|
|
180
|
+
},
|
|
181
|
+
__takeSnapshot: () => {
|
|
182
|
+
}
|
|
183
|
+
};
|
|
184
|
+
return {
|
|
185
|
+
...originalActions,
|
|
186
|
+
...devtoolsActions
|
|
187
|
+
};
|
|
188
|
+
}
|
|
189
|
+
};
|
|
190
|
+
const modifiedSpec = function(r) {
|
|
191
|
+
return createStoreInstance(modifiedSpec, r, {});
|
|
218
192
|
};
|
|
193
|
+
Object.defineProperties(modifiedSpec, {
|
|
194
|
+
[STORION_TYPE]: { value: "store.spec", enumerable: false },
|
|
195
|
+
displayName: { value: spec.displayName, enumerable: true, writable: false },
|
|
196
|
+
options: { value: modifiedOptions, enumerable: true, writable: false }
|
|
197
|
+
});
|
|
198
|
+
const instance = modifiedSpec(resolver);
|
|
199
|
+
registerStore({
|
|
200
|
+
id: instance.id,
|
|
201
|
+
name: spec.displayName,
|
|
202
|
+
state: { ...instance.state },
|
|
203
|
+
disposed: false,
|
|
204
|
+
instance,
|
|
205
|
+
createdAt: Date.now(),
|
|
206
|
+
meta: spec.options.meta
|
|
207
|
+
});
|
|
208
|
+
let lastAction = null;
|
|
209
|
+
const unsubscribeActions = instance.subscribe("@*", (event) => {
|
|
210
|
+
const { next } = event;
|
|
211
|
+
if (typeof next.name === "string" && next.name.startsWith("__")) return;
|
|
212
|
+
lastAction = { name: next.name, args: next.args };
|
|
213
|
+
});
|
|
214
|
+
const unsubscribeState = instance.subscribe(() => {
|
|
215
|
+
recordStateChange(
|
|
216
|
+
instance.id,
|
|
217
|
+
{ ...instance.state },
|
|
218
|
+
lastAction == null ? void 0 : lastAction.name,
|
|
219
|
+
lastAction == null ? void 0 : lastAction.args
|
|
220
|
+
);
|
|
221
|
+
lastAction = null;
|
|
222
|
+
});
|
|
223
|
+
instance.onDispose(() => {
|
|
224
|
+
unsubscribeActions();
|
|
225
|
+
unsubscribeState();
|
|
226
|
+
unregisterStore(instance.id);
|
|
227
|
+
});
|
|
228
|
+
return instance;
|
|
219
229
|
}
|
|
220
230
|
function getDevtoolsController() {
|
|
221
231
|
if (typeof window !== "undefined") {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../src/devtools/middleware.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACV,eAAe,
|
|
1
|
+
{"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../src/devtools/middleware.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACV,eAAe,EAOhB,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,CAiDjB;AAyGD;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,kBAAkB,GAAG,SAAS,CAKtE"}
|
package/dist/react/index.js
CHANGED
|
@@ -4,8 +4,8 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
4
4
|
import { memo, useMemo, createElement, createContext, useContext, useReducer, useRef, useEffect, useLayoutEffect, useState, forwardRef } from "react";
|
|
5
5
|
import { container } from "../storion.js";
|
|
6
6
|
import { applyExcept, applyFor, compose, createLoggingMiddleware, createResolver, createValidationMiddleware, effect, pick, trigger, when } from "../storion.js";
|
|
7
|
-
import { w as withHooks, i as isSpec, S as STORION_TYPE, r as resolveEquality, s as store } from "../store-
|
|
8
|
-
import { m, p, n, g, a, j, d, h, l, f, k, b, x, o, q, u, v, t } from "../store-
|
|
7
|
+
import { w as withHooks, i as isSpec, S as STORION_TYPE, r as resolveEquality, s as store } from "../store-Yv-9gPVf.js";
|
|
8
|
+
import { m, p, n, g, a, j, d, h, l, f, k, b, x, o, q, u, v, t } from "../store-Yv-9gPVf.js";
|
|
9
9
|
import { jsx } from "react/jsx-runtime";
|
|
10
10
|
const StoreContext = createContext(null);
|
|
11
11
|
const StoreProvider = memo(
|
|
@@ -161,7 +161,7 @@ class LocalStoreController {
|
|
|
161
161
|
if (depsCount > 0) {
|
|
162
162
|
this.dispose();
|
|
163
163
|
throw new Error(
|
|
164
|
-
`Local store must not have dependencies, but "${this.spec.
|
|
164
|
+
`Local store must not have dependencies, but "${this.spec.displayName}" has ${depsCount} dependencies. Use useStore() with a global container for stores with dependencies.`
|
|
165
165
|
);
|
|
166
166
|
}
|
|
167
167
|
if (shouldScheduleDispose) {
|
|
@@ -2210,13 +2210,17 @@ function collection(createItem, initialItems) {
|
|
|
2210
2210
|
};
|
|
2211
2211
|
}
|
|
2212
2212
|
function store(options) {
|
|
2213
|
-
const
|
|
2213
|
+
const displayName = options.name ?? generateSpecName();
|
|
2214
2214
|
const spec = function(resolver) {
|
|
2215
|
-
return createStoreInstance(
|
|
2215
|
+
return createStoreInstance(
|
|
2216
|
+
spec,
|
|
2217
|
+
resolver,
|
|
2218
|
+
{}
|
|
2219
|
+
);
|
|
2216
2220
|
};
|
|
2217
2221
|
Object.defineProperties(spec, {
|
|
2218
2222
|
[STORION_TYPE]: { value: "store.spec", enumerable: false },
|
|
2219
|
-
|
|
2223
|
+
displayName: { value: displayName, enumerable: true, writable: false },
|
|
2220
2224
|
options: { value: options, enumerable: true, writable: false }
|
|
2221
2225
|
});
|
|
2222
2226
|
return spec;
|
|
@@ -2224,7 +2228,7 @@ function store(options) {
|
|
|
2224
2228
|
function createStoreInstance(spec, resolver, instanceOptions = {}) {
|
|
2225
2229
|
var _a;
|
|
2226
2230
|
const options = spec.options;
|
|
2227
|
-
const storeId = generateStoreId(spec.
|
|
2231
|
+
const storeId = generateStoreId(spec.displayName);
|
|
2228
2232
|
let disposed = false;
|
|
2229
2233
|
let currentState = { ...options.state };
|
|
2230
2234
|
let initialState = currentState;
|
package/dist/storion.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { e as emitter, i as isSpec, S as STORION_TYPE, u as untrack, y as getHooks, w as withHooks, r as resolveEquality, z as scheduleNotification, v as unwrapFn, o as shallowEqual } from "./store-
|
|
2
|
-
import { m, p, n, g, a, j, d, h, l, f, k, b, x, s, q, t } from "./store-
|
|
1
|
+
import { e as emitter, i as isSpec, S as STORION_TYPE, u as untrack, y as getHooks, w as withHooks, r as resolveEquality, z as scheduleNotification, v as unwrapFn, o as shallowEqual } from "./store-Yv-9gPVf.js";
|
|
2
|
+
import { m, p, n, g, a, j, d, h, l, f, k, b, x, s, q, t } from "./store-Yv-9gPVf.js";
|
|
3
3
|
let defaultMiddlewareConfig = {};
|
|
4
4
|
const container = function(options = {}) {
|
|
5
5
|
const middleware = [
|
|
@@ -20,13 +20,25 @@ const container = function(options = {}) {
|
|
|
20
20
|
const parent = options._parent;
|
|
21
21
|
const resolve = (spec) => overrides.get(spec) ?? spec;
|
|
22
22
|
function buildMiddlewareChain() {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
const
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
23
|
+
return (spec) => {
|
|
24
|
+
let index = 0;
|
|
25
|
+
const executeNext = () => {
|
|
26
|
+
if (index >= middleware.length) {
|
|
27
|
+
return spec(containerApi);
|
|
28
|
+
}
|
|
29
|
+
const currentMiddleware = middleware[index];
|
|
30
|
+
index++;
|
|
31
|
+
const ctx = {
|
|
32
|
+
spec,
|
|
33
|
+
factory: spec,
|
|
34
|
+
resolver: containerApi,
|
|
35
|
+
next: executeNext,
|
|
36
|
+
displayName: spec.displayName
|
|
37
|
+
};
|
|
38
|
+
return currentMiddleware(ctx);
|
|
39
|
+
};
|
|
40
|
+
return executeNext();
|
|
41
|
+
};
|
|
30
42
|
}
|
|
31
43
|
const createWithMiddleware = buildMiddlewareChain();
|
|
32
44
|
function createInstance(spec) {
|
|
@@ -89,7 +101,7 @@ const container = function(options = {}) {
|
|
|
89
101
|
return parent.get(spec);
|
|
90
102
|
}
|
|
91
103
|
if (creating.has(spec)) {
|
|
92
|
-
const name = spec.
|
|
104
|
+
const name = spec.displayName ?? "unknown";
|
|
93
105
|
throw new Error(
|
|
94
106
|
`Circular dependency detected: "${name}" is being created while already in creation stack.`
|
|
95
107
|
);
|
|
@@ -184,17 +196,31 @@ defaultsFn.clear = () => {
|
|
|
184
196
|
defaultMiddlewareConfig = {};
|
|
185
197
|
};
|
|
186
198
|
container.defaults = defaultsFn;
|
|
199
|
+
function extractDisplayName(factory) {
|
|
200
|
+
if (isSpec(factory)) {
|
|
201
|
+
return factory.displayName;
|
|
202
|
+
}
|
|
203
|
+
if (typeof factory.displayName === "string" && factory.displayName) {
|
|
204
|
+
return factory.displayName;
|
|
205
|
+
}
|
|
206
|
+
if (factory.name && factory.name !== "") {
|
|
207
|
+
return factory.name;
|
|
208
|
+
}
|
|
209
|
+
return void 0;
|
|
210
|
+
}
|
|
187
211
|
function createResolver(options = {}) {
|
|
188
212
|
const { middleware = [], parent } = options;
|
|
189
213
|
const cache2 = /* @__PURE__ */ new Map();
|
|
190
214
|
const overrides = /* @__PURE__ */ new Map();
|
|
191
215
|
const resolve = (factory) => overrides.get(factory) ?? factory;
|
|
192
216
|
const invoke = (factory, resolver2) => {
|
|
217
|
+
const displayName = extractDisplayName(factory);
|
|
193
218
|
const chain = middleware.reduceRight(
|
|
194
219
|
(next, mw) => () => mw({
|
|
195
220
|
factory,
|
|
196
221
|
resolver: resolver2,
|
|
197
|
-
next
|
|
222
|
+
next,
|
|
223
|
+
displayName
|
|
198
224
|
}),
|
|
199
225
|
() => factory(resolver2)
|
|
200
226
|
);
|
|
@@ -233,9 +259,22 @@ function createResolver(options = {}) {
|
|
|
233
259
|
return void 0;
|
|
234
260
|
},
|
|
235
261
|
delete(factory) {
|
|
236
|
-
|
|
262
|
+
const instance = cache2.get(factory);
|
|
263
|
+
if (instance) {
|
|
264
|
+
if (instance && typeof instance === "object" && "dispose" in instance && typeof instance.dispose === "function") {
|
|
265
|
+
instance.dispose();
|
|
266
|
+
}
|
|
267
|
+
cache2.delete(factory);
|
|
268
|
+
return true;
|
|
269
|
+
}
|
|
270
|
+
return false;
|
|
237
271
|
},
|
|
238
272
|
clear() {
|
|
273
|
+
for (const instance of cache2.values()) {
|
|
274
|
+
if (instance && typeof instance === "object" && "dispose" in instance && typeof instance.dispose === "function") {
|
|
275
|
+
instance.dispose();
|
|
276
|
+
}
|
|
277
|
+
}
|
|
239
278
|
cache2.clear();
|
|
240
279
|
},
|
|
241
280
|
scope(scopeOptions = {}) {
|
|
@@ -337,10 +376,16 @@ function pick(selector, equality) {
|
|
|
337
376
|
});
|
|
338
377
|
return currentValue;
|
|
339
378
|
}
|
|
340
|
-
function
|
|
379
|
+
function isPromiseLike(value) {
|
|
380
|
+
return typeof value === "object" && value !== null && "then" in value && typeof value.then === "function";
|
|
381
|
+
}
|
|
382
|
+
function createEffectContext(nth) {
|
|
341
383
|
let cleanupEmitter = null;
|
|
342
384
|
let abortController = null;
|
|
385
|
+
let isStale = false;
|
|
343
386
|
const runCleanups = () => {
|
|
387
|
+
if (isStale) return;
|
|
388
|
+
isStale = true;
|
|
344
389
|
if (abortController) {
|
|
345
390
|
abortController.abort();
|
|
346
391
|
abortController = null;
|
|
@@ -349,6 +394,22 @@ function createEffectContext(nth, isStale) {
|
|
|
349
394
|
cleanupEmitter.emitAndClearLifo();
|
|
350
395
|
}
|
|
351
396
|
};
|
|
397
|
+
function wrapPromise(promise) {
|
|
398
|
+
return new Promise((resolve, reject) => {
|
|
399
|
+
promise.then(
|
|
400
|
+
(value) => {
|
|
401
|
+
if (!isStale) {
|
|
402
|
+
resolve(value);
|
|
403
|
+
}
|
|
404
|
+
},
|
|
405
|
+
(error) => {
|
|
406
|
+
if (!isStale) {
|
|
407
|
+
reject(error);
|
|
408
|
+
}
|
|
409
|
+
}
|
|
410
|
+
);
|
|
411
|
+
});
|
|
412
|
+
}
|
|
352
413
|
const context = {
|
|
353
414
|
nth,
|
|
354
415
|
get signal() {
|
|
@@ -365,24 +426,17 @@ function createEffectContext(nth, isStale) {
|
|
|
365
426
|
},
|
|
366
427
|
safe(promiseOrCallback) {
|
|
367
428
|
if (promiseOrCallback instanceof Promise) {
|
|
368
|
-
return
|
|
369
|
-
promiseOrCallback.then(
|
|
370
|
-
(value) => {
|
|
371
|
-
if (!isStale()) {
|
|
372
|
-
resolve(value);
|
|
373
|
-
}
|
|
374
|
-
},
|
|
375
|
-
(error) => {
|
|
376
|
-
if (!isStale()) {
|
|
377
|
-
reject(error);
|
|
378
|
-
}
|
|
379
|
-
}
|
|
380
|
-
);
|
|
381
|
-
});
|
|
429
|
+
return wrapPromise(promiseOrCallback);
|
|
382
430
|
}
|
|
383
431
|
return (...args) => {
|
|
384
|
-
if (!isStale
|
|
385
|
-
|
|
432
|
+
if (!isStale) {
|
|
433
|
+
const result = promiseOrCallback(
|
|
434
|
+
...args
|
|
435
|
+
);
|
|
436
|
+
if (isPromiseLike(result)) {
|
|
437
|
+
return wrapPromise(result);
|
|
438
|
+
}
|
|
439
|
+
return result;
|
|
386
440
|
}
|
|
387
441
|
return void 0;
|
|
388
442
|
};
|
|
@@ -525,11 +579,10 @@ function effect(fn, options) {
|
|
|
525
579
|
}
|
|
526
580
|
newTrackedDeps = /* @__PURE__ */ new Map();
|
|
527
581
|
writtenProps.clear();
|
|
528
|
-
const isStale = () => isDisposed || runGeneration !== currentGeneration;
|
|
529
582
|
let lazyContext = null;
|
|
530
583
|
const getOrCreateContext = () => {
|
|
531
584
|
if (!lazyContext) {
|
|
532
|
-
lazyContext = createEffectContext(currentGeneration
|
|
585
|
+
lazyContext = createEffectContext(currentGeneration);
|
|
533
586
|
}
|
|
534
587
|
return lazyContext;
|
|
535
588
|
};
|
|
@@ -619,41 +672,57 @@ function patternToPredicate(pattern) {
|
|
|
619
672
|
function patternsToPredicate(patterns) {
|
|
620
673
|
if (Array.isArray(patterns)) {
|
|
621
674
|
const predicates = patterns.map(patternToPredicate);
|
|
622
|
-
return (
|
|
675
|
+
return (ctx) => predicates.some((p2) => p2(ctx.displayName));
|
|
623
676
|
}
|
|
624
677
|
const predicate = patternToPredicate(patterns);
|
|
625
|
-
return (
|
|
678
|
+
return (ctx) => predicate(ctx.displayName);
|
|
626
679
|
}
|
|
627
680
|
function compose(...middlewares) {
|
|
628
681
|
if (middlewares.length === 0) {
|
|
629
|
-
return (
|
|
682
|
+
return (ctx) => ctx.next();
|
|
630
683
|
}
|
|
631
684
|
if (middlewares.length === 1) {
|
|
632
685
|
return middlewares[0];
|
|
633
686
|
}
|
|
634
|
-
return (
|
|
635
|
-
let
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
687
|
+
return (ctx) => {
|
|
688
|
+
let index = 0;
|
|
689
|
+
const executeNext = () => {
|
|
690
|
+
if (index >= middlewares.length) {
|
|
691
|
+
return ctx.next();
|
|
692
|
+
}
|
|
693
|
+
const currentMiddleware = middlewares[index];
|
|
694
|
+
index++;
|
|
695
|
+
const wrappedCtx = {
|
|
696
|
+
...ctx,
|
|
697
|
+
next: executeNext
|
|
698
|
+
};
|
|
699
|
+
return currentMiddleware(wrappedCtx);
|
|
700
|
+
};
|
|
701
|
+
return executeNext();
|
|
642
702
|
};
|
|
643
703
|
}
|
|
644
704
|
function applyFor(predicateOrPatterns, middleware) {
|
|
645
705
|
const predicate = typeof predicateOrPatterns === "function" ? predicateOrPatterns : patternsToPredicate(predicateOrPatterns);
|
|
646
706
|
const composedMiddleware = Array.isArray(middleware) ? compose(...middleware) : middleware;
|
|
647
|
-
return (
|
|
648
|
-
if (
|
|
649
|
-
|
|
707
|
+
return (ctx) => {
|
|
708
|
+
if (isSpec(ctx.factory)) {
|
|
709
|
+
const spec = ctx.factory;
|
|
710
|
+
const storeMiddlewareCtx = {
|
|
711
|
+
...ctx,
|
|
712
|
+
spec
|
|
713
|
+
};
|
|
714
|
+
if (predicate(storeMiddlewareCtx)) {
|
|
715
|
+
return composedMiddleware(
|
|
716
|
+
storeMiddlewareCtx
|
|
717
|
+
);
|
|
718
|
+
}
|
|
650
719
|
}
|
|
651
|
-
return next(
|
|
720
|
+
return ctx.next();
|
|
652
721
|
};
|
|
653
722
|
}
|
|
654
723
|
function applyExcept(predicateOrPatterns, middleware) {
|
|
655
724
|
const matchPredicate = typeof predicateOrPatterns === "function" ? predicateOrPatterns : patternsToPredicate(predicateOrPatterns);
|
|
656
|
-
const invertedPredicate = (
|
|
725
|
+
const invertedPredicate = (ctx) => !matchPredicate(ctx);
|
|
657
726
|
return applyFor(invertedPredicate, middleware);
|
|
658
727
|
}
|
|
659
728
|
const DEFAULT_KEY = {};
|
package/dist/types.d.ts
CHANGED
|
@@ -237,8 +237,8 @@ export type ReactiveActions<TActions extends ActionsBase> = {
|
|
|
237
237
|
* ```
|
|
238
238
|
*/
|
|
239
239
|
export interface StoreSpec<TState extends StateBase = StateBase, TActions extends ActionsBase = ActionsBase> extends StorionObject<"store.spec"> {
|
|
240
|
-
/** Store name for debugging */
|
|
241
|
-
readonly
|
|
240
|
+
/** Store display name for debugging (renamed from 'name' since that's a reserved function property) */
|
|
241
|
+
readonly displayName: string;
|
|
242
242
|
/** Store options (state, setup, lifetime, etc.) */
|
|
243
243
|
readonly options: StoreOptions<TState, TActions>;
|
|
244
244
|
/**
|
|
@@ -666,32 +666,6 @@ export interface StoreInstance<TState extends StateBase = StateBase, TActions ex
|
|
|
666
666
|
*/
|
|
667
667
|
_subscribeInternal<K extends keyof TState>(propKey: K | string, listener: () => void): VoidFunction;
|
|
668
668
|
}
|
|
669
|
-
/**
|
|
670
|
-
* Middleware function for intercepting store creation.
|
|
671
|
-
*
|
|
672
|
-
* Middleware can:
|
|
673
|
-
* - Modify the spec before creation
|
|
674
|
-
* - Call next() to get the instance
|
|
675
|
-
* - Wrap or modify the instance after creation
|
|
676
|
-
*
|
|
677
|
-
* @example
|
|
678
|
-
* // Logging middleware
|
|
679
|
-
* const loggingMiddleware: StoreMiddleware = (spec, next) => {
|
|
680
|
-
* console.log(`Creating store: ${spec.name}`);
|
|
681
|
-
* const instance = next(spec);
|
|
682
|
-
* console.log(`Created store: ${instance.id}`);
|
|
683
|
-
* return instance;
|
|
684
|
-
* };
|
|
685
|
-
*
|
|
686
|
-
* @example
|
|
687
|
-
* // Wrap actions with error boundary
|
|
688
|
-
* const errorBoundaryMiddleware: StoreMiddleware = (spec, next) => {
|
|
689
|
-
* const instance = next(spec);
|
|
690
|
-
* // Wrap actions here if needed
|
|
691
|
-
* return instance;
|
|
692
|
-
* };
|
|
693
|
-
*/
|
|
694
|
-
export type StoreMiddleware = <S extends StateBase = StateBase, A extends ActionsBase = ActionsBase>(spec: StoreSpec<S, A>, next: (spec: StoreSpec<S, A>) => StoreInstance<S, A>) => StoreInstance<S, A>;
|
|
695
669
|
/**
|
|
696
670
|
* Container options.
|
|
697
671
|
*/
|
|
@@ -709,38 +683,63 @@ export interface ContainerOptions {
|
|
|
709
683
|
*/
|
|
710
684
|
export type Factory<T = any> = (resolver: Resolver) => T;
|
|
711
685
|
/**
|
|
712
|
-
* Context passed to
|
|
686
|
+
* Context passed to generic middleware functions (for any factory).
|
|
713
687
|
*/
|
|
714
688
|
export interface MiddlewareContext<T = any> {
|
|
715
|
-
/** The factory being invoked */
|
|
689
|
+
/** The factory being invoked (StoreSpec or plain factory) */
|
|
716
690
|
readonly factory: Factory<T>;
|
|
717
691
|
/** The resolver instance */
|
|
718
692
|
readonly resolver: Resolver;
|
|
719
693
|
/** Call the next middleware or the factory itself */
|
|
720
694
|
readonly next: () => T;
|
|
695
|
+
/**
|
|
696
|
+
* Display name for debugging.
|
|
697
|
+
* - For stores: spec.displayName
|
|
698
|
+
* - For factories: factory.displayName ?? factory.name ?? undefined
|
|
699
|
+
*/
|
|
700
|
+
readonly displayName: string | undefined;
|
|
721
701
|
}
|
|
722
702
|
/**
|
|
723
|
-
*
|
|
703
|
+
* Context passed to store middleware functions.
|
|
704
|
+
* Unlike MiddlewareContext, `spec` is always present.
|
|
705
|
+
*/
|
|
706
|
+
export interface StoreMiddlewareContext<S extends StateBase = StateBase, A extends ActionsBase = ActionsBase> extends MiddlewareContext<StoreInstance<S, A>> {
|
|
707
|
+
/** The store spec being invoked */
|
|
708
|
+
readonly spec: StoreSpec<S, A>;
|
|
709
|
+
/** Store display name (always present for stores) */
|
|
710
|
+
readonly displayName: string;
|
|
711
|
+
}
|
|
712
|
+
/**
|
|
713
|
+
* Generic middleware function for intercepting any factory creation.
|
|
714
|
+
* Use for resolver middleware that handles both stores and plain factories.
|
|
724
715
|
*
|
|
725
716
|
* @example
|
|
726
717
|
* ```ts
|
|
727
718
|
* const loggingMiddleware: Middleware = (ctx) => {
|
|
728
|
-
*
|
|
729
|
-
*
|
|
730
|
-
* console.log("Created:", result);
|
|
731
|
-
* return result;
|
|
732
|
-
* };
|
|
733
|
-
*
|
|
734
|
-
* // Type-specific middleware using is() guards
|
|
735
|
-
* const storeMiddleware: Middleware = (ctx) => {
|
|
736
|
-
* if (is(ctx.factory, "store.spec")) {
|
|
737
|
-
* // Apply store-specific logic
|
|
719
|
+
* if (ctx.displayName) {
|
|
720
|
+
* console.log("Creating:", ctx.displayName);
|
|
738
721
|
* }
|
|
739
722
|
* return ctx.next();
|
|
740
723
|
* };
|
|
741
724
|
* ```
|
|
742
725
|
*/
|
|
743
726
|
export type Middleware = <T>(ctx: MiddlewareContext<T>) => T;
|
|
727
|
+
/**
|
|
728
|
+
* Store-specific middleware function.
|
|
729
|
+
* Use for container middleware where you always work with stores.
|
|
730
|
+
* The context always has `spec` available.
|
|
731
|
+
*
|
|
732
|
+
* @example
|
|
733
|
+
* ```ts
|
|
734
|
+
* const loggingMiddleware: StoreMiddleware = (ctx) => {
|
|
735
|
+
* console.log(`Creating store: ${ctx.displayName}`);
|
|
736
|
+
* const instance = ctx.next();
|
|
737
|
+
* console.log(`Created: ${instance.id}`);
|
|
738
|
+
* return instance;
|
|
739
|
+
* };
|
|
740
|
+
* ```
|
|
741
|
+
*/
|
|
742
|
+
export type StoreMiddleware = <S extends StateBase = StateBase, A extends ActionsBase = ActionsBase>(ctx: StoreMiddlewareContext<S, A>) => StoreInstance<S, A>;
|
|
744
743
|
/**
|
|
745
744
|
* Options for creating a resolver.
|
|
746
745
|
*/
|
|
@@ -783,11 +782,13 @@ export interface Resolver {
|
|
|
783
782
|
tryGet<T>(factory: Factory<T>): T | undefined;
|
|
784
783
|
/**
|
|
785
784
|
* Delete a cached instance.
|
|
785
|
+
* If the instance has a `dispose()` method, it will be called.
|
|
786
786
|
* Returns true if an instance was deleted.
|
|
787
787
|
*/
|
|
788
788
|
delete(factory: Factory): boolean;
|
|
789
789
|
/**
|
|
790
790
|
* Clear all cached instances.
|
|
791
|
+
* Calls `dispose()` on each instance that has the method.
|
|
791
792
|
*/
|
|
792
793
|
clear(): void;
|
|
793
794
|
/**
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|