/** * @template {'prerender' | 'ssr' | 'csr' | 'trailingSlash' | 'entries'} Option * @template {(import('types').SSRNode['universal'] | import('types').SSRNode['server'])[Option]} Value * * @param {Array} nodes * @param {Option} option * * @returns {Value | undefined} */ export function get_option(nodes, option) { return nodes.reduce((value, node) => { return /** @type {Value} TypeScript's too dumb to understand this */ ( node?.universal?.[option] ?? node?.server?.[option] ?? value ); }, /** @type {Value | undefined} */ (undefined)); }