Protobuf schéma na typy TypeScript
Konvertujte Protobuf schému na zodpovedajúce TypeScript interfejsy, enumy a union typy.
Protobuf schéma na typy TypeScript
Vložte Protobuf schému a tento nástroj generuje zodpovedajúce typy TypeScript: jedno rozhranie na správu, jeden enum na Protobuf enum a typ union pre každý oneof. Používajte ho, keď .proto súbor definuje formát drôtu API a chcete typovo bezpečného klienta bez spustenia celého reťazca nástrojov protoc.
Vyberte proto2 alebo proto3 na ovládanie spôsobu čítania holých polí: proto3 implicitná prítomnosť udržiava singulárne skalárne a enum polia vždy prítomné, zatiaľ čo polia typizovaná správami zostávajú voliteľná; proto2 namiesto toho číta explicitné kľúčové slová required a optional na každom poli. 64-bitové celé čísla sa mapujú na reťazec predvolene, pretože čísla JavaScript strácajú presnosť vyššie ako 2^53 — vypnite možnosť pre number namiesto toho. Opakované polia sa stanú poľami a polia map<K, V> sa stanú Record<K, V>. Oneof sa buď zrúti do typu diskriminovanej union, takže iba jeden člen môže byť nastavený naraz, alebo sa roztiahne do bežných voliteľných polí. Vnorené typy si zachovávajú svoje vnorenie v generovaných názvoch (Outer_Inner), názvy polí môžu zostať v snake_case alebo sa previesť na camelCase, komentáre sa prenášajú ako JSDoc a zapnutie generovania služby pridáva jedno rozhranie na Protobuf službu s každým rpc typizovaným pre jednotné alebo streamovacie volania.
Konvertor je ručne napísaný analyzátor, nie obal okolo protoc: pokrýva bežný tvar schémy — správy, enumy, oneofs, mapy, vnorené typy a služby — zatiaľ čo preskakuje možnosti, rozšírenia a vyhradené príkazy polí, ktoré nepotrebuje na reprodukovanie typu. Chýbajúci bodočiarka alebo nezhodný zátvorník vytvárajú jasnu chybu pomenúvajúcu zhruba kde sa to stalo.
Všetko sa spúšťa lokálne vo vašom prehliadači; vaša schéma sa nikdy nenahrávajú, takže je bezpečné vložiť vlastnícke definície API. Skopírujte výsledok, stiahnite si ho ako .txt súbor alebo ho pošlite späť do vstupu, aby ste pokračovali v zdokonaľovaní schémy.