From 9f572e72fbc6392f5bfdc879c74c5890e0f08037 Mon Sep 17 00:00:00 2001 From: Toshiya Nakakura Date: Thu, 11 Dec 2014 19:51:28 +0900 Subject: [PATCH] add sharedworker/SharedWorker.d.ts --- sharedworker/SharedWorker-tests.ts | 9 +++++++++ sharedworker/SharedWorker.d.ts | 29 +++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+) create mode 100644 sharedworker/SharedWorker-tests.ts create mode 100644 sharedworker/SharedWorker.d.ts 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; +};