hyperformula-dc
Version:
HyperFormula is a JavaScript engine for efficient processing of spreadsheet-like data and formulas
57 lines (56 loc) • 2.39 kB
TypeScript
/**
* @license
* Copyright (c) 2021 Handsoncode. All rights reserved.
*/
import { CellError } from '../Cell';
import { SimpleRangeValue } from './SimpleRangeValue';
export declare const EmptyValue: unique symbol;
export declare type EmptyValueType = typeof EmptyValue;
export declare type InternalNoErrorScalarValue = RichNumber | RawNoErrorScalarValue;
export declare type InternalScalarValue = RichNumber | RawScalarValue;
export declare type InterpreterValue = RichNumber | RawInterpreterValue;
export declare type RawNoErrorScalarValue = number | string | boolean | EmptyValueType;
export declare type RawScalarValue = RawNoErrorScalarValue | CellError;
export declare type RawInterpreterValue = RawScalarValue | SimpleRangeValue;
export declare function getRawValue<T>(num: RichNumber | T): number | T;
export declare abstract class RichNumber {
val: number;
format?: string | undefined;
constructor(val: number, format?: string | undefined);
fromNumber(val: number): this;
abstract getDetailedType(): NumberType;
}
export declare function cloneNumber(val: ExtendedNumber, newVal: number): ExtendedNumber;
export declare class DateNumber extends RichNumber {
getDetailedType(): NumberType;
}
export declare class CurrencyNumber extends RichNumber {
getDetailedType(): NumberType;
}
export declare class TimeNumber extends RichNumber {
getDetailedType(): NumberType;
}
export declare class DateTimeNumber extends RichNumber {
getDetailedType(): NumberType;
}
export declare class PercentNumber extends RichNumber {
getDetailedType(): NumberType;
}
export declare type ExtendedNumber = number | RichNumber;
export declare function isExtendedNumber(val: any): val is ExtendedNumber;
export declare enum NumberType {
NUMBER_RAW = "NUMBER_RAW",
NUMBER_DATE = "NUMBER_DATE",
NUMBER_TIME = "NUMBER_TIME",
NUMBER_DATETIME = "NUMBER_DATETIME",
NUMBER_CURRENCY = "NUMBER_CURRENCY",
NUMBER_PERCENT = "NUMBER_PERCENT"
}
export declare function getTypeOfExtendedNumber(num: ExtendedNumber): NumberType;
export declare type FormatInfo = string | undefined;
export declare function getFormatOfExtendedNumber(num: ExtendedNumber): FormatInfo;
export declare type NumberTypeWithFormat = {
type: NumberType;
format?: FormatInfo;
};
export declare function getTypeFormatOfExtendedNumber(num: ExtendedNumber): NumberTypeWithFormat;