Mark keys as a clean archtecture
This commit is contained in:
parent
efc48dc742
commit
2ec912c262
8 changed files with 200 additions and 7 deletions
31
src/content/controllers/MarkKeyController.ts
Normal file
31
src/content/controllers/MarkKeyController.ts
Normal file
|
@ -0,0 +1,31 @@
|
|||
import MarkUseCase from '../usecases/MarkUseCase';
|
||||
import MarkKeyyUseCase from '../usecases/MarkKeyUseCase';
|
||||
import * as keys from '../../shared/utils/keys';
|
||||
|
||||
export default class MarkKeyController {
|
||||
private markUseCase: MarkUseCase;
|
||||
|
||||
private markKeyUseCase: MarkKeyyUseCase;
|
||||
|
||||
constructor({
|
||||
markUseCase = new MarkUseCase(),
|
||||
markKeyUseCase = new MarkKeyyUseCase(),
|
||||
} = {}) {
|
||||
this.markUseCase = markUseCase;
|
||||
this.markKeyUseCase = markKeyUseCase;
|
||||
}
|
||||
|
||||
press(key: keys.Key): boolean {
|
||||
if (this.markKeyUseCase.isSetMode()) {
|
||||
this.markUseCase.set(key.key);
|
||||
this.markKeyUseCase.disableSetMode();
|
||||
return true;
|
||||
}
|
||||
if (this.markKeyUseCase.isJumpMode()) {
|
||||
this.markUseCase.jump(key.key);
|
||||
this.markKeyUseCase.disableJumpMode();
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
Reference in a new issue