Passed
Push — master ( 33b817...bb2a4c )
by Muhammad Dyas
01:42
created

src/handlers/BaseHandler.ts   A

Complexity

Total Complexity 6
Complexity/F 2

Size

Lines of Code 20
Function Count 3

Duplication

Duplicated Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
wmc 6
eloc 15
mnd 3
bc 3
fnc 3
dl 0
loc 20
rs 10
bpm 1
cpm 2
noi 0
c 0
b 0
f 0

3 Functions

Rating   Name   Duplication   Size   Complexity  
A BaseHandler.getAnnotations 0 3 4
A BaseHandler.process 0 2 1
A BaseHandler.getAnnotationByType 0 3 1
1
import {chat_v1 as chatV1} from 'googleapis/build/src/apis/chat/v1';
2
3
export default abstract class BaseHandler {
4
  protected event: chatV1.Schema$DeprecatedEvent;
5
6
  constructor(event: chatV1.Schema$DeprecatedEvent) {
7
    this.event = event;
8
  }
9
10
  protected getAnnotations(): chatV1.Schema$Annotation[] {
11
    return this.event.message?.annotations ?? [];
12
  }
13
14
  protected getAnnotationByType(type: string): chatV1.Schema$Annotation | undefined {
15
    return this.getAnnotations().find((annotation) => annotation.type === type);
16
  }
17
18
  public abstract process(): chatV1.Schema$Message | Promise<chatV1.Schema$Message>;
19
}
20