UNPKG

@accounter/server

Version:
45 lines (44 loc) 1.32 kB
/** * BKMVDATA.TXT file parsing utilities */ import { parseA100, parseB100, parseB110, parseC100, parseD110, parseD120, parseM100, parseZ900 } from '../generator/records/index.js'; export interface ParseError { lineNumber: number; recordType: string; message: string; line: string; } export interface UnknownRecord { lineNumber: number; recordType: string; line: string; } export interface ParsedDataRecords { a100: ReturnType<typeof parseA100> | null; b100: ReturnType<typeof parseB100>[]; b110: ReturnType<typeof parseB110>[]; c100: ReturnType<typeof parseC100>[]; d110: ReturnType<typeof parseD110>[]; d120: ReturnType<typeof parseD120>[]; m100: ReturnType<typeof parseM100>[]; z900: ReturnType<typeof parseZ900> | null; } export interface ParseDataFileResult { records: ParsedDataRecords; summary: { totalLines: number; parsedRecords: number; failedRecords: number; unknownRecords: number; perType: Record<string, number>; }; errors: ParseError[]; unknownRecords: UnknownRecord[]; } /** * Parses BKMVDATA.TXT file content * * @param content - Raw BKMVDATA.TXT file content * @returns Parsed data structure */ export declare function parseDataFile(content: string): ParseDataFileResult;