47 lines
1.2 KiB
Plaintext
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;
|