String to date object

by Sayan Pal

TypeScript

class IDate {
    value: Date; 
}
class Mock {
    number: number;
    time: IDate;
    
    constructor(number:number, time:Date){
    	this.number = number;
      this.time = new IDate();
      this.time.value = time;
    }
    public static create(obj):Mock{
    	let retVal = new Mock();
      retVal.number=obj.number;
      retVal.time = new IDate();
      
      if(typeof obj.time === "string")
      	retVal.time.value = new Date(obj.time);
      else if(obj.time instanceof Date)
      	retVal.time.value = obj.time;
        
      return retVal;
    }
}

var jsonObj = { number: 1, time: "2017-02-27T00:00:00" };

var obj = Mock.create(jsonObj);
console.log(obj);
console.log(obj instanceof Mock);

var mock: Mock = null; 
mock = jsonObj;
console.log(mock instanceof Mock);