import Mark from '../domains/Mark'; import * as messages from '../../shared/messages'; export default interface MarkClient { setGloablMark(key: string, mark: Mark): Promise<void>; jumpGlobalMark(key: string): Promise<void>; } export class MarkClientImpl implements MarkClient { async setGloablMark(key: string, mark: Mark): Promise<void> { await browser.runtime.sendMessage({ type: messages.MARK_SET_GLOBAL, key, x: mark.x, y: mark.y, }); } async jumpGlobalMark(key: string): Promise<void> { await browser.runtime.sendMessage({ type: messages.MARK_JUMP_GLOBAL, key, }); } }