@sigrea/react 0.3.1 → 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 CHANGED
@@ -5,7 +5,7 @@
5
5
  - **Signal subscriptions.** `useSignal` subscribes to signals and computed values, triggering re-renders when they change.
6
6
  - **Computed subscriptions.** `useComputed` subscribes to computed values and memoizes them per component instance.
7
7
  - **Deep signal subscriptions.** `useDeepSignal` subscribes to deep signal objects and exposes them for direct mutation.
8
- - **Molecule lifecycles.** `useMolcule` mounts molecule factories and binds their lifecycles to React components.
8
+ - **Molecule lifecycles.** `useMolecule` mounts molecule factories and binds their lifecycles to React components.
9
9
 
10
10
  ## Table of Contents
11
11
 
@@ -18,7 +18,7 @@
18
18
  - [useSignal](#usesignal)
19
19
  - [useComputed](#usecomputed)
20
20
  - [useDeepSignal](#usedeepsignal)
21
- - [useMolcule](#usemolcule)
21
+ - [useMolecule](#usemolecule)
22
22
  - [Testing](#testing)
23
23
  - [Handling Scope Cleanup Errors](#handling-scope-cleanup-errors)
24
24
  - [Development](#development)
@@ -52,7 +52,7 @@ export function CounterLabel() {
52
52
 
53
53
  ```tsx
54
54
  import { molecule, signal } from "@sigrea/core";
55
- import { useMolcule, useSignal } from "@sigrea/react";
55
+ import { useMolecule, useSignal } from "@sigrea/react";
56
56
 
57
57
  const CounterMolecule = molecule((props: { initialCount: number }) => {
58
58
  const count = signal(props.initialCount);
@@ -69,7 +69,7 @@ const CounterMolecule = molecule((props: { initialCount: number }) => {
69
69
  });
70
70
 
71
71
  export function Counter(props: { initialCount: number }) {
72
- const counter = useMolcule(CounterMolecule, props);
72
+ const counter = useMolecule(CounterMolecule, props);
73
73
  const value = useSignal(counter.count);
74
74
 
75
75
  return (
@@ -133,10 +133,10 @@ function useDeepSignal<T extends object>(signal: DeepSignal<T>): T
133
133
 
134
134
  Exposes a deep signal object for direct mutation within the component. Updates to nested properties trigger re-renders, and the subscription is cleaned up when the component unmounts.
135
135
 
136
- ### useMolcule
136
+ ### useMolecule
137
137
 
138
138
  ```tsx
139
- function useMolcule<TProps, TReturn>(
139
+ function useMolecule<TProps, TReturn>(
140
140
  molecule: MoleculeFactory<TProps, TReturn>,
141
141
  props?: TProps
142
142
  ): TReturn
package/dist/index.cjs CHANGED
@@ -3,7 +3,7 @@
3
3
  const react = require('react');
4
4
  const core = require('@sigrea/core');
5
5
 
6
- function useMolcule(molecule, ...args) {
6
+ function useMolecule(molecule, ...args) {
7
7
  const props = args.length === 0 ? void 0 : args[0];
8
8
  const stateRef = react.useRef(
9
9
  void 0
@@ -29,7 +29,7 @@ function useMolcule(molecule, ...args) {
29
29
  const state = stateRef.current;
30
30
  if (state === void 0) {
31
31
  throw new Error(
32
- "useMolcule failed to mount the requested molecule instance."
32
+ "useMolecule failed to mount the requested molecule instance."
33
33
  );
34
34
  }
35
35
  const instance = state.instance;
@@ -106,6 +106,6 @@ function useDeepSignal(source) {
106
106
 
107
107
  exports.useComputed = useComputed;
108
108
  exports.useDeepSignal = useDeepSignal;
109
- exports.useMolcule = useMolcule;
109
+ exports.useMolecule = useMolecule;
110
110
  exports.useSignal = useSignal;
111
111
  exports.useSnapshot = useSnapshot;
package/dist/index.d.cts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { MoleculeFactory, MoleculeArgs, MoleculeInstance, Signal, ReadonlySignal, Computed, DeepSignal, SnapshotHandler } from '@sigrea/core';
2
2
 
3
- declare function useMolcule<TReturn extends object, TProps = void>(molecule: MoleculeFactory<TReturn, TProps>, ...args: MoleculeArgs<TProps>): MoleculeInstance<TReturn>;
3
+ declare function useMolecule<TReturn extends object, TProps = void>(molecule: MoleculeFactory<TReturn, TProps>, ...args: MoleculeArgs<TProps>): MoleculeInstance<TReturn>;
4
4
 
5
5
  type ReadableSignal<T> = Signal<T> | ReadonlySignal<T>;
6
6
  declare function useSignal<T>(source: ReadableSignal<T>): T;
@@ -11,4 +11,4 @@ declare function useDeepSignal<T extends object>(source: DeepSignal<T>): T;
11
11
 
12
12
  declare function useSnapshot<T>(handler: SnapshotHandler<T>): T;
13
13
 
14
- export { useComputed, useDeepSignal, useMolcule, useSignal, useSnapshot };
14
+ export { useComputed, useDeepSignal, useMolecule, useSignal, useSnapshot };
package/dist/index.d.mts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { MoleculeFactory, MoleculeArgs, MoleculeInstance, Signal, ReadonlySignal, Computed, DeepSignal, SnapshotHandler } from '@sigrea/core';
2
2
 
3
- declare function useMolcule<TReturn extends object, TProps = void>(molecule: MoleculeFactory<TReturn, TProps>, ...args: MoleculeArgs<TProps>): MoleculeInstance<TReturn>;
3
+ declare function useMolecule<TReturn extends object, TProps = void>(molecule: MoleculeFactory<TReturn, TProps>, ...args: MoleculeArgs<TProps>): MoleculeInstance<TReturn>;
4
4
 
5
5
  type ReadableSignal<T> = Signal<T> | ReadonlySignal<T>;
6
6
  declare function useSignal<T>(source: ReadableSignal<T>): T;
@@ -11,4 +11,4 @@ declare function useDeepSignal<T extends object>(source: DeepSignal<T>): T;
11
11
 
12
12
  declare function useSnapshot<T>(handler: SnapshotHandler<T>): T;
13
13
 
14
- export { useComputed, useDeepSignal, useMolcule, useSignal, useSnapshot };
14
+ export { useComputed, useDeepSignal, useMolecule, useSignal, useSnapshot };
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { MoleculeFactory, MoleculeArgs, MoleculeInstance, Signal, ReadonlySignal, Computed, DeepSignal, SnapshotHandler } from '@sigrea/core';
2
2
 
3
- declare function useMolcule<TReturn extends object, TProps = void>(molecule: MoleculeFactory<TReturn, TProps>, ...args: MoleculeArgs<TProps>): MoleculeInstance<TReturn>;
3
+ declare function useMolecule<TReturn extends object, TProps = void>(molecule: MoleculeFactory<TReturn, TProps>, ...args: MoleculeArgs<TProps>): MoleculeInstance<TReturn>;
4
4
 
5
5
  type ReadableSignal<T> = Signal<T> | ReadonlySignal<T>;
6
6
  declare function useSignal<T>(source: ReadableSignal<T>): T;
@@ -11,4 +11,4 @@ declare function useDeepSignal<T extends object>(source: DeepSignal<T>): T;
11
11
 
12
12
  declare function useSnapshot<T>(handler: SnapshotHandler<T>): T;
13
13
 
14
- export { useComputed, useDeepSignal, useMolcule, useSignal, useSnapshot };
14
+ export { useComputed, useDeepSignal, useMolecule, useSignal, useSnapshot };
package/dist/index.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
  import { useRef, useEffect, useCallback, useSyncExternalStore, useMemo } from 'react';
2
2
  import { disposeMolecule, createSignalHandler, createComputedHandler, createDeepSignalHandler } from '@sigrea/core';
3
3
 
4
- function useMolcule(molecule, ...args) {
4
+ function useMolecule(molecule, ...args) {
5
5
  const props = args.length === 0 ? void 0 : args[0];
6
6
  const stateRef = useRef(
7
7
  void 0
@@ -27,7 +27,7 @@ function useMolcule(molecule, ...args) {
27
27
  const state = stateRef.current;
28
28
  if (state === void 0) {
29
29
  throw new Error(
30
- "useMolcule failed to mount the requested molecule instance."
30
+ "useMolecule failed to mount the requested molecule instance."
31
31
  );
32
32
  }
33
33
  const instance = state.instance;
@@ -102,4 +102,4 @@ function useDeepSignal(source) {
102
102
  return useSnapshot(handler);
103
103
  }
104
104
 
105
- export { useComputed, useDeepSignal, useMolcule, useSignal, useSnapshot };
105
+ export { useComputed, useDeepSignal, useMolecule, useSignal, useSnapshot };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sigrea/react",
3
- "version": "0.3.1",
3
+ "version": "0.4.0",
4
4
  "description": "React adapter bindings for Sigrea molecule modules.",
5
5
  "license": "MIT",
6
6
  "type": "module",