import { type ClassTransformOptions, plainToClassFromExist, plainToInstance } from "class-transformer"; export default abstract class ObjectHydrate { public static hydrate(object: T, from: Partial, options?: ClassTransformOptions): T { return plainToClassFromExist(object, from, options); } public static map(ClassEntity: { new (): T }, fromArray: Partial[], options?: ClassTransformOptions): T[] { return fromArray.map((from) => { return plainToInstance(ClassEntity, from, options); }); } // public static fromTypeToRessource(ClassEntity: { new (): T }, from: Record): 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]; // } // }); // } }