import { ExpressionModelDetail, ExpressionContextEntity, FunctionEntity, VarEntity } from "../common/ExpressEntity"; import { ExpressionEditorLocalePipe } from "./expression-editor-locale.pipe"; export declare class CommonUtils { static variableFuncKeys: string[]; static esprima: any; static init(): void; /** * Esprima分词:获取tokens * @param expressionText 表达式文本 * @returns tokens:any[] */ static getTokens(expressionText: any): any[]; static getIdentifierAndVariable(expressions: any, context: ExpressionContextEntity, locale: ExpressionEditorLocalePipe): Promise>; private static doGetIdentifierAndVariable; private static analyProperty; private static cycleGetProperty; /** * * @param text 表达式文本 */ static getIdentifierFromJS(text: string): any[]; private static analyExpressionStatement; private static filterAndRemoveDuplicate; private static filterNotLiteral; /** * 根据对象属性去重 */ private static removeDuplicate; private static removeDuplicateList; /** * 将变量转化为映射字典 * 解决:变量名称重复问题 * @param contexts 上下文变量 * @param sessions 会话变量 * @param type 映射表类型 Key2Name || Name2Key * @returns 变量key和name的map映射表 */ static getVariableMap(contexts: VarEntity[], sessions: VarEntity[], type: string): Map; /** * 表达式串解析,返回语义化文本 * @param tokens 分词后token * @param allFunctions 函数 * @param variableMap 变量映射map * @param functionSuffixs 特殊函数后缀 * @returns 语义化文本 */ static toSemantic(tokens: any, allFunctions: any[], variableMap: Map, functionSuffixs: string[]): string; static formatExtend(data: any): FunctionEntity[]; static format(value: string, argument: any[]): string; static convertPath(url: string): string; static loadEsprima(): HTMLScriptElement; private static ScriptType; private static EsprimaScriptSrc; }