applesauce-react 0.0.0-next-20251209200210 → 0.0.0-next-20251220152312

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.
@@ -10,3 +10,4 @@ export * from "./use-observable-memo.js";
10
10
  export * from "./use-observable.js";
11
11
  export * from "./use-render-nast.js";
12
12
  export * from "./use-rendered-content.js";
13
+ export * from "./use-$.js";
@@ -10,3 +10,4 @@ export * from "./use-observable-memo.js";
10
10
  export * from "./use-observable.js";
11
11
  export * from "./use-render-nast.js";
12
12
  export * from "./use-rendered-content.js";
13
+ export * from "./use-$.js";
@@ -0,0 +1,5 @@
1
+ import { BehaviorSubject, Observable } from "rxjs";
2
+ /** A utility hook that combines {@link useObservableState} and useMemo */
3
+ export declare function use$<T>(observable?: BehaviorSubject<T>): T;
4
+ export declare function use$<T>(observable?: Observable<T>): T | undefined;
5
+ export declare function use$<T>(factory: () => Observable<T> | undefined, deps: any[]): T | undefined;
@@ -0,0 +1,7 @@
1
+ import { useMemo } from "react";
2
+ import { of } from "rxjs";
3
+ import { useObservableState } from "./use-observable-state.js";
4
+ export function use$(observable, deps) {
5
+ const resolved = useMemo(() => (typeof observable === "function" ? observable() : observable) ?? of(undefined), deps ?? [observable]);
6
+ return useObservableState(resolved);
7
+ }
@@ -1,5 +1,5 @@
1
- import { ActionConstructor } from "applesauce-actions";
2
- export declare function useAction<Args extends Array<any>>(Action: ActionConstructor<Args>, args: Args | undefined): {
1
+ import { ActionBuilder } from "applesauce-actions";
2
+ export declare function useAction<Args extends Array<any>>(Action: ActionBuilder<Args>, args: Args | undefined): {
3
3
  loading: boolean;
4
4
  run: () => Promise<void>;
5
5
  exec: () => import("rxjs").Observable<import("nostr-tools").Event> | undefined;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "applesauce-react",
3
- "version": "0.0.0-next-20251209200210",
3
+ "version": "0.0.0-next-20251220152312",
4
4
  "description": "React hooks for applesauce",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -48,10 +48,10 @@
48
48
  }
49
49
  },
50
50
  "dependencies": {
51
- "applesauce-accounts": "0.0.0-next-20251209200210",
52
- "applesauce-actions": "0.0.0-next-20251209200210",
53
- "applesauce-content": "0.0.0-next-20251209200210",
54
- "applesauce-core": "0.0.0-next-20251209200210",
51
+ "applesauce-accounts": "0.0.0-next-20251220152312",
52
+ "applesauce-actions": "0.0.0-next-20251220152312",
53
+ "applesauce-content": "0.0.0-next-20251220152312",
54
+ "applesauce-core": "0.0.0-next-20251220152312",
55
55
  "hash-sum": "^2.0.0",
56
56
  "observable-hooks": "^4.2.4",
57
57
  "react": "^18.3.1",