OriaTheme
GitHub

Référence API · Domaine de l'éditeur

@oriatheme/editor-core

Brouillons, métadonnées de champ, balances intelligentes, sessions de diagnostic, de prévisualisation et de validation sans dépendance au DOM, au stockage ou au framework.

Forfait et environnement

Logique de domaine pure ; seul l'aperçu/l'enregistrement reçoit un runtime créé par le consommateur.

bash
pnpm add @oriatheme/editor-core

Utilisez le gestionnaire de packages et le fichier de verrouillage déjà choisis par le projet consommateur. Les exemples utilisent uniquement les exportations racine du package ; n'effectuez pas d'importation approfondie à partir de modèles src, dist ou de registre.

Exports

ExporterSignatureDescriptif
describeTokenContract(contract?) => readonly TokenFieldDescriptor[]Métadonnées stables du champ de commande.
describeToken(path, contract?) => TokenFieldDescriptor | undefinedRecherche un champ d'éditeur.
getTokenModeScope(path) => 'shared' | 'mode'Renvoie la portée d’édition du jeton standard.
deriveSmartScale(input: SmartScaleInput) => readonly DerivedTokenValue[]Développe une valeur principale destinée au concepteur.
preserveScaleOverrides(derived, current, customized) => readonly DerivedTokenValue[]Conserve les feuilles explicitement personnalisées.
createThemeEditorIdentity(source, existingThemes) => CloneIdentityCrée une identité stable et inutilisée pour l'édition de préréglages.
createThemeEditorSession(options) => ThemeEditorSessionCrée la session de brouillon indépendante du framework.

ThemeEditorSession

ExporterSignatureDescriptif
getSnapshot / subscribe() => ThemeEditorSnapshot / (listener) => unsubscribeLisez ou observez l’état immuable de l’éditeur.
setName / setToken / setTokens(...) => voidModifiez le brouillon par son nom, un jeton ou un ensemble atomique.
removeToken / resetToken / resetMode / resetAll(...) => voidAnnulez ou restaurez les valeurs de brouillon.
replaceFromJson / exportJson(json) => ImportResult / () => stringAtomically import a draft or serialize it.
preview(runtime, mode?) => ThemeEditorPreviewResultLes aperçus complètent uniquement les révisions valides.
save(runtime) => ThemeEditorSaveResultValide, crée/met à jour des thèmes personnalisés ou signale un conflit.
reload / destroy(theme) => void / () => voidAdoptez une version externe ou publiez des ressources de session.

Types et limites importants

ThemeEditorOptions nécessite une source et une identité lors de la modification d'un préréglage. ThemeEditorSaveResult échoue en cas de validation ou de conflit ; ThemeEditorPreviewResult échoue avec des problèmes. Ne copiez pas ce brouillon de machine à états dans React, Vue ou dans une route.