UNPKG

1.14 kBPlain TextView Raw
1/**
2 * Column class
3 */
4export class Column {
5 /**
6 * count of column data entries
7 */
8 public length: number;
9 /**
10 * column key name
11 */
12 private key: string;
13 /**
14 * column data container
15 */
16 private data: string[];
17
18 public constructor(key: string, data: string[]) {
19 this.key = key;
20 this.data = data;
21 this.length = data.length;
22 }
23
24 /**
25 * Get column name
26 * @returns column name
27 */
28 public getKey(): string {
29 return this.key;
30 }
31
32 /**
33 * Get column data
34 * @returns column data
35 */
36 public getData(): string[] {
37 return this.data;
38 }
39
40 /**
41 * Get column data at given index
42 * @param idx data index
43 * @returns data at given index
44 */
45 public getDataByIndex(idx: number): string | null {
46 return this.hasDataIndex(idx) ? this.data[idx] : null;
47 }
48
49 /**
50 * Check if column has a given data index
51 * @param idx data index
52 * @returns boolean result
53 */
54 private hasDataIndex(idx: number): boolean {
55 return (idx >= 0 && idx < this.length);
56 }
57}