diff --git a/src/Launcher.js b/src/Launcher.js index 85f217c93f577..c63ac5ceb713d 100644 --- a/src/Launcher.js +++ b/src/Launcher.js @@ -28,7 +28,7 @@ const fs = require('fs'); const {helper, assert, debugError} = require('./helper'); const debugLauncher = require('debug')(`puppeteer:launcher`); const {TimeoutError} = require('./Errors'); -const WebSocketTransport = require('./WebSocketTransport'); +const {WebSocketTransport} = require('./WebSocketTransport'); const {PipeTransport} = require('./PipeTransport'); const mkdtempAsync = helper.promisify(fs.mkdtemp); diff --git a/src/WebSocketTransport.js b/src/WebSocketTransport.ts similarity index 75% rename from src/WebSocketTransport.js rename to src/WebSocketTransport.ts index 065a8eb9b3ee8..c8a97fd408f5d 100644 --- a/src/WebSocketTransport.js +++ b/src/WebSocketTransport.ts @@ -13,17 +13,10 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -const NodeWebSocket = require('ws'); +import * as NodeWebSocket from 'ws'; -/** - * @implements {!Puppeteer.ConnectionTransport} - */ -class WebSocketTransport { - /** - * @param {string} url - * @return {!Promise} - */ - static create(url) { +export class WebSocketTransport implements Puppeteer.ConnectionTransport { + static create(url: string): Promise { return new Promise((resolve, reject) => { const ws = new NodeWebSocket(url, [], { perMessageDeflate: false, @@ -35,16 +28,17 @@ class WebSocketTransport { }); } - /** - * @param {!NodeWebSocket} ws - */ - constructor(ws) { + _ws: NodeWebSocket; + onmessage?: (message: string) => void; + onclose?: () => void; + + constructor(ws: NodeWebSocket) { this._ws = ws; this._ws.addEventListener('message', event => { if (this.onmessage) this.onmessage.call(null, event.data); }); - this._ws.addEventListener('close', event => { + this._ws.addEventListener('close', () => { if (this.onclose) this.onclose.call(null); }); @@ -54,16 +48,12 @@ class WebSocketTransport { this.onclose = null; } - /** - * @param {string} message - */ - send(message) { + send(message): void { this._ws.send(message); } - close() { + close(): void { this._ws.close(); } } -module.exports = WebSocketTransport;