Index

Type aliases

MessageType

NonTabMessageType

NonTabMessageType: "owntab_background" | "excmd_background" | "controller_background" | "browser_proxy_background" | "download_background" | "performance_background"

StripPromise

StripPromise<T>: T extends Promise<infer U> ? U : T

Type parameters

  • T

TabMessageType

TabMessageType: "editorfn_content" | "excmd_content" | "controller_content" | "commandline_content" | "finding_content" | "commandline_cmd" | "commandline_frame"

listener

listener: (message: Message, sender?: any, sendResponse?: any) => void | Promise<any>

Type declaration

    • (message: Message, sender?: any, sendResponse?: any): void | Promise<any>
    • Parameters

      • message: Message
      • Optional sender: any
      • Optional sendResponse: any

      Returns void | Promise<any>

Variables

Let _ownTabId

_ownTabId: any

Const listeners

listeners: Map<string, Set<(message: Message, sender?: any, sendResponse?: any) => void | Promise<any>>> = new Map<string, Set<listener>>()

Const logger

logger: Logger = new Logger("messaging")

Functions

addListener

attributeCaller

  • attributeCaller(obj: any): handler

backgroundHandler

  • backgroundHandler<Root, Type, Command>(root: Root, message: TypedMessage<Root, Type, Command>, sender: browser.runtime.MessageSender): ReturnType<Root[Type][Command]>
  • Type parameters

    • Root

    • Type: keyof Root

    • Command: keyof Root[Type]

    Parameters

    • root: Root
    • message: TypedMessage<Root, Type, Command>
    • sender: browser.runtime.MessageSender

    Returns ReturnType<Root[Type][Command]>

message

  • message<Type, Command, F>(type: Type, command: Command, ...args: Parameters<F>): Promise<(F extends (...args: any) => infer R ? R : any) extends Promise<U> ? U : F extends (...args: any) => infer R ? R : any>
  • Send a message to non-content scripts

    Type parameters

    • Type: keyof Messages.Background

    • Command: keyof Messages.Background[Type]

    • F: (...args: any) => any & Messages.Background[Type][Command]

    Parameters

    • type: Type
    • command: Command
    • Rest ...args: Parameters<F>

    Returns Promise<(F extends (...args: any) => infer R ? R : any) extends Promise<U> ? U : F extends (...args: any) => infer R ? R : any>

messageActiveTab

  • messageActiveTab(type: TabMessageType, command: string, args?: any[]): Promise<any>

messageAllTabs

  • messageAllTabs(type: TabMessageType, command: string, args?: any[]): Promise<any[]>

messageOwnTab

  • messageOwnTab(type: TabMessageType, command: any, args?: any): Promise<any>

messageTab

  • messageTab(tabId: any, type: TabMessageType, command: any, args?: any): Promise<any>

onMessage

  • onMessage(message: any, sender: any, sendResponse: any): void
  • Recv a message from runtime.onMessage and send to all listeners

    Parameters

    • message: any
    • sender: any
    • sendResponse: any

    Returns void

setupListener

  • setupListener<Root>(root: Root): void