import { TypedForm , propObject , maxLength , required , propArray , toDate } from "@rxweb/reactive-form-validators" ; import { Address } from './address' ; import { Skill } from './skill' ; export class User extends TypedForm < User > { private _firstName : string ; @ required ( ) @ maxLength ( { value : 10 } ) set firstName ( value ) { this . _firstName = value ; } get firstName ( ) { return this . _firstName ; } @ toDate ( ) @ required ( ) dob : Date ; @ propObject ( Address ) address : Address ; @ propArray ( Skill ) skills : Skill [ ] ; }