İçeriğe geç

~/labs/resultx

resultx

Üst veri, sayfalama ve hata yönetimiyle genel amaçlı bir Result deseni.

Standart API yanıtları oluşturmak için hafif, bağımlılıksız bir Go modülü: yerleşik sayfalama, üst veri ve tip güvenli generics desteği.

Kurulum

go get github.com/oshturhq/resultx

Özellikler

  • Her veri tipi için tip güvenli bir Result[T] sarmalayıcı
  • Başarılı ve hatalı yanıtlar için tek ve tutarlı bir JSON yapısı
  • Varsayılan olarak güvenli: siz istemedikçe iç hata metni istemciye gönderilmez
  • Sayfa hesaplama, gezinme bayrakları ve taşmaya karşı güvenli offset ve limit kontrolleriyle yerleşik sayfalama
  • Mesaj ve üst veri tek bir With seçenekleri ailesiyle eklenir
  • Sıfır bağımlılık: yalnızca standart kütüphane

Örnek

user := User{ID: 1, Name: "John Doe", Email: "[email protected]"}
result := resultx.Ok(user, resultx.WithMessage("User retrieved successfully"))

// Error response - nothing is derived from an error, so nothing leaks
errResult := resultx.Fail[User](resultx.WithCode("USER_NOT_FOUND"))