Cache-control header utility that parses human readable time strings into seconds.
Time based values use Template Literal Types to help avoid passing invalid time string formats.
Installation
npm i pretty-cache-header
Usage
import { cacheHeader } from 'pretty-cache-header';
return new Response(..., {
headers: {
// sets cache control header to "public, max-age=604800, stale-while-revalidate=31536000"
'Cache-Control': cacheHeader({
public: true,
maxAge: '1week',
staleWhileRevalidate: '1year'
})
}
})
TimeString format
Any number followed by a timestring keyword:
ms
, milli
, millisecond
, milliseconds
- will parse to millisecondss
, sec
, secs
, second
, seconds
- will parse to secondsm
, min
, mins
, minute
, minutes
- will parse to minutesh
, hr
, hrs
, hour
, hours
- will parse to hoursd
, day
, days
- will parse to daysw
, week
, weeks
- will parse to weeksmon
, mth
, mths
, month
, months
- will parse to monthsy
, yr
, yrs
, year
, years
- will parse to years