Skip to content

Instantly share code, notes, and snippets.

@LarsVonQualen
Last active March 16, 2016 11:19
Show Gist options
  • Save LarsVonQualen/4384c4fadf543d0d4848 to your computer and use it in GitHub Desktop.
Save LarsVonQualen/4384c4fadf543d0d4848 to your computer and use it in GitHub Desktop.
export abstract class BaseModel {
public static mapFromObject<TModel>(obj: any, modelFactory?: () => TModel): TModel {
if (!angular.isObject(obj)) return null;
var result = angular.isFunction(modelFactory) ? modelFactory() : new (this as any)();
angular.forEach(obj, (val, key) => result[key] = val);
return result;
}
public static mapFromArray<TModel>(arr: Array<any>, modelFactory?: () => TModel): Array<TModel> {
if (!angular.isArray(arr)) return null;
return arr.map(val => BaseModel.mapFromObject<TModel>(val, modelFactory));
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment