Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | import type { TransformFunction } from '../type' import type { ColorizeOptions } from './colorize' import type { PadLevelsOptions } from './pad-levels' import { configs, MESSAGE } from '../../triple-beam' import { Colorizer } from './colorize' import { Padder } from './pad-levels' type CliFormatOptions = ColorizeOptions & PadLevelsOptions /** * Cli format class that handles initial state for a separate * Colorizer and Padder instance. */ class CliFormat { colorizer: Colorizer padder: Padder options: CliFormatOptions constructor(opts: CliFormatOptions = {}) { if (!opts.levels) { opts.levels = configs.cli.levels } this.colorizer = new Colorizer(opts) this.padder = new Padder(opts) this.options = opts } /* * function transform (info, opts) * Attempts to both: * 1. Pad the { level } * 2. Colorize the { level, message } * of the given `logform` info object depending on the `opts`. */ transform: TransformFunction<CliFormatOptions> = (info, opts) => { this.colorizer.transform(this.padder.transform(info, opts), opts) info[MESSAGE] = `${info.level}:${info.message}` return info } } /* * function cli (opts) * Returns a new instance of the CLI format that turns a log * `info` object into the same format previously available * in `winston.cli()` in `winston < 3.0.0`. */ export default (opts: CliFormatOptions) => new CliFormat(opts) // // Attach the CliFormat for registration purposes // export { CliFormat as Format } |