All files / src/draw/glyph crosses.ts

100% Statements 41/41
100% Branches 1/1
100% Functions 1/1
100% Lines 41/41

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 56 57 58 59 60 61 62 63 64 65        1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x                           1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x             1x  
/**
 * Names of all cross glyphs.
 * @category drawing
 */
export const crossNames = [
  'ascii',
  'double',
  'hDouble',
  'hThick',
  'solid',
  'space',
  'thick',
  'thin',
  'vDouble',
  'vThick',
  'vThickBottom',
  'vThickLeft',
  'vThickRight',
  'vThickTop',
  'vThinBottom',
  'vThinLeft',
  'vThinRight',
  'vThinTop',
] as const
 
/**
 * The type of a cross name.
 * @category drawing
 */
export type CrossName = (typeof crossNames)[number]
 
/**
 * A record of all cross glyphs by name.
 * @category drawing
 */
export type Crosses = Record<CrossName, string>
 
const crosses: Crosses = {
  ascii: '+',
  double: '╬',
  hDouble: '╪',
  hThick: '┿',
  solid: '█',
  space: ' ',
  thick: '╋',
  thin: '┼',
  vDouble: '╫',
  vThick: '╂',
  vThickBottom: '╁',
  vThickLeft: '┽',
  vThickRight: '┾',
  vThickTop: '╀',
  vThinBottom: '╇',
  vThinLeft: '╊',
  vThinRight: '╉',
  vThinTop: '╈',
}
 
/**
 * Get a tee set by name.
 * @function
 * @category drawing
 */
export const cross = (name: CrossName): string => crosses[name]