UNPKG

@nestjs-mod/common

Version:

A collection of utilities for unifying NestJS applications and modules

43 lines (42 loc) 1.5 kB
import { Logger, LoggerService } from '@nestjs/common'; import { ValidatorPackage } from '@nestjs/common/interfaces/external/validator-package.interface'; import { ValidatorOptions } from 'class-validator'; export type ConfigModelOptions = { name?: string; description?: string; originalName?: string; validatorPackage?: ValidatorPackage; validatorOptions?: ValidatorOptions; skipValidation?: boolean; debug?: boolean; logger?: Logger | LoggerService; }; export type ConfigModelRootOptions = Omit<ConfigModelOptions, 'originalName'>; export type ConfigModelPropertyOptions = { description?: string; originalName: string; default?: any; transform?: ConfigModelPropertyValueTransformer; /** * When we pass a large object in an option, during debugging it clogs the output; to prevent this from happening, you can exclude this object from the output */ hideValueFromOutputs?: boolean; }; export interface ConfigModelPropertyValueTransformer { name?: string; transform(params: { value: any; options: ConfigModelPropertyOptions; modelRootOptions: ConfigModelOptions; modelOptions: ConfigModelOptions; obj: any; }): any; } export type ConfigModelInfo = { modelOptions: ConfigModelRootOptions; modelPropertyOptions: ConfigModelPropertyOptions[]; validations: Record<string | symbol, { value: string | undefined; constraints: Record<string, string>; }>; };