using TPersistent as example
This commit is contained in:
		| @@ -1,11 +1,22 @@ | ||||
| export abstract class Assignable { | ||||
|   protected data: Record<string, unknown> = {}; | ||||
| export interface Assignable { | ||||
|   assign (a: Assignable): void; | ||||
|   assign_to (a: Assignable): void; | ||||
| } | ||||
|  | ||||
| export abstract class Persistent { | ||||
|   private data: Record<string, unknown> = {}; | ||||
|   private properties: Record<string, string>; | ||||
|  | ||||
|   public constructor() { | ||||
|     this.properties = this.define_properties(); | ||||
|   } | ||||
|  | ||||
|   public abstract define_properties(): Record<string, string>; | ||||
|  | ||||
|   public assign (da: Assignable): void { | ||||
|     this.assign_object (da.get_data ()); | ||||
|   } | ||||
|  | ||||
|  | ||||
|   public assign_to (da: Assignable): void { | ||||
|     da.assign (this); | ||||
|   } | ||||
| @@ -18,4 +29,6 @@ export abstract class Assignable { | ||||
|   public get_data (): Record<string, unknown> { | ||||
|     return this.data; | ||||
|   } | ||||
|  | ||||
|   wip | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user