Skip to content

quarrant/mobx-class-transformer-validator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mobx-class-transformer-validator

A simple plugin for class-transformer and class-validator which combines them in a nice and programmer-friendly API.

Installation

Module installation

npm install mobx-class-transformer-validator --save

(or the short way):

npm i -S mobx-class-transformer-validator

Peer dependencies

This package is only a simple plugin/wrapper, so you have to install the required modules too because it can't work without them. See detailed installation instruction for the modules installation:

Usage

The usage of this module is very simple.

import { IsEmail } from 'class-validator';
import { transformAndValidate } from 'mobx-class-transformer-validator';

class UserDto {
  @IsString()
  fullname: string;
}

class UserModel {
  @observable firstName: string;
  @observable lastName: string;
  @computed get fullname() {
    return `${this.firstName} ${this.lastName}`;
  }
}

const user = new UserModel();

// transform the JSON to class instance and validate it correctness
transformAndValidate(UserDto, UserModel)
  .then((userDto: UserDto) => {
    // now you can access all your class prototype method
    console.log(`Hello ${userDto.fullname}`); // prints "Hello World!" on console
  })
  .catch((err) => {
    // here you can handle error on transformation (invalid JSON)
    // or validation error (e.g. invalid email property)
    console.error(err);
  });

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published