1 | /**
|
2 | * Record class
|
3 | */
|
4 | export class Record {
|
5 | /**
|
6 | * row data container
|
7 | */
|
8 | private data: any;
|
9 |
|
10 | /**
|
11 | * Constructor
|
12 | * @param data data object (use column names as object keys)
|
13 | */
|
14 | public constructor(data: any) {
|
15 | this.data = data;
|
16 | }
|
17 |
|
18 | /**
|
19 | * get row data
|
20 | * @returns row data
|
21 | */
|
22 | public getData(): any {
|
23 | return this.data;
|
24 | }
|
25 |
|
26 | /**
|
27 | * get row data for given column
|
28 | * @param key column name
|
29 | * @returns row data for given column or null if column does not exist
|
30 | */
|
31 | public getDataByKey(key: string): string | null {
|
32 | if (this.hasData(key)) {
|
33 | return this.data[key];
|
34 | }
|
35 | return null;
|
36 | }
|
37 |
|
38 | /**
|
39 | * check if record has data for given column
|
40 | * @param key column name
|
41 | * @returns boolean result
|
42 | */
|
43 | private hasData(key: string): boolean {
|
44 | return Object.prototype.hasOwnProperty.call(this.data, key);
|
45 | }
|
46 | }
|