ソースを参照

Merge branch 'dev' into 4.0

Kia Ishii 4 年 前
コミット
4ace5599ce
2 ファイル変更14 行追加1 行削除
  1. 6 0
      types/logger.d.ts
  2. 8 1
      types/test/index.ts

+ 6 - 0
types/logger.d.ts

@@ -1,5 +1,10 @@
 import { Payload, Plugin } from "./index";
 
+interface Logger extends Partial<Pick<Console, 'groupCollapsed' | 'group' | 'groupEnd'>> {
+  log(message: string, color: string, payload: any): void;
+  log(message: string): void;
+}
+
 export interface LoggerOption<S> {
   collapsed?: boolean;
   filter?: <P extends Payload>(mutation: P, stateBefore: S, stateAfter: S) => boolean;
@@ -9,6 +14,7 @@ export interface LoggerOption<S> {
   actionTransformer?: <P extends Payload>(action: P) => any;
   logMutations?: boolean;
   logActions?: boolean;
+  logger?: Logger;
 }
 
 export function createLogger<S>(option?: LoggerOption<S>): Plugin<S>;

+ 8 - 1
types/test/index.ts

@@ -455,10 +455,17 @@ namespace Plugins {
     });
   }
 
+  class MyLogger {
+    log(message: string) {
+       console.log(message);
+    }
+  }
+
   const logger = Vuex.createLogger<{ value: number }>({
     collapsed: true,
     transformer: state => state.value,
-    mutationTransformer: (mutation: { type: string }) => mutation.type
+    mutationTransformer: (mutation: { type: string }) => mutation.type,
+    logger: new MyLogger()
   });
 
   const store = new Vuex.Store<{ value: number }>({