const tcol = Deno.consoleSize().columns; export const spacer = (n: number, char: string) => Array(Math.floor(n)).fill(char).join(""); export function breakline(open: string, title: string, close: string) { const line = liner(spacer((tcol - title.length - 2) / 2, "─")); return [line([open]), title, line([, close])]; } export const liner = (sep: string) => ( [open = "", close = ""]: [open?: string, close?: string], s = open || close, ) => open + sep.slice(0, -s.length) + close; export const header = (title: string) => breakline("┌─", title, "─┐"); export const footer = (title: string) => breakline("└─", title, "─┘");