storion 0.7.5 → 0.7.7

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
@@ -756,11 +756,13 @@ function UserProfile() {
756
756
  ### Async State with Suspense
757
757
 
758
758
  ```tsx
759
+ import { trigger } from "storion";
759
760
  import { async } from "storion/async";
761
+ import { useStore } from "storion/react";
760
762
  import { Suspense } from "react";
761
763
 
762
764
  function UserProfile() {
763
- const { user } = useStore(({ get, trigger }) => {
765
+ const { user } = useStore(({ get }) => {
764
766
  const [state, actions] = get(userStore);
765
767
 
766
768
  // Trigger fetch on mount
@@ -806,7 +808,13 @@ const dashboardStore = store({
806
808
  setup({ state, focus }) {
807
809
  // ... async actions for user and posts ...
808
810
 
809
- // Derive summary from user + posts
811
+ // Option 1: Using async.all() - simpler for multiple sources
812
+ async.derive(focus("summary"), () => {
813
+ const [user, posts] = async.all(state.user, state.posts);
814
+ return { name: user.name, postCount: posts.length };
815
+ });
816
+
817
+ // Option 2: Using async.wait() - more control for conditional logic
810
818
  async.derive(focus("summary"), () => {
811
819
  const user = async.wait(state.user);
812
820
  const posts = async.wait(state.posts);
@@ -825,10 +833,17 @@ const dashboardStore = store({
825
833
  **What Storion does:**
826
834
 
827
835
  1. Runs the derive function and tracks dependencies
828
- 2. If any `async.wait()` throws (pending/error), the derived state mirrors that status
836
+ 2. If any source is pending/error, the derived state mirrors that status
829
837
  3. If all sources are ready, computes and stores the result
830
838
  4. Re-runs automatically when source states change
831
839
 
840
+ **When to use each approach:**
841
+
842
+ | Approach | Best for |
843
+ | -------------- | ----------------------------------------------------- |
844
+ | `async.all()` | Waiting for multiple sources at once (cleaner syntax) |
845
+ | `async.wait()` | Conditional logic where you may not need all sources |
846
+
832
847
  ---
833
848
 
834
849
  ## Using Stores in React
@@ -837,16 +852,17 @@ const dashboardStore = store({
837
852
 
838
853
  ```tsx
839
854
  import { useStore } from "storion/react";
855
+ import { trigger } from "storion";
840
856
 
841
857
  function Component() {
842
- const { count, inc, user } = useStore(({ get, trigger, id }) => {
858
+ const { count, inc, user } = useStore(({ get, id }) => {
843
859
  const [counterState, counterActions] = get(counterStore);
844
860
  const [userState, userActions] = get(userStore);
845
861
 
846
- // Trigger on mount (empty deps = once)
847
- trigger(userActions.fetchProfile, []);
862
+ // Trigger immediately (empty deps = once)
863
+ trigger(userActions.fetchProfile, []); // OR trigger(userActions.fetchProfile);
848
864
 
849
- // Trigger when id changes (every mount)
865
+ // Trigger on each component mount (id is unique per mount)
850
866
  trigger(userActions.refresh, [id]);
851
867
 
852
868
  return {
@@ -862,20 +878,91 @@ function Component() {
862
878
 
863
879
  **Selector context provides:**
864
880
 
865
- | Property | Description |
866
- | ---------------------------- | ---------------------------------------------- |
867
- | `get(store)` | Get store instance, returns `[state, actions]` |
868
- | `get(service)` | Get service instance (cached) |
869
- | `create(service, ...args)` | Create fresh service instance with args |
870
- | `trigger(fn, deps, ...args)` | Call function when deps change |
871
- | `id` | Unique ID per component mount |
872
- | `once(fn)` | Run function once on mount |
881
+ | Property | Description |
882
+ | -------------------------- | ---------------------------------------------- |
883
+ | `get(store)` | Get store instance, returns `[state, actions]` |
884
+ | `get(service)` | Get service instance (cached) |
885
+ | `create(service, ...args)` | Create fresh service instance with args |
886
+ | `id` | Unique ID per component mount |
887
+ | `once(fn)` | Run function once on mount |
888
+
889
+ **Global function `trigger()`** — Call a function when dependencies change (import from `"storion"`).
890
+
891
+ ### Stable Function Wrapping
892
+
893
+ Functions returned from `useStore` are automatically wrapped with stable references. This means:
894
+
895
+ - The function reference never changes between renders
896
+ - The function always accesses the latest props and state
897
+ - Safe to pass to child components without causing re-renders
898
+
899
+ ```tsx
900
+ import { useStore } from "storion/react";
901
+
902
+ function SearchForm({ userId }: { userId: string }) {
903
+ const [query, setQuery] = useState("");
904
+
905
+ const { search, results } = useStore(({ get }) => {
906
+ const [state, actions] = get(searchStore);
907
+
908
+ return {
909
+ results: state.results,
910
+ // This function is auto-wrapped with stable reference
911
+ search: () => {
912
+ // Always has access to current query and userId
913
+ actions.performSearch(query, userId);
914
+ },
915
+ };
916
+ });
917
+
918
+ return (
919
+ <div>
920
+ <input value={query} onChange={(e) => setQuery(e.target.value)} />
921
+ {/* search reference is stable - won't cause Button to re-render */}
922
+ <Button onClick={search}>Search</Button>
923
+ <Results items={results} />
924
+ </div>
925
+ );
926
+ }
927
+
928
+ // Button only re-renders when its own props change
929
+ const Button = memo(({ onClick, children }) => (
930
+ <button onClick={onClick}>{children}</button>
931
+ ));
932
+ ```
933
+
934
+ **Use case:** Creating callbacks that depend on component state/props but need stable references for `memo`, `useCallback` dependencies, or child component optimization.
935
+
936
+ **What Storion does:**
937
+
938
+ 1. Detects functions in the selector's return value
939
+ 2. Wraps each function with a stable reference (created once)
940
+ 3. When the wrapped function is called, it executes the latest version from the selector
941
+ 4. Component state (`query`) and props (`userId`) are always current when the function runs
942
+
943
+ **Why this matters:**
944
+
945
+ ```tsx
946
+ // ❌ Without stable wrapping - new reference every render
947
+ const search = () => actions.search(query); // Changes every render!
948
+
949
+ // ❌ Manual useCallback - verbose and easy to forget deps
950
+ const search = useCallback(() => actions.search(query), [query, actions]);
951
+
952
+ // ✅ With useStore - stable reference, always current values
953
+ const { search } = useStore(({ get }) => ({
954
+ search: () => actions.search(query), // Stable reference!
955
+ }));
956
+ ```
873
957
 
874
958
  ### Trigger Patterns
875
959
 
876
960
  ```tsx
877
- function Dashboard() {
878
- const { data } = useStore(({ get, trigger, id }) => {
961
+ import { trigger } from "storion";
962
+ import { useStore } from "storion/react";
963
+
964
+ function Dashboard({ categoryId }: { categoryId: string }) {
965
+ const { data } = useStore(({ get, id }) => {
879
966
  const [state, actions] = get(dataStore);
880
967
 
881
968
  // Pattern 1: Fetch once ever (empty deps)
@@ -899,6 +986,42 @@ function Dashboard() {
899
986
  3. Empty deps `[]` means "call once and never again"
900
987
  4. `[id]` means "call every time component mounts" (id is unique per mount)
901
988
 
989
+ **Comparison with React Query / Apollo:**
990
+
991
+ | Storion | React Query | Apollo | Behavior |
992
+ | ------------------------------------------ | ----------------------------------------- | ------------------------------------------------ | ----------------------------- |
993
+ | `trigger(fetch, [])` | `useQuery()` | `useQuery()` | Auto-fetch on mount |
994
+ | `trigger(fetch, [id])` | `useQuery({ refetchOnMount: 'always' })` | `useQuery({ fetchPolicy: 'network-only' })` | Fetch every mount |
995
+ | `trigger(fetch, [categoryId], categoryId)` | `useQuery({ variables: { categoryId } })` | `useQuery(QUERY, { variables: { categoryId } })` | Refetch when variable changes |
996
+ | Manual `dispatch()` | `useLazyQuery()` | `useLazyQuery()` | Fetch on user action |
997
+
998
+ ```tsx
999
+ // Auto-fetch (like useQuery in React Query / Apollo)
1000
+ function UserProfile() {
1001
+ const { user } = useStore(({ get }) => {
1002
+ const [state, actions] = get(userStore);
1003
+ trigger(actions.fetchUser, []); // Fetches automatically on mount
1004
+ return { user: state.user };
1005
+ });
1006
+ }
1007
+
1008
+ // Lazy fetch (like useLazyQuery in React Query / Apollo)
1009
+ function SearchResults() {
1010
+ const { results, search } = useStore(({ get }) => {
1011
+ const [state, actions] = get(searchStore);
1012
+ // No trigger - user controls when to fetch
1013
+ return { results: state.results, search: actions.search };
1014
+ });
1015
+
1016
+ return (
1017
+ <div>
1018
+ <button onClick={() => search("query")}>Search</button>
1019
+ {/* results shown after user clicks */}
1020
+ </div>
1021
+ );
1022
+ }
1023
+ ```
1024
+
902
1025
  ### Fine-Grained Updates with pick()
903
1026
 
904
1027
  ```tsx
@@ -1083,8 +1206,8 @@ const userAsync = async(
1083
1206
  },
1084
1207
  {
1085
1208
  retry: { count: 3, delay: 1000 },
1086
- onSuccess: (data) => console.log("Loaded:", data),
1087
1209
  onError: (error) => console.error("Failed:", error),
1210
+ autoCancel: true, // Cancel previous request on new dispatch (default)
1088
1211
  }
1089
1212
  );
1090
1213
 
@@ -1097,12 +1220,13 @@ userAsync.reset(); // Reset to initial state
1097
1220
 
1098
1221
  **Options:**
1099
1222
 
1100
- | Option | Type | Description |
1101
- | ------------- | ------------------------------- | ------------------------ |
1102
- | `retry.count` | `number` | Number of retry attempts |
1103
- | `retry.delay` | `number \| (attempt) => number` | Delay between retries |
1104
- | `onSuccess` | `(data) => void` | Called on success |
1105
- | `onError` | `(error) => void` | Called on error |
1223
+ | Option | Type | Description |
1224
+ | ------------- | ------------------------------- | --------------------------------------------------------- |
1225
+ | `retry` | `number \| AsyncRetryOptions` | Retry configuration |
1226
+ | `retry.count` | `number` | Number of retry attempts |
1227
+ | `retry.delay` | `number \| (attempt) => number` | Delay between retries (ms) |
1228
+ | `onError` | `(error) => void` | Called on error |
1229
+ | `autoCancel` | `boolean` | Cancel previous request on new dispatch (default: `true`) |
1106
1230
 
1107
1231
  **Async helpers:**
1108
1232
 
@@ -1130,6 +1254,43 @@ async.derive(focus, () => {
1130
1254
  });
1131
1255
  ```
1132
1256
 
1257
+ **How `async.wait()` handles each state:**
1258
+
1259
+ | Status | Fresh Mode | Stale Mode |
1260
+ | --------- | ------------------------------ | --------------------- |
1261
+ | `idle` | ❌ Throws `AsyncNotReadyError` | ✅ Returns stale data |
1262
+ | `pending` | ❌ Throws promise (Suspense) | ✅ Returns stale data |
1263
+ | `success` | ✅ Returns data | ✅ Returns data |
1264
+ | `error` | ❌ Throws error | ✅ Returns stale data |
1265
+
1266
+ **Key insight:** In **stale mode**, `async.wait()` always returns the stale data (even during idle/pending/error), so your UI can show previous data while loading. In **fresh mode**, it throws until data is ready.
1267
+
1268
+ ```tsx
1269
+ // Fresh mode - throws on idle, must trigger fetch first
1270
+ const freshState = async.fresh<User>();
1271
+ async.wait(freshState); // ❌ Throws "Cannot wait: state is idle"
1272
+
1273
+ // Stale mode - returns initial data immediately
1274
+ const staleState = async.stale<User[]>([]);
1275
+ async.wait(staleState); // ✅ Returns [] (the initial data)
1276
+ ```
1277
+
1278
+ **`async.all()` follows the same rules** — it calls `async.wait()` on each state:
1279
+
1280
+ ```tsx
1281
+ // All stale mode - returns immediately with stale data
1282
+ const [users, posts] = async.all(
1283
+ async.stale<User[]>([]), // Returns []
1284
+ async.stale<Post[]>([]) // Returns []
1285
+ );
1286
+
1287
+ // Mixed mode - throws if any fresh state is not ready
1288
+ const [user, posts] = async.all(
1289
+ async.fresh<User>(), // ❌ Throws - idle fresh state
1290
+ async.stale<Post[]>([])
1291
+ );
1292
+ ```
1293
+
1133
1294
  ### pick(fn, equality?)
1134
1295
 
1135
1296
  Fine-grained value tracking.
@@ -1219,9 +1380,14 @@ const persistMiddleware: StoreMiddleware = (ctx) => {
1219
1380
  return instance;
1220
1381
  };
1221
1382
 
1222
- // Apply conditionally
1383
+ // Apply single middleware
1223
1384
  const app = container({
1224
- middleware: compose(
1385
+ middleware: loggingMiddleware,
1386
+ });
1387
+
1388
+ // Apply multiple middlewares (array)
1389
+ const app = container({
1390
+ middleware: [
1225
1391
  // Apply to stores starting with "user"
1226
1392
  applyFor("user*", loggingMiddleware),
1227
1393
 
@@ -1232,8 +1398,8 @@ const app = container({
1232
1398
  applyFor(["authStore", "settingsStore"], loggingMiddleware),
1233
1399
 
1234
1400
  // Apply based on condition
1235
- applyFor((ctx) => ctx.spec.options.meta?.debug === true, loggingMiddleware)
1236
- ),
1401
+ applyFor((ctx) => ctx.spec.options.meta?.debug === true, loggingMiddleware),
1402
+ ],
1237
1403
  });
1238
1404
  ```
1239
1405
 
@@ -1287,9 +1453,21 @@ const myStore = store({
1287
1453
  | Arguments | None | Supports extra args |
1288
1454
  | Use case | Shared services | Configured instances |
1289
1455
 
1290
- ### Store-Level Equality
1456
+ ### Equality Strategies
1457
+
1458
+ Storion supports equality checks at **two levels**, giving you fine-grained control over when updates happen.
1459
+
1460
+ **Comparison with other libraries:**
1291
1461
 
1292
- Configure how state changes are detected:
1462
+ | Library | Store-level equality | Selector-level equality |
1463
+ | ----------- | -------------------- | -------------------------------------- |
1464
+ | **Redux** | ❌ No | ✅ `useSelector(selector, equalityFn)` |
1465
+ | **Zustand** | ❌ No | ✅ `useStore(selector, shallow)` |
1466
+ | **Jotai** | ✅ Per-atom | ❌ No |
1467
+ | **MobX** | ✅ Deep by default | ❌ No (computed) |
1468
+ | **Storion** | ✅ Per-property | ✅ `pick(fn, equality)` |
1469
+
1470
+ **Store-level equality** — Prevents notifications when state "changes" to an equivalent value:
1293
1471
 
1294
1472
  ```ts
1295
1473
  const mapStore = store({
@@ -1319,6 +1497,73 @@ const mapStore = store({
1319
1497
  });
1320
1498
  ```
1321
1499
 
1500
+ **Selector-level equality** — Prevents re-renders when selected value hasn't changed:
1501
+
1502
+ ```tsx
1503
+ function MapView() {
1504
+ const { x, coords, markers } = useStore(({ get }) => {
1505
+ const [state] = get(mapStore);
1506
+ return {
1507
+ // Only re-render if x specifically changed
1508
+ x: pick(() => state.coords.x),
1509
+
1510
+ // Only re-render if coords object is shallow-different
1511
+ coords: pick(() => state.coords, "shallow"),
1512
+
1513
+ // Custom comparison at selector level
1514
+ markers: pick(
1515
+ () => state.markers.map((m) => m.id),
1516
+ (a, b) => a.join() === b.join()
1517
+ ),
1518
+ };
1519
+ });
1520
+ }
1521
+ ```
1522
+
1523
+ **When to use each:**
1524
+
1525
+ | Level | When it runs | Use case |
1526
+ | ------------------ | --------------------- | ---------------------------------------------------- |
1527
+ | **Store-level** | On every state write | Prevent unnecessary notifications to ALL subscribers |
1528
+ | **Selector-level** | On every selector run | Prevent re-renders for THIS component only |
1529
+
1530
+ ```
1531
+ ┌─────────────────────────────────────────────────────────────────────┐
1532
+ │ state.coords = { x: 1, y: 2 } │
1533
+ │ │ │
1534
+ │ ▼ │
1535
+ │ Store-level equality: coords: "shallow" │
1536
+ │ Same x and y values? → Skip notifying ALL subscribers │
1537
+ │ │ │
1538
+ │ ▼ (if changed) │
1539
+ │ ┌─────────────────────┐ ┌─────────────────────┐ │
1540
+ │ │ Component A │ │ Component B │ │
1541
+ │ │ pick(() => coords.x)│ │ pick(() => coords) │ │
1542
+ │ │ │ │ │ │ │ │
1543
+ │ │ ▼ │ │ ▼ │ │
1544
+ │ │ Re-render if x │ │ Re-render if x OR y │ │
1545
+ │ │ changed │ │ changed │ │
1546
+ │ └─────────────────────┘ └─────────────────────┘ │
1547
+ └─────────────────────────────────────────────────────────────────────┘
1548
+ ```
1549
+
1550
+ **Why Storion's approach is powerful:**
1551
+
1552
+ ```tsx
1553
+ // Redux/Zustand - must remember to add equality every time
1554
+ const coords = useSelector((state) => state.coords, shallowEqual);
1555
+ const coords = useStore((state) => state.coords, shallow);
1556
+
1557
+ // Storion - store-level handles common cases, pick() for fine-tuning
1558
+ const mapStore = store({
1559
+ equality: { coords: "shallow" }, // Set once, applies everywhere
1560
+ // ...
1561
+ });
1562
+
1563
+ // Components can add extra precision with pick()
1564
+ const x = pick(() => state.coords.x); // Even finer control
1565
+ ```
1566
+
1322
1567
  ### Testing with Mocks
1323
1568
 
1324
1569
  ```ts
@@ -1389,6 +1634,8 @@ const myStore = store({
1389
1634
 
1390
1635
  ### DevTools Integration
1391
1636
 
1637
+ ![img](./img/image.png)
1638
+
1392
1639
  ```ts
1393
1640
  import { devtools } from "storion/devtools";
1394
1641
 
@@ -1441,6 +1688,25 @@ const myStore = store({
1441
1688
  });
1442
1689
  ```
1443
1690
 
1691
+ **Important:** Even if an effect throws an error, it **still re-runs** when its tracked states change. The effect keeps its dependency tracking from before the error occurred.
1692
+
1693
+ ```ts
1694
+ effect(() => {
1695
+ console.log("Effect running, count:", state.count); // Tracks `count`
1696
+
1697
+ if (state.count > 5) {
1698
+ throw new Error("Count too high!");
1699
+ }
1700
+ });
1701
+
1702
+ // Later...
1703
+ state.count = 10; // Effect re-runs, throws error, calls onError
1704
+ state.count = 3; // Effect re-runs again, no error this time
1705
+ state.count = 8; // Effect re-runs, throws error again
1706
+ ```
1707
+
1708
+ This behavior ensures that effects can recover when state returns to a valid condition.
1709
+
1444
1710
  ### Async Errors
1445
1711
 
1446
1712
  ```ts
@@ -1 +1 @@
1
- {"version":3,"file":"async.d.ts","sourceRoot":"","sources":["../../src/async/async.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,KAAK,EACV,UAAU,EACV,SAAS,EAET,YAAY,EACZ,YAAY,EACZ,YAAY,EAEZ,kBAAkB,EAElB,cAAc,EAEd,YAAY,EACZ,gBAAgB,EAChB,UAAU,EACV,QAAQ,EACR,cAAc,EAEf,MAAM,SAAS,CAAC;AAUjB;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EACjC,KAAK,EAAE,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,GACxB,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,CAKxB;AAID;;;GAGG;AACH,iBAAS,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAIxE;AAuDD,wBAAgB,KAAK,CAAC,CAAC,EAAE,CAAC,SAAS,SAAS,EAAE,KAAK,SAAS,GAAG,EAAE,EAC/D,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAC9B,OAAO,EAAE,YAAY,CAAC,CAAC,EAAE,KAAK,CAAC,EAC/B,OAAO,CAAC,EAAE,YAAY,GACrB,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAkU3B;AAMD;;;GAGG;AACH,UAAU,eAAe,CAAC,CAAC;IACzB,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IACpB,WAAW,CAAC,EAAE,cAAc,CAAC;CAC9B;AAED;;;;;;;;;;;;;GAaG;AAGH,wBAAgB,UAAU,CAAC,CAAC,GAAG,OAAO,EACpC,IAAI,EAAE,OAAO,EACb,MAAM,EAAE,MAAM,GACb,UAAU,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AAE1B,wBAAgB,UAAU,CAAC,CAAC,GAAG,OAAO,EACpC,IAAI,EAAE,OAAO,EACb,MAAM,EAAE,SAAS,EACjB,KAAK,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,GACzB,UAAU,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AAE1B,wBAAgB,UAAU,CAAC,CAAC,EAC1B,IAAI,EAAE,OAAO,EACb,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,CAAC,GACN,UAAU,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AAE1B,wBAAgB,UAAU,CAAC,CAAC,GAAG,OAAO,EACpC,IAAI,EAAE,OAAO,EACb,MAAM,EAAE,OAAO,EACf,KAAK,EAAE,KAAK,EACZ,KAAK,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,GACzB,UAAU,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AAG1B,wBAAgB,UAAU,CAAC,CAAC,EAC1B,IAAI,EAAE,OAAO,EACb,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,CAAC,GACN,UAAU,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AAE1B,wBAAgB,UAAU,CAAC,CAAC,EAC1B,IAAI,EAAE,OAAO,EACb,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,CAAC,EACP,KAAK,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,GACzB,UAAU,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AAE1B,wBAAgB,UAAU,CAAC,CAAC,EAC1B,IAAI,EAAE,OAAO,EACb,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,CAAC,GACN,UAAU,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AAE1B,wBAAgB,UAAU,CAAC,CAAC,EAC1B,IAAI,EAAE,OAAO,EACb,MAAM,EAAE,OAAO,EACf,IAAI,EAAE,CAAC,EACP,KAAK,EAAE,KAAK,EACZ,KAAK,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,GACzB,UAAU,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;yBANV,UAAU;;;AAmH1B;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,CAAC,SAAS,SAAS,EACnD,IAAI,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,EACtB,MAAM,EAAE,MAAM,GACb,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAEpB,wBAAgB,cAAc,CAAC,CAAC,EAAE,CAAC,SAAS,SAAS,EACnD,IAAI,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,EACtB,MAAM,EAAE,SAAS,GAChB,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAEpB,wBAAgB,cAAc,CAAC,CAAC,EAAE,CAAC,SAAS,SAAS,EACnD,IAAI,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,EACtB,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,CAAC,GACN,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAEpB,wBAAgB,cAAc,CAAC,CAAC,EAAE,CAAC,SAAS,SAAS,EACnD,IAAI,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,EACtB,MAAM,EAAE,OAAO,EACf,KAAK,EAAE,KAAK,GACX,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAyDpB,yBAAiB,KAAK,CAAC;IAGrB;;;OAGG;IACH,SAAgB,KAAK,CAAC,CAAC,GAAG,OAAO,KAAK,UAAU,CAAC,CAAC,EAAE,OAAO,CAAC,CAE3D;IAED;;;;OAIG;IACH,SAAgB,KAAK,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,EAAE,OAAO,CAAC,CAE/D;IAGD,SAAgB,KAAK,CAAC,CAAC,GAAG,IAAI,EAC5B,EAAE,EAAE,MAAM,EACV,QAAQ,CAAC,EAAE,CAAC,GACX,kBAAkB,CAAC,CAAC,CAAC,CAUvB;IAED;;;;;;;;;;;OAWG;IACI,MAAM,MAAM,mBAAa,CAAC;IAEjC;;;;;;OAMG;IACH,SAAgB,IAAI,CAAC,CAAC,EAAE,CAAC,SAAS,SAAS,EACzC,KAAK,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,GACtB,CAAC,SAAS,OAAO,GAAG,CAAC,GAAG,CAAC,CA0B3B;IAED;;;OAGG;IACH,SAAgB,IAAI,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EACjE,MAAM,EAAE,CAAC,GACR,UAAU,CAAC,CAAC,CAAC,CAoCf;IAED;;;OAGG;IACH,SAAgB,GAAG,CAAC,CAAC,SAAS,SAAS,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAC3D,GAAG,MAAM,EAAE,CAAC,GACX,YAAY,CAAC,CAAC,CAAC,CA4BjB;IAED;;OAEG;IACH,SAAgB,GAAG,CAAC,CAAC,SAAS,SAAS,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAC3D,GAAG,MAAM,EAAE,CAAC,GACX,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CA8B3B;IAED;;;OAGG;IACH,SAAgB,OAAO,CAAC,CAAC,SAAS,SAAS,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAC/D,GAAG,MAAM,EAAE,CAAC,GACX,gBAAgB,CAAC,CAAC,CAAC,CA+BrB;IAED;;OAEG;IACH,SAAgB,OAAO,CAAC,CAAC,EAAE,CAAC,SAAS,SAAS,EAC5C,KAAK,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,GACtB,KAAK,IAAI,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;QAAE,IAAI,EAAE,CAAC,CAAA;KAAE,CAIzC;IAED;;OAEG;IACH,SAAgB,SAAS,CAAC,CAAC,EAAE,CAAC,SAAS,SAAS,EAC9C,KAAK,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,GACtB,KAAK,IAAI,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;QAAE,MAAM,EAAE,SAAS,CAAA;KAAE,CAEnD;IAED;;OAEG;IACH,SAAgB,OAAO,CAAC,CAAC,EAAE,CAAC,SAAS,SAAS,EAC5C,KAAK,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,GACtB,KAAK,IAAI,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,KAAK,CAAA;KAAE,CAE/D;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+CG;IACH,SAAgB,MAAM,CAAC,CAAC,EAAE,CAAC,SAAS,SAAS,GAAG,OAAO,EACrD,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAC9B,SAAS,EAAE,MAAM,CAAC,GACjB,YAAY,CAoDd;CACF"}
1
+ {"version":3,"file":"async.d.ts","sourceRoot":"","sources":["../../src/async/async.ts"],"names":[],"mappings":"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"}
@@ -429,10 +429,8 @@ asyncState.from = asyncStateFrom;
429
429
  throw promise;
430
430
  }
431
431
  }
432
- throw new AsyncNotReadyError(
433
- `Cannot wait: state is ${state.status}`,
434
- state.status
435
- );
432
+ const message = state.status === "idle" ? `Cannot wait: state is idle. Call dispatch() or use trigger() to start the async operation before calling async.wait().` : `Cannot wait: state is ${state.status}`;
433
+ throw new AsyncNotReadyError(message, state.status);
436
434
  }
437
435
  async2.wait = wait;
438
436
  function race(states) {
@@ -1,16 +1,5 @@
1
- import { StateBase, ActionsBase, StoreSpec, StoreInstance, Resolver, StoreContext, Focus, FocusOptions } from '../types';
1
+ import { StateBase, ActionsBase, StoreSpec, StoreInstance, Resolver, StoreContext, Focus, FocusOptions, FocusContext } from '../types';
2
2
 
3
- /**
4
- * Internal focus context for creating focus instances.
5
- */
6
- export interface FocusContext<TState extends StateBase> {
7
- /** Get current state */
8
- getState: () => TState;
9
- /** Update state with immer-style updater */
10
- update: (updater: (draft: TState) => void) => void;
11
- /** Subscribe to state changes */
12
- subscribe: (listener: () => void) => VoidFunction;
13
- }
14
3
  /**
15
4
  * Options for creating store context.
16
5
  */
@@ -41,11 +30,11 @@ export interface CreateStoreContextOptions<TState extends StateBase, TActions ex
41
30
  /**
42
31
  * Create a focus for a nested state path.
43
32
  *
44
- * @param focusCtx - Focus context with state access
33
+ * @param context - Focus context with state access
45
34
  * @param path - Dot-notation path to focus on
46
35
  * @param options - Focus options (fallback, equality)
47
36
  */
48
- export declare function createFocus<TState extends StateBase, TValue>(focusCtx: FocusContext<TState>, path: string, options?: FocusOptions<TValue>): Focus<TValue>;
37
+ export declare function createFocus<TValue>(context: FocusContext, segments: string[], isSetupPhase: () => boolean, options?: FocusOptions<TValue>): Focus<TValue>;
49
38
  /**
50
39
  * Create a store context for the setup function.
51
40
  *
@@ -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;AAWlB;;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,CAwJ5E"}
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,EAEjB,YAAY,EACb,MAAM,UAAU,CAAC;AAWlB;;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,EAChC,OAAO,EAAE,YAAY,EACrB,QAAQ,EAAE,MAAM,EAAE,EAClB,YAAY,EAAE,MAAM,OAAO,EAC3B,OAAO,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,GAC7B,KAAK,CAAC,MAAM,CAAC,CA+Hf;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,CAiJ5E"}
@@ -1,4 +1,4 @@
1
- import { c as createStoreInstance, S as STORION_TYPE } from "../store-CwgUVEWv.js";
1
+ import { c as createStoreInstance, S as STORION_TYPE } from "../store-DGyskBrf.js";
2
2
  import { e as emitter } from "../emitter-XwTUpyGv.js";
3
3
  let snapshotIdCounter = 0;
4
4
  let eventIdCounter = 0;
@@ -6,8 +6,8 @@ import { container } from "../storion.js";
6
6
  import { applyExcept, applyFor, compose, createLoggingMiddleware, createResolver, createValidationMiddleware, forStores, pick, trigger, when } from "../storion.js";
7
7
  import { P as ProviderMissingError, L as LocalStoreDependencyError, w as withHooks, A as AsyncFunctionError } from "../emitter-XwTUpyGv.js";
8
8
  import { E, H, I, c, a, d, S, b, u } from "../emitter-XwTUpyGv.js";
9
- import { i as isSpec, S as STORION_TYPE, r as resolveEquality, s as store } from "../store-CwgUVEWv.js";
10
- import { n, l, g, a as a2, h, d as d2, f, k, e, j, b as b2, p, m, o, u as u2, w } from "../store-CwgUVEWv.js";
9
+ import { i as isSpec, S as STORION_TYPE, r as resolveEquality, s as store } from "../store-DGyskBrf.js";
10
+ import { n, l, g, a as a2, h, d as d2, f, k, e, j, b as b2, p, m, o, u as u2, w } from "../store-DGyskBrf.js";
11
11
  import { jsx } from "react/jsx-runtime";
12
12
  import { e as e2 } from "../effect-ByI1oRBq.js";
13
13
  const StoreContext = createContext(null);
@@ -1760,12 +1760,17 @@ function getAtPath(obj, segments) {
1760
1760
  }
1761
1761
  return current2;
1762
1762
  }
1763
- function createFocus(focusCtx, path, options) {
1764
- const segments = path.split(".");
1763
+ function createFocus(context, segments, isSetupPhase, options) {
1764
+ if (!isSetupPhase()) {
1765
+ throw new SetupPhaseError(
1766
+ "createFocus",
1767
+ "Focus can only be called during setup phase."
1768
+ );
1769
+ }
1765
1770
  const { fallback, equality: equalityOption } = options ?? {};
1766
1771
  const equalityFn = resolveEquality(equalityOption);
1767
1772
  const getter = () => {
1768
- const state = focusCtx.getState();
1773
+ const state = context.get();
1769
1774
  const value = getAtPath(state, segments);
1770
1775
  if ((value === null || value === void 0) && fallback) {
1771
1776
  return fallback();
@@ -1773,7 +1778,7 @@ function createFocus(focusCtx, path, options) {
1773
1778
  return value;
1774
1779
  };
1775
1780
  const setter = (valueOrReducerOrProduce) => {
1776
- focusCtx.update((draft) => {
1781
+ context.update((draft) => {
1777
1782
  let current2 = draft;
1778
1783
  for (let i = 0; i < segments.length - 1; i++) {
1779
1784
  const key = segments[i];
@@ -1801,7 +1806,7 @@ function createFocus(focusCtx, path, options) {
1801
1806
  };
1802
1807
  const on = (listener) => {
1803
1808
  let prevValue = getter();
1804
- return focusCtx.subscribe(() => {
1809
+ return context.subscribe(() => {
1805
1810
  const nextValue = getter();
1806
1811
  if (!equalityFn(prevValue, nextValue)) {
1807
1812
  const prev = prevValue;
@@ -1811,14 +1816,21 @@ function createFocus(focusCtx, path, options) {
1811
1816
  });
1812
1817
  };
1813
1818
  const to = (relativePath, childOptions) => {
1814
- const combinedPath = `${path}.${relativePath}`;
1815
- return createFocus(focusCtx, combinedPath, childOptions);
1819
+ return createFocus(
1820
+ context,
1821
+ [...segments, ...relativePath.split(".")],
1822
+ isSetupPhase,
1823
+ childOptions
1824
+ );
1816
1825
  };
1817
1826
  const focus = [getter, setter];
1818
- const focusObj = focus;
1819
- focusObj[STORION_TYPE] = "focus";
1820
- focusObj.on = on;
1821
- focusObj.to = to;
1827
+ Object.assign(focus, {
1828
+ [STORION_TYPE]: "focus",
1829
+ on,
1830
+ to,
1831
+ context,
1832
+ segments
1833
+ });
1822
1834
  return focus;
1823
1835
  }
1824
1836
  function createUpdateFn(update) {
@@ -1927,20 +1939,14 @@ function createStoreContext(options) {
1927
1939
  return mixin(ctx, ...args);
1928
1940
  },
1929
1941
  focus(path, options2) {
1930
- if (!isSetupPhase()) {
1931
- throw new SetupPhaseError(
1932
- "focus",
1933
- "Use the .to() method on an existing focus for dynamic sub-paths."
1934
- );
1935
- }
1936
1942
  const focusCtx = {
1937
- getState: getMutableState,
1943
+ get: getMutableState,
1938
1944
  update: (updater) => {
1939
1945
  ctx.update(updater);
1940
1946
  },
1941
1947
  subscribe
1942
1948
  };
1943
- return createFocus(focusCtx, path, options2);
1949
+ return createFocus(focusCtx, path.split("."), isSetupPhase, options2);
1944
1950
  }
1945
1951
  };
1946
1952
  return ctx;
package/dist/storion.js CHANGED
@@ -1,5 +1,5 @@
1
- import { t as tryDispose, i as isSpec, S as STORION_TYPE, r as resolveEquality, u as unwrapFn, m as shallowEqual } from "./store-CwgUVEWv.js";
2
- import { n, l, g, a, h, d, f, k, e, j, b, p, s, o, w } from "./store-CwgUVEWv.js";
1
+ import { t as tryDispose, i as isSpec, S as STORION_TYPE, r as resolveEquality, u as unwrapFn, m as shallowEqual } from "./store-DGyskBrf.js";
2
+ import { n, l, g, a, h, d, f, k, e, j, b, p, s, o, w } from "./store-DGyskBrf.js";
3
3
  import { e as emitter, u as untrack, g as getHooks, H as HooksContextError, w as withHooks } from "./emitter-XwTUpyGv.js";
4
4
  import { A, E, I, c, L, P, a as a2, d as d2, S, b as b2 } from "./emitter-XwTUpyGv.js";
5
5
  import { e as e2 } from "./effect-ByI1oRBq.js";
package/dist/types.d.ts CHANGED
@@ -93,6 +93,17 @@ export interface FocusOptions<T> {
93
93
  */
94
94
  equality?: Equality<T>;
95
95
  }
96
+ /**
97
+ * Internal focus context for creating focus instances.
98
+ */
99
+ export interface FocusContext {
100
+ /** Get current state */
101
+ get: () => StateBase;
102
+ /** Update state with immer-style updater */
103
+ update: (updater: (draft: StateBase) => void) => void;
104
+ /** Subscribe to state changes */
105
+ subscribe: (listener: VoidFunction) => VoidFunction;
106
+ }
96
107
  /**
97
108
  * Focus tuple: [getter, setter] with an on() method for subscribing to changes.
98
109
  *
@@ -127,6 +138,11 @@ export type Focus<TValue> = [
127
138
  */
128
139
  setter: (valueOrReducerOrProduce: TValue | ((prev: TValue) => TValue | void)) => void
129
140
  ] & {
141
+ /** The context of the focus */
142
+ readonly context: FocusContext;
143
+ /** The segments of the focused path */
144
+ readonly segments: string[];
145
+ /** The type of the focus */
130
146
  readonly [STORION_TYPE]: "focus";
131
147
  /**
132
148
  * Subscribe to changes at the focused path.
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,eAAoB,CAAC;AAE9C;;;GAGG;AACH,MAAM,MAAM,WAAW,GACnB,YAAY,GACZ,cAAc,GACd,WAAW,GACX,OAAO,GACP,OAAO,GACP,eAAe,GACf,kBAAkB,GAClB,YAAY,CAAC;AAEjB;;GAEG;AACH,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW;IAChE,QAAQ,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;CAC5B;AAED;;;;GAIG;AAMH;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEzD;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC;CACxC;AAMD,MAAM,MAAM,iBAAiB,GACzB,QAAQ,GACR,SAAS,GACT,UAAU,GACV,UAAU,GACV,MAAM,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,GAAG,OAAO,IAC5B,iBAAiB,GACjB,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC;AAE9B;;GAEG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI;KAC1B,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAChC,CAAC;AAMF;;;;;;;GAOG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,EAAE,MAAM,SAAS,MAAM,GAAG,EAAE,IAAI,CAAC,SAAS,MAAM,GACnE,CAAC,SAAS,OAAO,EAAE,GACjB,KAAK,GACL;KACG,CAAC,IAAI,MAAM,CAAC,GAAG,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,GACrD,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,OAAO,EAAE,GACjC,GAAG,MAAM,GAAG,CAAC,EAAE,GACf,GAAG,MAAM,GAAG,CAAC,EAAE,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,GAClE,GAAG,MAAM,GAAG,CAAC,EAAE;CACpB,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,GACrB,KAAK,CAAC;AAEV;;;;;;GAMG;AACH,MAAM,MAAM,SAAS,CACnB,CAAC,EACD,CAAC,SAAS,MAAM,IACd,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,MAAM,IAAI,EAAE,GACpC,CAAC,SAAS,MAAM,CAAC,GACf,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,GAClC,KAAK,GACP,CAAC,SAAS,MAAM,CAAC,GACjB,CAAC,CAAC,CAAC,CAAC,GACJ,KAAK,CAAC;AAEV;;GAEG;AACH,MAAM,MAAM,UAAU,CACpB,MAAM,EACN,KAAK,SAAS,IAAI,GAAG,KAAK,GAAG,IAAI,IAC/B,KAAK,SAAS,IAAI,GAAG,OAAO,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAAC,GAAG,MAAM,CAAC;AAEpE;;GAEG;AACH,MAAM,WAAW,gBAAgB,CAAC,CAAC;IACjC,IAAI,EAAE,CAAC,CAAC;IACR,IAAI,EAAE,CAAC,CAAC;CACT;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,UAAU,CAAC,CAAC,CAAC,CAAC;IAE/B;;;OAGG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,MAAM,KAAK,CAAC,MAAM,IAAI;IAC1B,gDAAgD;IAChD,MAAM,EAAE,MAAM,MAAM;IACpB;;;;;OAKG;IACH,MAAM,EAAE,CACN,uBAAuB,EAAE,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC,KAChE,IAAI;CACV,GAAG;IACF,QAAQ,CAAC,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IACjC;;;;;;OAMG;IACH,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,gBAAgB,CAAC,MAAM,CAAC,KAAK,IAAI,GAAG,YAAY,CAAC;IAEtE;;;;;;;;;;;OAWG;IACH,EAAE,CAAC,MAAM,EACP,YAAY,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,GAC7B,KAAK,CAAC,MAAM,CAAC,CAAC;CAClB,CAAC;AAMF;;;;;GAKG;AACH,MAAM,MAAM,QAAQ,GAAG,WAAW,GAAG,aAAa,CAAC;AAMnD;;;;;;;;;;;;;;;;;;GAkBG;AAEH,MAAM,WAAW,SAAS;CAAG;AAM7B;;;GAGG;AACH,MAAM,MAAM,aAAa,CAAC,QAAQ,SAAS,WAAW,IAAI;KACvD,CAAC,IAAI,MAAM,QAAQ,GAAG;QACrB,kBAAkB;QAClB,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QACjB,qCAAqC;QACrC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACvC,mDAAmD;QACnD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;KACtB;CACF,CAAC,MAAM,QAAQ,CAAC,CAAC;AAElB;;GAEG;AACH,MAAM,MAAM,mBAAmB,CAC7B,QAAQ,SAAS,WAAW,EAC5B,CAAC,SAAS,MAAM,QAAQ,IACtB;IACF,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IACjB,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACvC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,cAAc,CACxB,QAAQ,SAAS,WAAW,EAC5B,CAAC,SAAS,MAAM,QAAQ,IACtB,QAAQ,CAAC,CAAC,CAAC,GAAG;IAChB;;;;;OAKG;IACH,IAAI,IAAI,mBAAmB,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC;CACtD,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,eAAe,CAAC,QAAQ,SAAS,WAAW,IAAI;KACzD,CAAC,IAAI,MAAM,QAAQ,GAAG,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC;CACnD,CAAC;AAMF;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,SAAS,CACxB,MAAM,SAAS,SAAS,GAAG,SAAS,EACpC,QAAQ,SAAS,WAAW,GAAG,WAAW,CAC1C,SAAQ,aAAa,CAAC,YAAY,CAAC;IACnC,uGAAuG;IACvG,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAE7B,mDAAmD;IACnD,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAEjD;;;OAGG;IACH,CAAC,QAAQ,EAAE,QAAQ,GAAG,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;CACvD;AAMD;;;;;;;;;;GAUG;AACH,MAAM,MAAM,UAAU,CACpB,MAAM,SAAS,SAAS,EACxB,OAAO,EACP,KAAK,SAAS,OAAO,EAAE,GAAG,EAAE,IAC1B,CAAC,OAAO,EAAE,YAAY,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,EAAE,KAAK,KAAK,OAAO,CAAC;AAE/D;;;;;;;;;;GAUG;AACH,MAAM,MAAM,aAAa,CAAC,OAAO,EAAE,KAAK,SAAS,OAAO,EAAE,GAAG,EAAE,IAAI,CACjE,OAAO,EAAE,eAAe,EACxB,GAAG,IAAI,EAAE,KAAK,KACX,OAAO,CAAC;AAMb;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,SAAS,EAAE,CAAC,SAAS,WAAW,IAAI,SAAS;IAC5E,QAAQ,CAAC,CAAC,CAAC;IACX,CAAC;CACF,GAAG;IACF,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;CACrB,CAAC;AAMF;;;;;GAKG;AACH,MAAM,WAAW,WAAW,CAAC,MAAM,SAAS,SAAS;IACnD;;OAEG;IACH,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;IAEzC;;OAEG;IACH,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IAEjC;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,KAAK,SAAS,OAAO,EAAE,EAC5B,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,KAAK,KAAK,IAAI,GAC/C,CAAC,GAAG,IAAI,EAAE,KAAK,KAAK,IAAI,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,YAAY,CAAC,MAAM,SAAS,SAAS,GAAG,SAAS,CAChE,SAAQ,aAAa,CAAC,eAAe,CAAC;IACtC;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAEvB;;;;;;;;;;;;OAYG;IACH,GAAG,CAAC,CAAC,SAAS,SAAS,EAAE,CAAC,SAAS,WAAW,EAC5C,IAAI,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,GACpB,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAEpB;;;;;;;;OAQG;IACH,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IAE1C;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,MAAM,CAAC,CAAC,SAAS,SAAS,EAAE,CAAC,SAAS,WAAW,EAC/C,IAAI,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,GACpB,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAEvB;;;;;;;;;;;;;;;OAeG;IACH,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,CAAC,GAAG,CAAC,CAAC;IAEjD;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,MAAM,CAAC,OAAO,EAAE,KAAK,SAAS,CAAC,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC,EAC3C,OAAO,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,KAAK,KAAK,OAAO,EACxD,GAAG,IAAI,EAAE,KAAK,GACb,OAAO,CAAC;IAEX;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAE5B;;;;;;;;;OASG;IACH,KAAK,IAAI,OAAO,CAAC;IACjB,KAAK,CAAC,CAAC,SAAS,MAAM,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC;IAEhD;;;OAGG;IACH,KAAK,IAAI,IAAI,CAAC;IAEd;;;;;;;;;;;;;;;;;;OAkBG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;IAEtC;;;;;;;;OAQG;IACH,KAAK,CAAC,OAAO,EAAE,KAAK,SAAS,OAAO,EAAE,EACpC,KAAK,EAAE,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,EACzC,GAAG,IAAI,EAAE,KAAK,GACb,OAAO,CAAC;IAEX;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,KAAK,CAAC,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;IAEzE,KAAK,CAAC,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,EAC/B,IAAI,EAAE,CAAC,EACP,OAAO,EAAE,YAAY,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,GAAG;QAC5C,QAAQ,EAAE,MAAM,UAAU,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;KAClD,GACA,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAE3C,KAAK,CAAC,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,EAC/B,IAAI,EAAE,CAAC,EACP,OAAO,EAAE,YAAY,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,GAC1C,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;CAChC;AAMD;;GAEG;AACH,MAAM,WAAW,YAAY,CAC3B,MAAM,SAAS,SAAS,EACxB,QAAQ,SAAS,WAAW;IAE5B,+BAA+B;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,2BAA2B;IAC3B,KAAK,EAAE,MAAM,CAAC;IAEd,uDAAuD;IACvD,KAAK,EAAE,CAAC,OAAO,EAAE,YAAY,CAAC,MAAM,CAAC,KAAK,QAAQ,CAAC;IAEnD;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CAAC,EACL,QAAQ,GACR,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,MAAM,EAAE,QAAQ,CAAC,CAAC,GAAG;QAAE,OAAO,CAAC,EAAE,QAAQ,CAAA;KAAE,CAAC,CAAC;IAEvE,mCAAmC;IACnC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAEpB,yCAAyC;IACzC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC;IAEtD,sDAAsD;IACtD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAEnC;;;;;;;;;;OAUG;IACH,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEvD;;;;;;;;;;OAUG;IACH,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,CAAC;IAExD;;;;;;;;;;;;;;;;;OAiBG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAMD;;;;;GAKG;AACH,MAAM,WAAW,aAAa,CAC5B,MAAM,SAAS,SAAS,GAAG,SAAS,EACpC,QAAQ,SAAS,WAAW,GAAG,WAAW,CAC1C,SAAQ,aAAa,CAAC,OAAO,CAAC;IAC9B,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAEpB,yDAAyD;IACzD,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAE3C,oCAAoC;IACpC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAEjC,gDAAgD;IAChD,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC;IAE5C,iEAAiE;IACjE,QAAQ,CAAC,IAAI,EAAE,SAAS,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;IAElD;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,YAAY,CAAC;IAC9C,SAAS,CAAC,CAAC,SAAS,MAAM,MAAM,EAC9B,OAAO,EAAE,CAAC,EACV,QAAQ,EAAE,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAA;KAAE,KAAK,IAAI,GAC9D,YAAY,CAAC;IAChB,SAAS,CAAC,CAAC,SAAS,MAAM,QAAQ,EAChC,SAAS,EAAE,IAAI,CAAC,GAAG,MAAM,EAAE,EAC3B,QAAQ,EAAE,CAAC,KAAK,EAAE;QAChB,IAAI,EAAE,mBAAmB,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QACvC,IAAI,EAAE,mBAAmB,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC;KACpD,KAAK,IAAI,GACT,YAAY,CAAC;IAChB,SAAS,CACP,QAAQ,EAAE,IAAI,EACd,QAAQ,EAAE,CAAC,KAAK,EAAE;QAChB,IAAI,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC9B,IAAI,EAAE,aAAa,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC;KAC3C,KAAK,IAAI,GACT,YAAY,CAAC;IAEhB;;OAEG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,YAAY,CAAC;IAE9C,kDAAkD;IAClD,OAAO,IAAI,IAAI,CAAC;IAEhB,uCAAuC;IACvC,QAAQ,IAAI,OAAO,CAAC;IAEpB;;;;;;;;;OASG;IACH,KAAK,IAAI,OAAO,CAAC;IACjB,KAAK,CAAC,CAAC,SAAS,MAAM,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC;IAEhD;;;OAGG;IACH,KAAK,IAAI,IAAI,CAAC;IAEd;;;;;;;;OAQG;IACH,SAAS,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAErC;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAE7C;;;;OAIG;IACH,kBAAkB,CAAC,CAAC,SAAS,MAAM,MAAM,EACvC,OAAO,EAAE,CAAC,GAAG,MAAM,EACnB,QAAQ,EAAE,MAAM,IAAI,GACnB,YAAY,CAAC;CACjB;AAMD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,0CAA0C;IAC1C,WAAW,CAAC,EAAE,kBAAkB,CAAC;IAEjC,wEAAwE;IACxE,UAAU,CAAC,EAAE,UAAU,EAAE,CAAC;CAC3B;AAMD;;;;;GAKG;AACH,MAAM,MAAM,OAAO,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,QAAQ,KAAK,CAAC,CAAC;AAMzD;;GAEG;AACH,UAAU,qBAAqB;IAC7B,gCAAgC;IAChC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAE1B,4BAA4B;IAC5B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAE5B,qDAAqD;IACrD,QAAQ,CAAC,IAAI,EAAE,MAAM,OAAO,CAAC;IAE7B;;;;OAIG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;CAC1C;AAED;;GAEG;AACH,MAAM,WAAW,wBAAyB,SAAQ,qBAAqB;IACrE,6CAA6C;IAC7C,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;CAC1B;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC,qCAAqC;IACrC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAEvB,iDAAiD;IACjD,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAEzB,+CAA+C;IAC/C,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAE1B,4BAA4B;IAC5B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAE5B,qDAAqD;IACrD,QAAQ,CAAC,IAAI,EAAE,MAAM,aAAa,CAAC;IAEnC,qDAAqD;IACrD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,iBAAiB,GACzB,wBAAwB,GACxB,sBAAsB,CAAC;AAE3B;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE,iBAAiB,KAAK,OAAO,CAAC;AAE7D;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE,sBAAsB,KAAK,aAAa,CAAC;AAE7E;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,8CAA8C;IAC9C,UAAU,CAAC,EAAE,UAAU,EAAE,CAAC;IAC1B,8CAA8C;IAC9C,MAAM,CAAC,EAAE,QAAQ,CAAC;IAClB;;;;OAIG;IACH,cAAc,CAAC,EAAE,QAAQ,CAAC;CAC3B;AAED;;;;;GAKG;AACH,MAAM,WAAW,QAAQ;IACvB;;;OAGG;IACH,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAE/B;;OAEG;IACH,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAElC;;;;;;;;;;OAUG;IACH,MAAM,CAAC,OAAO,EAAE,KAAK,SAAS,CAAC,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC,EAC3C,OAAO,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,KAAK,KAAK,OAAO,EACxD,GAAG,IAAI,EAAE,KAAK,GACb,OAAO,CAAC;IAEX;;;;OAIG;IACH,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAExD;;OAEG;IACH,GAAG,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC;IAE/B;;;OAGG;IACH,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IAE9C;;;;OAIG;IACH,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC;IAElC;;;OAGG;IACH,KAAK,IAAI,IAAI,CAAC;IAEd;;;OAGG;IACH,KAAK,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,QAAQ,CAAC;CAC5C;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,mEAAmE;IACnE,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,cAAe,SAAQ,aAAa,CAAC,WAAW,CAAC;IAChE;;;OAGG;IACH,GAAG,CAAC,CAAC,SAAS,SAAS,EAAE,CAAC,SAAS,WAAW,EAC5C,IAAI,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,GACpB,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAEvB;;;;;;;OAOG;IACH,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAE/B;;OAEG;IACH,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,SAAS,CAAC;IAErD;;;OAGG;IACH,MAAM,CAAC,CAAC,SAAS,SAAS,EAAE,CAAC,SAAS,WAAW,EAC/C,IAAI,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,GACpB,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAEvB;;;OAGG;IACH,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAElC;;;;;;;;;;OAUG;IACH,MAAM,CAAC,OAAO,EAAE,KAAK,SAAS,CAAC,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC,EAC3C,OAAO,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,KAAK,KAAK,OAAO,EACxD,GAAG,IAAI,EAAE,KAAK,GACb,OAAO,CAAC;IAEX;;;OAGG;IACH,GAAG,CAAC,CAAC,SAAS,SAAS,EAAE,CAAC,SAAS,WAAW,EAC5C,IAAI,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EACrB,QAAQ,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,GACxB,IAAI,CAAC;IAER;;OAEG;IACH,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC;IAExC;;;OAGG;IACH,MAAM,CAAC,CAAC,SAAS,SAAS,EAAE,CAAC,SAAS,WAAW,EAC/C,IAAI,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,GACpB,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC;IAEnC;;OAEG;IACH,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC;IAC3C;;OAEG;IACH,KAAK,IAAI,IAAI,CAAC;IAEd;;OAEG;IACH,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC;IAE5C;;;OAGG;IACH,KAAK,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,cAAc,CAAC;IAElD;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,IAAI,GAAG,YAAY,CAAC;IAE9E;;OAEG;IACH,SAAS,CACP,QAAQ,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,IAAI,GACpD,YAAY,CAAC;CACjB;AAMD;;;;;GAKG;AACH,MAAM,WAAW,eAAgB,SAAQ,aAAa,CAAC,kBAAkB,CAAC;IACxE;;;;;;;;;;;;;;;;;OAiBG;IACH,GAAG,CAAC,CAAC,SAAS,SAAS,EAAE,CAAC,SAAS,WAAW,EAC5C,IAAI,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,GACpB,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAEpB;;;;;;;;OAQG;IACH,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,CAAC,GAAG,CAAC,CAAC;IAE9C;;;;;;;;;;OAUG;IACH,MAAM,CAAC,OAAO,EAAE,KAAK,SAAS,CAAC,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC,EAC3C,OAAO,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,KAAK,KAAK,OAAO,EACxD,GAAG,IAAI,EAAE,KAAK,GACb,OAAO,CAAC;IAEX;;;;;;OAMG;IACH,KAAK,CAAC,OAAO,EAAE,KAAK,SAAS,OAAO,EAAE,EACpC,KAAK,EAAE,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC,EACpC,GAAG,IAAI,EAAE,KAAK,GACb,OAAO,CAAC;IAEX;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAEpB;;;;;;;;;;;OAWG;IACH,IAAI,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,KAAK,CAAC,CAAC;AAE1D;;GAEG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI;KAC3B,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,KAAK,MAAM,CAAC,GACtD,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,GACjB,CAAC,CAAC,CAAC,CAAC;CACT,CAAC;AAEF,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;AAE7C,MAAM,MAAM,yBAAyB,CAAC,CAAC,IACnC,QAAQ,CAAC,CAAC,CAAC,GACX,QAAQ,CAAC,CAAC,CAAC,EAAE,GACb,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC;AAM5D;;GAEG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC;AAE1C,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,YAAY,GAAG,CAAC,YAAY,GAAG,UAAU,CAAC,EAAE,CAAC;CACvD"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "storion",
3
- "version": "0.7.5",
3
+ "version": "0.7.7",
4
4
  "description": "Reactive stores for modern apps. Type-safe. Auto-tracked. Effortlessly composable",
5
5
  "type": "module",
6
6
  "main": "./dist/storion.js",
@@ -46,9 +46,9 @@
46
46
  "version:minor": "npm version minor -m \"chore: bump version to %s\"",
47
47
  "version:major": "npm version major -m \"chore: bump version to %s\"",
48
48
  "prepublishOnly": "pnpm run build",
49
- "release:patch": "git status --porcelain | grep -q . && echo 'Error: uncommitted changes' && exit 1; pnpm version:patch && git add -A && git commit --amend --no-edit && npm publish",
50
- "release:minor": "git status --porcelain | grep -q . && echo 'Error: uncommitted changes' && exit 1; pnpm version:minor && git add -A && git commit --amend --no-edit && npm publish",
51
- "release:major": "git status --porcelain | grep -q . && echo 'Error: uncommitted changes' && exit 1; pnpm version:major && git add -A && git commit --amend --no-edit && npm publish",
49
+ "release:patch": "git status --porcelain | grep -q . && echo 'Error: uncommitted changes' && exit 1; pnpm version:patch && git add -A && git commit -m 'chore: release patch' && git push && npm publish",
50
+ "release:minor": "git status --porcelain | grep -q . && echo 'Error: uncommitted changes' && exit 1; pnpm version:minor && git add -A && git commit -m 'chore: release minor' && git push && npm publish",
51
+ "release:major": "git status --porcelain | grep -q . && echo 'Error: uncommitted changes' && exit 1; pnpm version:major && git add -A && git commit -m 'chore: release major' && git push && npm publish",
52
52
  "publish:dry": "npm publish --dry-run"
53
53
  },
54
54
  "keywords": [