28 lines
613 B
TypeScript
28 lines
613 B
TypeScript
type LoggerOpts = {
|
|
force?: boolean;
|
|
};
|
|
|
|
type Logger = {
|
|
log: (message: string, opts?: LoggerOpts) => void;
|
|
warn: (message: string) => void;
|
|
error: (message: string) => void;
|
|
};
|
|
|
|
export const getLogger = ({ isSilent }: { isSilent?: boolean } = {}): Logger => {
|
|
return {
|
|
log: (message, { force } = {}) => {
|
|
if (isSilent && !force) {
|
|
return;
|
|
}
|
|
|
|
console.log(message);
|
|
},
|
|
warn: message => {
|
|
console.warn(message);
|
|
},
|
|
error: message => {
|
|
console.error(message);
|
|
}
|
|
};
|
|
};
|