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 | 1x 1664x | import { Array, Option } from 'effect'
import { type ProfileId, formattersFor } from '../../core/systems/profiles'
import { findGrid } from '../../core/systems/registry'
import type { Formatter, Grid } from '../../core/systems/types'
export type ReadoutColumn = Readonly<{
formatter: Formatter
maybeGrid: Option.Option<Grid>
}>
/** The readout's columns: one per registered formatter, in the profile's order, keyed to the grid that draws it. */
export const columnsFor = (
profileId: ProfileId,
): ReadonlyArray<ReadoutColumn> =>
Array.map(formattersFor(profileId), formatter => ({
formatter,
maybeGrid: Option.flatMap(formatter.maybeGridId, findGrid),
}))
|