OriaTheme
GitHub

Справочник по API · Домен редактора

@oriatheme/editor-core

Черновики, метаданные полей, интеллектуальные весы, диагностика, предварительный просмотр и сеансы фиксации без зависимости от DOM, хранилища или платформы.

Упаковка и окружающая среда

Чистая предметная логика; только предварительный просмотр/сохранение позволяет получить среду выполнения, созданную потребителем.

bash
pnpm 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Создает стабильный неиспользуемый идентификатор для редактирования предустановок.
createThemeEditorSession(options) => ThemeEditorSessionСоздает независимый от платформы сеанс черновика.

ThemeEditorSession

ЭкспортПодписьОписание
getSnapshot / subscribe() => ThemeEditorSnapshot / (listener) => unsubscribeПрочтите или просмотрите неизменяемое состояние редактора.
setName / setToken / setTokens(...) => voidИзмените черновик по имени, одному токену или атомарному набору.
removeToken / resetToken / resetMode / resetAll(...) => voidОтмените или восстановите черновые значения.
replaceFromJson / exportJson(json) => ImportResult / () => stringAtomically import a draft or serialize it.
preview(runtime, mode?) => ThemeEditorPreviewResultПредварительный просмотр завершает только действительные версии.
save(runtime) => ThemeEditorSaveResultПроверяет, создает/обновляет пользовательские темы или сообщает о конфликтах.
reload / destroy(theme) => void / () => voidПримите внешнюю версию или освободите ресурсы сеанса.

Важные типы и границы

ThemeEditorOptions требует исходного кода и удостоверения личности при редактировании предустановки. ThemeEditorSaveResult завершается с ошибкой проверки или конфликтом; ThemeEditorPreviewResult не работает с проблемами. Не копируйте этот черновой конечный автомат в React, Vue или маршрут.