Mark keys as a clean archtecture

This commit is contained in:
Shin'ya Ueoka 2019-05-14 20:28:22 +09:00
parent efc48dc742
commit 2ec912c262
8 changed files with 200 additions and 7 deletions

View 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;
}
}