import { Field } from "../classes/Field"; export class CollectionDataImpl { headers: Field[]; rows: Record[]; constructor(headers: Field[] = [], rows: Record[] = []) { this.headers = headers; this.rows = rows; } addRow(row: Record): void { let isValidRow = true; for (const header of this.headers) { const value = row[header.title]; if (!header.validateInput(value)) { console.error( `Validation failed for ${header.title} with value ${value}` ); isValidRow = false; break; } } if (isValidRow) { this.rows.push(row); } else { console.log("Row not added due to validation failure."); } } getRows(): Record[] { return this.rows; } getHeaders(): Field[] { return this.headers; } }