UNPKG

1.58 kBTypeScriptView Raw
1// Type definitions for redux-logger v3.0.0
2// Project: https://github.com/fcomb/redux-logger
3// Definitions by: Alexander Rusakov <https://github.com/arusakov>
4// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
5
6export as namespace ReduxLogger;
7
8import * as Redux from "redux";
9
10export const logger: Redux.Middleware;
11
12export type LoggerPredicate = (getState: () => any, action: any) => boolean;
13
14export type StateToString = (state: any) => string;
15export type ActionToString = (action: any) => string;
16export type ErrorToString = (error: any, prevState: any) => string;
17
18export interface ColorsObject {
19 title?: boolean | ActionToString;
20 prevState?: boolean | StateToString;
21 action?: boolean | ActionToString;
22 nextState?: boolean | StateToString;
23 error?: boolean | ErrorToString;
24}
25
26export interface LevelObject {
27 prevState?: string | boolean | StateToString;
28 action?: string | boolean | ActionToString;
29 nextState?: string | boolean | StateToString;
30 error?: string | boolean | ErrorToString;
31}
32
33export interface ReduxLoggerOptions {
34 level?: string | ActionToString | LevelObject;
35 duration?: boolean;
36 timestamp?: boolean;
37 colors?: ColorsObject;
38 logger?: any;
39 logErrors?: boolean;
40 collapsed?: boolean | LoggerPredicate;
41 predicate?: LoggerPredicate;
42 stateTransformer?: (state: any) => any;
43 actionTransformer?: (action: any) => any;
44 errorTransformer?: (error: any) => any;
45 diff?: boolean;
46 diffPredicate?: LoggerPredicate;
47}
48
49export function createLogger(options?: ReduxLoggerOptions): Redux.Middleware;
50
51export default logger;