logger
for structured loggingenv
for structured configuration loadingtasker
for managing background taskscache
for wrapping repositories (DB, HTTP clients, etc.) with caching to increase reliability and/or speed in the domain layerrestapi
for building restful HTTP APIs and/or exposing repositories as rest resources.restapi/rfc7807
for replying back errors on your API in a structure and extendable way.
enum
for tag definition based enum value validationlazyload
to utilise lazy loading techniquespointers
help you to make one liners when you need to take a pointer of a value or deref a pointer type in a safe way.errorutil
to help you work with errors, forward port some features, and make distinction between errors based on their SRP actor.txs
which allow defining rollback steps in your functions, which makes implementing error handling in a stateful system much easierpathutil
has utility functions to work with HTTP paths.reflects
has functions to make extend the stdlib reflect package functionality.teardown
helps you creating deferrable teardown callbacks, in similar fashion like we do with defer at function scope.stringcase
allows you to format string keys in various string style.