Mark keys as a clean archtecture
This commit is contained in:
parent
efc48dc742
commit
2ec912c262
8 changed files with 200 additions and 7 deletions
52
src/content/repositories/MarkKeyRepository.ts
Normal file
52
src/content/repositories/MarkKeyRepository.ts
Normal file
|
@ -0,0 +1,52 @@
|
|||
export default interface MarkKeyRepository {
|
||||
isSetMode(): boolean;
|
||||
|
||||
enableSetMode(): void;
|
||||
|
||||
disabeSetMode(): void;
|
||||
|
||||
isJumpMode(): boolean;
|
||||
|
||||
enableJumpMode(): void;
|
||||
|
||||
disabeJumpMode(): void;
|
||||
|
||||
// eslint-disable-next-line semi
|
||||
}
|
||||
|
||||
interface Mode {
|
||||
setMode: boolean;
|
||||
jumpMode: boolean;
|
||||
}
|
||||
|
||||
let current: Mode = {
|
||||
setMode: false,
|
||||
jumpMode: false,
|
||||
};
|
||||
|
||||
export class MarkKeyRepositoryImpl implements MarkKeyRepository {
|
||||
|
||||
isSetMode(): boolean {
|
||||
return current.setMode;
|
||||
}
|
||||
|
||||
enableSetMode(): void {
|
||||
current.setMode = true;
|
||||
}
|
||||
|
||||
disabeSetMode(): void {
|
||||
current.setMode = false;
|
||||
}
|
||||
|
||||
isJumpMode(): boolean {
|
||||
return current.jumpMode;
|
||||
}
|
||||
|
||||
enableJumpMode(): void {
|
||||
current.jumpMode = true;
|
||||
}
|
||||
|
||||
disabeJumpMode(): void {
|
||||
current.jumpMode = false;
|
||||
}
|
||||
}
|
Reference in a new issue