UNPKG

@solidjs/signals

Version:

SolidJS' standalone reactivity implementation

53 lines (52 loc) 2.03 kB
import { Queue, type Computed, type Effect } from "./core/index.js"; import type { Signal } from "./core/index.js"; export interface BoundaryComputed<T> extends Computed<T> { _propagationMask: number; } type RevealSlot = CollectionQueue | RevealController; type BoolAccessor = () => boolean; export declare class RevealController { _togetherAccessor: BoolAccessor; _collapsedAccessor: BoolAccessor; _slots: RevealSlot[]; _parentController?: RevealController; _disabled: Signal<boolean>; _collapsed: Signal<boolean>; _ready: boolean; _evaluating: boolean; constructor(together: BoolAccessor, collapsed: BoolAccessor); _forEachOwnedSlot(fn: (slot: RevealSlot) => boolean | void): boolean; isReady(): boolean; register(slot: RevealSlot): void; unregister(slot: RevealSlot): void; evaluate(disabledOverride?: boolean, collapsedOverride?: boolean): void; } export declare class CollectionQueue extends Queue { _collectionType: number; _sources: Set<Computed<any>>; _tree?: BoundaryComputed<any>; _pending: boolean; _disabled: Signal<boolean>; _collapsed: Signal<boolean>; _revealController?: RevealController; _initialized: boolean; _onFn: (() => any) | undefined; _prevOn: any; constructor(type: number); run(type: number): void; notify(node: Effect<any>, type: number, flags: number, error?: any): boolean; checkSources(): void; } export declare function createLoadingBoundary(fn: () => any, fallback: () => any, options?: { on?: () => any; }): import("./signals.js").Accessor<unknown>; export declare function createErrorBoundary<U>(fn: () => any, fallback: (error: unknown, reset: () => void) => U): import("./signals.js").Accessor<unknown>; export declare function createRevealOrder<T>(fn: () => T, options?: { together?: BoolAccessor; collapsed?: BoolAccessor; }): T; export declare function flatten(children: any, options?: { skipNonRendered?: boolean; doNotUnwrap?: boolean; }): any; export {};