keyvalues-tools
TypeScript
// Áttekintés
Futásidejű függőség nélküli TypeScript parser és serializer a Valve KeyValues formátumokhoz, KV1/VDF és KV3 (Source 2 / CS2) is. Game config olvasása, szerkesztése, validálása és konvertálása komment-megőrző AST-tel és CLI-vel.
// Mivel készült
TypeScriptNode.jsBunzero-depKeyValues
// A probléma
A Valve KeyValues formátumai mindenhol ott vannak a Source játékokban, de a létező parserek csak a régi szöveges formátumot fedik le, és round-tripnél elvesztik a kommenteket, a sorrendet és a pontosságot.
// Megközelítés
- Tiszta TypeScript parser és serializer a KV1/VDF és a KV3 formátumhoz is, a fejlécből automatikusan felismerve.
- Komment-, sorrend- és conditional-megőrző AST, így egy értéket szerkeszthetsz és hűen visszaírhatod a fájlt.
- Séma-validáció, pont-utas get/set/diff/merge és CLI, mind futásidejű függőség nélkül.
// Mérnöki kihívások
- A KV3 nyelvtan kézi implementálása: tipizált értékek, tömbök, többsoros stringek, flagek és minden komment-stílus.
- A SteamID64-ek és a túl nagy egészek pontos megtartása, ahelyett hogy lebegőpontos hibát szednének össze.
- A helyesség ellenőrzése valós CS2 behavior-tree fájlokon, nem csak szintetikus példákon.