UNPKG

@team-supercharge/nest-amqp

Version:
48 lines (47 loc) 2.23 kB
import { ClassTransformOptions } from 'class-transformer'; import { ValidatorOptions } from 'class-validator'; export interface ObjectValidationOptions { transformerOptions?: ClassTransformOptions; validatorOptions?: ValidatorOptions; } /** * Class to validate an object or an array of objects. */ export declare class ObjectValidatorService { /** * Transforme and validate a source object by a decorated class. It works with * the `class-validator` and the `class-transformer` packages. * * By default, the validator will strip every property that is not explicitly exposed * * @param {new (...params: unknown[]) => T} type Class with validation and transformation decorators. * @param {unknown} plain Source object which will be transformed and validated. * @param {ObjectValidationOptions} options Transformation and validations options. * * @return {Promise<T>} The transformed and validated object. * * {@link https://www.npmjs.com/package/class-transformer class-transformer} * {@link https://www.npmjs.com/package/class-validator class-validator} * * @public */ validate<T>(type: new (...params: unknown[]) => T, plain: unknown, options?: ObjectValidationOptions): Promise<T>; /** * Validate and transform a list of objects by a decorated class. It works * with the `class-validator` and the `class-transformer` packages. * * By default, the validator will strip every property that is not explicitly exposed * * @param {new (...params: unknown[]) => T} type Class with validation and transformation decorators. * @param {unknown[]} plains Source array of object which will be transformed and validated. * @param {ObjectValidationOptions} options Transformation and validations options. * * @return {Promise<T[]>} Validated and transformed array. * * {@link https://www.npmjs.com/package/class-transformer class-transformer} * {@link https://www.npmjs.com/package/class-validator class-validator} * * @public */ validateArray<T>(type: new (...params: unknown[]) => T, plains: unknown[], options?: ObjectValidationOptions): Promise<T[]>; }