Passed
Push — master ( 06c3b6...1fd195 )
by Dmytro
01:32
created

src/commands/utils.ts   A

Complexity

Total Complexity 2
Complexity/F 2

Size

Lines of Code 23
Function Count 1

Duplication

Duplicated Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
wmc 2
eloc 17
mnd 1
bc 1
fnc 1
dl 0
loc 23
bpm 1
cpm 2
noi 0
c 0
b 0
f 0
rs 10

1 Function

Rating   Name   Duplication   Size   Complexity  
A utils.ts ➔ commandDecorator 0 11 2
1
import * as vscode from 'vscode';
2
3
interface CommandMessages {
4
    SUCCESS_MESSAGE: string;
5
    ERROR_MESSAGE: string;
6
}
7
8
type CommandHandler = (...args: any[]) => void;
9
10
export function commandDecorator(command: CommandHandler, messages: CommandMessages):CommandHandler {
11
    return (...args: any[]) => {
12
        const { SUCCESS_MESSAGE, ERROR_MESSAGE } = messages;
13
14
        try {
15
            command(...args);
16
            vscode.window.showInformationMessage(SUCCESS_MESSAGE);
17
        } catch (error) {
18
            console.error(error);
19
            vscode.window.showErrorMessage(ERROR_MESSAGE);
20
        }
21
    };
22
}
23