UNPKG

chai-latte

Version:

Build expressive & readable fluent interface libraries.

43 lines (42 loc) 2.11 kB
import { ConfigurableCallback } from './lib/ConfigurableCallback'; export interface RegisteredAPI<Callback extends Function> { api: any; callback: Callback; expression: Expression<Callback>; } declare type FluentCreator = (fluentProxy: any) => void; declare type Register = (<Callback extends Function>(create: FluentCreator, callback: Callback) => RegisteredAPI<Callback>[]) & (<Callback extends Function>(create: FluentCreator, create2: FluentCreator, callback: Callback) => RegisteredAPI<Callback>[]) & (<Callback extends Function>(create: FluentCreator, create2: FluentCreator, create3: FluentCreator, callback: Callback) => RegisteredAPI<Callback>[]) & (<Callback extends Function>(create: FluentCreator, create2: FluentCreator, create3: FluentCreator, create4: FluentCreator, callback: Callback) => RegisteredAPI<Callback>[]) & (<Callback extends Function>(create: FluentCreator, create2: FluentCreator, create3: FluentCreator, create4: FluentCreator, create5: FluentCreator, callback: Callback) => RegisteredAPI<Callback>[]); export declare const register: Register; export declare class Expression<Callback extends Function> { fluentAPI: any; pointer: BuildPointer; static callbacks: WeakSet<object>; callbacks: Set<ConfigurableCallback>; callback: Callback; args: any[]; constructor(callback: Callback); index: number; setExpressionIdx(index: number): void; static isFinalCallback(cb: any): boolean; getFluentAPI(): any; createConfigurableCallback(): ConfigurableCallback; isLastPointerCallback(): boolean; debugId: string; updateDebugProp(prop: any): void; updateDebugFunction(arg: any): void; callbackCount: number; handleFunctionCalled(arg: any): void; handlePropertyAccess(prop: string): void; createBuilderProxy(): any; } declare class BuildPointer { lastWord: string; lastPointer: any; pointer: any; constructor(initialValue: any); overrideLastPointer(override: any): any; getLastPointer(): any; movePointer(prop: any): void; accessProp(prop: any): void; } export {};