Files
NativeScript/tns-core-modules/webworker.es2016.d.ts
2016-10-20 11:34:14 +03:00

89 lines
2.2 KiB
TypeScript

/**
* Used to create, destroy and communicate with worker threads
*/
declare class Worker {
/**
* Creates a new worker with the given main script.
* @param script The first module to be loaded on the worker thread.
*/
public constructor(script: string);
/**
* Sends message to the worker thread.
* @param message The message to be serialized and sent to the worker thread.
*/
public postMessage(message: any) : void;
/**
* Terminates the execution the worker thread without calling `onclose` handler.
*/
public terminate() : void;
/**
* Called by the runtime when a new message is received by the worker instance.
*/
public onmessage : Worker.OnMessageHandler;
/**
* Called by the runtime when an uncaught error is propagated to the parent thread.
*/
public onerror : Worker.OnErrorHandler;
}
/**
* Exists only in worker context. Returns the worker global object.
*/
declare var self: any;
/**
* Exists only in worker context. It is called by the runtime when a new message is received by the worker thread.
*/
declare var onmessage : Worker.OnMessageHandler;
/**
* Exists only in worker context. Handles uncaught errors in the worker thread. If return false the error is propagated to the parent context and passed to Worker.onerror handler.
*/
declare var onerror : Worker.OnErrorHandler;
/**
* Exists only in worker context. Called before the worker is closed with the close() function.
*/
declare var onclose : Worker.OnCloseHandler;
/**
* Exists only in worker context. Sends message to the parent thread.
*/
declare function postMessage(message: any) : void;
/**
* Exists only in worker context. Closes the worker thread on the next run loop tick.
*/
declare function close() : void;
declare namespace Worker {
interface MessageEvent {
data: any;
}
interface ErrorEvent {
message: string;
filename: string;
lineno: number;
}
interface OnErrorHandler {
(error: ErrorEvent): boolean;
}
interface OnMessageHandler {
(message: MessageEvent): void;
}
interface OnCloseHandler {
(): void;
}
}