Protobuf şemasından TypeScript türleri
Protobuf şemasını TypeScript arayüzlerine, numaralandırmalara ve birleşimlere dönüştür.
Protobuf şemasından TypeScript türleri
Bir Protobuf şeması yapıştırın ve bu araç eşleşen TypeScript türlerini oluşturur: her ileti için bir arayüz, her Protobuf numaralandırması için bir enum ve her oneof için bir birleşim türü. Bir .proto dosyası bir API'nin tel biçimini tanımladığında ve tam protoc araç zincirini çalıştırmadan tür güvenli bir istemci istediğinizde kullanın.
Basit alanların okunmasını denetlemek için proto2 veya proto3 sözdizimini seçin: proto3 örtük varlık, tekil skaler ve enum alanlarını her zaman mevcut tutar, oysa ileti türündeki alanlar isteğe bağlı kalır; proto2 bunun yerine her alana açık required ve optional anahtar sözcüğünü okur. 64 bitlik tamsayılar varsayılan olarak string ile eşlenir, çünkü JavaScript sayıları 2^53 üzerinde kesinliği kaybeder – seçeneği kapatarak number ile eşlemek için. Yinelenen alanlar dizilere ve map<K, V> alanları Record<K, V> olur. Bir oneof ya ayırıcı bir TypeScript birleşim türüne daraltılır, böylece yalnızca bir üye ayarlanabilir, ya da düz isteğe bağlı alanlar halinde düzleştirilir. İç içe türler, oluşturulan adlarda iç içeliğini korur (Outer_Inner), alan adları snake_case biçiminde kalabilir veya camelCase'e dönüştürülebilir, açıklamalar JSDoc olarak taşınır ve hizmet oluşturma etkinleştirildiğinde her Protobuf hizmeti için bir arayüz eklenir ve her rpc, tekli veya AsyncIterable ile akışlı çağrılar için yazılır.
Dönüştürücü protoc etrafında bir sarmalayıcı değil, elle yazılmış bir ayrıştırıcıdır: şemanın gündelik şeklini kapsar – iletiler, numaralandırmalar, oneoflar, haritalar, iç içe türler ve hizmetler – seçenekleri, uzantıları ve türü yeniden üretmesi gereken rezerve alan ifadelerini atlarken. Eksik bir noktalı virgül veya eşleşmeyen bir ayraç, nerede meydana geldiğini adlandıran açık bir hata üretir.
Her şey yerel olarak tarayıcınızda çalışır; şemanız hiçbir zaman yüklenmez, bu nedenle tescilli API tanımlarını güvenle yapıştırabilirsiniz. Sonucu kopyalayın, .txt dosyası olarak indirin veya şemayı iyileştirmeye devam etmek için giriş olarak tekrar gönderin.