UNPKG

class-transformer-validator

Version:

A simple wrapper around class-transformer and class-validator which provides nice and programmer-friendly API.

68 lines (67 loc) 4.07 kB
import { ValidatorOptions } from "class-validator"; import { ClassTransformOptions } from "class-transformer"; export declare type ClassType<T> = new (...args: any[]) => T; export interface TransformValidationOptions { validator?: ValidatorOptions; transformer?: ClassTransformOptions; } /** * Asynchronously converts JSON string to class (constructor) object. * Reject the promise if the object parsed from string doesn't pass validation. * * @param {ClassType<T>} classType The Class to parse and convert JSON to * @param {string} jsonString The string containing JSON * @param {TransformValidationOptions} [options] Optional options object for class-validator and class-transformer * @returns {Promise<T|T[]>} Promise of object of given class T or array of objects given class T */ export declare function transformAndValidate<T extends object>(classType: ClassType<T>, jsonString: string, options?: TransformValidationOptions): Promise<T | T[]>; /** * Asynchronously converts array of plain objects to array of class (constructor) objects. * Reject the promise if any of the objects in array doesn't pass validation. * * @param {ClassType<T>} classType The Class to convert object to * @param {object} array The array of objects to instantiate and validate * @param {TransformValidationOptions} [options] Optional options object for class-validator and class-transformer * @returns {Promise<T>} Promise of object of given class T */ export declare function transformAndValidate<T extends object>(classType: ClassType<T>, array: object[], options?: TransformValidationOptions): Promise<T[]>; /** * Asynchronously converts plain object to class (constructor) object. * Reject the promise if the object doesn't pass validation. * * @param {ClassType<T>} classType The Class to convert object to * @param {object} object The object to instantiate and validate * @param {TransformValidationOptions} [options] Optional options object for class-validator and class-transformer * @returns {Promise<T>} Promise of object of given class T */ export declare function transformAndValidate<T extends object>(classType: ClassType<T>, object: object, options?: TransformValidationOptions): Promise<T>; /** * Synchronously converts JSON string to class (constructor) object. * Throws error if the object parsed from string doesn't pass validation. * * @param {ClassType<T>} classType The Class to parse and convert JSON to * @param {string} jsonString The string containing JSON * @param {TransformValidationOptions} [options] Optional options object for class-validator and class-transformer * @returns {T|T[]} Object of given class T or array of objects given class T */ export declare function transformAndValidateSync<T extends object>(classType: ClassType<T>, jsonString: string, options?: TransformValidationOptions): T | T[]; /** * Synchronously converts array of plain objects to array of class (constructor) objects. * Throws error if any of the objects in array doesn't pass validation. * * @param {ClassType<T>} classType The Class to convert object to * @param {object} array The array of objects to instantiate and validate * @param {TransformValidationOptions} [options] Optional options object for class-validator and class-transformer * @returns {T[]} Array of objects of given class T */ export declare function transformAndValidateSync<T extends object>(classType: ClassType<T>, array: object[], options?: TransformValidationOptions): T[]; /** * Synchronously converts plain object to class (constructor) object. * Throws error if the object doesn't pass validation. * * @param {ClassType<T>} classType The Class to convert object to * @param {object} object The object to instantiate and validate * @param {TransformValidationOptions} [options] Optional options object for class-validator and class-transformer * @returns {T} Object of given class T */ export declare function transformAndValidateSync<T extends object>(classType: ClassType<T>, object: object, options?: TransformValidationOptions): T;