@decaf-ts/utils
Version:
module management utils for decaf-ts
54 lines (53 loc) • 1.95 kB
TypeScript
import { Logger } from "@decaf-ts/logging";
/**
* @description Prints a styled banner to the console.
* @summary Generates and prints a colorful ASCII art banner with a random slogan.
* @param {Logger} [logger] - Optional logger for verbose output.
* @memberOf module:utils
* @function printBanner
* @mermaid
* sequenceDiagram
* participant printBanner
* participant getSlogan
* participant padEnd
* participant console
* printBanner->>getSlogan: Call getSlogan()
* getSlogan-->>printBanner: Return random slogan
* printBanner->>printBanner: Create banner ASCII art
* printBanner->>printBanner: Split banner into lines
* printBanner->>printBanner: Calculate max line length
* printBanner->>padEnd: Call padEnd with slogan
* padEnd-->>printBanner: Return padded slogan line
* loop For each banner line
* printBanner->>style: Call style(line)
* style-->>printBanner: Return styled line
* printBanner->>console: Log styled line
* end
*/
export declare function printBanner(logger?: Logger): void;
/**
* @description Retrieves a slogan from the predefined list.
* @summary Fetches a random slogan or a specific one by index from the slogans list.
* @param {number} [i] - Optional index to retrieve a specific slogan.
* @return {string} The selected slogan.
* @function getSlogan
* @memberOf module:utils
* @mermaid
* sequenceDiagram
* participant getSlogan
* participant Math.random
* participant slogans
* alt i is undefined
* getSlogan->>Math.random: Generate random index
* Math.random-->>getSlogan: Return random index
* else i is defined
* Note over getSlogan: Use provided index
* end
* getSlogan->>slogans: Access slogan at index
* slogans-->>getSlogan: Return slogan
* alt Error occurs
* getSlogan->>getSlogan: Throw error
* end
* getSlogan-->>Caller: Return slogan
*/
export declare function getSlogan(i?: number): string;