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.

80 lines (79 loc) 4.72 kB
/** * Signal-Σ - Category-theoretic signal library * A signal library that obeys algebraic laws, grows via plugins, and never breaks composition */ export * from './core/signal'; export * from './core/effect'; export * from './algebras/time'; export * from './algebras/fetch'; export * from './algebras/state'; export * from './router'; export { debouncePlugin, throttlePlugin, cachePlugin, loggerPlugin, filterPlugin, transformPlugin, validatePlugin, persistPlugin, commonPlugins, } from './plugins'; export { compose as composePlugins, apply as applyPlugin } from './plugins'; export { DragContainer, createDragContainer, RealtimeSync, createRealtimeSync, ThemeManager, createThemeManager, UndoRedoManager, createUndoRedoManager, ExtensionPatterns, createExtension, globalExtensionRegistry, } from './extensions'; export { AITransformer, composeAITransformers, createLLMTransformer, createVisionModel, BackpressureStrategy, createStreamingSignal, StreamCoalgebra, StreamingSignal, streamFrom, streamFromIterable, BroadcastChannelSignaling, createWebRTCBroadcast, createWebRTCStream, createEventSourcedCRDT, EventSourcedCRDT, eventSourcedGCounter, eventSourcedORSet, indexedDBEventStore, combineStreams, createAIEnhancedSignal, createCollaborativeSignal, createDebouncedStream, createPersistentStream, createThrottledStream, mergeStreams, } from './streaming'; import { Priority } from './scheduler'; /** * Main Signal-Σ API */ declare const _default: { signal: <A>(initial: A) => import("./core/signal").MutableSignal<A> & { _set: (value: A) => void; }; effect: <A_1>(initial: A_1) => import("./core/effect").Effect<A_1> & { _set: (value: A_1) => void; }; time: <A_2>(initial: A_2) => import("./algebras/time").Time<A_2> & { _set: (value: A_2) => void; }; fetch: <A_3>(fetcher: () => Promise<A_3>, deps?: import("./core/effect").Effect<unknown>[]) => import("./algebras/fetch").Fetch<A_3> & { _set: (value: import("./algebras/fetch").AsyncState<A_3>) => void; }; machine: <S, A_4>(initialState: S, reducer: (state: S, action: A_4) => S) => import("./algebras/state").StateMachine<S, A_4>; router: <A_5>(routes: import("./router").Route<A_5>[], env?: import("./router").NavigationEnv) => import("./router").RouterSignal<A_5>; route: <T extends string>(template: T) => import("./router").Route<{}>; scheduler: () => import("./scheduler").Scheduler; getGlobalScheduler: () => import("./scheduler").Scheduler; schedule: (task: Omit<import("./scheduler").Task, "id"> & { id?: string; }) => string; cancel: (taskId: string) => boolean; delay: (ms: number) => Promise<void>; nextFrame: () => Promise<void>; idle: (callback: () => void) => string; animate: (duration: number, callback: (progress: number) => void, easing?: (t: number) => number) => string; debounce: <T_1 extends (...args: any[]) => void>(fn: T_1, delay: number) => T_1 & { cancel: () => void; }; throttle: <T_2 extends (...args: any[]) => void>(fn: T_2, delay: number) => T_2 & { cancel: () => void; }; Priority: typeof Priority; domSignal: <T_3>(initialValue: T_3) => import("./core/signal").Signal<T_3> & { _set: (value: T_3) => void; }; bindElement: (element: HTMLElement, sig: import("./core/signal").Signal<any>) => () => void; bindAttribute: (element: HTMLElement, attribute: string, sig: import("./core/signal").Signal<any>) => () => void; bindProperty: (element: HTMLElement, property: string, sig: import("./core/signal").Signal<any>) => () => void; bindEvent: (element: HTMLElement, event: string, sig: import("./core/signal").Signal<any> & { _set: (value: any) => void; }) => () => void; domBlock: (element: HTMLElement) => { element: HTMLElement; render: () => HTMLElement; }; reactiveDOMBlock: (element: HTMLElement, sig: import("./core/signal").Signal<any>) => { element: HTMLElement; signal: import("./core/signal").Signal<any>; render: () => HTMLElement; }; syncCRDTToDOM: (_element: HTMLElement, _crdt: any) => () => void; bindFormToSignal: (form: HTMLFormElement, sig: import("./core/signal").Signal<any> & { _set: (value: any) => void; }) => () => void; delegate: (element: HTMLElement, selector: string, event: string, handler: (e: Event) => void) => () => void; animateElement: (_element: HTMLElement, _animation: any) => Promise<void>; observeIntersection: (element: HTMLElement, callback: (entry: any) => void) => () => void; observeResize: (element: HTMLElement, callback: (entry: any) => void) => () => void; }; export default _default;