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 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 8x 8x 8x 8x 8x 8x 8x 8x 8x 8x 8x 4x 4x 4x 4x 4x 4x 4x 4x 4x | import {surround, unwords} from '#String'
import {showAlignment} from '../align.js'
import {type ColumnF, matchPartF, type RowF} from '../partF.js'
import {showHStruts, showStruts} from '../struts.js'
import type {PartFolder} from './fold.js'
import {partCata} from './fold.js'
import {type Part} from './types.js'
/**
* @category internal
* @function
*/
export const showPartAlgebra: PartFolder<string> = matchPartF(
'∅',
surround.quote.fancy,
showRow,
showColumn,
)
/**
* @category internal
* @function
*/
export const showPart: (part: Part) => string = partCata(showPartAlgebra)
/**
* @category internal
* @function
*/
function showRow({cells, hAlign, vAlign, ...struts}: RowF<string>): string {
return unwords.rest(
showAlignment(hAlign),
showAlignment(vAlign),
'.',
showStruts(struts),
'(',
cells.join(', '),
')',
)
}
/**
* @category internal
* @function
*/
function showColumn({hAlign, cells, ...hStruts}: ColumnF<string>): string {
return unwords.rest(
showAlignment(hAlign),
showHStruts(hStruts),
'(',
cells.join(', '),
')',
)
}
|