24 lines
907 B
TypeScript
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];
|
|
// }
|
|
// });
|
|
// }
|
|
}
|