Select Git revision
Forked from
Dojo Project (HES-SO) / Projects / UI / DojoCLI
Source project has a limited visibility.
Model.ts 524 B
type Constructor<T> = new (...args: any[]) => T;
abstract class Model extends Object {
static createFromJson<T extends Object>(this: Constructor<T>, obj: any): T {
const result = new this();
Object.getOwnPropertyNames(obj).forEach(property => {
if ( result.hasOwnProperty(property) ) {
(result as any)[property] = property.indexOf('Info') === -1 ? obj[property] : JSON.parse(obj[property]);
}
});
return result;
}
}
export default Model;