@team-supercharge/nest-amqp
Version:
AMQP 1.0 module for Nest framework
48 lines (47 loc) • 2.23 kB
TypeScript
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[]>;
}