UNPKG

nestjs-joi

Version:

Easy to use JoiPipe as an interface between joi and NestJS with optional decorator-based schema construction.

28 lines (27 loc) 1.01 kB
import { ArgumentMetadata, PipeTransform } from '@nestjs/common'; import * as Joi from 'joi'; import { JoiValidationGroup } from 'joi-class-decorators'; import { Constructor } from './defs'; export interface JoiPipeOptions { group?: JoiValidationGroup; usePipeValidationException?: boolean; defaultValidationOptions?: Joi.ValidationOptions; skipErrorFormatting?: boolean; } export declare class JoiPipe implements PipeTransform { private readonly arg?; private readonly schema?; private readonly type?; private readonly method?; private readonly pipeOpts; constructor(); constructor(pipeOpts?: JoiPipeOptions); constructor(type: Constructor, pipeOpts?: JoiPipeOptions); constructor(schema: Joi.Schema, pipeOpts?: JoiPipeOptions); transform(payload: unknown, metadata: ArgumentMetadata): unknown; private static validate; private parseOptions; private getSchema; private static readonly typeSchemaMap; private static getTypeSchema; }