storion 0.14.3 → 0.15.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/CHANGELOG.md CHANGED
@@ -9,6 +9,23 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
9
9
 
10
10
  ---
11
11
 
12
+ ## [0.15.0] - 2024-12-27
13
+
14
+ ### Changed
15
+
16
+ - **BREAKING**: Rename `tryGet(key, create)` to `ensure(key, create)` in `list()` and `map()` focus helpers
17
+
18
+ ---
19
+
20
+ ## [0.14.4] - 2024-12-27
21
+
22
+ ### Changed
23
+
24
+ - **BREAKING**: `async.state()` now returns `PromiseWithState<T>` (promise with attached state) instead of `PromiseState<T>`
25
+ - Removed `async.withState()` - use `async.state()` instead which now attaches state directly to the promise
26
+
27
+ ---
28
+
12
29
  ## [0.14.3] - 2024-12-27
13
30
 
14
31
  ### Fixed
@@ -1,5 +1,5 @@
1
1
  import { Focus, MetaEntry, SelectorMixin } from '../types';
2
- import { AsyncState, AsyncMode, AsyncHandler, AsyncOptions, AsyncActions, CancellablePromise, InferAsyncData, MapAsyncData, MapSettledResult, RaceResult, AsyncKey, AsyncRequestId, PromiseState } from './types';
2
+ import { AsyncState, AsyncMode, AsyncHandler, AsyncOptions, AsyncActions, CancellablePromise, InferAsyncData, MapAsyncData, MapSettledResult, RaceResult, AsyncKey, AsyncRequestId, PromiseWithState } from './types';
3
3
  import { Abortable } from './abortable';
4
4
 
5
5
  /**
@@ -195,20 +195,12 @@ export declare namespace async {
195
195
  * Also considers stale data as "ready" in stale mode.
196
196
  */
197
197
  function race<T extends Record<string, AsyncState<any, any>>>(states: T): RaceResult<T>;
198
- /**
199
- * Wraps a promise with the state of the promise.
200
- * @param promise - The promise to get the state of.
201
- * @returns The promise with the state attached.
202
- */
203
- function withState<T>(promise: PromiseLike<T>): PromiseLike<T> & {
204
- state: PromiseState<T>;
205
- };
206
198
  /**
207
199
  * Get the state of a promise.
208
200
  * @param promise - The promise to get the state of.
209
201
  * @returns The state of the promise.
210
202
  */
211
- function state<T>(promise: PromiseLike<T>): PromiseState<T>;
203
+ function state<T>(promise: PromiseLike<T>): PromiseWithState<T>;
212
204
  /**
213
205
  * Returns all data if all states are ready.
214
206
  * In stale mode, stale data counts as ready.
@@ -1 +1 @@
1
- {"version":3,"file":"async.d.ts","sourceRoot":"","sources":["../../src/async/async.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"async.d.ts","sourceRoot":"","sources":["../../src/async/async.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { r as retryStrategy } from "../effect-CB289BT8.js";
2
- import { d, A, b, a, c, i } from "../effect-CB289BT8.js";
1
+ import { r as retryStrategy } from "../effect-rKIdiLB3.js";
2
+ import { d, A, b, a, c, i } from "../effect-rKIdiLB3.js";
3
3
  function retry(retriesOrStrategyOrOptions) {
4
4
  const options = typeof retriesOrStrategyOrOptions === "number" ? { retries: retriesOrStrategyOrOptions } : typeof retriesOrStrategyOrOptions === "string" ? { delay: retriesOrStrategyOrOptions } : retriesOrStrategyOrOptions ?? {};
5
5
  const retries = options.retries ?? 3;
@@ -87,12 +87,12 @@ export interface FocusList<T> {
87
87
  */
88
88
  set(index: number, itemOrReducerOrUpdater: T | ((prev: T) => T | void)): void;
89
89
  /**
90
- * Get item at index, or create it if it doesn't exist.
90
+ * Ensure item exists at index, creating it if necessary.
91
91
  *
92
92
  * @example
93
- * const item = items.tryGet(5, () => ({ id: 5, name: 'New' }));
93
+ * const item = items.ensure(5, () => ({ id: 5, name: 'New' }));
94
94
  */
95
- tryGet(index: number, create: () => T): T;
95
+ ensure(index: number, create: () => T): T;
96
96
  /**
97
97
  * Swap items at two indices.
98
98
  *
@@ -69,12 +69,12 @@ export interface FocusMap<T> {
69
69
  */
70
70
  set(key: string, valueOrReducerOrUpdater: T | ((prev: T) => T | void)): void;
71
71
  /**
72
- * Get value at key, or create it if it doesn't exist.
72
+ * Ensure value exists at key, creating it if necessary.
73
73
  *
74
74
  * @example
75
- * const user = users.tryGet('user-123', () => ({ id: 'user-123', name: 'New' }));
75
+ * const user = users.ensure('user-123', () => ({ id: 'user-123', name: 'New' }));
76
76
  */
77
- tryGet(key: string, create: () => T): T;
77
+ ensure(key: string, create: () => T): T;
78
78
  /**
79
79
  * Swap values at two keys.
80
80
  *
@@ -3342,7 +3342,6 @@ function createAsyncContext(abortController, isCancelledOrAborted, cancel, resol
3342
3342
  };
3343
3343
  }
3344
3344
  const pendingPromises = /* @__PURE__ */ new WeakMap();
3345
- const promiseStates = /* @__PURE__ */ new WeakMap();
3346
3345
  function getPendingPromise(state) {
3347
3346
  if (state.status === "pending" && "__key" in state && state.__key) {
3348
3347
  return pendingPromises.get(state.__key);
@@ -3806,15 +3805,12 @@ var async;
3806
3805
  );
3807
3806
  }
3808
3807
  async2.race = race;
3809
- function withState(promise) {
3810
- const s = state(promise);
3811
- return Object.assign(promise, { state: s });
3812
- }
3813
- async2.withState = withState;
3814
3808
  function state(promise) {
3815
- const state2 = promiseStates.get(promise);
3816
- if (state2) {
3817
- return state2;
3809
+ if (!isPromiseLike$1(promise)) {
3810
+ throw new Error("Promise is not a PromiseLike");
3811
+ }
3812
+ if ("state" in promise) {
3813
+ return promise;
3818
3814
  }
3819
3815
  const newState = {
3820
3816
  status: "pending",
@@ -3831,8 +3827,7 @@ var async;
3831
3827
  newState.rejected = error;
3832
3828
  }
3833
3829
  );
3834
- promiseStates.set(promise, newState);
3835
- return newState;
3830
+ return Object.assign(promise, { state: newState });
3836
3831
  }
3837
3832
  async2.state = state;
3838
3833
  function all(...states) {
@@ -4,8 +4,8 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
4
4
  import { memo, useRef, useMemo, createElement, createContext, useContext, useId, useReducer, useState, useEffect, useLayoutEffect, forwardRef } from "react";
5
5
  import { container } from "../storion.js";
6
6
  import { append, applyExcept, applyFor, clamp, decrement, disposalGroup, divide, forStores, getNamedGroup, increment, list, map, merge, multiply, prepend, reset, resolver, toggle, trigger, withMeta } from "../storion.js";
7
- import { P as ProviderMissingError, e as isSpec, w as withHooks, f as AsyncFunctionError, t as tryStabilize, s as strictEqual, S as ScopedOutsideSelectorError, g as storeTuple, h as STORION_TYPE, j as dev, k as resolveEquality, l as store } from "../effect-CB289BT8.js";
8
- import { E, H, I, L, C, z, B, y, n, x, o, q, m, p, D, v, u } from "../effect-CB289BT8.js";
7
+ import { P as ProviderMissingError, e as isSpec, w as withHooks, f as AsyncFunctionError, t as tryStabilize, s as strictEqual, S as ScopedOutsideSelectorError, g as storeTuple, h as STORION_TYPE, j as dev, k as resolveEquality, l as store } from "../effect-rKIdiLB3.js";
8
+ import { E, H, I, L, C, z, B, y, n, x, o, q, m, p, D, v, u } from "../effect-rKIdiLB3.js";
9
9
  import { e as emitter } from "../emitter-j4rC71vY.js";
10
10
  import { jsx } from "react/jsx-runtime";
11
11
  import { m as m2 } from "../meta-40r-AZfe.js";
package/dist/storion.js CHANGED
@@ -1,5 +1,5 @@
1
- import { F as tryDispose, e as isSpec, u as untrack, h as STORION_TYPE, n as batch, G as unwrapFn, v as shallowEqual, k as resolveEquality } from "./effect-CB289BT8.js";
2
- import { f, E, H, I, L, C, P, z, B, y, x, o, q, m, p, D, l, s } from "./effect-CB289BT8.js";
1
+ import { F as tryDispose, e as isSpec, u as untrack, h as STORION_TYPE, n as batch, G as unwrapFn, v as shallowEqual, k as resolveEquality } from "./effect-rKIdiLB3.js";
2
+ import { f, E, H, I, L, C, P, z, B, y, x, o, q, m, p, D, l, s } from "./effect-rKIdiLB3.js";
3
3
  import { e as emitter } from "./emitter-j4rC71vY.js";
4
4
  import { m as m2 } from "./meta-40r-AZfe.js";
5
5
  function createMetaQuery(entries) {
@@ -657,7 +657,7 @@ function list(options) {
657
657
  }
658
658
  });
659
659
  },
660
- tryGet(index, create) {
660
+ ensure(index, create) {
661
661
  const currentArray = getArray();
662
662
  if (index >= 0 && index < currentArray.length) {
663
663
  return currentArray[index];
@@ -806,7 +806,7 @@ function map(options) {
806
806
  }
807
807
  });
808
808
  },
809
- tryGet(key, create) {
809
+ ensure(key, create) {
810
810
  const currentRecord = getRecord();
811
811
  if (key in currentRecord) {
812
812
  return currentRecord[key];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "storion",
3
- "version": "0.14.3",
3
+ "version": "0.15.0",
4
4
  "description": "Reactive stores for modern apps. Type-safe. Auto-tracked. Effortlessly composable",
5
5
  "type": "module",
6
6
  "main": "./dist/storion.js",