@gmetrixr/rjson
Version:
(R)ecursive Json
53 lines (52 loc) • 2.68 kB
TypeScript
import { rn } from "..";
import { RecordNode, RT } from "../../R";
import { ArrayOfValues, VarDefROM } from "../variables";
export interface RuleText {
ruleIdText: string;
weTexts: string[];
weAndOr: "AND" | "OR" | "and" | "or";
taTexts: string[];
}
/**
* Separating out this class as this doesn't need to be included in production and also,
* because this imports potentially heavy "chalk" dependency
*/
export declare class rulePrintUtils {
/** Get an instance of Console Rule Printer */
static crp: () => ConsoleRulePrinter;
/** Get an instance of Friendly Rule Printer */
static frp: () => FriendlyRulePrinter;
static generateRuleTextsAndPrint: (scene: RecordNode<RT.scene>, varDefMap?: VarDefROM) => void;
static generateFriendlyRuleTextsAndPrint: (project: RecordNode<RT.project>, sceneIds: number[]) => void;
static generateFriendlyRuleTexts: (project: RecordNode<RT.project>, sceneIds: number[]) => string;
}
/**
* Use this class via the singleton getter
* Eg: ConsoleRulePrinter.getInstance().doSomething....
*/
declare class ConsoleRulePrinter {
static getInstance: () => ConsoleRulePrinter;
private static instance;
generateRuleTextsAndPrint: (scene: RecordNode<RT.scene>, varDefMap?: VarDefROM) => void;
generateRuleText: (rule: RecordNode<RT.rule>, scene: RecordNode<RT.scene>, varDefMap?: VarDefROM) => RuleText;
consoleRuleTextPrinter: (ruleText: RuleText) => void;
ruleIdText: (rule: RecordNode<RT.rule>) => string;
weText: (we: RecordNode<RT.when_event>, scene: RecordNode<RT.scene>, varDefMap?: VarDefROM, values?: ArrayOfValues) => string;
taText: (ta: RecordNode<RT.then_action>, scene: RecordNode<RT.scene>, varDefMap?: VarDefROM, values?: ArrayOfValues) => string;
private coIdToName;
}
/**
* Use this class via the singleton getter
* Eg: FriendlyRulePrinter.getInstance().doSomething....
*/
declare class FriendlyRulePrinter {
static getInstance: () => FriendlyRulePrinter;
private static instance;
generateRuleTextsAndPrint: (project: RecordNode<RT.project>, scene: RecordNode<RT.scene>, varDefMap?: VarDefROM) => void;
generateRuleText: (rule: RecordNode<RT.rule>, project: RecordNode<RT.project>, scene: RecordNode<RT.scene>, varDefMap?: VarDefROM) => RuleText;
friendlyRuleLine: (ruleText: RuleText) => string;
weText: (we: RecordNode<RT.when_event>, scene: RecordNode<RT.scene>, varDefMap?: VarDefROM, values?: ArrayOfValues) => string;
taText: (ta: RecordNode<RT.then_action>, project: RecordNode<RT.project>, scene: RecordNode<RT.scene>, varDefMap?: VarDefROM, values?: ArrayOfValues) => string;
private coIdToName;
}
export {};