Join the discussion

Write your take first — we'll ask for email only when you're ready to publish.

  • Hacker News
  • Title can be "Codes - typed application return values for Kotlin and Java".
  • I’ve read the readme 3 times and I still don’t understand what it is … it looks like someone learning effect systems but not quite there yet !?
  • From what I can tell it is a library for standardising return values that is independent on the transport medium. A HTTP service may return a particular http code or body, and gRPC would have its own representation.

    I think this library maps the different representations into a single representation. The business logic, metrics, logging etc. will use the single representation instead of being tightly coupled to the transport medium

    Example from the docs where the "PAYMENT_DECLINED" state is mapped from protocol specific responses:

      PAYMENT_DECLINED
      |
      +-- HTTP 422
      +-- gRPC FAILED_PRECONDITION
      |
      --> logs/metrics keep PAYMENT_DECLINED
    by qw
  • Result<T> { String resultCode; T data; List<String> errors; }