reactjs-signal 1.0.3 → 1.0.5

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
@@ -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 E(e){return unstable.asyncComputed(e)}async function I(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 _(e){return useSyncExternalStore(t=>{let o=effect(()=>{e.get(),t();});return ()=>o.stop()},()=>e.get(),()=>e.get())}function W(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 p=await e.get();n&&o(p);})(),()=>{n=!1;}},[e]),t}function P(e){useEffect(()=>{let t=unstable.asyncEffect(e);return ()=>t.stop()},[e]);}export{m as createComputed,x as createEffect,g as createSignal,b as createSignalScope,E as unstable_createAsyncComputed,I as unstable_createAsyncEffect,V as unstable_createComputedArray,C as unstable_createComputedSet,v as unstable_createEqualityComputed,G as unstable_useAsyncComputedValue,P as unstable_useAsyncEffect,W as useSetSignal,A as useSignal,D as useSignalEffect,O as useSignalScope,_ as useSignalValue};
1
+ import {signal,computed,effect,effectScope,unstable}from'alien-signals';import {useSyncExternalStore,useEffect,useMemo,useState}from'react';var f=new WeakMap,S=e=>{let t=f.get(e);return t||(t=new WeakSet,f.set(e,t)),t};function b(e){return signal(e)}function x(e){return computed(e)}function I(e){return effect(e)}function E(){return effectScope()}function V(e){return unstable.asyncComputed(e)}async function W(e){return await unstable.asyncEffect(e).run()}function C(e,t){return unstable.computedArray(e,t)}function v(e){return unstable.computedSet(e)}function A(e){return unstable.equalityComputed(e)}function _(e){return [useSyncExternalStore(n=>{let a=effect(()=>{e.get(),n();});return ()=>a.stop()},()=>e.get(),()=>e.get()),n=>{typeof n=="function"?e.set(n(e.get())):e.set(n);}]}function h(e){return useSyncExternalStore(t=>{let r=effect(()=>{e.get(),t();});return ()=>r.stop()},()=>e.get(),()=>e.get())}function k(e){return t=>{typeof t=="function"?e.set(t(e.get())):e.set(t);}}function w(e){useEffect(()=>{let t=effect(e);return ()=>t.stop()},[e]);}function D(){let e=useMemo(()=>effectScope(),[]);return useEffect(()=>()=>{e.stop();},[e]),e}function M(e){let[t,r]=useState(e.currentValue);return useSyncExternalStore(n=>{let a=effect(()=>{e.currentValue,n();});return ()=>a.stop()},()=>e.currentValue),useEffect(()=>{let n=!0;return (async()=>{let i=await e.get();n&&r(i);})(),()=>{n=!1;}},[e]),t}function O(e){useEffect(()=>{let t=unstable.asyncEffect(e);return ()=>t.stop()},[e]);}function G(e,t){let r=S(e);r.has(e)||(r.add(e),e.set(t));}export{x as createComputed,I as createEffect,b as createSignal,E as createSignalScope,V as unstable_createAsyncComputed,W as unstable_createAsyncEffect,C as unstable_createComputedArray,v as unstable_createComputedSet,A as unstable_createEqualityComputed,M as unstable_useAsyncComputedValue,O as unstable_useAsyncEffect,G as useHydrateSignal,k as useSetSignal,_ as useSignal,w as useSignalEffect,D as useSignalScope,h as useSignalValue};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "reactjs-signal",
3
- "version": "1.0.3",
3
+ "version": "1.0.5",
4
4
  "description": "",
5
5
  "type": "module",
6
6
  "types": "./dist/index.d.ts",