/
githubmirror
/
novu
Обзор
Документация
Войти
/
githubmirror
/
novu
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
next
apps/api/src/app/shared/validators/is-enum-or-array.ts
20 строк
744 B
Paweł Tymczuk
feat(js,react,api-service,ws): support severity in inbox components and hooks fixes NV-6470 (#8913)
14 авг 2025, 11:47
Не верифицирован
14 авг 2025, 11:47
7258054
Код
Авторство
О чём код?
import { registerDecorator, ValidationArguments, ValidationOptions } from 'class-validator'; export function IsEnumOrArray(enumObj: object, options?: ValidationOptions) { return (object: unknown, propertyName: string) => { registerDecorator({ name: 'isEnumOrArray', target: (object as any).constructor, propertyName, constraints: [enumObj], options, validator: { validate(value: any, args: ValidationArguments) { const allowed = Object.values(args.constraints[0] as object); if (value === undefined || value === null) return true; return Array.isArray(value) ? value.every((v) => allowed.includes(v)) : allowed.includes(value); }, }, }); }; }