lecoffre-back/src/common/helpers/ObjectHydrate.ts
2023-05-05 10:35:38 +02:00

24 lines
907 B
TypeScript

import { type ClassTransformOptions, plainToClassFromExist, plainToInstance } from "class-transformer";
export default abstract class ObjectHydrate {
public static hydrate<T = {}>(object: T, from: Partial<T>, options?: ClassTransformOptions): T {
return plainToClassFromExist(object, from, options);
}
public static map<T = {}>(ClassEntity: { new (): T }, fromArray: Partial<T>[], options?: ClassTransformOptions): T[] {
return fromArray.map((from) => {
return plainToInstance(ClassEntity, from, options);
});
}
// public static fromTypeToRessource<T>(ClassEntity: { new (): T }, from: Record<string, unknown>): T {
// const properties = Object.getOwnPropertyNames(ClassEntity);
// const classInstance = new ClassEntity() as T;
// properties.forEach((property) => {
// if (property in from) {
// classInstance[property] = from[property] as T[keyof T];
// }
// });
// }
}