outil(protocole) : bloc généré « errors », les erreurs que renvoie l'optimiseur
etm-powersync-gen-protocol-doc sait rendre un bloc `errors` : une table des methods[].errors puis de x-etm-message-errors (code, méthode, message, connexion après l'erreur, quand), suivie de ce que le moteur fait d'une réponse error (x-etm-errors-engine). Aucune prose n'utilise encore le bloc : --check reste vert sur l'état commité. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
73b956d1fc
commit
e56485d014
@ -17,7 +17,9 @@ est écrit à la main. `<quoi>` :
|
|||||||
- `table:<Méthode>.params` — les params d'une méthode ;
|
- `table:<Méthode>.params` — les params d'une méthode ;
|
||||||
- `table:<Méthode>.result` — son résultat ;
|
- `table:<Méthode>.result` — son résultat ;
|
||||||
- `table:<Composant>` — un schéma de `components.schemas` (un `oneOf` donne une table par branche) ;
|
- `table:<Composant>` — un schéma de `components.schemas` (un `oneOf` donne une table par branche) ;
|
||||||
- `rules` — `x-etm-semantic-rules` ; `reason-codes` — codes émissibles et leurs clés de paramètres.
|
- `rules` — `x-etm-semantic-rules` ; `reason-codes` — codes émissibles et leurs clés de paramètres ;
|
||||||
|
- `errors` — les erreurs que renvoie l'optimiseur : `methods[].errors`, puis `x-etm-message-errors`
|
||||||
|
(protocole 1.2), et ce que le moteur fait d'une réponse error (`x-etm-errors-engine`).
|
||||||
Une table déroule les objets EN LIGNE (`declared.minPowerW`) ; un `$ref` renvoie à la table de son
|
Une table déroule les objets EN LIGNE (`declared.minPowerW`) ; un `$ref` renvoie à la table de son
|
||||||
composant. Un `<quoi>` inconnu, une balise sans fin, un bloc imbriqué : erreur (code 2).
|
composant. Un `<quoi>` inconnu, une balise sans fin, un bloc imbriqué : erreur (code 2).
|
||||||
|
|
||||||
@ -222,7 +224,28 @@ class Rendu:
|
|||||||
out.append(f'| `{code}` | {", ".join(f"`{k}`" for k in cles.get(code, [])) or "—"} |')
|
out.append(f'| `{code}` | {", ".join(f"`{k}`" for k in cles.get(code, [])) or "—"} |')
|
||||||
return out
|
return out
|
||||||
|
|
||||||
|
def erreurs(self):
|
||||||
|
messages = self.doc.get('x-etm-message-errors', {})
|
||||||
|
out = ['| Code | Méthode | `message` | Connexion après l\'erreur | Quand |', '|---|---|---|---|---|']
|
||||||
|
moteur = []
|
||||||
|
for m in self.doc.get('methods', []):
|
||||||
|
for e in m.get('errors', []):
|
||||||
|
out.append(f'| `{e["code"]}` | {m["name"]} | {self.sens({"description": e.get("message", "")})} | '
|
||||||
|
f'{e.get("x-etm-connection", "—")} | {self.sens({"description": e.get("data", "")})} |')
|
||||||
|
if m.get('x-etm-errors-engine'):
|
||||||
|
moteur.append(f'- **{m["name"]}** : {self.sens({"description": m["x-etm-errors-engine"]})}')
|
||||||
|
for e in messages.get('items', []):
|
||||||
|
out.append(f'| `{e["code"]}` | toute | {self.sens({"description": e.get("message", "")})} | '
|
||||||
|
f'{e.get("x-etm-connection", "—")} | {self.sens({"description": e.get("data", "")})} |')
|
||||||
|
if messages.get('description'):
|
||||||
|
out += ['', self.sens(messages)]
|
||||||
|
if moteur:
|
||||||
|
out += ['', 'Ce que fait le moteur d\'une réponse error :', ''] + moteur
|
||||||
|
return out
|
||||||
|
|
||||||
def bloc(self, quoi):
|
def bloc(self, quoi):
|
||||||
|
if quoi == 'errors':
|
||||||
|
return self.erreurs()
|
||||||
if quoi == 'rules':
|
if quoi == 'rules':
|
||||||
return self.regles()
|
return self.regles()
|
||||||
if quoi == 'reason-codes':
|
if quoi == 'reason-codes':
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user