UNPKG

resig.js

Version:

Universal reactive signal library with complete platform features: signals, animations, CRDTs, scheduling, DOM integration. Works identically across React, SolidJS, Svelte, Vue, and Qwik.

83 lines (82 loc) 3.89 kB
/** * Signal-Σ Universal Plugin Adapter for Svelte 5 * Provides the EXACT same API as React, SolidJS, Vue, Qwik * * This file uses Svelte stores for proven reactivity */ declare global { function $state<T>(initial: T): T; function $derived<T>(fn: () => T): T; function $effect(fn: () => void | (() => void)): void; } /** * Universal useSignal - adapted for Svelte 5 reactivity * @param {any} initialValue - Initial value for the signal * @param {Function} plugins - Optional composed plugins to apply * @returns {[any, Function]} - [reactiveValue, setValue] tuple */ export declare function useSignal(initialValue: any, plugins?: any): [() => any, (value: any) => void]; /** * Universal useComputed - same API across all frameworks! * @param {Function} compute - Computation function * @param {Function} plugins - Optional composed plugins to apply * @returns {Function} - getValue function */ export declare function useComputed(compute: () => any, _plugins?: any): () => unknown; /** * Universal useEffect - same API across all frameworks! * @param {Function} effect - Effect function that may return cleanup * @param {Array} deps - Optional dependency array */ export declare function useEffect(effect: () => void | (() => void), deps?: any[] | null): void; /** * Universal useMachine - same API across all frameworks! * @param {any} initialState - Initial state * @param {Function} reducer - State reducer function * @param {Function} plugins - Optional composed plugins to apply * @returns {[Function, Function]} - [getState, send] */ export declare function useMachine(initialState: any, reducer: (state: any, action: any) => any, plugins?: any): ((action: any) => any)[]; /** * Universal useFetch - same API across all frameworks! * @param {Function} fetcher - Async function to fetch data * @param {Function} plugins - Optional composed plugins to apply * @returns {[Function, Function, Function]} - [getState, refetch, retry] */ export declare function useFetch(fetcher: () => Promise<any>, _plugins?: any): ((times: number) => void)[]; /** * Universal useAsyncSignal - same API across all frameworks! * @param {Function} asyncFn - Async function * @param {any} initialValue - Initial value * @param {Function} plugins - Optional composed plugins to apply * @returns {[Function, Function, Function]} - [getState, refetch, setValue] */ export declare function useAsyncSignal(asyncFn: () => Promise<any>, initialValue?: any, _plugins?: any): ((value: any) => void)[]; /** * Universal usePersistentSignal - same API across all frameworks! * @param {string} key - Storage key * @param {any} initialValue - Initial value * @param {Function} plugins - Optional composed plugins to apply * @returns {[Function, Function]} - [getValue, setValue] */ export declare function usePersistentSignal(key: string, initialValue: any, _plugins?: any): [() => any, (value: any) => void]; /** * Universal useDebouncedSignal - same API across all frameworks! * @param {any} initialValue - Initial value * @param {number} delay - Debounce delay in ms * @param {Function} plugins - Optional composed plugins to apply * @returns {[Function, Function, Function]} - [getImmediate, setImmediate, getDebounced] */ export declare function useDebouncedSignal(initialValue: any, delay: number, _plugins?: any): [() => any, (value: any) => void, () => any]; /** * Universal useValidatedSignal - same API across all frameworks! * @param {any} initialValue - Initial value * @param {Function} validator - Validation function * @param {Function} plugins - Optional composed plugins to apply * @returns {[Function, Function, Function]} - [getValue, setValue, getIsValid] */ export declare function useValidatedSignal(initialValue: any, validator: (value: any) => boolean, _plugins?: any): [ () => any, (value: any) => void, () => boolean ];