UNPKG

figlet

Version:

Creates ASCII Art from text. A full implementation of the FIGfont spec.

83 lines (71 loc) 3.04 kB
export declare type CallbackFunction<T = string> = (error: Error | null, result?: T) => void; declare const figlet: FigletModule; export default figlet; export declare interface FigletDefaults { font: FontName; fontPath: string; fetchFontIfMissing: boolean; } declare class FigletFont { options: FontMetadata; comment: string; numChars: number; [charCode: number]: string[]; constructor(); } declare interface FigletModule { loadFont: (font: FontName, callback?: CallbackFunction<FontMetadata>) => Promise<FontMetadata | null>; loadFontSync: (font: FontName) => FontMetadata; fonts: (callback?: CallbackFunction<FontName[]>) => Promise<FontName[]>; fontsSync: () => FontName[]; parseFont: (font: FontName, data: string, override?: boolean) => FontMetadata; preloadFonts: (fonts: FontName[], callback?: (error?: Error) => void) => Promise<void>; loadedFonts: () => string[]; clearLoadedFonts: () => void; textSync: (text: string, options?: FigletOptions) => string; text: (text: string, optionsOrFontOrCallback?: FigletOptions | FontName | CallbackFunction<string>, callback?: CallbackFunction<string>) => Promise<string>; (text: string, optionsOrFontOrCallback?: FigletOptions | FontName | CallbackFunction<string>, callback?: CallbackFunction<string>): Promise<string>; figFonts: Record<string, FigletFont>; defaults: (opts?: Partial<FigletDefaults>) => FigletDefaults; metadata: (fontName: FontName, callback?: (error: Error | null, fontOptions?: FontMetadata, comment?: string) => void) => Promise<[FontMetadata, string] | null>; } export declare interface FigletOptions { font?: FontName; horizontalLayout?: KerningMethods; verticalLayout?: KerningMethods; width?: number; whitespaceBreak?: boolean; printDirection?: PrintDirection; showHardBlanks?: boolean; } declare interface FittingRules { hLayout: number; hRule1: boolean; hRule2: boolean; hRule3: boolean; hRule4: boolean; hRule5: boolean; hRule6: boolean; vLayout: number; vRule1: boolean; vRule2: boolean; vRule3: boolean; vRule4: boolean; vRule5: boolean; } export declare interface FontMetadata { baseline?: number; codeTagCount?: number | null; fittingRules: FittingRules; fullLayout?: number | null; hardBlank?: string; height?: number; maxLength?: number; numCommentLines?: number; oldLayout?: number; printDirection?: PrintDirection; } export declare type FontName = "1Row" | "3-D" | "3D Diagonal" | "3D-ASCII" | "3x5" | "4Max" | "5 Line Oblique" | "Standard" | "Ghost" | "Big" | "Block" | "Bubble" | "Digital" | "Ivrit" | "Mini" | "Script" | "Shadow" | "Slant" | "Small" | "Speed" | "Tinker-Toy" | string; declare type KerningMethods = "default" | "full" | "fitted" | "controlled smushing" | "universal smushing"; declare type PrintDirection = -1 | 0 | 1; export { }