Protobuf shema u TypeScript tipove
Pretvori Protobuf shemu u odgovarajuće TypeScript sučelja, nabrajanja i unije.
Protobuf shema u TypeScript tipove
Zalijepi Protobuf shemu i ovaj alat generiše odgovarajuće TypeScript tipove: jedno sučelje po poruci, jedno nabrajanje po Protobuf nabrajanju, i union tip za svaki oneof. Koristi ga kada .proto datoteka definiše format podataka API-ja i želiš type-safe klijenta bez pokretanja cijelog protoc alata.
Odaberi proto2 ili proto3 kako kontrolirati očitavanje obih polja: proto3 implicitna prisutnost čuva singular scalar i enum polja uvijek prisutna dok message polja ostaju izbjeglna; proto2 umjesto toga čita eksplicitan required i optional ključ na svakom polju. 64-bitni cijeli brojevi se mapiraju na string zadano, jer JavaScript brojevi gube preciznost iznad 2^53 — isključi opciju za number umjesto toga. Ponovljena polja postaju nizi i map<K, V> polja postaju Record<K, V>. Oneof se ili sažima u discriminated union tip tako da samo jedan član može biti postavljen, ili se rasplinjuje u obična izbjeglna polja. Ugniježđeni tipovi čuvaju svoje ugniježđenje u generiranim nazivima (Outer_Inner), imena polja mogu ostati snake_case ili se konvertirati u camelCase, komentari se prenose kao JSDoc, i uključivanje generiranja servisa dodaje jedno sučelje po Protobuf servisu s svakim rpc tipiziranim za unary ili streaming pozive.
Konvertor je ručno napisan parser, ne omot oko protoc: pokriva svakodnevni oblik sheme — poruke, nabrajanja, oneofs, mape, ugniježđene tipove i servise — dok preskače opcije, proširenja i reserved-field iskaze koje ne trebam reproducirati tip. Nedostajući točka-zarez ili neupareni zavoj proizvode jasan error koji se navodi otprilike gdje se dogodio.
Sve se izvršava lokalno u tvom pregledniku; tvoja shema se nikad ne učitava, pa je sigurno zalijepiti vlastite API definicije. Kopiraj rezultat, preuzmi kao .txt datoteku, ili ga pošalji natrag u unos da nastaviš usavršavati shemu.