UNPKG

2.03 kBTypeScriptView Raw
1export as namespace ReduxLogger;
2
3import * as Redux from "redux";
4
5export const logger: Redux.Middleware;
6
7export type LoggerPredicate = (
8 getState: () => any,
9 action: any,
10 logEntry?: LogEntryObject,
11) => boolean;
12
13export type StateToString = (state: any) => string;
14export type ActionToString = (action: any) => string;
15export type ErrorToString = (error: any, prevState: any) => string;
16
17export interface ColorsObject {
18 title?: boolean | ActionToString | undefined;
19 prevState?: boolean | StateToString | undefined;
20 action?: boolean | ActionToString | undefined;
21 nextState?: boolean | StateToString | undefined;
22 error?: boolean | ErrorToString | undefined;
23}
24
25export interface LevelObject {
26 prevState?: string | boolean | StateToString | undefined;
27 action?: string | boolean | ActionToString | undefined;
28 nextState?: string | boolean | StateToString | undefined;
29 error?: string | boolean | ErrorToString | undefined;
30}
31
32export interface LogEntryObject {
33 action?: string | boolean | ActionToString | undefined;
34 started?: number | undefined;
35 startedTime?: Date | undefined;
36 took?: number | undefined;
37 error?(error: any): any;
38 nextState?(state: any): any;
39 prevState?(state: any): any;
40}
41
42export interface ReduxLoggerOptions {
43 level?: string | ActionToString | LevelObject | undefined;
44 duration?: boolean | undefined;
45 timestamp?: boolean | undefined;
46 colors?: ColorsObject | false | undefined;
47 titleFormatter?(formattedAction: any, formattedTime: string, took: number): string;
48 logger?: any;
49 logErrors?: boolean | undefined;
50 collapsed?: boolean | LoggerPredicate | undefined;
51 predicate?: LoggerPredicate | undefined;
52 diff?: boolean | undefined;
53 diffPredicate?: LoggerPredicate | undefined;
54 stateTransformer?(state: any): any;
55 actionTransformer?(action: any): any;
56 errorTransformer?(error: any): any;
57}
58
59export function createLogger(options?: ReduxLoggerOptions): Redux.Middleware;
60
61export default logger;