Skip to Content

TypeIs 특수 타입

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

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

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

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

참고: 기존 문서에서 언급되던 TypeIs.BASE64TypeIs.BINARY는 현재 @asapjs/schemaTypeIsInterface에 정의되어 있지 않으며, @asapjs/sequelize에서도 export하지 않습니다. sequelizePlugincase '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