UNPKG

2.96 kBJavaScriptView Raw
1"use strict";
2/* --------------------------------------------------------------------------------------------
3 * Copyright (c) Microsoft Corporation. All rights reserved.
4 * Licensed under the MIT License. See License.txt in the project root for license information.
5 * ------------------------------------------------------------------------------------------ */
6var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7 if (k2 === undefined) k2 = k;
8 var desc = Object.getOwnPropertyDescriptor(m, k);
9 if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
10 desc = { enumerable: true, get: function() { return m[k]; } };
11 }
12 Object.defineProperty(o, k2, desc);
13}) : (function(o, m, k, k2) {
14 if (k2 === undefined) k2 = k;
15 o[k2] = m[k];
16}));
17var __exportStar = (this && this.__exportStar) || function(m, exports) {
18 for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
19};
20Object.defineProperty(exports, "__esModule", { value: true });
21exports.createMessageConnection = exports.BrowserMessageWriter = exports.BrowserMessageReader = void 0;
22const ril_1 = require("./ril");
23// Install the browser runtime abstract.
24ril_1.default.install();
25const api_1 = require("../common/api");
26__exportStar(require("../common/api"), exports);
27class BrowserMessageReader extends api_1.AbstractMessageReader {
28 constructor(port) {
29 super();
30 this._onData = new api_1.Emitter();
31 this._messageListener = (event) => {
32 this._onData.fire(event.data);
33 };
34 port.addEventListener('error', (event) => this.fireError(event));
35 port.onmessage = this._messageListener;
36 }
37 listen(callback) {
38 return this._onData.event(callback);
39 }
40}
41exports.BrowserMessageReader = BrowserMessageReader;
42class BrowserMessageWriter extends api_1.AbstractMessageWriter {
43 constructor(port) {
44 super();
45 this.port = port;
46 this.errorCount = 0;
47 port.addEventListener('error', (event) => this.fireError(event));
48 }
49 write(msg) {
50 try {
51 this.port.postMessage(msg);
52 return Promise.resolve();
53 }
54 catch (error) {
55 this.handleError(error, msg);
56 return Promise.reject(error);
57 }
58 }
59 handleError(error, msg) {
60 this.errorCount++;
61 this.fireError(error, msg, this.errorCount);
62 }
63 end() {
64 }
65}
66exports.BrowserMessageWriter = BrowserMessageWriter;
67function createMessageConnection(reader, writer, logger, options) {
68 if (logger === undefined) {
69 logger = api_1.NullLogger;
70 }
71 if (api_1.ConnectionStrategy.is(options)) {
72 options = { connectionStrategy: options };
73 }
74 return (0, api_1.createMessageConnection)(reader, writer, logger, options);
75}
76exports.createMessageConnection = createMessageConnection;