// TypeDescriptor

import { TypeDescriptor } 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(){
    // Create type descriptors
    let type1 = new TypeDescriptor("ClassA", "library1");
    let type2 = new TypeDescriptor("ClassB", "library1");

    // equals
    let result1 = type1.equals(type2);
    console.log("type1 equals type2:", result1);

    // get_library
    let library1 = type1.getLibrary();
    console.log("The library of type1:", library1);

    // get_name
    let name1 = type1.getName();
    console.log("The name of type1 is:", name1);

    // from_string
    let typeDescriptor = TypeDescriptor.fromString("classA,library1");
    console.log("Type descriptor:", typeDescriptor);
}