hyperformula
Version:
HyperFormula is a JavaScript engine for efficient processing of spreadsheet-like data and formulas
133 lines (132 loc) • 4.38 kB
TypeScript
/**
* @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;
}