From fe2629c57ea211c3bc4003bae493aef52a9a3dd2 Mon Sep 17 00:00:00 2001 From: regevbr Date: Fri, 17 Apr 2020 22:55:06 +0300 Subject: [PATCH 1/3] bug: missing typescript definitions for reporters #92 --- types/consola.d.ts | 83 ++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 77 insertions(+), 6 deletions(-) diff --git a/types/consola.d.ts b/types/consola.d.ts index bbb1477..2c4f5f7 100644 --- a/types/consola.d.ts +++ b/types/consola.d.ts @@ -1,10 +1,35 @@ +import { InspectOptions } from 'util'; +import {Logger} from 'winston'; + +export type Infinity = 999e308; // Infinity is not a valid type. see https://github.com/microsoft/TypeScript/issues/32277 +export type FatalLogLevel = 0; +export type ErrorLogLevel = 0; +export type WarnLogLevel = 1; +export type LogLogLevel = 2; +export type InfoLogLevel = 3; +export type SuccessLogLevel = 3; +export type DebugLogLevel = 4; +export type TraceLogLevel = 5; +export type SilentLogLevel = Infinity; +export type LogLevel = + | FatalLogLevel + | ErrorLogLevel + | WarnLogLevel + | LogLogLevel + | InfoLogLevel + | SuccessLogLevel + | DebugLogLevel + | TraceLogLevel + | SilentLogLevel; + export interface ConsolaLogObject { - level?: number, + level?: LogLevel, tag?: string, type?: string, message?: string, additional?: string | string[], args?: any[], + date?: Date, } type ConsolaMock = (...args: any) => void @@ -13,8 +38,8 @@ type ConsolaMockFn = (type: string, defaults: ConsolaLogObject) => ConsolaMock export interface ConsolaReporterArgs { async: boolean, - stdout: any, - stderr: any, + stdout: NodeJS.WritableStream, + stderr: NodeJS.WritableStream, } export interface ConsolaReporter { @@ -24,7 +49,7 @@ export interface ConsolaReporter { export interface ConsolaOptions { reporters?: ConsolaReporter[], types?: { [type: string]: ConsolaLogObject }, - level?: number, + level?: LogLevel, defaults?: ConsolaLogObject, async?: boolean, stdout?: any, @@ -36,7 +61,7 @@ export interface ConsolaOptions { export declare class Consola { constructor(options: ConsolaOptions) - level: number + level: LogLevel readonly stdout: any readonly stderr: any @@ -87,8 +112,54 @@ export declare class Consola { mock(mockFn: ConsolaMockFn): any } +export interface BasicReporterOptions { + dateFormat?: string; + formatOptions?: InspectOptions; +} + +export declare class BasicReporter implements ConsolaReporter { + protected options: BasicReporterOptions; + + constructor(options?: BasicReporterOptions); + + public log(logObj: ConsolaLogObject, args: ConsolaReporterArgs): void; + + protected formatStack(stack: string): string; + protected formatArgs(args: any[]): string; + protected formatDate(date: Date): string; + protected filterAndJoin(arr: Array): string; + protected formatLogObj(logObj: ConsolaLogObject): string; +} + +export interface FancyReporterOptions extends BasicReporterOptions{ + secondaryColor?: string; +} + +export declare class FancyReporter extends BasicReporter { + constructor(options?: FancyReporterOptions); + + protected formatType(logObj: ConsolaLogObject): void; +} + +export type BrowserReporterOptions = {}; + export declare class BrowserReporter implements ConsolaReporter { - log: (logObj: ConsolaLogObject, args: ConsolaReporterArgs) => void + public log(logObj: ConsolaLogObject, args: ConsolaReporterArgs): void; +} + +export type JSONReporterOptions = { + stream?: NodeJS.WritableStream; +}; + +export declare class JSONReporter implements ConsolaReporter { + constructor(options?: JSONReporterOptions); + public log(logObj: ConsolaLogObject, args: ConsolaReporterArgs): void; +} + + +export declare class WinstonReporter implements ConsolaReporter { + constructor(logger?: Logger); + public log(logObj: ConsolaLogObject, args: ConsolaReporterArgs): void; } declare const consolaGlobalInstance: Consola; From d670a354135f63b73186856e5889ed8952f82568 Mon Sep 17 00:00:00 2001 From: regevbr Date: Thu, 23 Apr 2020 01:31:19 +0300 Subject: [PATCH 2/3] bug: missing typescript definitions for reporters #92 --- src/index.js | 1 + src/logLevels.js | 10 ++++++++++ src/types.js | 24 +++++++++++++----------- types/consola.d.ts | 31 +++++++++++-------------------- 4 files changed, 35 insertions(+), 31 deletions(-) create mode 100644 src/logLevels.js diff --git a/src/index.js b/src/index.js index be61056..dacee74 100644 --- a/src/index.js +++ b/src/index.js @@ -1,5 +1,6 @@ export { default as Consola } from './consola' export { default as Types } from './types' +export { LogLevel } from './logLevels' export { isLogObj } from './utils' export { assignGlobalConsola } from './utils/global' diff --git a/src/logLevels.js b/src/logLevels.js new file mode 100644 index 0000000..a98bc48 --- /dev/null +++ b/src/logLevels.js @@ -0,0 +1,10 @@ +export const LogLevel = {} +LogLevel[LogLevel.Fatal = 0] = 'Fatal' +LogLevel[LogLevel.Error = 0] = 'Error' +LogLevel[LogLevel.Warn = 1] = 'Warn' +LogLevel[LogLevel.Log = 2] = 'Log' +LogLevel[LogLevel.Info = 3] = 'Info' +LogLevel[LogLevel.Success = 3] = 'Success' +LogLevel[LogLevel.Debug = 4] = 'Debug' +LogLevel[LogLevel.Trace = 5] = 'Trace' +LogLevel[LogLevel.Silent = Infinity] = 'Silent' diff --git a/src/types.js b/src/types.js index cc011a9..bb67fcd 100644 --- a/src/types.js +++ b/src/types.js @@ -1,44 +1,46 @@ +import { LogLevel } from './logLevels' + export default { // Level 0 fatal: { - level: 0 + level: LogLevel.Fatal }, error: { - level: 0 + level: LogLevel.Error }, // Level 1 warn: { - level: 1 + level: LogLevel.Warn }, // Level 2 log: { - level: 2 + level: LogLevel.Log }, // Level 3 info: { - level: 3 + level: LogLevel.Info }, success: { - level: 3 + level: LogLevel.Success }, // Level 4 debug: { - level: 4 + level: LogLevel.Debug }, // Level 5 trace: { - level: 5 + level: LogLevel.Trace }, // Silent silent: { - level: Infinity + level: LogLevel.Silent }, // Legacy ready: { - level: 3 + level: LogLevel.Info }, start: { - level: 3 + level: LogLevel.Info } } diff --git a/types/consola.d.ts b/types/consola.d.ts index 2c4f5f7..0ff134d 100644 --- a/types/consola.d.ts +++ b/types/consola.d.ts @@ -1,26 +1,17 @@ import { InspectOptions } from 'util'; import {Logger} from 'winston'; -export type Infinity = 999e308; // Infinity is not a valid type. see https://github.com/microsoft/TypeScript/issues/32277 -export type FatalLogLevel = 0; -export type ErrorLogLevel = 0; -export type WarnLogLevel = 1; -export type LogLogLevel = 2; -export type InfoLogLevel = 3; -export type SuccessLogLevel = 3; -export type DebugLogLevel = 4; -export type TraceLogLevel = 5; -export type SilentLogLevel = Infinity; -export type LogLevel = - | FatalLogLevel - | ErrorLogLevel - | WarnLogLevel - | LogLogLevel - | InfoLogLevel - | SuccessLogLevel - | DebugLogLevel - | TraceLogLevel - | SilentLogLevel; +export enum LogLevel { + Fatal= 0, + Error= 0, + Warn= 1, + Log= 2, + Info= 3, + Success= 3, + Debug= 4, + Trace= 5, + Silent= Infinity, +} export interface ConsolaLogObject { level?: LogLevel, From a9c6e2d9ab3406bb6c6673c3aee43b9dd0f399d7 Mon Sep 17 00:00:00 2001 From: regevbr Date: Thu, 23 Apr 2020 01:34:03 +0300 Subject: [PATCH 3/3] bug: missing typescript definitions for reporters #92 --- types/consola.d.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/types/consola.d.ts b/types/consola.d.ts index 0ff134d..7da87da 100644 --- a/types/consola.d.ts +++ b/types/consola.d.ts @@ -1,5 +1,4 @@ import { InspectOptions } from 'util'; -import {Logger} from 'winston'; export enum LogLevel { Fatal= 0, @@ -147,9 +146,10 @@ export declare class JSONReporter implements ConsolaReporter { public log(logObj: ConsolaLogObject, args: ConsolaReporterArgs): void; } +export type Winston = any; export declare class WinstonReporter implements ConsolaReporter { - constructor(logger?: Logger); + constructor(logger?: Winston); public log(logObj: ConsolaLogObject, args: ConsolaReporterArgs): void; }