squarier
Version:
This package can help you format text in a square like manner.
25 lines (24 loc) • 883 B
TypeScript
import { Token } from './Token';
export declare class TokenMatrix {
private _matrix;
private _lineStartPadding;
constructor(lines: Token[][]);
get matrix(): Token[][];
setLineStartPadding(length: number): void;
getRow(idx: number): Token[];
getColumn(idx: number): Token[];
/**
* return the sum of all the tokens' length of a row
*
* return value -1 mean that this is weightless
*
* @param rowIdx the row number, should be in the matrix range
*/
getRowWeight(rowIdx: number): number;
getShortestRow(): number;
transformRow(rowIdx: number, fn: (v: string, i: number, arr: Token[]) => string): void;
transformColumn(colIdx: number, fn: (v: string, i: number, arr: Token[]) => string): void;
getLongestTokenOfColumn(colIdx: number): Token;
isValidRowIdx(idx: number): void;
toString(): string;
}