UNPKG

hyperformula

Version:

HyperFormula is a JavaScript engine for efficient processing of spreadsheet-like data and formulas

133 lines (132 loc) 4.38 kB
/** * @license * Copyright (c) 2021 Handsoncode. All rights reserved. */ import { ProcedureAst } from '../../parser'; import { InterpreterState } from '../InterpreterState'; import { InterpreterValue } from '../InterpreterValue'; import { ArgumentTypes, FunctionPlugin, FunctionPluginTypecheck } from './FunctionPlugin'; export declare class SimpleArithmerticPlugin extends FunctionPlugin implements FunctionPluginTypecheck<SimpleArithmerticPlugin> { static implementedFunctions: { 'HF.ADD': { method: string; parameters: { argumentType: ArgumentTypes; passSubtype: boolean; }[]; }; 'HF.CONCAT': { method: string; parameters: { argumentType: ArgumentTypes; passSubtype: boolean; }[]; }; 'HF.DIVIDE': { method: string; parameters: { argumentType: ArgumentTypes; passSubtype: boolean; }[]; }; 'HF.EQ': { method: string; parameters: { argumentType: ArgumentTypes; passSubtype: boolean; }[]; }; 'HF.GT': { method: string; parameters: { argumentType: ArgumentTypes; passSubtype: boolean; }[]; }; 'HF.GTE': { method: string; parameters: { argumentType: ArgumentTypes; passSubtype: boolean; }[]; }; 'HF.LT': { method: string; parameters: { argumentType: ArgumentTypes; passSubtype: boolean; }[]; }; 'HF.LTE': { method: string; parameters: { argumentType: ArgumentTypes; passSubtype: boolean; }[]; }; 'HF.MINUS': { method: string; parameters: { argumentType: ArgumentTypes; passSubtype: boolean; }[]; }; 'HF.MULTIPLY': { method: string; parameters: { argumentType: ArgumentTypes; passSubtype: boolean; }[]; }; 'HF.NE': { method: string; parameters: { argumentType: ArgumentTypes; passSubtype: boolean; }[]; }; 'HF.POW': { method: string; parameters: { argumentType: ArgumentTypes; passSubtype: boolean; }[]; }; 'HF.UMINUS': { method: string; parameters: { argumentType: ArgumentTypes; passSubtype: boolean; }[]; }; 'HF.UNARY_PERCENT': { method: string; parameters: { argumentType: ArgumentTypes; passSubtype: boolean; }[]; }; 'HF.UPLUS': { method: string; parameters: { argumentType: ArgumentTypes; passSubtype: boolean; }[]; }; }; add(ast: ProcedureAst, state: InterpreterState): InterpreterValue; concat(ast: ProcedureAst, state: InterpreterState): InterpreterValue; divide(ast: ProcedureAst, state: InterpreterState): InterpreterValue; eq(ast: ProcedureAst, state: InterpreterState): InterpreterValue; gt(ast: ProcedureAst, state: InterpreterState): InterpreterValue; gte(ast: ProcedureAst, state: InterpreterState): InterpreterValue; lt(ast: ProcedureAst, state: InterpreterState): InterpreterValue; lte(ast: ProcedureAst, state: InterpreterState): InterpreterValue; minus(ast: ProcedureAst, state: InterpreterState): InterpreterValue; multiply(ast: ProcedureAst, state: InterpreterState): InterpreterValue; ne(ast: ProcedureAst, state: InterpreterState): InterpreterValue; pow(ast: ProcedureAst, state: InterpreterState): InterpreterValue; uminus(ast: ProcedureAst, state: InterpreterState): InterpreterValue; upercent(ast: ProcedureAst, state: InterpreterState): InterpreterValue; uplus(ast: ProcedureAst, state: InterpreterState): InterpreterValue; }