UNPKG

hyperformula-dc

Version:

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

33 lines (32 loc) 1.45 kB
/** * @license * Copyright (c) 2021 Handsoncode. All rights reserved. */ import { SimpleCellAddress } from './Cell'; import { Config } from './Config'; import { ContentChanges } from './ContentChanges'; import { DependencyGraph, Vertex } from './DependencyGraph'; import { Interpreter } from './interpreter/Interpreter'; import { InterpreterValue } from './interpreter/InterpreterValue'; import { LazilyTransformingAstService } from './LazilyTransformingAstService'; import { ColumnSearchStrategy } from './Lookup/SearchStrategy'; import { Ast, RelativeDependency } from './parser'; import { Statistics } from './statistics'; export declare class Evaluator { private readonly config; private readonly stats; readonly interpreter: Interpreter; private readonly lazilyTransformingAstService; private readonly dependencyGraph; private readonly columnSearch; constructor(config: Config, stats: Statistics, interpreter: Interpreter, lazilyTransformingAstService: LazilyTransformingAstService, dependencyGraph: DependencyGraph, columnSearch: ColumnSearchStrategy); run(): void; partialRun(vertices: Vertex[]): ContentChanges; runAndForget(ast: Ast, address: SimpleCellAddress, dependencies: RelativeDependency[]): InterpreterValue; /** * Recalculates formulas in the topological sort order */ private recomputeFormulas; private recomputeFormulaVertexValue; private evaluateAstToCellValue; }