50 lines
756 B
TypeScript
50 lines
756 B
TypeScript
export default interface MarkKeyRepository {
|
|
isSetMode(): boolean;
|
|
|
|
enableSetMode(): void;
|
|
|
|
disabeSetMode(): void;
|
|
|
|
isJumpMode(): boolean;
|
|
|
|
enableJumpMode(): void;
|
|
|
|
disabeJumpMode(): void;
|
|
}
|
|
|
|
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;
|
|
}
|
|
}
|