Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | 1x 1x 3x 3x 5x 5x 4x 5x 5x | import * as P from 'maasglobal-prelude-ts'; import { Account, AccountAlias } from '../../_types/environments/accounts'; import { Environment, Environments } from '../../_types/environments/environments'; import { Synopses } from '../../_types/environments/synopses'; import { GroupMeta, Synopsis } from '../../_types/environments/synopsis'; export const fromEnvironments: P.Reader<Environments, Synopses> = (environments) => environments.index.flatMap(({ envs, name, description }) => envs.map((environment: Environment): Synopsis => { const alias: AccountAlias = environment.account; const account: Account | null = P.pipe( P.Option_.fromNullable(environments.accounts), P.Option_.chain((accounts: Record<AccountAlias, Account>) => P.Option_.fromNullable(accounts[alias]), ), P.Option_.toNullable, ); const group: GroupMeta = ( description ? { name, description, } : { name } ) as GroupMeta; return { environment, account, group, } as Synopsis; }), ) as Synopses; |