v0.1.4-pre.003
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
<!-- file: crates/ksp-config-lib/USAGE.md -->
|
||||
<!-- version: 3 -->
|
||||
<!-- version: 4 -->
|
||||
|
||||
# Utilisation de ksp-config-lib
|
||||
|
||||
@@ -248,7 +248,7 @@ if saved.source_changed() && saved.reload_required() {
|
||||
|
||||
La construction depuis zéro utilise les constructeurs publics `LoggingConfigDocument::new`, `LoggingProfileConfig::new`, `LoggingConsoleConfig::new`, `LoggingFileConfig::new`, `LoggingOutputFilterConfig::new` et `LoggingTargetFilterConfig::new`. Les mêmes contraintes schema/sémantiques sont appliquées au moment de `save_logging_document()`.
|
||||
|
||||
### 10.2 Inspecter un source enregistré sans contourner Config
|
||||
### 10.2 Inspecter et réparer un source enregistré sans contourner Config
|
||||
|
||||
```rust
|
||||
let source = match management.read_source(&file_id) {
|
||||
@@ -261,7 +261,31 @@ let managed_path = source.path();
|
||||
let raw_content = source.content();
|
||||
```
|
||||
|
||||
Cette API est notamment destinée à une UI de réparation lorsque le document n'est plus validable. Elle n'autorise pas la lecture d'un chemin arbitraire.
|
||||
Cette lecture est notamment destinée à une UI de réparation lorsque le document n'est plus validable. Elle n'autorise pas la lecture d'un chemin arbitraire.
|
||||
|
||||
Après édition du texte brut, le candidat est soumis à Config :
|
||||
|
||||
```rust
|
||||
let saved = match management.save_source_candidate(&file_id, edited_source.as_str()) {
|
||||
std::result::Result::Ok(value) => value,
|
||||
std::result::Result::Err(error) => return std::result::Result::Err(error),
|
||||
};
|
||||
|
||||
if saved.source_changed() && saved.reload_required() {
|
||||
// Reload the affected Config consumer through the application lifecycle.
|
||||
}
|
||||
```
|
||||
|
||||
`save_source_candidate()` :
|
||||
|
||||
- accepte uniquement un `file_id` enregistré de kind `Config` ;
|
||||
- parse le candidat comme JSON ;
|
||||
- valide le schema enregistré et les invariants sémantiques KSP ;
|
||||
- ne remplace aucune donnée lorsque l'une de ces validations échoue ;
|
||||
- persiste atomiquement le texte brut validé sans reformattage implicite ;
|
||||
- retourne `ConfigDocumentChangeReport` pour distinguer un changement réel d'un candidat identique.
|
||||
|
||||
Le path reste résolu exclusivement par `ConfigFileRegistry`; l'appelant ne fournit jamais de path physique.
|
||||
|
||||
### 10.3 Exploiter les rapports `.env`
|
||||
|
||||
|
||||
Reference in New Issue
Block a user