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 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 | 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x | import type { Logger } from './definition.ts'; /** * A logger implementation that does not emit any log entries regardless of level. Useful for completely disabling * logging in specific contexts. * * @example * * ```ts * import type { Logger } from 'emitnlog/logger'; * import { OFF_LOGGER, withPrefix } from 'emitnlog/logger'; * * const calculate = (logger?: Logger) => { * const calculateLogger = withPrefix(logger ?? OFF_LOGGER, 'calculate'); * calculateLogger.i`starting calculation`; * ... * }; * ``` */ export const OFF_LOGGER: Logger = Object.freeze({ level: 'off', args: () => OFF_LOGGER, trace: () => void {}, t: () => void {}, debug: () => void {}, d: () => void {}, info: () => void {}, i: () => void {}, notice: () => void {}, n: () => void {}, warning: () => void {}, w: () => void {}, error: () => void {}, e: () => void {}, critical: () => void {}, c: () => void {}, alert: () => void {}, a: () => void {}, emergency: () => void {}, em: () => void {}, log: () => void {}, }); /** * Returns a non-nullable logger: either the specified logger or the OFF_LOGGER. * * @example * * ```ts * import type { Logger } from 'emitnlog/logger'; * import { withLogger, withPrefix } from 'emitnlog/logger'; * * const calculate = (logger?: Logger) => { * const calculateLogger = withPrefix(withLogger(logger), 'calculate'); * calculateLogger.i`starting calculation`; * ... * }; * ``` * * @param logger A logger or null or undefined * @returns Either the specified logger or the OFF_Logger */ export const withLogger = (logger: Logger | undefined | null): NonNullable<Logger> => logger ?? OFF_LOGGER; |