sassy-log
Version:
Logging, but with sass, satire, and some serious fun. A developer-first NPM package that replaces boring console.log() statements with snarky, sarcastic, or corporate-smooth one-liners.
73 lines (61 loc) • 2.55 kB
TypeScript
/**
* TypeScript definitions for sassy-log
* Created by imankii01
*/
export interface SassyLoggerOptions {
/** Logging mode: 'savage', 'friendly', 'sarcastic', 'corporate' */
mode?: 'savage' | 'friendly' | 'sarcastic' | 'corporate';
/** Enable/disable colors (default: true) */
colors?: boolean;
/** Enable/disable timestamps (default: false) */
timestamps?: boolean;
/** Enable/disable emojis (default: true) */
emojis?: boolean;
/** Custom quotes for different modes and types */
customQuotes?: Record<string, Record<string, string[]>>;
}
export interface SassyLoggerInstance {
/** Log an info message */
log(message?: string): SassyLoggerInstance;
/** Log an info message */
info(message?: string): SassyLoggerInstance;
/** Log a success message */
success(message?: string): SassyLoggerInstance;
/** Log a warning message */
warn(message?: string): SassyLoggerInstance;
/** Log an error message */
error(message?: string): SassyLoggerInstance;
/** Switch logging mode */
setMode(mode: 'savage' | 'friendly' | 'sarcastic' | 'corporate'): SassyLoggerInstance;
/** Get current mode */
getMode(): string;
/** Get available modes */
getAvailableModes(): string[];
/** Add custom quotes for a mode and type */
addCustomQuotes(mode: string, type: string, quotes: string[]): SassyLoggerInstance;
/** Enable/disable colors */
setColors(enabled: boolean): SassyLoggerInstance;
/** Enable/disable timestamps */
setTimestamps(enabled: boolean): SassyLoggerInstance;
/** Enable/disable emojis */
setEmojis(enabled: boolean): SassyLoggerInstance;
}
export declare class SassyLogger implements SassyLoggerInstance {
constructor(options?: SassyLoggerOptions);
log(message?: string): SassyLoggerInstance;
info(message?: string): SassyLoggerInstance;
success(message?: string): SassyLoggerInstance;
warn(message?: string): SassyLoggerInstance;
error(message?: string): SassyLoggerInstance;
setMode(mode: 'savage' | 'friendly' | 'sarcastic' | 'corporate'): SassyLoggerInstance;
getMode(): string;
getAvailableModes(): string[];
addCustomQuotes(mode: string, type: string, quotes: string[]): SassyLoggerInstance;
setColors(enabled: boolean): SassyLoggerInstance;
setTimestamps(enabled: boolean): SassyLoggerInstance;
setEmojis(enabled: boolean): SassyLoggerInstance;
}
/** Create a new sassy logger instance */
declare function createLogger(options?: SassyLoggerOptions): SassyLoggerInstance;
export = createLogger;
export { createLogger };