/** * Column class */ export class Column { /** * count of column data entries */ public length: number; /** * column key name */ private key: string; /** * column data container */ private data: string[]; public constructor(key: string, data: string[]) { this.key = key; this.data = data; this.length = data.length; } /** * Get column name * @returns column name */ public getKey(): string { return this.key; } /** * Get column data * @returns column data */ public getData(): string[] { return this.data; } /** * Get column data at given index * @param idx data index * @returns data at given index */ public getDataByIndex(idx: number): string | null { return this.hasDataIndex(idx) ? this.data[idx] : null; } /** * Check if column has a given data index * @param idx data index * @returns boolean result */ private hasDataIndex(idx: number): boolean { return (idx >= 0 && idx < this.length); } }