UNPKG

fractal-core

Version:

A minimalist and well crafted app, content or component is our conviction

81 lines (80 loc) 3.03 kB
import { Context, InterfaceHelpers, CtxPerformTask, EventData, State } from '.'; import { Emit, Off, Descriptor } from 'pullable-event-bus'; import { CtxToIn } from './module'; export interface FractalOn { (evName: string, evData: EventData, pullable?: boolean): Descriptor; } export interface InputHelpers<S> extends InterfaceHelpers<S> { state: S; toIn: CtxToIn; toChild: CtxToChild; toChildAct: CtxToChildAct; toAct: CtxToAct; set: CtxSet; task: CtxPerformTask; emit: Emit; on: FractalOn; off: Off; comps: CtxComponentHelpers; _clearCache: CtxClearCache; } export declare const makeInputHelpers: <S extends State>(ctx: Context<S>) => InputHelpers<S>; export interface CtxStateOf<S extends State> { (name?: string): S; } export declare const _stateOf: (ctx: Context<any>) => CtxStateOf<any>; export interface CtxToChild { (childCompName: string, inputName: string, msg?: any): void; } export declare const toChild: <S>(ctx: Context<S>) => (childCompName: any, inputName: any, msg?: any) => Promise<void>; export interface CtxToChildAct { (childCompName: string, actionName: string, msg?: any): void; } export declare const toChildAct: <S>(ctx: Context<S>) => (childCompName: any, actionName: any, msg?: any) => Promise<void>; export interface CtxToAct { (actionName: string, data?: any): Promise<any>; } export declare const toAct: <S>(ctx: Context<S>) => CtxToAct; export interface CtxSet { (arg0: any, arg1?: any): Promise<any>; } export declare const set: <S>(ctx: Context<S>) => CtxSet; export declare type SubscriptionInfo = Descriptor; export interface CtxClearCache { (interfaceName: string, childNames?: string[]): void; } /** * Clears the interface cache of a component and its descendants * @param ctx The component Context */ export declare const _clearCache: <S>(ctx: Context<S>) => CtxClearCache; export interface Instruction extends Array<any> { 0: string; 1: string; 2: any; } export interface ComponentHelpers { getState(key: string, options?: { exceptions?: string[]; nameFn?(name: string): string; }): any; getStates(options?: { path?: string[]; exceptions?: string[]; nameFn?(name: string): string; }): any; executeAll(insts: Instruction[]): void; broadcast(inputName: string, data?: any): void; optionalBroadcast(inputName: string, data?: any): void; seqBroadcast(inputName: string, data?: any): Promise<any>; seqOptionalBroadcast(inputName: string, data?: any): Promise<any>; getNames(): string[]; getCompleteNames(): string[]; } export interface CtxComponentHelpers { (groupName: string): ComponentHelpers; } export declare const getName: (name: string) => string; export declare const getCompleteNames: (state: any, groupName: string) => string[]; export declare const getNames: (state: any, groupName: string) => string[]; export declare const _componentHelpers: <S extends State>(ctx: Context<S>) => CtxComponentHelpers;