UNPKG

evanesce

Version:

Evanesce disappears your web application framework for desired routes by managing AOT page builds on dependency change.

39 lines (38 loc) 1.36 kB
export declare type SignalKeyString = string; export interface SignalKeyObject { key: SignalKeyString; keys: Array<SignalKeyString>; } export declare type SignalKey = SignalKeyString | SignalKeyObject; export interface Signal { key: SignalKeyString; [key: SignalKeyString]: any | (() => Promise<void>); rebuildDependencies: () => Promise<void>; parent?: Signal; children?: SignalsList; } export declare type SignalsList = Array<Signal>; export declare type SignalOrFunction = Signal | ((obj: any) => Signal); export declare type SignalsOrFunctions = Array<SignalOrFunction>; export interface SignalRebuildTargets { rebuildTargets: Array<any>; [key: SignalKeyString]: SignalRebuildTargets | undefined | Array<any>; } export interface SignalsRebuildTargets { [key: SignalKeyString]: SignalRebuildTargets; } export interface Signals { [key: SignalKeyString]: Signal; } export declare const access: (obj: any, path: Array<any>) => any; export declare const buildSignals: <Render>({ signalKeys, onRouteRebuild, render }: { signalKeys: Array<SignalKey>; onRouteRebuild: ({ route, html }: { route: string; html: string; }) => void; render: Render; }) => { signals: Signals; addToSignalsRebuildTargets: (signalKeys: Array<SignalKeyString>, { controller, route, params }: any) => any; };