Skip to main content
current (v1.x.x)

Config

Global configuration management for logging, cache, and runtime settings. Provides type-safe access and mutation of config values, with sensible defaults and environment variable support.

API Summary​


Function Documentation & Usage Examples​

setConfig()​

Updates configuration settings at runtime. Only provided keys are merged; others remain unchanged.

Method Signature:

function setConfig(value: Partial<Config>): void;

Parameters:

  • value: Partial configuration object to merge.

Examples:

import { setConfig, getConfig } from '@catbee/utils';

setConfig({
logger: { level: 'debug', name: 'custom-logger', pretty: true }
});

getConfig()​

Returns the current configuration object.

Method Signature:

function getConfig(): Config;

Returns:

  • The current configuration object.

Examples:

import { getConfig } from '@catbee/utils';

const currentConfig = getConfig();
console.log(currentConfig.logger.level); // "info"
console.log(currentConfig.cache.defaultTtl); // 3600000

Default Values​

All configuration options have sensible defaults:

const config = {
logger: {
level: 'info', // Logging level
name: '@catbee/utils', // Logger name
pretty: true, // Pretty print logs (dev only)
singleLine: false // Single line pretty print
},
cache: {
defaultTtl: 3600000 // Default cache TTL (1 hour, in ms)
}
};

Types​

Logger Configuration​

interface LoggerConfig {
level: 'trace' | 'debug' | 'info' | 'warn' | 'error';
name: string;
pretty: boolean;
singleLine: boolean;
}

Cache Configuration​

interface CacheConfig {
defaultTtl: number; // milliseconds
}

Config Object​

interface Config {
logger: LoggerConfig;
cache: CacheConfig;
}