UNPKG

@emmetio/math-expression

Version:

Parse and evaluate simple math expressions

31 lines (30 loc) 803 B
import Scanner from '@emmetio/scanner'; export declare const enum TokenType { Number = "num", Op1 = "op1", Op2 = "op2", Null = "null" } export declare const enum Operator { Plus = 43, Minus = 45, Multiply = 42, Divide = 47, IntDivide = 92, LeftParenthesis = 40, RightParenthesis = 41, Dot = 46 } export interface Token { type: TokenType; value: number; priority: number; } export declare const nullary: Token; /** * Parses given expression in forward direction */ export default function parse(expr: string | Scanner): Token[] | null; export declare function isSign(ch: number): boolean; export declare function isOperator(ch: number): ch is Operator; export declare function token(type: TokenType, value: number, priority?: number): Token;