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 * ------------------------------------------------------------------------------------------ */
6 var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7 if (k2 === undefined) k2 = k;
8 Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
9 }) : (function(o, m, k, k2) {
10 if (k2 === undefined) k2 = k;
13 var __exportStar = (this && this.__exportStar) || function(m, exports) {
14 for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
16 Object.defineProperty(exports, "__esModule", { value: true });
17 exports.createMessageConnection = exports.BrowserMessageWriter = exports.BrowserMessageReader = void 0;
18 const ril_1 = require("./ril");
19 // Install the browser runtime abstract.
20 ril_1.default.install();
21 const api_1 = require("../common/api");
22 __exportStar(require("../common/api"), exports);
23 class BrowserMessageReader extends api_1.AbstractMessageReader {
24 constructor(context) {
26 this._onData = new api_1.Emitter();
27 this._messageListener = (event) => {
28 this._onData.fire(event.data);
30 context.addEventListener('error', (event) => this.fireError(event));
31 context.onmessage = this._messageListener;
34 return this._onData.event(callback);
37 exports.BrowserMessageReader = BrowserMessageReader;
38 class BrowserMessageWriter extends api_1.AbstractMessageWriter {
39 constructor(context) {
41 this.context = context;
43 context.addEventListener('error', (event) => this.fireError(event));
47 this.context.postMessage(msg);
48 return Promise.resolve();
51 this.handleError(error, msg);
52 return Promise.reject(error);
55 handleError(error, msg) {
57 this.fireError(error, msg, this.errorCount);
62 exports.BrowserMessageWriter = BrowserMessageWriter;
63 function createMessageConnection(reader, writer, logger, options) {
64 if (logger === undefined) {
65 logger = api_1.NullLogger;
67 if (api_1.ConnectionStrategy.is(options)) {
68 options = { connectionStrategy: options };
70 return api_1.createMessageConnection(reader, writer, logger, options);
72 exports.createMessageConnection = createMessageConnection;
73 //# sourceMappingURL=main.js.map