[WIP] A bunch of useful and opinionated filters, modules, pipes... to use with Nest framework. 😻
npm install nestjs-extensions@latest
ApplicationExceptionFilter
is a nestjs filter use to catch all exceptions & errors in the application.
import { ApplicationExceptionFilter } from 'nestjs-extensions';
// ... other imports
const app = await NestFactory.create();
app.useGlobalFilters(new ApplicationExceptionFilter());
DtoPipe
& Dto
is used for validation. Internally it uses class-transformer
& class-validator
.
Reflector
.import { DtoPipe } from 'nestjs-extensions';
// ... other imports
const app = await NestFactory.create();
app.useGlobalPipes(new DtoPipe(new Reflector()));
create-post.dto.ts
import { Transform } from 'class-transformer';
import { IsNotEmpty, IsOptional, IsString } from 'class-validator';
import { Dto } from 'nestjs-extensions';
@Dto()
export class CreatePostDto {
@IsNotEmpty()
@IsString()
title!: string;
@IsString()
@IsOptional()
description?: string;
@IsNotEmpty()
@Transform(x => +x)
count!: number;
}
// ...
@Controller('posts')
export class PostsController {
@Post()
async createPost(@Body() { title, description, count }: CreatePostDto) {
return { title, description, count };
}
}