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
TypeScript
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;
}