UNPKG

1.43 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3var tslib_1 = require("tslib");
4var utilities_1 = require("./utilities");
5var Connection = /** @class */ (function () {
6 function Connection() {
7 this.isUsingMockConnection = false;
8 }
9 Connection.prototype.mock = function (timing) {
10 if (timing === void 0) { timing = {}; }
11 var globalNavigator = navigator;
12 if (this.isUsingMockConnection) {
13 throw new Error('You tried to mock navigator.connection when it was already mocked.');
14 }
15 this.originalConnection = globalNavigator.connection;
16 var mockConnection = tslib_1.__assign({ downlink: 0, effectiveType: '3g', onchange: null, rtt: 100, saveData: false }, timing);
17 utilities_1.set(globalNavigator, 'connection', mockConnection);
18 this.isUsingMockConnection = true;
19 };
20 Connection.prototype.restore = function () {
21 var globalNavigator = navigator;
22 if (!this.isUsingMockConnection) {
23 throw new Error('You tried to restore navigator.connection when it was already restored.');
24 }
25 utilities_1.set(globalNavigator, 'connection', this.originalConnection);
26 this.isUsingMockConnection = false;
27 };
28 Connection.prototype.isMocked = function () {
29 return this.isUsingMockConnection;
30 };
31 return Connection;
32}());
33exports.Connection = Connection;