UNPKG

astro

Version:

Astro is a modern site builder with web best practices, performance, and DX front-of-mind.

22 lines (21 loc) • 839 B
/** * Symbol used to attach `ResolvedRenderOptions` to a `Request` object so * that they can flow through the `FetchHandler` signature (which only takes * a request) into the request handler chain. This is an internal implementation * detail between `BaseApp` and the default handler pipeline. */ const renderOptionsSymbol = Symbol.for("astro.renderOptions"); /** * Reads `ResolvedRenderOptions` that were attached to a request via * `renderOptionsSymbol`. Returns `undefined` if no options are attached. */ export function getRenderOptions(request) { return Reflect.get(request, renderOptionsSymbol); } /** * Attaches `ResolvedRenderOptions` to a request via `renderOptionsSymbol` so * that downstream handlers can read them. */ export function setRenderOptions(request, options) { Reflect.set(request, renderOptionsSymbol, options); }