Skip to content

Commit 9185065

Browse files
authored
Remove interface declaration (#81)
1 parent 32611b8 commit 9185065

6 files changed

+12
-61
lines changed

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -244,7 +244,7 @@
244244
"vscode:prepublish": "npm run compile",
245245
"compile": "tsc -p ./",
246246
"watch": "tsc -watch -p ./",
247-
"postinstall": "node ./node_modules/vscode/bin/install && node ./node_modules/leetcode-cli/bin/leetcode plugin -e leetcode.cn",
247+
"postinstall": "node ./node_modules/vscode/bin/install",
248248
"test": "npm run compile && node ./node_modules/vscode/bin/test",
249249
"lint": "tslint --project tsconfig.json -e src/*.d.ts -t verbose"
250250
},

src/extension.ts

+3-2
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@ export async function activate(context: vscode.ExtensionContext): Promise<void>
2222
const leetCodeTreeDataProvider: LeetCodeTreeDataProvider = new LeetCodeTreeDataProvider(context);
2323

2424
context.subscriptions.push(
25+
leetCodeStatusBarItem,
26+
leetCodeChannel,
2527
vscode.window.registerTreeDataProvider("leetCodeExplorer", leetCodeTreeDataProvider),
2628
vscode.commands.registerCommand("leetcode.deleteCache", () => cache.deleteCache()),
2729
vscode.commands.registerCommand("leetcode.toogleLeetCodeCn", () => plugin.toogleLeetCodeCn()),
@@ -45,6 +47,5 @@ export async function activate(context: vscode.ExtensionContext): Promise<void>
4547
}
4648

4749
export function deactivate(): void {
48-
leetCodeStatusBarItem.dispose();
49-
leetCodeChannel.dispose();
50+
// Do nothing.
5051
}

src/leetCodeChannel.ts

+2-9
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,7 @@
33

44
import * as vscode from "vscode";
55

6-
export interface ILeetCodeChannel {
7-
appendLine(message: any, title?: string): void;
8-
append(message: any): void;
9-
show(): void;
10-
dispose(): void;
11-
}
12-
13-
class LeetCodeChannel implements ILeetCodeChannel {
6+
class LeetCodeChannel implements vscode.Disposable {
147
private readonly channel: vscode.OutputChannel = vscode.window.createOutputChannel("LeetCode");
158

169
public appendLine(message: string): void {
@@ -30,4 +23,4 @@ class LeetCodeChannel implements ILeetCodeChannel {
3023
}
3124
}
3225

33-
export const leetCodeChannel: ILeetCodeChannel = new LeetCodeChannel();
26+
export const leetCodeChannel: LeetCodeChannel = new LeetCodeChannel();

src/leetCodeExecutor.ts

+2-32
Original file line numberDiff line numberDiff line change
@@ -9,37 +9,7 @@ import { executeCommand, executeCommandWithProgress } from "./utils/cpUtils";
99
import { DialogOptions } from "./utils/uiUtils";
1010
import * as wsl from "./utils/wslUtils";
1111

12-
export interface ILeetCodeExecutor {
13-
meetRequirements(): Promise<boolean>;
14-
getLeetCodeBinaryPath(): Promise<string>;
15-
16-
/* section for cache command */
17-
deleteCache(): Promise<string>;
18-
19-
/* section for user command */
20-
getUserInfo(): Promise<string>;
21-
signOut(): Promise<string>;
22-
// TODO: implement login when leetcode-cli support login in batch mode.
23-
// signIn(): Promise<string>;
24-
25-
/* section for problem command */
26-
listProblems(showLocked: boolean): Promise<string>;
27-
showProblem(id: string, language: string, outdir: string): Promise<string>;
28-
29-
/* section for session command */
30-
listSessions(): Promise<string>;
31-
enableSession(name: string): Promise<string>;
32-
createSession(name: string): Promise<string>;
33-
34-
/* section for solution command */
35-
submitSolution(filePath: string): Promise<string>;
36-
testSolution(filePath: string, testString?: string): Promise<string>;
37-
38-
/* section for plugin command */
39-
toggleLeetCodeCn(isEnable: boolean): Promise<string>;
40-
}
41-
42-
class LeetCodeExecutor implements ILeetCodeExecutor {
12+
class LeetCodeExecutor {
4313
private leetCodeBinaryPath: string;
4414
private leetCodeBinaryPathInWsl: string;
4515

@@ -142,4 +112,4 @@ class LeetCodeExecutor implements ILeetCodeExecutor {
142112
}
143113
}
144114

145-
export const leetCodeExecutor: ILeetCodeExecutor = new LeetCodeExecutor();
115+
export const leetCodeExecutor: LeetCodeExecutor = new LeetCodeExecutor();

src/leetCodeManager.ts

+2-10
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,7 @@ import { UserStatus } from "./shared";
1010
import { DialogType, promptForOpenOutputChannel } from "./utils/uiUtils";
1111
import * as wsl from "./utils/wslUtils";
1212

13-
export interface ILeetCodeManager extends EventEmitter {
14-
getLoginStatus(): void;
15-
getStatus(): UserStatus;
16-
getUser(): string | undefined;
17-
signIn(): void;
18-
signOut(): void;
19-
}
20-
21-
class LeetCodeManager extends EventEmitter implements ILeetCodeManager {
13+
class LeetCodeManager extends EventEmitter {
2214
private currentUser: string | undefined;
2315
private userStatus: UserStatus;
2416

@@ -123,4 +115,4 @@ class LeetCodeManager extends EventEmitter implements ILeetCodeManager {
123115
}
124116
}
125117

126-
export const leetCodeManager: ILeetCodeManager = new LeetCodeManager();
118+
export const leetCodeManager: LeetCodeManager = new LeetCodeManager();

src/leetCodeStatusBarItem.ts

+2-7
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,7 @@
44
import * as vscode from "vscode";
55
import { UserStatus } from "./shared";
66

7-
export interface ILeetCodeStatusBarItem {
8-
updateStatusBar(status: UserStatus, user?: string): void;
9-
dispose(): void;
10-
}
11-
12-
class LeetCodeStatusBarItem implements ILeetCodeStatusBarItem {
7+
class LeetCodeStatusBarItem implements vscode.Disposable {
138
private readonly statusBarItem: vscode.StatusBarItem;
149

1510
constructor() {
@@ -35,4 +30,4 @@ class LeetCodeStatusBarItem implements ILeetCodeStatusBarItem {
3530
}
3631
}
3732

38-
export const leetCodeStatusBarItem: ILeetCodeStatusBarItem = new LeetCodeStatusBarItem();
33+
export const leetCodeStatusBarItem: LeetCodeStatusBarItem = new LeetCodeStatusBarItem();

0 commit comments

Comments
 (0)