@starzhuimeng/formula-editor
Version:
A configurable formula editor with customizable symbols
43 lines (42 loc) • 1.17 kB
TypeScript
import { FormulaElement, ValidationRule, ValidationResult } from '../types';
/**
* 公式验证器
*/
export declare class FormulaValidator {
/**
* 验证公式
* @param formula 公式字符串
* @param elements 公式元素
* @param rules 验证规则
* @returns 验证结果
*/
static validate(formula: string, elements: FormulaElement[], rules: ValidationRule[]): ValidationResult;
/**
* 应用单个验证规则
* @param formula 公式字符串
* @param elements 公式元素
* @param rule 验证规则
* @returns 验证错误,如果验证通过则返回undefined
*/
private static applyRule;
/**
* 验证括号匹配
*/
private static validateBracketsMatch;
/**
* 验证操作符周围必须有操作数
*/
private static validateOperatorsSurrounded;
/**
* 判断元素是否为操作数(数字、变量等)
*/
private static isOperand;
/**
* 验证操作数不能连续
*/
private static validateNoConsecutiveOperands;
/**
* 获取默认错误消息
*/
private static getDefaultMessage;
}