# Functions
New creates a new reference.
NewGraduatingExpirationProvider returns an expiration provider that has an initial expiration and then expires in graduated increments with a maximum expiration time.
NewSimpleExpirationProvider returns an expiration provider that sets the given expiration period.
NewWithData creates a new reference where data is passed from the Get function to the initializer.
WithAbsoluteExpiration sets the expiration time for the reference.
WithExpirationProvider sets the expiration provider, which determines the expiration time of the reference.
WithFinalizer sets a finalizer function that is called when the reference is closed or if it expires.
WithIdleExpiration sets the idle-time expiration for the reference.
WithRefreshInterval specifies that the reference should be proactively refreshed.
# Constants
InitImmediately specifies that the reference should be initialized immediately after it is created.
InitOnFirstAccess specifies that the reference should be initialized the first time it is accessed.
LastAccessed specifies that the expiration time is calculated from the last access time.
LastInitialized specifies that the expiration time is calculated from the time the reference was initialized.
Refreshing indicates that the reference should be periodically refreshed.
# Structs
Reference holds a value that is initialized on first access using the provided Initializer function.
# Type aliases
ExpirationProvider is a function that returns the expiration time of a reference.
ExpirationType indicates how to handle expiration of the reference.
Finalizer is a function that is called when the reference is closed.
Initializer is a function that initializes the value.
InitializerWithData is a function that initializes the value using the optional data.