UNPKG

deno-vm

Version:

A VM module that provides a secure runtime environment via Deno.

55 lines (54 loc) 1.86 kB
import { MessagePortInterface, Transferrable, MessageEvent, OnMessageListener } from './MessageTarget'; /** * Defines a class that implements the Channel Messaging API for the worker. */ export declare class MessageChannel { port1: MessagePort; port2: MessagePort; constructor(channel?: number | string); } /** * Defines a class that allows messages sent from one port to be recieved at the other port. */ export declare class MessagePort implements MessagePortInterface { /** * Whether this message port has been transferred. */ private _transferred; /** * The function that should be called to send a message to the remote. */ private _sendMessage; /** * The ID of this message port's channel. */ private _channelId; /** * The "message" listeners. */ private _listeners; /** * The other message port. */ private _other; get channelID(): string | number; get transferred(): boolean; constructor(channelID: number | string); addEventListener(type: 'message', listener: OnMessageListener): void; removeEventListener(type: 'message', listener: OnMessageListener): void; postMessage(data: any, transferrable?: Transferrable[]): void; start(): void; close(): void; /** * Represents an event handler for the "message" event, that is a function to be called when a message is recieved from the worker. */ onmessage: (e: MessageEvent) => void; transfer(sendMessage: (data: any, transfer: Transferrable[]) => void): (data: any) => void; private _recieveMessage; /** * Links the two message ports. * @param port1 The first port. * @param port2 The second port. */ static link(port1: MessagePort, port2: MessagePort): void; }