UNPKG

@starzhuimeng/formula-editor

Version:

A configurable formula editor with customizable symbols

43 lines (42 loc) 1.17 kB
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; }