mirror of
https://gitverse.ru/kpa39l/telepost.git
synced 2026-09-29 18:05:08 +00:00
Initial commit
This commit is contained in:
+16
@@ -0,0 +1,16 @@
|
||||
/**
|
||||
* @template {'prerender' | 'ssr' | 'csr' | 'trailingSlash' | 'entries'} Option
|
||||
* @template {(import('types').SSRNode['universal'] | import('types').SSRNode['server'])[Option]} Value
|
||||
*
|
||||
* @param {Array<import('types').SSRNode | undefined>} 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));
|
||||
}
|
||||
Reference in New Issue
Block a user