UNPKG

1.68 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3var tslib_1 = require("tslib");
4var utilities_1 = require("./utilities");
5var Performance = /** @class */ (function () {
6 function Performance() {
7 this.isUsingMockUserTiming = false;
8 }
9 Performance.prototype.mock = function (timing) {
10 if (timing === void 0) { timing = {}; }
11 if (this.isUsingMockUserTiming) {
12 throw new Error('You tried to mock window.performance.timing when it was already mocked.');
13 }
14 this.originalUserTiming = window.performance.timing;
15 var mockTiming = tslib_1.__assign({ navigationStart: 0, unloadEventStart: 0, unloadEventEnd: 0, redirectStart: 0, redirectEnd: 0, fetchStart: 0, domainLookupStart: 0, domainLookupEnd: 0, connectStart: 0, connectEnd: 0, secureConnectionStart: 0, requestStart: 0, responseStart: 0, responseEnd: 0, domLoading: 0, domInteractive: 0, domContentLoadedEventStart: 0, domContentLoadedEventEnd: 0, domComplete: 0, loadEventStart: 0, loadEventEnd: 0 }, timing);
16 utilities_1.set(window.performance, 'timing', mockTiming);
17 this.isUsingMockUserTiming = true;
18 };
19 Performance.prototype.restore = function () {
20 if (!this.isUsingMockUserTiming) {
21 throw new Error('You tried to restore window.performance.timing when it was already restored.');
22 }
23 utilities_1.set(window.performance, 'timing', this.originalUserTiming);
24 this.isUsingMockUserTiming = false;
25 };
26 Performance.prototype.isMocked = function () {
27 return this.isUsingMockUserTiming;
28 };
29 return Performance;
30}());
31exports.default = Performance;