InventoryTrack/node_modules/roarr/dist/factories/createMockLogger.js.flow
2022-11-02 22:16:03 -04:00

47 lines
1.2 KiB
Plaintext

// @flow
import {
logLevels,
} from '../constants';
import type {
LoggerType,
MessageContextType,
MessageEventHandlerType,
TranslateMessageFunctionType,
} from '../types';
const createMockLogger = (onMessage: MessageEventHandlerType, parentContext?: MessageContextType): LoggerType => {
// eslint-disable-next-line id-length, unicorn/prevent-abbreviations, no-unused-vars
const log = (a, b, c, d, e, f, g, h, i, k) => {
//
};
log.adopt = async (routine) => {
return routine();
};
// eslint-disable-next-line no-unused-vars
log.child = (context: TranslateMessageFunctionType | MessageContextType): LoggerType => {
return createMockLogger(onMessage, parentContext);
};
log.getContext = (): MessageContextType => {
return {};
};
for (const logLevel of Object.keys(logLevels)) {
// eslint-disable-next-line id-length, unicorn/prevent-abbreviations
log[logLevel] = (a, b, c, d, e, f, g, h, i, k) => {
return log.child({
logLevel: logLevels[logLevel],
})(a, b, c, d, e, f, g, h, i, k);
};
}
// @see https://github.com/facebook/flow/issues/6705
// $FlowFixMe
return log;
};
export default createMockLogger;