class-transformer-validator
Advanced tools
Comparing version 0.4.0 to 0.4.1
@@ -6,6 +6,7 @@ import { ValidatorOptions } from "class-validator"; | ||
} | ||
export interface TransformValdiationOptions { | ||
export interface TransformValidationOptions { | ||
validator?: ValidatorOptions; | ||
transformer?: ClassTransformOptions; | ||
} | ||
export { TransformValidationOptions as TransformValdiationOptions }; | ||
/** | ||
@@ -17,6 +18,6 @@ * Asynchronously converts JSON string to class (constructor) object. | ||
* @param {string} jsonString The string containing JSON | ||
* @param {TransformValdiationOptions} [options] Optional options object for class-validator and class-transformer | ||
* @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?: TransformValdiationOptions): Promise<T | T[]>; | ||
export declare function transformAndValidate<T extends object>(classType: ClassType<T>, jsonString: string, options?: TransformValidationOptions): Promise<T | T[]>; | ||
/** | ||
@@ -28,6 +29,6 @@ * Asynchronously converts array of plain objects to array of class (constructor) objects. | ||
* @param {object} array The array of objects to instantiate and validate | ||
* @param {TransformValdiationOptions} [options] Optional options object for class-validator and class-transformer | ||
* @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?: TransformValdiationOptions): Promise<T[]>; | ||
export declare function transformAndValidate<T extends object>(classType: ClassType<T>, array: object[], options?: TransformValidationOptions): Promise<T[]>; | ||
/** | ||
@@ -39,6 +40,6 @@ * Asynchronously converts plain object to class (constructor) object. | ||
* @param {object} object The object to instantiate and validate | ||
* @param {TransformValdiationOptions} [options] Optional options object for class-validator and class-transformer | ||
* @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?: TransformValdiationOptions): Promise<T>; | ||
export declare function transformAndValidate<T extends object>(classType: ClassType<T>, object: object, options?: TransformValidationOptions): Promise<T>; | ||
/** | ||
@@ -50,6 +51,6 @@ * Synchronously converts JSON string to class (constructor) object. | ||
* @param {string} jsonString The string containing JSON | ||
* @param {TransformValdiationOptions} [options] Optional options object for class-validator and class-transformer | ||
* @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?: TransformValdiationOptions): T | T[]; | ||
export declare function transformAndValidateSync<T extends object>(classType: ClassType<T>, jsonString: string, options?: TransformValidationOptions): T | T[]; | ||
/** | ||
@@ -61,6 +62,6 @@ * Synchronously converts array of plain objects to array of class (constructor) objects. | ||
* @param {object} array The array of objects to instantiate and validate | ||
* @param {TransformValdiationOptions} [options] Optional options object for class-validator and class-transformer | ||
* @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?: TransformValdiationOptions): T[]; | ||
export declare function transformAndValidateSync<T extends object>(classType: ClassType<T>, array: object[], options?: TransformValidationOptions): T[]; | ||
/** | ||
@@ -72,5 +73,5 @@ * Synchronously converts plain object to class (constructor) object. | ||
* @param {object} object The object to instantiate and validate | ||
* @param {TransformValdiationOptions} [options] Optional options object for class-validator and class-transformer | ||
* @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?: TransformValdiationOptions): T; | ||
export declare function transformAndValidateSync<T extends object>(classType: ClassType<T>, object: object, options?: TransformValidationOptions): T; |
{ | ||
"name": "class-transformer-validator", | ||
"version": "0.4.0", | ||
"version": "0.4.1", | ||
"description": "A simple wrapper around class-transformer and class-validator which provides nice and programmer-friendly API.", | ||
@@ -5,0 +5,0 @@ "license": "MIT", |
@@ -66,3 +66,3 @@ # class-transformer-validator | ||
const userObject = await transformAndValidate(User, req.body); | ||
// intered type of userObject is User, you can access all class prototype properties and methods | ||
// infered type of userObject is User, you can access all class prototype properties and methods | ||
} catch (error) { | ||
@@ -93,21 +93,23 @@ // your error handling | ||
```js | ||
function transformAndValidate<T extends object>(classType: ClassType<T>, jsonString: string, options?: TransformValdiationOptions): Promise<T|T[]>; | ||
function transformAndValidate<T extends object>(classType: ClassType<T>, jsonString: string, options?: TransformValidationOptions): Promise<T|T[]>; | ||
``` | ||
```js | ||
function transformAndValidate<T extends object>(classType: ClassType<T>, object: object, options?: TransformValdiationOptions): Promise<T>; | ||
function transformAndValidate<T extends object>(classType: ClassType<T>, object: object, options?: TransformValidationOptions): Promise<T>; | ||
``` | ||
```js | ||
function transformAndValidate<T extends object>(classType: ClassType<T>, array: object[], options?: TransformValdiationOptions): Promise<T[]>; | ||
function transformAndValidate<T extends object>(classType: ClassType<T>, array: object[], options?: TransformValidationOptions): Promise<T[]>; | ||
``` | ||
If you need sync validation, use `transformAndValidateSync` function instead (since v0.4.0). | ||
Be aware that if you validate json string, the return type is a `Promise` of `T` or `T[]` so you need to assert the returned type if you know the shape of json: | ||
```js | ||
const users = transformAndValidate(User, JSON.stringify([{ email: "test@test.test" }])) as User[]; | ||
const users = await transformAndValidate(User, JSON.stringify([{ email: "test@test.test" }])) as User[]; | ||
``` | ||
Or you can just check in runtime using `Array.isArray(obj)` method. | ||
Or you can just check the type in runtime using `Array.isArray` method. | ||
#### Synchronous transformation and validation | ||
If you need sync validation, use `transformAndValidateSync` function instead (available since v0.4.0). It will synchronously return `T` or `T[]`, not a Promise. | ||
#### Parameters and types | ||
@@ -129,3 +131,3 @@ | ||
```js | ||
interface TransformValdiationOptions { | ||
interface TransformValidationOptions { | ||
validator?: ValidatorOptions; | ||
@@ -143,6 +145,9 @@ transformer?: ClassTransformOptions; | ||
**0.4.1** | ||
* fix `TransformValdiationOptions` interface name typo (depreacte in favour of `TransformValidationOptions`) | ||
**0.4.0** | ||
* added `transformAndValidateSync` function for synchronous validation | ||
* changed return type for transform and validation JSON to `Promise` of `T` or `T[]` | ||
* changed return type for JSON's transform and validation to `Promise` of `T` or `T[]` | ||
* bumped `class-validator` dependency to version `^0.7.2` and `class-transformer` to `^0.1.7` | ||
@@ -149,0 +154,0 @@ |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
127
168
16665
5