UNPKG

hyperformula-dc

Version:

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

180 lines (179 loc) 5.66 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'; /** * Interpreter plugin containing text-specific functions */ export declare class TextPlugin extends FunctionPlugin implements FunctionPluginTypecheck<TextPlugin> { static implementedFunctions: { CONCATENATE: { method: string; parameters: { argumentType: ArgumentTypes; }[]; repeatLastArgs: number; expandRanges: boolean; }; EXACT: { method: string; parameters: { argumentType: ArgumentTypes; }[]; }; SPLIT: { method: string; parameters: { argumentType: ArgumentTypes; }[]; }; LEN: { method: string; parameters: { argumentType: ArgumentTypes; }[]; }; LOWER: { method: string; parameters: { argumentType: ArgumentTypes; }[]; }; MID: { method: string; parameters: { argumentType: ArgumentTypes; }[]; }; TRIM: { method: string; parameters: { argumentType: ArgumentTypes; }[]; }; T: { method: string; parameters: { argumentType: ArgumentTypes; }[]; }; PROPER: { method: string; parameters: { argumentType: ArgumentTypes; }[]; }; CLEAN: { method: string; parameters: { argumentType: ArgumentTypes; }[]; }; REPT: { method: string; parameters: { argumentType: ArgumentTypes; }[]; }; RIGHT: { method: string; parameters: ({ argumentType: ArgumentTypes; defaultValue?: undefined; } | { argumentType: ArgumentTypes; defaultValue: number; })[]; }; LEFT: { method: string; parameters: ({ argumentType: ArgumentTypes; defaultValue?: undefined; } | { argumentType: ArgumentTypes; defaultValue: number; })[]; }; REPLACE: { method: string; parameters: { argumentType: ArgumentTypes; }[]; }; SEARCH: { method: string; parameters: ({ argumentType: ArgumentTypes; defaultValue?: undefined; } | { argumentType: ArgumentTypes; defaultValue: number; })[]; }; SUBSTITUTE: { method: string; parameters: ({ argumentType: ArgumentTypes; optionalArg?: undefined; } | { argumentType: ArgumentTypes; optionalArg: boolean; })[]; }; FIND: { method: string; parameters: ({ argumentType: ArgumentTypes; defaultValue?: undefined; } | { argumentType: ArgumentTypes; defaultValue: number; })[]; }; UPPER: { method: string; parameters: { argumentType: ArgumentTypes; }[]; }; }; /** * Corresponds to CONCATENATE(value1, [value2, ...]) * * Concatenates provided arguments to one string. * * @param ast * @param state */ concatenate(ast: ProcedureAst, state: InterpreterState): InterpreterValue; /** * Corresponds to SPLIT(string, index) * * Splits provided string using space separator and returns chunk at zero-based position specified by second argument * * @param ast * @param state */ split(ast: ProcedureAst, state: InterpreterState): InterpreterValue; len(ast: ProcedureAst, state: InterpreterState): InterpreterValue; lower(ast: ProcedureAst, state: InterpreterState): InterpreterValue; trim(ast: ProcedureAst, state: InterpreterState): InterpreterValue; proper(ast: ProcedureAst, state: InterpreterState): InterpreterValue; clean(ast: ProcedureAst, state: InterpreterState): InterpreterValue; exact(ast: ProcedureAst, state: InterpreterState): InterpreterValue; rept(ast: ProcedureAst, state: InterpreterState): InterpreterValue; right(ast: ProcedureAst, state: InterpreterState): InterpreterValue; left(ast: ProcedureAst, state: InterpreterState): InterpreterValue; mid(ast: ProcedureAst, state: InterpreterState): InterpreterValue; replace(ast: ProcedureAst, state: InterpreterState): InterpreterValue; search(ast: ProcedureAst, state: InterpreterState): InterpreterValue; substitute(ast: ProcedureAst, state: InterpreterState): InterpreterValue; find(ast: ProcedureAst, state: InterpreterState): InterpreterValue; t(ast: ProcedureAst, state: InterpreterState): InterpreterValue; upper(ast: ProcedureAst, state: InterpreterState): InterpreterValue; }