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