logger.d.ts 745 B

1234567891011121314151617181920
  1. import { Payload, Plugin } from "./index";
  2. interface Logger extends Partial<Pick<Console, 'groupCollapsed' | 'group' | 'groupEnd'>> {
  3. log(message: string, color: string, payload: any): void;
  4. log(message: string): void;
  5. }
  6. export interface LoggerOption<S> {
  7. collapsed?: boolean;
  8. filter?: <P extends Payload>(mutation: P, stateBefore: S, stateAfter: S) => boolean;
  9. transformer?: (state: S) => any;
  10. mutationTransformer?: <P extends Payload>(mutation: P) => any;
  11. actionFilter?: <P extends Payload>(action: P, state: S) => boolean;
  12. actionTransformer?: <P extends Payload>(action: P) => any;
  13. logMutations?: boolean;
  14. logActions?: boolean;
  15. logger?: Logger;
  16. }
  17. export function createLogger<S>(option?: LoggerOption<S>): Plugin<S>;