@cocrepo/enum
v0.1.11
Published
Shared Enum
Downloads
46
Readme
@cocrepo/enum
프론트엔드와 백엔드에서 공유하는 열거형(Enum) 패키지입니다.
설치
pnpm add @cocrepo/enum제공 열거형
CategoryTypes
카테고리 타입을 정의합니다:
import { CategoryTypes } from '@cocrepo/enum';
const category = CategoryTypes.SERVICE;CategoryNames
카테고리 이름을 정의합니다:
import { CategoryNames } from '@cocrepo/enum';
const name = CategoryNames.PILATES;GroupTypes
그룹 타입을 정의합니다:
import { GroupTypes } from '@cocrepo/enum';
const groupType = GroupTypes.TEAM;GroupNames
그룹 이름을 정의합니다:
import { GroupNames } from '@cocrepo/enum';
const groupName = GroupNames.DEFAULT;SessionTypes
세션 타입을 정의합니다:
import { SessionTypes } from '@cocrepo/enum';
const sessionType = SessionTypes.PRIVATE;
// SessionTypes.GROUP, SessionTypes.OPEN 등RecurringDayOfWeek
반복 일정의 요일을 정의합니다:
import { RecurringDayOfWeek } from '@cocrepo/enum';
const days = [
RecurringDayOfWeek.MONDAY,
RecurringDayOfWeek.WEDNESDAY,
RecurringDayOfWeek.FRIDAY,
];RepeatCycleTypes
반복 주기 타입을 정의합니다:
import { RepeatCycleTypes } from '@cocrepo/enum';
const cycle = RepeatCycleTypes.WEEKLY;
// RepeatCycleTypes.DAILY, RepeatCycleTypes.MONTHLY 등RoleCategoryNames
역할 카테고리 이름을 정의합니다:
import { RoleCategoryNames } from '@cocrepo/enum';
const roleCategory = RoleCategoryNames.SYSTEM;RoleGroupNames
역할 그룹 이름을 정의합니다:
import { RoleGroupNames } from '@cocrepo/enum';
const roleGroup = RoleGroupNames.ADMIN;파일 구조
src/
├── category-names.enum.ts # 카테고리 이름
├── category-types.enum.ts # 카테고리 타입
├── group-names.enum.ts # 그룹 이름
├── group-types.enum.ts # 그룹 타입
├── recurring-day-of-week.enum.ts # 반복 요일
├── repeat-cycle-types.enum.ts # 반복 주기
├── role-category-names.enum.ts # 역할 카테고리
├── role-group-names.enum.ts # 역할 그룹
├── session-types.enum.ts # 세션 타입
└── index.ts # 통합 exportts-jenum
이 패키지는 ts-jenum 라이브러리를 사용하여 Java 스타일의 강력한 Enum을 제공합니다:
import { Enum, EnumType } from 'ts-jenum';
@Enum('value')
export class SessionTypes extends EnumType<SessionTypes>() {
static readonly PRIVATE = new SessionTypes('PRIVATE', '1:1 개인 수업');
static readonly GROUP = new SessionTypes('GROUP', '그룹 수업');
static readonly OPEN = new SessionTypes('OPEN', '오픈 수업');
private constructor(
readonly value: string,
readonly description: string,
) {
super();
}
}ts-jenum 장점
- 타입 안정성
- 추가 속성 지원 (description 등)
- 메서드 추가 가능
- 직렬화/역직렬화 지원
의존성
ts-jenum- Java 스타일 Enum 라이브러리
