p6-xer
Version:
A TypeScript module for parsing and processing Primavera P6 XER files
51 lines (50 loc) • 1.44 kB
TypeScript
export declare class XerParserError extends Error {
constructor(message: string);
}
export declare class EncodingError extends XerParserError {
constructor(message: string);
}
export interface XerTable {
name: string;
fields: string[];
rows: Record<string, string>[];
}
export interface XerData {
tables: XerTable[];
header?: {
version: string;
date: string;
project: string;
id: string;
user: string;
database: string;
system: string;
currency: string;
};
}
export interface XerParserOptions {
encoding?: BufferEncoding;
skipEmptyTables?: boolean;
}
export interface ExportOptions {
outputPath: string;
sheetNamePrefix?: string;
}
export declare class XerParser {
private options;
constructor(options?: XerParserOptions);
private handleTableStart;
private handleFieldDefinition;
private handleDataRow;
private handleTableEnd;
private parseErmhdrLine;
private parseContent;
parseSync(filePath: string): XerData;
parseAsync(filePath: string): Promise<XerData>;
parse: (filePath: string) => Promise<XerData>;
private detectEncoding;
private exportToWorkbook;
exportToXlsxSync(data: XerData, options: ExportOptions): void;
exportToXlsxAsync(data: XerData, options: ExportOptions): Promise<void>;
exportToXlsx: (data: XerData, options: ExportOptions) => Promise<void>;
}