Lua-Binding fuer daw_error/v1 bauen #41

Open
opened 2026-08-10 07:41:41 +02:00 by michael · 0 comments
Owner

Ziel

Einen Lua-Konstruktor fuer daw_error/v1-Objekte bereitstellen, den
daw-lua-common und daw-lua-net beim Umbau verwenden koennen.

Begruendung

Beim Umfangs-Check fuer die 2.0.0-Fehlerobjekt-Umstellung wurde
festgestellt: in daw-contracts existiert noch kein bindings/lua/
fuer daw_error/v1 -- es gibt aktuell keinen offiziellen Weg, ein
solches Objekt in Lua zu erzeugen. Ohne diesen Baustein kann die
Umstellung der 171 Fehlerstellen nicht beginnen.

Umfang

  • Neues Modul, zunaechst in daw-lua-common (z.B. error/init.lua)
  • Konstruktorfunktion(en) fuer daw_error/v1-Objekte: id (UUID),
    source, code, message, optional cause, optional data
  • source wird modulweit gesetzt (_NAME des jeweiligen Moduls,
    z.B. daw.common.base64), nicht pro Funktion
  • Sobald an base64.lua als Referenzimplementierung erprobt:
    Ruecktfuehrung nach daw-contracts/daw_error/v1/bindings/lua/ als
    offizielle Referenzbindung (Folgearbeit, nicht Teil dieses Issues)

Akzeptanzkriterien

  • Konstruktor erzeugt gueltige daw_error/v1-Objekte gemaess
    daw-contracts/daw_error/v1/contract.json
  • cause-Verschachtelung moeglich (ein Objekt referenziert ein
    anderes vollstaendiges daw_error/v1-Objekt als cause)
  • Gegen die examples/valid/ und examples/invalid/ aus
    daw-contracts geprueft
  • fragjan clean besteht

Bezug

DAW/daw-contracts (Vertragsdefinition, daw_error/v1)

## Ziel Einen Lua-Konstruktor fuer `daw_error/v1`-Objekte bereitstellen, den `daw-lua-common` und `daw-lua-net` beim Umbau verwenden koennen. ## Begruendung Beim Umfangs-Check fuer die 2.0.0-Fehlerobjekt-Umstellung wurde festgestellt: in `daw-contracts` existiert noch kein `bindings/lua/` fuer `daw_error/v1` -- es gibt aktuell keinen offiziellen Weg, ein solches Objekt in Lua zu erzeugen. Ohne diesen Baustein kann die Umstellung der 171 Fehlerstellen nicht beginnen. ## Umfang - Neues Modul, zunaechst in `daw-lua-common` (z.B. `error/init.lua`) - Konstruktorfunktion(en) fuer `daw_error/v1`-Objekte: `id` (UUID), `source`, `code`, `message`, optional `cause`, optional `data` - `source` wird modulweit gesetzt (`_NAME` des jeweiligen Moduls, z.B. `daw.common.base64`), nicht pro Funktion - Sobald an `base64.lua` als Referenzimplementierung erprobt: Ruecktfuehrung nach `daw-contracts/daw_error/v1/bindings/lua/` als offizielle Referenzbindung (Folgearbeit, nicht Teil dieses Issues) ## Akzeptanzkriterien - [ ] Konstruktor erzeugt gueltige `daw_error/v1`-Objekte gemaess `daw-contracts/daw_error/v1/contract.json` - [ ] `cause`-Verschachtelung moeglich (ein Objekt referenziert ein anderes vollstaendiges `daw_error/v1`-Objekt als `cause`) - [ ] Gegen die `examples/valid/` und `examples/invalid/` aus `daw-contracts` geprueft - [ ] `fragjan clean` besteht ## Bezug DAW/daw-contracts (Vertragsdefinition, daw_error/v1)
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
DAW/daw-lua-common#41
No description provided.