datainout
Version:
Import and reports data
56 lines (53 loc) • 1.46 kB
TypeScript
import { Style, Location } from 'exceljs';
import { SheetSection, AttributeType } from './common-type.js';
type TableData<T> = {
header?: T;
footer?: T;
table: T[];
};
type LayoutSheet<T extends BaseCellAttribute> = {
cells: {
header?: T[];
footer?: T[];
table: T[];
};
beginTableAt: number;
endTableAt: number;
columnIndex: number;
};
type BaseCellAttribute = {
section: SheetSection;
row: number;
col: number;
address?: string;
key: string;
};
type ImportCell = {
type: AttributeType;
required?: boolean;
setValue?: (attributeValue?: any, row?: Record<string, any>) => any;
validate?: (val: any) => {
isValid: boolean;
message?: string;
} | Error;
} & BaseCellAttribute;
declare enum ExportCellTypeEnum {
VARIABLE = "VARIABLE",
FORMULA = "FORMULA",
LABEL = "LABEL"
}
type ExportCell = {
value: any;
type: ExportCellTypeEnum;
style?: Partial<Style>;
formatValue?: (value: any) => any;
} & BaseCellAttribute;
type LayoutExportSheet = {
merges?: Record<string, {
model: Location;
}>;
columnWidths?: (number | undefined)[];
rowHeights?: Record<string, number>;
} & LayoutSheet<ExportCell>;
type TableDataByLayout<T> = {};
export { type BaseCellAttribute, type ExportCell, ExportCellTypeEnum, type ImportCell, type LayoutExportSheet, type LayoutSheet, type TableData, type TableDataByLayout };