diff options
author | Shin'ya Ueoka <ueokande@i-beam.org> | 2019-05-11 13:55:25 +0900 |
---|---|---|
committer | Shin'ya Ueoka <ueokande@i-beam.org> | 2019-05-11 15:41:07 +0900 |
commit | fcd15f4f09e412cb66f29649572b9d8ae6d50363 (patch) | |
tree | bb602d6dc3cfd15dcfca860751c95309aa69a53d /src/content/controllers | |
parent | ad1f3c07fbb90c4e69cc2374d74a7373e4da70f2 (diff) |
Find as a controller
Diffstat (limited to 'src/content/controllers')
-rw-r--r-- | src/content/controllers/FindController.ts | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/content/controllers/FindController.ts b/src/content/controllers/FindController.ts new file mode 100644 index 0000000..cf27a8d --- /dev/null +++ b/src/content/controllers/FindController.ts @@ -0,0 +1,24 @@ +import * as messages from '../../shared/messages'; +import FindUseCase from '../usecases/FindUseCase'; + +export default class FindController { + private findUseCase: FindUseCase; + + constructor({ + findUseCase = new FindUseCase(), + } = {}) { + this.findUseCase = findUseCase; + } + + async start(m: messages.ConsoleEnterFindMessage): Promise<void> { + await this.findUseCase.startFind(m.text); + } + + async next(_: messages.FindNextMessage): Promise<void> { + await this.findUseCase.findNext(); + } + + async prev(_: messages.FindPrevMessage): Promise<void> { + await this.findUseCase.findPrev(); + } +} |