From the course: Mastering Nest.js: Build Scalable Applications with Mastery in Nest.js Framework
Unlock this course with a free trial
Join today to access over 25,200 courses taught by industry experts.
Creating a custom pipe - Nest.js Tutorial
From the course: Mastering Nest.js: Build Scalable Applications with Mastery in Nest.js Framework
Creating a custom pipe
Alright, so after understanding and implementing important built-in pipes, now let's see how to create a custom pipe. First of all, let's discuss why we need a custom pipe. Custom pipes are necessary when the built-in pipes fail the requirement to meet certain validations or transformation on the data. So custom pipes work like personalized filters for data, fulfilling the needs of processing the data the way we want. Let's understand the syntax of a custom pipe practically. Let's create a separate folder for defining custom pipes. I'll name the folder as custom pipe, creating a TypeScript file inside it, phoneauth.ts. Now the first thing we are going to do is specify the injectable decorator because we will inject this pipe inside the controller as a dependency. So whenever we create a custom pipe, we first mark it as injectable so that it can be used anywhere in the entire application. Next step is to define the class. I'll give the export class PhoneAuth, and we will implement an…
Practice while you learn with exercise files
Download the files the instructor uses to teach the course. Follow along and learn by watching, listening and practicing.
Contents
-
-
-
-
(Locked)
Introduction to pipes1m 59s
-
(Locked)
Built-in pipes (ParseIntPipe)2m 40s
-
(Locked)
Built-in pipes (ParseFloatPipe)1m 7s
-
(Locked)
Built-in pipes (ParseBooleanPipe)2m 25s
-
(Locked)
Built-in pipes (ParseArrayPipe)2m 59s
-
(Locked)
Built-in pipes (ParseUUIDPipe)4m 12s
-
(Locked)
Built-in pipes (ValidationPipe)5m 52s
-
(Locked)
Validating empty fields3m 34s
-
(Locked)
Validating field length3m 4s
-
(Locked)
Custom validation messages3m 2s
-
(Locked)
Validating field using @IsEnum() validator4m 7s
-
(Locked)
Validating dates in Nest.js2m 31s
-
(Locked)
Validating optional fields2m 33s
-
(Locked)
Validating regex pattern3m 11s
-
(Locked)
Creating a custom pipe6m 39s
-
(Locked)
Understanding ArgumentMetadata (metadata.type)3m 40s
-
(Locked)
Assignment: Custom pipe (handling different "type" arguments)3m 56s
-
(Locked)
Understanding ArgumentMetadata (metadata.metatype)5m
-
(Locked)
Understanding ArgumentMetadata (metadata.data)3m 37s
-
(Locked)
Implementing global pipes2m 30s
-
(Locked)
-
-
-
-
-
-
-
-
-