🐛 Fixing hydrate

This commit is contained in:
Maxime Lalo 2023-05-15 16:08:44 +02:00
parent f90ab464e3
commit e056bd8b8c
3 changed files with 12 additions and 23 deletions

5
dist/Resource.d.ts vendored
View File

@ -3,9 +3,6 @@ import { type ClassTransformOptions } from "class-transformer";
import { ValidatorOptions } from "class-validator";
export default class Resource {
static hydrate<T extends Resource>(from: Partial<T>, options?: ClassTransformOptions): T;
static hydrateArray<T = {}>(ClassEntity: {
new (): T;
}, fromArray: T[], options?: ClassTransformOptions): T[];
static validateOrReject(validatorOptions?: ValidatorOptions): Promise<void>;
static hydrateArray<T extends Resource>(fromArray: Partial<T>[], options?: ClassTransformOptions): T[];
validateOrReject?(validatorOptions?: ValidatorOptions): Promise<void>;
}

15
dist/Resource.js vendored
View File

@ -1,26 +1,21 @@
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
require("reflect-metadata");
const class_transformer_1 = require("class-transformer");
const class_validator_1 = __importDefault(require("class-validator"));
const class_validator_1 = require("class-validator");
class Resource {
static hydrate(from, options) {
const self = new this;
return (0, class_transformer_1.plainToClassFromExist)(self, from, options);
}
static hydrateArray(ClassEntity, fromArray, options) {
static hydrateArray(fromArray, options) {
return fromArray.map((from) => {
return (0, class_transformer_1.plainToInstance)(ClassEntity, from, options);
const self = new this;
return (0, class_transformer_1.plainToClassFromExist)(self, from, options);
});
}
static validateOrReject(validatorOptions) {
return class_validator_1.default.validateOrReject(this, validatorOptions);
}
validateOrReject(validatorOptions) {
return class_validator_1.default.validateOrReject(this, validatorOptions);
return (0, class_validator_1.validateOrReject)(this, validatorOptions);
}
}
exports.default = Resource;

View File

@ -1,6 +1,6 @@
import "reflect-metadata";
import { type ClassTransformOptions, plainToClassFromExist, plainToInstance } from "class-transformer";
import validator, { ValidatorOptions } from "class-validator";
import { type ClassTransformOptions, plainToClassFromExist } from "class-transformer";
import { ValidatorOptions, validateOrReject } from "class-validator";
export default class Resource {
@ -9,17 +9,14 @@ export default class Resource {
return plainToClassFromExist(self, from, options);
}
public static hydrateArray<T = {}>(ClassEntity: { new (): T }, fromArray: T[], options?: ClassTransformOptions): T[] {
public static hydrateArray<T extends Resource>(fromArray: Partial<T>[], options?: ClassTransformOptions): T[] {
return fromArray.map((from) => {
return plainToInstance(ClassEntity, from, options);
const self: T = new (this as any);
return plainToClassFromExist(self, from, options);
});
}
public static validateOrReject(validatorOptions?: ValidatorOptions){
return validator.validateOrReject(this, validatorOptions);
}
public validateOrReject?(validatorOptions?: ValidatorOptions){
return validator.validateOrReject(this, validatorOptions);
return validateOrReject(this, validatorOptions);
}
}