// 인터셉터는 AOP 이다.

// 라우터가 4개가 있다면,

import { CallHandler, ExecutionContext, NestInterceptor } from "@nestjs/common";
import { Observable } from "rxjs";
import { map } from 'rxjs/operators'

export class UndefinedToNullInterceptor implements NestInterceptor {
	intercept(context: ExecutionContext, next: CallHandler<any>,) : Observable<any> | Promise<Observable<any>> {
		return next.handle().pipe(map(data => data === undefined ? null : data)); // 여기서 데이터는 controller 에서 리턴한 데이터이다.
	}
}