packageDocumentation export interface Logger { debug : LogFunc ; info : LogFunc ; error : LogFunc ; log : LogFunc ; } export type Severity = 'debug' | 'log' | 'info' | 'error' ; /**
 * Function which logs a message and optional object.
 */ export interface LogFunc { ( msg , param ? ) : void ; } param logger param name return export function prependName ( logger , name ) { const prefix = ( severity , msg , param ? ) : void => { const prefixed = `${ name }: ${ msg }` ; if ( param ) { logger [ severity ] ( prefixed , param ) ; } else { logger [ severity ] ( prefixed ) ; } } ; return { debug : ( msg , param ? ) : void => prefix ( 'debug' , msg , param ) , log : ( msg , param ? ) : void => prefix ( 'log' , msg , param ) , info : ( msg , param ? ) : void => prefix ( 'info' , msg , param ) , error : ( msg , param ? ) : void => prefix ( 'error' , msg , param ) , } ; }