--- /dev/null
+"use strict";
+/* --------------------------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for license information.
+ * ------------------------------------------------------------------------------------------ */
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
+}) : (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ o[k2] = m[k];
+}));
+var __exportStar = (this && this.__exportStar) || function(m, exports) {
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.createMessageConnection = exports.BrowserMessageWriter = exports.BrowserMessageReader = void 0;
+const ril_1 = require("./ril");
+// Install the browser runtime abstract.
+ril_1.default.install();
+const api_1 = require("../common/api");
+__exportStar(require("../common/api"), exports);
+class BrowserMessageReader extends api_1.AbstractMessageReader {
+ constructor(context) {
+ super();
+ this._onData = new api_1.Emitter();
+ this._messageListener = (event) => {
+ this._onData.fire(event.data);
+ };
+ context.addEventListener('error', (event) => this.fireError(event));
+ context.onmessage = this._messageListener;
+ }
+ listen(callback) {
+ return this._onData.event(callback);
+ }
+}
+exports.BrowserMessageReader = BrowserMessageReader;
+class BrowserMessageWriter extends api_1.AbstractMessageWriter {
+ constructor(context) {
+ super();
+ this.context = context;
+ this.errorCount = 0;
+ context.addEventListener('error', (event) => this.fireError(event));
+ }
+ write(msg) {
+ try {
+ this.context.postMessage(msg);
+ return Promise.resolve();
+ }
+ catch (error) {
+ this.handleError(error, msg);
+ return Promise.reject(error);
+ }
+ }
+ handleError(error, msg) {
+ this.errorCount++;
+ this.fireError(error, msg, this.errorCount);
+ }
+ end() {
+ }
+}
+exports.BrowserMessageWriter = BrowserMessageWriter;
+function createMessageConnection(reader, writer, logger, options) {
+ if (logger === undefined) {
+ logger = api_1.NullLogger;
+ }
+ if (api_1.ConnectionStrategy.is(options)) {
+ options = { connectionStrategy: options };
+ }
+ return api_1.createMessageConnection(reader, writer, logger, options);
+}
+exports.createMessageConnection = createMessageConnection;
+//# sourceMappingURL=main.js.map
\ No newline at end of file