Follow as a clean architecture
This commit is contained in:
parent
5b7f7f5dbd
commit
e0c4182f14
11 changed files with 493 additions and 10 deletions
32
src/content/controllers/FollowSlaveController.ts
Normal file
32
src/content/controllers/FollowSlaveController.ts
Normal file
|
@ -0,0 +1,32 @@
|
|||
import * as messages from '../../shared/messages';
|
||||
import FollowSlaveUseCase from '../usecases/FollowSlaveUseCase';
|
||||
|
||||
export default class FollowSlaveController {
|
||||
private usecase: FollowSlaveUseCase;
|
||||
|
||||
constructor({
|
||||
usecase = new FollowSlaveUseCase(),
|
||||
} = {}) {
|
||||
this.usecase = usecase;
|
||||
}
|
||||
|
||||
countTargets(m: messages.FollowRequestCountTargetsMessage): void {
|
||||
this.usecase.countTargets(m.viewSize, m.framePosition);
|
||||
}
|
||||
|
||||
createHints(m: messages.FollowCreateHintsMessage): void {
|
||||
this.usecase.createHints(m.viewSize, m.framePosition, m.tags);
|
||||
}
|
||||
|
||||
showHints(m: messages.FollowShowHintsMessage): void {
|
||||
this.usecase.showHints(m.prefix);
|
||||
}
|
||||
|
||||
activate(m: messages.FollowActivateMessage): void {
|
||||
this.usecase.activate(m.tag, m.newTab, m.background);
|
||||
}
|
||||
|
||||
clear(_m: messages.FollowRemoveHintsMessage) {
|
||||
this.usecase.clear();
|
||||
}
|
||||
}
|
Reference in a new issue