apply methods
This commit is contained in:
parent
241f1dafac
commit
df53948f69
@ -5,19 +5,36 @@
|
||||
* Created by Timo Hocker <timo@scode.ovh>, May 2020
|
||||
*/
|
||||
|
||||
export abstract class ControlModel {
|
||||
import { DataApply } from './DataApply';
|
||||
|
||||
export abstract class ControlModel implements DataApply {
|
||||
protected data: Record<string, string|number|boolean> = {};
|
||||
|
||||
public get object (): Record<string, string|number|boolean> {
|
||||
return this.data;
|
||||
}
|
||||
|
||||
public set object (obj: Record<string, string|number|boolean>) {
|
||||
public constructor (obj: Record<string, string|number|boolean>) {
|
||||
this.data = obj;
|
||||
}
|
||||
|
||||
public constructor (obj: Record<string, string|number|boolean>) {
|
||||
this.object = obj;
|
||||
public get_data (): Record<string, string|number|boolean> {
|
||||
return this.data;
|
||||
}
|
||||
|
||||
public apply_object (obj: Record<string, unknown>): void {
|
||||
for (const key of Object.keys (obj)) {
|
||||
if ([
|
||||
'string',
|
||||
'number',
|
||||
'boolean'
|
||||
].indexOf (typeof obj[key]) > -1)
|
||||
this.data[key] = obj[key] as string|number|boolean;
|
||||
}
|
||||
}
|
||||
|
||||
public apply (da: DataApply): void {
|
||||
this.apply_object (da.get_data ());
|
||||
}
|
||||
|
||||
public apply_to (da: DataApply): void {
|
||||
da.apply (this);
|
||||
}
|
||||
|
||||
public get (key: string): string|number|boolean {
|
||||
|
6
lib/DataApply.ts
Normal file
6
lib/DataApply.ts
Normal file
@ -0,0 +1,6 @@
|
||||
export interface DataApply {
|
||||
apply(da: DataApply): void;
|
||||
apply_object(obj: Record<string, unknown>): void;
|
||||
apply_to(da: DataApply): void;
|
||||
get_data(): Record<string, unknown>;
|
||||
}
|
@ -5,7 +5,9 @@
|
||||
* Created by Timo Hocker <timo@scode.ovh>, May 2020
|
||||
*/
|
||||
|
||||
export abstract class DatabaseModel {
|
||||
import { DataApply } from './DataApply';
|
||||
|
||||
export abstract class DatabaseModel implements DataApply {
|
||||
protected data: Record<string, string|number|boolean> = {};
|
||||
|
||||
public get id (): number {
|
||||
@ -16,10 +18,29 @@ export abstract class DatabaseModel {
|
||||
this.data.id = val;
|
||||
}
|
||||
|
||||
public get object (): Record<string, string|number|boolean> {
|
||||
public get_data (): Record<string, string|number|boolean> {
|
||||
return this.data;
|
||||
}
|
||||
|
||||
public apply_object (obj: Record<string, unknown>): void {
|
||||
for (const key of Object.keys (obj)) {
|
||||
if ([
|
||||
'string',
|
||||
'number',
|
||||
'boolean'
|
||||
].indexOf (typeof obj[key]) > -1)
|
||||
this.data[key] = obj[key] as string|number|boolean;
|
||||
}
|
||||
}
|
||||
|
||||
public apply (da: DataApply): void {
|
||||
this.apply_object (da.get_data ());
|
||||
}
|
||||
|
||||
public apply_to (da: DataApply): void {
|
||||
da.apply (this);
|
||||
}
|
||||
|
||||
public constructor (id: number) {
|
||||
this.id = id;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user