import { runTimeType } from '../../types'; /** * 对路径字符串进行转换,数组和点运算符统一成点运算符形式 * * 对于数字路径的处理: * normalizedPath(name.age.city) ==> name.age.city * normalizedPath(name[0].1]) ==> name.0.1 * normalizedPath(name[0][1]) ==> name.0.1 * * @param pathString */ export declare function normalizedPathString(pathString: string): string; export declare function evalInContext(code: string, context: Object): any; /** * 遍历对象或者数组的所有属性,处理所有找到的ExpressionString, 并返回一个新的解析好的对象 * * @param {T} data 数据对象 * @param {runTimeType} runTime ExpressionString 上下文 * @param {string[]} blackList 变量名黑名单 * @param {boolean} isDeep 是否递归解析 * @param {string[]} whiteList 变量名白名单 * @returns {T} */ export declare function compileExpressionString(data: T, runTime: runTimeType, blackList?: string[], isDeep?: boolean, whiteList?: string[]): T; /** * 判断字符串是否是ExpressionString * @param {string} str 字符串 * @returns {boolean} */ export declare function isExpression(str: any): boolean; /** * 过滤掉数据中含有ExpressionString的字段 * @param {T} obj * @returns {T} */ export declare function filterExpressionData(obj: T): T; export declare function safeStringify(obj: Object): string; export declare function parseExpressionString(str: any, context: runTimeType): any;