diff --git a/sharedworker/SharedWorker-tests.ts b/sharedworker/SharedWorker-tests.ts new file mode 100644 index 0000000000..853daa6b2f --- /dev/null +++ b/sharedworker/SharedWorker-tests.ts @@ -0,0 +1,9 @@ +/// + +var worker_with_name = new SharedWorker('worker.js', "worker"); + +var worker = new SharedWorker('worker.js'); + +worker.port.onmessage = function(e) { + console.log(e); +}; diff --git a/sharedworker/SharedWorker.d.ts b/sharedworker/SharedWorker.d.ts new file mode 100644 index 0000000000..b106d1342e --- /dev/null +++ b/sharedworker/SharedWorker.d.ts @@ -0,0 +1,29 @@ +// Type definitions for SharedWorker +// Project: http://www.w3.org/TR/workers/ +// Definitions by: Toshiya Nakakura +// Definitions: https://github.com/borisyankov/DefinitelyTyped + +declare module SharedWorker { + interface AbstractWorker extends EventTarget { + onerror: (ev: ErrorEvent) => any; + } + + export interface SharedWorker extends AbstractWorker { + /** + * the value it was assigned by the object's constructor. + * It represents the MessagePort for communicating with the shared worker. + * @type {MessagePort} + */ + port: MessagePort; + } +} + +declare var SharedWorker: { + prototype: SharedWorker.SharedWorker; + /*** + * + * @param {string} stringUrl Pathname to JavaScript file + * @param {string} name Name of the worker to execute + */ + new (stringUrl: string, name?: string): SharedWorker.SharedWorker; +};