- V2 Core 라이브러리를 추가하여 느슨한 결합 아키텍처를 지원합니다. - V2 EventBus를 통해 타입 안전한 이벤트 발행 및 구독 기능을 구현하였습니다. - V2ErrorBoundary 컴포넌트를 추가하여 각 컴포넌트의 에러를 격리하고, 사용자 정의 폴백 UI 및 재시도 기능을 제공합니다. - UnifiedRepeater 및 ButtonPrimaryComponent에서 V2 EventBus를 활용하여 이벤트 처리 로직을 개선하였습니다. - 레거시 이벤트와의 호환성을 위해 LegacyEventAdapter를 추가하여 점진적 마이그레이션을 지원합니다. - V2 컴포넌트 간의 통신을 위한 이벤트 타입을 정의하였습니다.
38 lines
773 B
TypeScript
38 lines
773 B
TypeScript
/**
|
|
* V2 Core - 느슨한 결합 아키텍처를 위한 코어 라이브러리
|
|
*
|
|
* 사용법:
|
|
* ```typescript
|
|
* import {
|
|
* v2EventBus,
|
|
* V2_EVENTS,
|
|
* V2ErrorBoundary,
|
|
* initV2Core,
|
|
* } from "@/lib/v2-core";
|
|
*
|
|
* // 앱 시작 시 초기화
|
|
* initV2Core();
|
|
*
|
|
* // 이벤트 발행
|
|
* v2EventBus.emit(V2_EVENTS.TABLE_REFRESH, { tableName: "item_info" });
|
|
*
|
|
* // 이벤트 구독
|
|
* const unsubscribe = v2EventBus.subscribe(V2_EVENTS.TABLE_REFRESH, (payload) => {
|
|
* console.log("테이블 새로고침:", payload.tableName);
|
|
* });
|
|
* ```
|
|
*/
|
|
|
|
// 이벤트 시스템
|
|
export * from "./events";
|
|
|
|
// 컴포넌트
|
|
export * from "./components";
|
|
|
|
// 어댑터
|
|
export * from "./adapters";
|
|
|
|
// 초기화
|
|
export { initV2Core, cleanupV2Core } from "./init";
|
|
|