Skip to Content

TypeIs 특수 타입

열거형과 JSON 타입입니다. 엔티티, DTO, 라우트 옵션에서 모두 사용할 수 있습니다.

import { TypeIs } from '@asapjs/schema';

이 페이지에서 찾을 수 있는 것

심볼SequelizeSwagger고유 옵션
TypeIs.ENUMENUMstring (enum 배열)values (필수)
TypeIs.JSONJSONobjectschema

참고: TypeIs.BINARY@asapjs/schema에 정의되어 있으며 엔티티/DTO/라우트에서 사용할 수 있습니다. Swagger에서는 string/binary 형식으로 매핑됩니다.


TypeIs.ENUM

TypeIs.ENUM(options: EnumOptions)
고유 옵션타입필수설명
valuesstring[]허용 값 목록 (1개 이상 필수)
항목
Sequelize 타입DataTypes.ENUM(...values)
Swagger 타입string with enum 배열
fixValuevalues에 존재하면 해당 값 반환, 없으면 Error throw
enum UserRole { ADMIN = 'ADMIN', USER = 'USER' } @TypeIs.ENUM({ values: Object.keys(UserRole), comment: 'User role', }) role: UserRole;

TypeIs.JSON

TypeIs.JSON(options?: JsonOptions)
고유 옵션타입설명
schemaRecord<string, any>JSON Schema 검증용 (향후 확장 예정)
항목
Sequelize 타입DataTypes.JSON
Swagger 타입object
fixValue값이 문자열이면 JSON.parse 시도; 그렇지 않으면 그대로 반환. 파싱 실패 시 Error throw.
@TypeIs.JSON({ comment: 'Arbitrary metadata' }) metadata: Record<string, unknown>;

관련 항목

Last updated on