You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.
 
 
 

307 lines
7.6 KiB

import * as operations from './operations';
export const BACKGROUND_OPERATION = 'background.operation';
export const CONSOLE_UNFOCUS = 'console.unfocus';
export const CONSOLE_ENTER_COMMAND = 'console.enter.command';
export const CONSOLE_ENTER_FIND = 'console.enter.find';
export const CONSOLE_QUERY_COMPLETIONS = 'console.query.completions';
export const CONSOLE_SHOW_COMMAND = 'console.show.command';
export const CONSOLE_SHOW_ERROR = 'console.show.error';
export const CONSOLE_SHOW_INFO = 'console.show.info';
export const CONSOLE_SHOW_FIND = 'console.show.find';
export const CONSOLE_HIDE = 'console.hide';
export const FOLLOW_START = 'follow.start';
export const FOLLOW_REQUEST_COUNT_TARGETS = 'follow.request.count.targets';
export const FOLLOW_RESPONSE_COUNT_TARGETS = 'follow.response.count.targets';
export const FOLLOW_CREATE_HINTS = 'follow.create.hints';
export const FOLLOW_SHOW_HINTS = 'follow.update.hints';
export const FOLLOW_REMOVE_HINTS = 'follow.remove.hints';
export const FOLLOW_ACTIVATE = 'follow.activate';
export const FOLLOW_KEY_PRESS = 'follow.key.press';
export const MARK_SET_GLOBAL = 'mark.set.global';
export const MARK_JUMP_GLOBAL = 'mark.jump.global';
export const TAB_SCROLL_TO = 'tab.scroll.to';
export const FIND_NEXT = 'find.next';
export const FIND_PREV = 'find.prev';
export const FIND_GET_KEYWORD = 'find.get.keyword';
export const FIND_SET_KEYWORD = 'find.set.keyword';
export const ADDON_ENABLED_QUERY = 'addon.enabled.query';
export const ADDON_ENABLED_RESPONSE = 'addon.enabled.response';
export const ADDON_TOGGLE_ENABLED = 'addon.toggle.enabled';
export const OPEN_URL = 'open.url';
export const SETTINGS_CHANGED = 'settings.changed';
export const SETTINGS_QUERY = 'settings.query';
export const CONSOLE_FRAME_MESSAGE = 'console.frame.message';
export const NAVIGATE_HISTORY_NEXT = 'navigate.history.next';
export const NAVIGATE_HISTORY_PREV = 'navigate.history.prev';
export const NAVIGATE_LINK_NEXT = 'navigate.link.next';
export const NAVIGATE_LINK_PREV = 'navigate.link.prev';
export interface BackgroundOperationMessage {
type: typeof BACKGROUND_OPERATION;
operation: operations.Operation;
}
export interface ConsoleUnfocusMessage {
type: typeof CONSOLE_UNFOCUS;
}
export interface ConsoleEnterCommandMessage {
type: typeof CONSOLE_ENTER_COMMAND;
text: string;
}
export interface ConsoleEnterFindMessage {
type: typeof CONSOLE_ENTER_FIND;
text?: string;
}
export interface ConsoleQueryCompletionsMessage {
type: typeof CONSOLE_QUERY_COMPLETIONS;
text: string;
}
export interface ConsoleShowCommandMessage {
type: typeof CONSOLE_SHOW_COMMAND;
command: string;
}
export interface ConsoleShowErrorMessage {
type: typeof CONSOLE_SHOW_ERROR;
text: string;
}
export interface ConsoleShowInfoMessage {
type: typeof CONSOLE_SHOW_INFO;
text: string;
}
export interface ConsoleShowFindMessage {
type: typeof CONSOLE_SHOW_FIND;
}
export interface ConsoleHideMessage {
type: typeof CONSOLE_HIDE;
}
export interface FollowStartMessage {
type: typeof FOLLOW_START;
newTab: boolean;
background: boolean;
}
export interface FollowRequestCountTargetsMessage {
type: typeof FOLLOW_REQUEST_COUNT_TARGETS;
viewSize: { width: number, height: number };
framePosition: { x: number, y: number };
}
export interface FollowResponseCountTargetsMessage {
type: typeof FOLLOW_RESPONSE_COUNT_TARGETS;
count: number;
}
export interface FollowCreateHintsMessage {
type: typeof FOLLOW_CREATE_HINTS;
tags: string[];
viewSize: { width: number, height: number };
framePosition: { x: number, y: number };
}
export interface FollowShowHintsMessage {
type: typeof FOLLOW_SHOW_HINTS;
prefix: string;
}
export interface FollowRemoveHintsMessage {
type: typeof FOLLOW_REMOVE_HINTS;
}
export interface FollowActivateMessage {
type: typeof FOLLOW_ACTIVATE;
tag: string;
newTab: boolean;
background: boolean;
}
export interface FollowKeyPressMessage {
type: typeof FOLLOW_KEY_PRESS;
key: string;
ctrlKey: boolean;
}
export interface MarkSetGlobalMessage {
type: typeof MARK_SET_GLOBAL;
key: string;
x: number;
y: number;
}
export interface MarkJumpGlobalMessage {
type: typeof MARK_JUMP_GLOBAL;
key: string;
}
export interface TabScrollToMessage {
type: typeof TAB_SCROLL_TO;
x: number;
y: number;
}
export interface FindNextMessage {
type: typeof FIND_NEXT;
}
export interface FindPrevMessage {
type: typeof FIND_PREV;
}
export interface FindGetKeywordMessage {
type: typeof FIND_GET_KEYWORD;
}
export interface FindSetKeywordMessage {
type: typeof FIND_SET_KEYWORD;
keyword: string;
found: boolean;
}
export interface AddonEnabledQueryMessage {
type: typeof ADDON_ENABLED_QUERY;
}
export interface AddonEnabledResponseMessage {
type: typeof ADDON_ENABLED_RESPONSE;
enabled: boolean;
}
export interface AddonToggleEnabledMessage {
type: typeof ADDON_TOGGLE_ENABLED;
}
export interface OpenUrlMessage {
type: typeof OPEN_URL;
url: string;
newTab: boolean;
background: boolean;
}
export interface SettingsChangedMessage {
type: typeof SETTINGS_CHANGED;
}
export interface SettingsQueryMessage {
type: typeof SETTINGS_QUERY;
}
export interface ConsoleFrameMessageMessage {
type: typeof CONSOLE_FRAME_MESSAGE;
message: any;
}
export interface NavigateHistoryNextMessage {
type: typeof NAVIGATE_HISTORY_NEXT;
}
export interface NavigateHistoryPrevMessage {
type: typeof NAVIGATE_HISTORY_PREV;
}
export interface NavigateLinkNext {
type: typeof NAVIGATE_LINK_NEXT;
}
export interface NavigateLinkPrev {
type: typeof NAVIGATE_LINK_PREV;
}
export type Message =
BackgroundOperationMessage |
ConsoleUnfocusMessage |
ConsoleEnterCommandMessage |
ConsoleEnterFindMessage |
ConsoleQueryCompletionsMessage |
ConsoleShowCommandMessage |
ConsoleShowErrorMessage |
ConsoleShowInfoMessage |
ConsoleShowFindMessage |
ConsoleHideMessage |
FollowStartMessage |
FollowRequestCountTargetsMessage |
FollowResponseCountTargetsMessage |
FollowCreateHintsMessage |
FollowShowHintsMessage |
FollowRemoveHintsMessage |
FollowActivateMessage |
FollowKeyPressMessage |
MarkSetGlobalMessage |
MarkJumpGlobalMessage |
TabScrollToMessage |
FindNextMessage |
FindPrevMessage |
FindGetKeywordMessage |
FindSetKeywordMessage |
AddonEnabledQueryMessage |
AddonEnabledResponseMessage |
AddonToggleEnabledMessage |
OpenUrlMessage |
SettingsChangedMessage |
SettingsQueryMessage |
ConsoleFrameMessageMessage |
NavigateHistoryNextMessage |
NavigateHistoryPrevMessage |
NavigateLinkNext |
NavigateLinkPrev;
// eslint-disable-next-line complexity
export const valueOf = (o: any): Message => {
switch (o.type) {
case CONSOLE_UNFOCUS:
case CONSOLE_ENTER_COMMAND:
case CONSOLE_ENTER_FIND:
case CONSOLE_QUERY_COMPLETIONS:
case CONSOLE_SHOW_COMMAND:
case CONSOLE_SHOW_ERROR:
case CONSOLE_SHOW_INFO:
case CONSOLE_SHOW_FIND:
case CONSOLE_HIDE:
case FOLLOW_START:
case FOLLOW_REQUEST_COUNT_TARGETS:
case FOLLOW_RESPONSE_COUNT_TARGETS:
case FOLLOW_CREATE_HINTS:
case FOLLOW_SHOW_HINTS:
case FOLLOW_REMOVE_HINTS:
case FOLLOW_ACTIVATE:
case FOLLOW_KEY_PRESS:
case MARK_SET_GLOBAL:
case MARK_JUMP_GLOBAL:
case TAB_SCROLL_TO:
case FIND_NEXT:
case FIND_PREV:
case FIND_GET_KEYWORD:
case FIND_SET_KEYWORD:
case ADDON_ENABLED_QUERY:
case ADDON_ENABLED_RESPONSE:
case ADDON_TOGGLE_ENABLED:
case OPEN_URL:
case SETTINGS_CHANGED:
case SETTINGS_QUERY:
case CONSOLE_FRAME_MESSAGE:
case NAVIGATE_HISTORY_NEXT:
case NAVIGATE_HISTORY_PREV:
case NAVIGATE_LINK_NEXT:
case NAVIGATE_LINK_PREV:
return o;
}
throw new Error('unknown operation type: ' + o.type);
};