# Functions
NewDataSourceInstance creates a new instance.
NewGitHubInstance creates a new GitHubInstance using the settings to determine if things like the Caching Wrapper should be enabled.
WithCaching accepts a Client and returns a CachedClient which wraps the provided Client.
# Constants
CacheCleanupInterval is the interval at which the internal cache is cleaned / garbage collected.
CacheDuration is a constant that defines how long to keep cached elements before they are refreshed.
# Variables
ErrNoValue is returned when a cached value is not available in the local cache.
# Structs
The CachedDatasource wraps the Datasource type and stores an internal map, and responds to queries with cached data.
CachedResult is a value and a timestamp that defines when the cached value is no longer usable.
# Interfaces
The Datasource type handles the requests sent to the datasource backend.