// RecursiveObjectWriter
import { RecursiveObjectReader, RecursiveObjectWriter } from "pip-services3-commons-nodex";
export class ClassAa {
public param5: string = "hello aa";
}
export class ClassA extends ClassAa {
public param1: string = "hello";
public param2: number = 123;
public methodA(): number {
return 123;
}
}
export class ClassB extends ClassA {
public param4: string = "inside 2";
}
export function main(){
let myClassB = new ClassB();
let myClassC = new ClassB();
// set_property
RecursiveObjectWriter.setProperty(myClassB, "param2", "new value");
let value1 = RecursiveObjectReader.getProperty(myClassB, "param2");
console.log("The new values for the myClassB object are:", value1);
// set_properties
let myMap = { 'param1': 789456, 'param2': "ABCaccc" };
RecursiveObjectWriter.setProperties(myClassB, myMap);
let value2 = RecursiveObjectReader.getProperties(myClassB);
console.log("The new values for the myClassB object are:", value2);
// copy_proerties
let value3 = RecursiveObjectReader.getProperties(myClassC);
console.log("The properties of myClassC and their values are:", value3);
RecursiveObjectWriter.copyProperties(myClassC, myClassB);
let value4 = RecursiveObjectReader.getProperties(myClassC);
console.log("The new properties of myClassC and their values are:", value4);
}