Socket
Socket
Sign inDemoInstall

class-transformer-validator

Package Overview
Dependencies
Maintainers
1
Versions
12
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

class-transformer-validator - npm Package Compare versions

Comparing version 0.4.0 to 0.4.1

27

index.d.ts

@@ -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 @@

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc