/// Derives a version token from the contents of the static files directory.
///
/// The token folds every file under the directory — its relative path and its bytes, in a stable order — into one FNV-1a digest, so it changes whenever any
/// asset changes and agrees across the instances of a deployment. The pages append it to their asset URLs (`?v=<token>`), which lets the assets be
/// served with a long-lived, immutable cache policy: a deploy that changes an asset changes the URLs pointing at it, so no client ever revalidates or holds a
/// stale copy.
publicstructFingerprintAssets:Sendable{
// MARK: Properties
/// The logger unreadable files are reported to, or `nil` to skip them silently.
privateletlogger:Logger?
// MARK: Initializers
/// Creates an asset fingerprinting method.
/// - Parameter logger: the logger unreadable files are reported to, or `nil` (the default) to skip them silently.
publicinit(
logger:Logger?=nil
){
self.logger=logger
}
// MARK: Functions
/// Fingerprints the static files under the given directory.