UNPKG

phrase-engine

Version:

Language files on steroids for conversational UIs that aren't boring.

50 lines (49 loc) 1.41 kB
export interface InitPacketInterface { ignore_spaces: boolean[]; next_stack: PhraseNode[]; id_map: { [key: string]: Node; }; node_count: number; } export interface EvalPacketInterface { data: { [key: string]: any; }; sentence_components: string[]; id_render_map: { [key: string]: boolean; }; class_render_map: { [key: string]: boolean; }; } export interface VarsPacket { vars: { [key: string]: ({ type: 'string'; last: boolean; } | { type: 'enum'; values: string[]; } | { type: 'boolean'; })[]; }; } export declare abstract class PhraseNode { protected __node_name: string; protected __next_node: PhraseNode; protected __node_sequenced_name: string; protected __vared: boolean; protected abstract validateNodeName(name: string): boolean; abstract init(root: Node, packet: InitPacketInterface): void; abstract eval(packet: EvalPacketInterface, branch?: number): EvalPacketInterface; protected __seq(seq: Number): void; vars(packet: VarsPacket): VarsPacket; count(packet: EvalPacketInterface): number; gen(packet: EvalPacketInterface): any; constructor(root: Node | any, packet: InitPacketInterface); protected setNextNode(node: PhraseNode): void; protected next(): PhraseNode; }