UNPKG

astro

Version:

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

30 lines (29 loc) • 770 B
/** * Resolves the middleware mode from adapter features. * Handles backward compatibility with the deprecated `edgeMiddleware` flag. * * @example * ```ts * // New way * resolveMiddlewareMode({ middlewareMode: 'always' }) // 'always' * * // Backward compatibility * resolveMiddlewareMode({ edgeMiddleware: true }) // 'edge' * resolveMiddlewareMode({ edgeMiddleware: false }) // 'classic' * * // Default * resolveMiddlewareMode({}) // 'classic' * ``` */ export function resolveMiddlewareMode(features) { // New property takes precedence if (features?.middlewareMode) { return features.middlewareMode; } // Backward compatibility with deprecated edgeMiddleware flag if (features?.edgeMiddleware === true) { return "edge"; } // Default mode return "classic"; }