reactjs-signal 1.0.2 → 1.0.4
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 +29 -0
- package/dist/index.d.ts +12 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -328,6 +328,35 @@ function ScopedEffects() {
|
|
|
328
328
|
}
|
|
329
329
|
```
|
|
330
330
|
|
|
331
|
+
<!-- /**
|
|
332
|
+
* React hook to initialize a signal with a value when hydrating from server.
|
|
333
|
+
* @param alienSignal
|
|
334
|
+
* @param value
|
|
335
|
+
* @returns
|
|
336
|
+
*
|
|
337
|
+
* @template T - The type of the signal value.
|
|
338
|
+
* @param {IWritableSignal<T>} alienSignal - The signal to hydrate.
|
|
339
|
+
* @param {T} value - The value to hydrate the signal with.
|
|
340
|
+
*/
|
|
341
|
+
export function useHydrateSignal<T>(alienSignal: IWritableSignal<T>, value: T): void {
|
|
342
|
+
alienSignal.set(value);
|
|
343
|
+
} -->
|
|
344
|
+
|
|
345
|
+
### `useHydrateSignal`
|
|
346
|
+
|
|
347
|
+
React hook to initialize a signal with a value when hydrating from server.
|
|
348
|
+
|
|
349
|
+
#### Example
|
|
350
|
+
|
|
351
|
+
```typescript
|
|
352
|
+
const countSignal = createSignal(0);
|
|
353
|
+
useHydrateSignal(countSignal, 10);
|
|
354
|
+
```
|
|
355
|
+
|
|
356
|
+
#### Parameters
|
|
357
|
+
- `alienSignal`: The signal to hydrate.
|
|
358
|
+
- `value`: initial value
|
|
359
|
+
|
|
331
360
|
#### Returns
|
|
332
361
|
|
|
333
362
|
- `EffectScope`: The created effect scope.
|
package/dist/index.d.ts
CHANGED
|
@@ -298,5 +298,16 @@ declare function unstable_useAsyncComputedValue<T>(alienAsyncComp: AsyncComputed
|
|
|
298
298
|
* @experimental
|
|
299
299
|
*/
|
|
300
300
|
declare function unstable_useAsyncEffect<T>(fn: () => AsyncGenerator<Dependency, T>): void;
|
|
301
|
+
/**
|
|
302
|
+
* React hook to initialize a signal with a value when hydrating from server.
|
|
303
|
+
* @param alienSignal
|
|
304
|
+
* @param value
|
|
305
|
+
* @returns
|
|
306
|
+
*
|
|
307
|
+
* @template T - The type of the signal value.
|
|
308
|
+
* @param {IWritableSignal<T>} alienSignal - The signal to hydrate.
|
|
309
|
+
* @param {T} value - The value to hydrate the signal with.
|
|
310
|
+
*/
|
|
311
|
+
declare function useHydrateSignal<T>(alienSignal: IWritableSignal<T>, value: T): void;
|
|
301
312
|
|
|
302
|
-
export { createComputed, createEffect, createSignal, createSignalScope, unstable_createAsyncComputed, unstable_createAsyncEffect, unstable_createComputedArray, unstable_createComputedSet, unstable_createEqualityComputed, unstable_useAsyncComputedValue, unstable_useAsyncEffect, useSetSignal, useSignal, useSignalEffect, useSignalScope, useSignalValue };
|
|
313
|
+
export { createComputed, createEffect, createSignal, createSignalScope, unstable_createAsyncComputed, unstable_createAsyncEffect, unstable_createComputedArray, unstable_createComputedSet, unstable_createEqualityComputed, unstable_useAsyncComputedValue, unstable_useAsyncEffect, useHydrateSignal, useSetSignal, useSignal, useSignalEffect, useSignalScope, useSignalValue };
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import {signal,computed,effect,effectScope,unstable}from'alien-signals';import {useSyncExternalStore,useEffect,useMemo,useState}from'react';function g(e){return signal(e)}function m(e){return computed(e)}function x(e){return effect(e)}function b(){return effectScope()}function
|
|
1
|
+
import {signal,computed,effect,effectScope,unstable}from'alien-signals';import {useSyncExternalStore,useEffect,useMemo,useState}from'react';function g(e){return signal(e)}function m(e){return computed(e)}function x(e){return effect(e)}function b(){return effectScope()}function I(e){return unstable.asyncComputed(e)}async function E(e){return await unstable.asyncEffect(e).run()}function V(e,t){return unstable.computedArray(e,t)}function C(e){return unstable.computedSet(e)}function v(e){return unstable.equalityComputed(e)}function A(e){return [useSyncExternalStore(n=>{let c=effect(()=>{e.get(),n();});return ()=>c.stop()},()=>e.get(),()=>e.get()),n=>{typeof n=="function"?e.set(n(e.get())):e.set(n);}]}function W(e){return useSyncExternalStore(t=>{let o=effect(()=>{e.get(),t();});return ()=>o.stop()},()=>e.get(),()=>e.get())}function _(e){return t=>{typeof t=="function"?e.set(t(e.get())):e.set(t);}}function D(e){useEffect(()=>{let t=effect(e);return ()=>t.stop()},[e]);}function O(){let e=useMemo(()=>effectScope(),[]);return useEffect(()=>()=>{e.stop();},[e]),e}function G(e){let[t,o]=useState(e.currentValue);return useSyncExternalStore(n=>{let c=effect(()=>{e.currentValue,n();});return ()=>c.stop()},()=>e.currentValue),useEffect(()=>{let n=!0;return (async()=>{let i=await e.get();n&&o(i);})(),()=>{n=!1;}},[e]),t}function P(e){useEffect(()=>{let t=unstable.asyncEffect(e);return ()=>t.stop()},[e]);}function h(e,t){e.set(t);}export{m as createComputed,x as createEffect,g as createSignal,b as createSignalScope,I as unstable_createAsyncComputed,E as unstable_createAsyncEffect,V as unstable_createComputedArray,C as unstable_createComputedSet,v as unstable_createEqualityComputed,G as unstable_useAsyncComputedValue,P as unstable_useAsyncEffect,h as useHydrateSignal,_ as useSetSignal,A as useSignal,D as useSignalEffect,O as useSignalScope,W as useSignalValue};
|