API 참조 · 편집자 도메인
@oriatheme/editor-core
DOM, 스토리지 또는 프레임워크 종속성이 없는 초안, 필드 메타데이터, 스마트 스케일, 진단, 미리 보기 및 커밋 세션.패키지 및 환경
순수 도메인 로직; 미리보기/저장만 소비자가 만든 런타임을 받습니다.
bash
pnpm add @oriatheme/editor-corebash
npm install @oriatheme/editor-corebash
yarn add @oriatheme/editor-corebash
bun add @oriatheme/editor-core소비자 프로젝트에서 이미 선택한 패키지 관리자와 잠금 파일을 사용하세요. 예제에서는 패키지 루트 내보내기만 사용합니다. src, dist 또는 레지스트리 템플릿에서 깊이 가져오지 마세요.
Exports
| 수출 | 서명 | 설명 |
|---|---|---|
describeTokenContract | (contract?) => readonly TokenFieldDescriptor[] | 안정적인 계약 주문 필드 메타데이터. |
describeToken | (path, contract?) => TokenFieldDescriptor | undefined | 하나의 편집기 필드를 찾습니다. |
getTokenModeScope | (path) => 'shared' | 'mode' | 표준 토큰 편집 범위를 반환합니다. |
deriveSmartScale | (input: SmartScaleInput) => readonly DerivedTokenValue[] | 디자이너 측 마스터 값을 확장합니다. |
preserveScaleOverrides | (derived, current, customized) => readonly DerivedTokenValue[] | 명시적으로 사용자 정의된 나뭇잎을 유지합니다. |
createThemeEditorIdentity | (source, existingThemes) => CloneIdentity | 사전 설정 편집을 위해 안정적이고 사용되지 않는 ID를 만듭니다. |
createThemeEditorSession | (options) => ThemeEditorSession | 프레임워크 독립적인 초안 세션을 만듭니다. |
ThemeEditorSession
| 수출 | 서명 | 설명 |
|---|---|---|
getSnapshot / subscribe | () => ThemeEditorSnapshot / (listener) => unsubscribe | 불변 편집기 상태를 읽거나 관찰합니다. |
setName / setToken / setTokens | (...) => void | 이름, 하나의 토큰 또는 원자 세트로 초안을 변경합니다. |
removeToken / resetToken / resetMode / resetAll | (...) => void | 초안 값을 설정 해제하거나 복원합니다. |
replaceFromJson / exportJson | (json) => ImportResult / () => string | Atomically import a draft or serialize it. |
preview | (runtime, mode?) => ThemeEditorPreviewResult | 미리보기는 유효한 전체 개정판만 미리 봅니다. |
save | (runtime) => ThemeEditorSaveResult | 사용자 정의 테마를 검증, 생성/업데이트하거나 충돌을 보고합니다. |
reload / destroy | (theme) => void / () => void | 외부 버전 또는 릴리스 세션 리소스를 채택합니다. |
중요한 유형 및 경계
ThemeEditorOptions에는 소스가 필요하며 사전 설정을 편집할 때 ID가 필요합니다. ThemeEditorSaveResult가 유효성 검사 또는 충돌로 인해 실패합니다. ThemeEditorPreviewResult가 문제로 인해 실패합니다. 이 초안 상태 시스템을 React, Vue 또는 경로에 복사하지 마십시오.