Expand description

Adapters for composing and manipulating data providers.

  • Use the fork module to marshall data requests between multiple possible providers.
  • Use the either module to choose between multiple provider types at runtime.
  • Use the filter module to programmatically reject certain data requests.
  • Use the fallback module to automatically resolve arbitrary locales for data loading.


  • Data provider always serving the same struct.
  • Helpers for switching between multiple providers.
  • Empty data provider implementations.
  • A data provider wrapper that performs locale fallback.
  • Providers that filter resource requests.
  • Providers that combine multiple other providers.


  • Make a forking data provider with an arbitrary number of inner providers that are known at build time.