Inhaltsverzeichnis

std.yaml

YAML-Parser für die gebräuchlichsten YAML-Strukturen (Scalare: null, bool, int, float, string; Sequenzen und Maps). Pfad-basierter Zugriff (GetString(doc, „database.host“, „localhost“)), typisierte Getter (String, Int, Float, Bool, Array, Object), Datei-Load/Save, Schlüssel-Iteration (GetKeys), Typ-Abfrage und YAML-Escape/Unescape.

Einsatzbereiche: Kubernetes/Docker-Konfigurationen, Anwendungs-Configs (einfacher als XML, lesbarer als JSON), CI/CD-Pipelines, Infrastructure-as-Code.

Autor: Andreas Röne
Copyright: 2024-2025 Andreas Röne


Imports


Konstanten

Name Typ Wert Sichtbarkeit

Funktionen

Signatur Sichtbarkeit Beschreibung
ParseString(input: pchar): int64 pub YAML-String in Dokumentstruktur parsen
GetString(doc: int64, path: pchar, default_val: pchar): pchar pub Stringwert per Pfad lesen
GetInt(doc: int64, path: pchar, default_val: int64): int64 pub Ganzzahlwert per Pfad lesen
GetFloat(doc: int64, path: pchar, default_val: f64): f64 pub Fließkommawert per Pfad lesen
GetBool(doc: int64, path: pchar, default_val: bool): bool pub Booleschen Wert per Pfad lesen
GetArray(doc: int64, path: pchar): int64 pub Array-Knoten per Pfad lesen
GetObject(doc: int64, path: pchar): int64 pub Objekt-Knoten per Pfad lesen
WriteString(doc: int64, output: pchar, max_len: int64): int64 pub Dokument als YAML-String serialisieren
WriteFile(doc: int64, path: pchar): bool pub Dokument in YAML-Datei schreiben
SetString(doc: int64, path: pchar, value: pchar): void { } pub Stringwert per Pfad setzen
SetInt(doc: int64, path: pchar, value: int64): void { } pub Ganzzahlwert per Pfad setzen
SetFloat(doc: int64, path: pchar, value: f64): void { } pub Fließkommawert per Pfad setzen
SetBool(doc: int64, path: pchar, value: bool): void { } pub Booleschen Wert per Pfad setzen
SetArray(doc: int64, path: pchar, values: pchar, count: int64): void { } pub Array-Werte per Pfad setzen
SetObject(doc: int64, path: pchar, keys: pchar, values: pchar, count: int64): void { } pub Objekt-Schlüssel und -Werte setzen
DeleteKey(doc: int64, path: pchar): bool pub Schlüssel per Pfad löschen
LoadFile(path: pchar): int64 pub YAML-Datei laden und parsen
SaveFile(doc: int64, path: pchar): bool pub Dokument als YAML-Datei speichern
HasPath(doc: int64, path: pchar): bool pub Prüft ob Pfad im Dokument existiert
GetType(doc: int64, path: pchar): int64 pub Datentyp eines Pfadwerts ermitteln
GetKeys(doc: int64, path: pchar, output: pchar, max_count: int64): int64 pub Alle Schlüssel eines Objekts liefern
GetArrayLen(doc: int64, path: pchar): int64 pub Länge eines Arrays per Pfad lesen
EscapeString(input: pchar, output: pchar): int64 pub YAML-Sonderzeichen in String escapen
UnescapeString(input: pchar, output: pchar): int64 pub YAML-Escape-Sequenzen auflösen
ParseYamlInt(s: pchar): int64 pub YAML-Ganzzahlwert aus String parsen
ParseYamlBool(s: pchar): bool pub YAML-Booleschen Wert aus String parsen
ParseYamlFloat(s: pchar): f64 pub YAML-Fließkommawert aus String parsen
IsValidKey(s: pchar): bool pub Prüft ob String ein gültiger YAML-Schlüssel
NeedsQuoting(s: pchar): bool pub Prüft ob String in YAML gequotet werden muss