1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | var tslib_1 = require("tslib");
|
4 | var utilities_1 = require("./utilities");
|
5 | var Connection = (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 | }());
|
33 | exports.Connection = Connection;
|