UNPKG

hyperformula-dc

Version:

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

53 lines (52 loc) 2.51 kB
/** * @license * Copyright (c) 2021 Handsoncode. All rights reserved. */ import { SimpleCellAddress } from './Cell'; import { Maybe } from './Maybe'; import { Ast } from './parser'; export interface NamedExpression { name: string; scope?: number; expression?: string; options?: NamedExpressionOptions; } export declare type NamedExpressionOptions = Record<string, string | number | boolean>; export declare class InternalNamedExpression { displayName: string; readonly address: SimpleCellAddress; added: boolean; options?: Record<string, string | number | boolean> | undefined; constructor(displayName: string, address: SimpleCellAddress, added: boolean, options?: Record<string, string | number | boolean> | undefined); normalizeExpressionName(): string; copy(): InternalNamedExpression; } export declare class NamedExpressions { static SHEET_FOR_WORKBOOK_EXPRESSIONS: number; private nextNamedExpressionRow; private readonly workbookStore; private readonly worksheetStores; private readonly addressCache; isNameAvailable(expressionName: string, sheetId?: number): boolean; namedExpressionInAddress(row: number): Maybe<InternalNamedExpression>; namedExpressionForScope(expressionName: string, sheetId?: number): Maybe<InternalNamedExpression>; nearestNamedExpression(expressionName: string, sheetId: number): Maybe<InternalNamedExpression>; isExpressionInScope(expressionName: string, sheetId: number): boolean; isNameValid(expressionName: string): boolean; addNamedExpression(expressionName: string, sheetId?: number, options?: NamedExpressionOptions): InternalNamedExpression; restoreNamedExpression(namedExpression: InternalNamedExpression, sheetId?: number): InternalNamedExpression; private worksheetStoreOrCreate; private worksheetStore; namedExpressionOrPlaceholder(expressionName: string, sheetId: number): InternalNamedExpression; workbookNamedExpressionOrPlaceholder(expressionName: string): InternalNamedExpression; remove(expressionName: string, sheetId?: number): void; getAllNamedExpressionsNamesInScope(sheetId?: number): string[]; getAllNamedExpressionsNames(): string[]; getAllNamedExpressions(): { expression: InternalNamedExpression; scope?: number; }[]; getAllNamedExpressionsForScope(scope?: number): InternalNamedExpression[]; private nextAddress; } export declare const doesContainRelativeReferences: (ast: Ast) => boolean;