UNPKG

@webilix/nestjs-helper

Version:

Helper library for NestJS

57 lines (50 loc) 1.5 kB
import { Formats } from '../formats'; interface ICondition { readonly title: string; readonly nullable?: boolean; readonly array?: | boolean | { readonly minCount?: number; readonly maxCount?: number; readonly unique?: true | ((value: any) => any); }; } export interface IBooleanCondition extends ICondition { readonly type: 'BOOLEAN'; } export interface IDateCondition extends ICondition { readonly type: 'DATE'; readonly minDate?: Date; readonly maxDate?: Date; // UPDATE VALUE readonly omitConvert?: boolean; } export interface INumberCondition extends ICondition { readonly type: 'NUMBER'; readonly enum?: number[]; readonly minimum?: number; readonly maximum?: number; } export interface IStringCondition extends ICondition { readonly type: 'STRING'; readonly format?: Formats; readonly pattern?: RegExp; readonly enum?: string[]; readonly length?: number; readonly minLength?: number; readonly maxLength?: number; // UPDATE VALUE readonly omitTrim?: boolean; readonly changeNumbers?: 'EN' | 'FA'; } export interface IObjectCondition extends ICondition { readonly type: 'OBJECT'; readonly properties: { [key: string]: | Omit<IStringCondition, 'array'> | Omit<IBooleanCondition, 'array'> | Omit<IDateCondition, 'array'> | Omit<INumberCondition, 'array'>; }; }