@cloudcare/browser-core 3.1.18 → 3.1.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/browser/fetchObservable.js +62 -32
- package/cjs/browser/fetchObservable.js.map +1 -1
- package/cjs/browser/xhrObservable.js +31 -39
- package/cjs/browser/xhrObservable.js.map +1 -1
- package/cjs/dataMap.js +1 -0
- package/cjs/dataMap.js.map +1 -1
- package/cjs/helper/deviceInfo.js +1 -2
- package/cjs/helper/deviceInfo.js.map +1 -1
- package/cjs/helper/enums.js +6 -1
- package/cjs/helper/enums.js.map +1 -1
- package/cjs/helper/instrumentMethod.js +47 -44
- package/cjs/helper/instrumentMethod.js.map +1 -1
- package/cjs/helper/tools.js +15 -0
- package/cjs/helper/tools.js.map +1 -1
- package/cjs/helper/valueHistory.js +123 -0
- package/cjs/helper/valueHistory.js.map +1 -0
- package/cjs/index.js +4 -4
- package/cjs/index.js.map +1 -1
- package/cjs/session/sessionManagement.js +4 -2
- package/cjs/session/sessionManagement.js.map +1 -1
- package/cjs/tracekit/tracekit.js +29 -25
- package/cjs/tracekit/tracekit.js.map +1 -1
- package/esm/browser/fetchObservable.js +63 -34
- package/esm/browser/fetchObservable.js.map +1 -1
- package/esm/browser/xhrObservable.js +33 -41
- package/esm/browser/xhrObservable.js.map +1 -1
- package/esm/dataMap.js +1 -0
- package/esm/dataMap.js.map +1 -1
- package/esm/helper/deviceInfo.js +1 -2
- package/esm/helper/deviceInfo.js.map +1 -1
- package/esm/helper/enums.js +4 -0
- package/esm/helper/enums.js.map +1 -1
- package/esm/helper/instrumentMethod.js +48 -44
- package/esm/helper/instrumentMethod.js.map +1 -1
- package/esm/helper/tools.js +13 -0
- package/esm/helper/tools.js.map +1 -1
- package/esm/helper/valueHistory.js +115 -0
- package/esm/helper/valueHistory.js.map +1 -0
- package/esm/index.js +1 -1
- package/esm/index.js.map +1 -1
- package/esm/session/sessionManagement.js +4 -2
- package/esm/session/sessionManagement.js.map +1 -1
- package/esm/tracekit/tracekit.js +30 -26
- package/esm/tracekit/tracekit.js.map +1 -1
- package/package.json +2 -2
- package/src/browser/fetchObservable.js +71 -50
- package/src/browser/xhrObservable.js +39 -54
- package/src/dataMap.js +1 -0
- package/src/helper/deviceInfo.js +1 -2
- package/src/helper/enums.js +4 -1
- package/src/helper/instrumentMethod.js +61 -44
- package/src/helper/tools.js +13 -0
- package/src/helper/valueHistory.js +116 -0
- package/src/index.js +1 -1
- package/src/session/sessionManagement.js +4 -2
- package/src/tracekit/tracekit.js +29 -25
- package/cjs/helper/contextHistory.js +0 -117
- package/cjs/helper/contextHistory.js.map +0 -1
- package/esm/helper/contextHistory.js +0 -109
- package/esm/helper/contextHistory.js.map +0 -1
- package/src/helper/contextHistory.js +0 -101
|
@@ -1,117 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.CLEAR_OLD_CONTEXTS_INTERVAL = void 0;
|
|
7
|
-
exports.ContextHistory = ContextHistory;
|
|
8
|
-
var _tools = require("./tools");
|
|
9
|
-
var _timer = require("./timer");
|
|
10
|
-
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
|
|
11
|
-
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
12
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
13
|
-
var END_OF_TIMES = Infinity;
|
|
14
|
-
var CLEAR_OLD_CONTEXTS_INTERVAL = _tools.ONE_MINUTE;
|
|
15
|
-
exports.CLEAR_OLD_CONTEXTS_INTERVAL = CLEAR_OLD_CONTEXTS_INTERVAL;
|
|
16
|
-
function ContextHistory(expireDelay, maxEntries) {
|
|
17
|
-
this.expireDelay = expireDelay;
|
|
18
|
-
this.entries = [];
|
|
19
|
-
this.maxEntries = maxEntries;
|
|
20
|
-
var _this = this;
|
|
21
|
-
this.clearOldContextsInterval = (0, _timer.setInterval)(function () {
|
|
22
|
-
_this.clearOldContexts();
|
|
23
|
-
}, CLEAR_OLD_CONTEXTS_INTERVAL);
|
|
24
|
-
}
|
|
25
|
-
ContextHistory.prototype.add = function (context, startTime) {
|
|
26
|
-
var _this = this;
|
|
27
|
-
var entry = {
|
|
28
|
-
context: context,
|
|
29
|
-
startTime: startTime,
|
|
30
|
-
endTime: END_OF_TIMES,
|
|
31
|
-
remove: function remove() {
|
|
32
|
-
var index = _this.entries.indexOf(entry);
|
|
33
|
-
if (index >= 0) {
|
|
34
|
-
_this.entries.splice(index, 1);
|
|
35
|
-
}
|
|
36
|
-
},
|
|
37
|
-
close: function close(endTime) {
|
|
38
|
-
entry.endTime = endTime;
|
|
39
|
-
}
|
|
40
|
-
};
|
|
41
|
-
if (this.maxEntries && this.entries.length >= this.maxEntries) {
|
|
42
|
-
this.entries.pop();
|
|
43
|
-
}
|
|
44
|
-
this.entries.unshift(entry);
|
|
45
|
-
return entry;
|
|
46
|
-
};
|
|
47
|
-
ContextHistory.prototype.find = function (startTime) {
|
|
48
|
-
if (typeof startTime === 'undefined') {
|
|
49
|
-
startTime = END_OF_TIMES;
|
|
50
|
-
}
|
|
51
|
-
var _iterator = _createForOfIteratorHelper(this.entries),
|
|
52
|
-
_step;
|
|
53
|
-
try {
|
|
54
|
-
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
55
|
-
var entry = _step.value;
|
|
56
|
-
if (entry.startTime <= startTime) {
|
|
57
|
-
if (startTime <= entry.endTime) {
|
|
58
|
-
return entry.context;
|
|
59
|
-
}
|
|
60
|
-
break;
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
//
|
|
64
|
-
} catch (err) {
|
|
65
|
-
_iterator.e(err);
|
|
66
|
-
} finally {
|
|
67
|
-
_iterator.f();
|
|
68
|
-
}
|
|
69
|
-
};
|
|
70
|
-
/**
|
|
71
|
-
* Helper function to close the currently active context, if any. This method assumes that entries
|
|
72
|
-
* are not overlapping.
|
|
73
|
-
*/
|
|
74
|
-
ContextHistory.prototype.closeActive = function (endTime) {
|
|
75
|
-
var latestEntry = this.entries[0];
|
|
76
|
-
if (latestEntry && latestEntry.endTime === END_OF_TIMES) {
|
|
77
|
-
latestEntry.close(endTime);
|
|
78
|
-
}
|
|
79
|
-
};
|
|
80
|
-
/**
|
|
81
|
-
* Return all contexts that were active during `startTime`, or all currently active contexts if no
|
|
82
|
-
* `startTime` is provided.
|
|
83
|
-
*/
|
|
84
|
-
ContextHistory.prototype.findAll = function (startTime, duration) {
|
|
85
|
-
if (typeof duration === 'undefined') {
|
|
86
|
-
duration = 0;
|
|
87
|
-
}
|
|
88
|
-
if (typeof startTime === 'undefined') {
|
|
89
|
-
startTime = END_OF_TIMES;
|
|
90
|
-
}
|
|
91
|
-
var endTime = (0, _tools.addDuration)(startTime, duration);
|
|
92
|
-
var result = (0, _tools.filter)(this.entries, function (entry) {
|
|
93
|
-
return entry.startTime <= endTime && startTime <= entry.endTime;
|
|
94
|
-
});
|
|
95
|
-
return (0, _tools.map)(result, function (entry) {
|
|
96
|
-
return entry.context;
|
|
97
|
-
});
|
|
98
|
-
};
|
|
99
|
-
/**
|
|
100
|
-
* Remove all entries from this collection.
|
|
101
|
-
*/
|
|
102
|
-
ContextHistory.prototype.reset = function () {
|
|
103
|
-
this.entries = [];
|
|
104
|
-
};
|
|
105
|
-
/**
|
|
106
|
-
* Stop internal garbage collection of past entries.
|
|
107
|
-
*/
|
|
108
|
-
ContextHistory.prototype.stop = function () {
|
|
109
|
-
(0, _timer.clearInterval)(this.clearOldContextsInterval);
|
|
110
|
-
};
|
|
111
|
-
ContextHistory.prototype.clearOldContexts = function () {
|
|
112
|
-
var oldTimeThreshold = (0, _tools.relativeNow)() - this.expireDelay;
|
|
113
|
-
while (this.entries.length > 0 && this.entries[this.entries.length - 1].endTime < oldTimeThreshold) {
|
|
114
|
-
this.entries.pop();
|
|
115
|
-
}
|
|
116
|
-
};
|
|
117
|
-
//# sourceMappingURL=contextHistory.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"contextHistory.js","names":["_tools","require","_timer","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","call","step","next","_e2","minLen","_arrayLikeToArray","Object","prototype","toString","slice","constructor","name","from","test","arr","len","arr2","END_OF_TIMES","Infinity","CLEAR_OLD_CONTEXTS_INTERVAL","ONE_MINUTE","exports","ContextHistory","expireDelay","maxEntries","entries","_this","clearOldContextsInterval","setInterval","clearOldContexts","add","context","startTime","entry","endTime","remove","index","indexOf","splice","close","pop","unshift","find","_iterator","_step","closeActive","latestEntry","findAll","duration","addDuration","result","filter","map","reset","stop","clearInterval","oldTimeThreshold","relativeNow"],"sources":["../../src/helper/contextHistory.js"],"sourcesContent":["import { relativeNow, ONE_MINUTE, filter, map, addDuration } from './tools'\nimport { setInterval, clearInterval } from './timer'\nvar END_OF_TIMES = Infinity\n\nexport var CLEAR_OLD_CONTEXTS_INTERVAL = ONE_MINUTE\nexport function ContextHistory(expireDelay, maxEntries) {\n this.expireDelay = expireDelay\n this.entries = []\n this.maxEntries = maxEntries\n var _this = this\n this.clearOldContextsInterval = setInterval(function () {\n _this.clearOldContexts()\n }, CLEAR_OLD_CONTEXTS_INTERVAL)\n}\n\nContextHistory.prototype.add = function (context, startTime) {\n var _this = this\n var entry = {\n context: context,\n startTime: startTime,\n endTime: END_OF_TIMES,\n remove: function () {\n var index = _this.entries.indexOf(entry)\n if (index >= 0) {\n _this.entries.splice(index, 1)\n }\n },\n close: function (endTime) {\n entry.endTime = endTime\n }\n }\n if (this.maxEntries && this.entries.length >= this.maxEntries) {\n this.entries.pop()\n }\n this.entries.unshift(entry)\n return entry\n}\nContextHistory.prototype.find = function (startTime) {\n if (typeof startTime === 'undefined') {\n startTime = END_OF_TIMES\n }\n for (var entry of this.entries) {\n if (entry.startTime <= startTime) {\n if (startTime <= entry.endTime) {\n return entry.context\n }\n break\n }\n }\n //\n}\n/**\n * Helper function to close the currently active context, if any. This method assumes that entries\n * are not overlapping.\n */\nContextHistory.prototype.closeActive = function (endTime) {\n var latestEntry = this.entries[0]\n if (latestEntry && latestEntry.endTime === END_OF_TIMES) {\n latestEntry.close(endTime)\n }\n}\n/**\n * Return all contexts that were active during `startTime`, or all currently active contexts if no\n * `startTime` is provided.\n */\nContextHistory.prototype.findAll = function (startTime, duration) {\n if (typeof duration === 'undefined') {\n duration = 0\n }\n if (typeof startTime === 'undefined') {\n startTime = END_OF_TIMES\n }\n var endTime = addDuration(startTime, duration)\n var result = filter(this.entries, function (entry) {\n return entry.startTime <= endTime && startTime <= entry.endTime\n })\n return map(result, function (entry) {\n return entry.context\n })\n}\n/**\n * Remove all entries from this collection.\n */\nContextHistory.prototype.reset = function () {\n this.entries = []\n}\n/**\n * Stop internal garbage collection of past entries.\n */\nContextHistory.prototype.stop = function () {\n clearInterval(this.clearOldContextsInterval)\n}\nContextHistory.prototype.clearOldContexts = function () {\n var oldTimeThreshold = relativeNow() - this.expireDelay\n while (\n this.entries.length > 0 &&\n this.entries[this.entries.length - 1].endTime < oldTimeThreshold\n ) {\n this.entries.pop()\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
|
|
2
|
-
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
3
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
4
|
-
import { relativeNow, ONE_MINUTE, filter, map, addDuration } from './tools';
|
|
5
|
-
import { setInterval, clearInterval } from './timer';
|
|
6
|
-
var END_OF_TIMES = Infinity;
|
|
7
|
-
export var CLEAR_OLD_CONTEXTS_INTERVAL = ONE_MINUTE;
|
|
8
|
-
export function ContextHistory(expireDelay, maxEntries) {
|
|
9
|
-
this.expireDelay = expireDelay;
|
|
10
|
-
this.entries = [];
|
|
11
|
-
this.maxEntries = maxEntries;
|
|
12
|
-
var _this = this;
|
|
13
|
-
this.clearOldContextsInterval = setInterval(function () {
|
|
14
|
-
_this.clearOldContexts();
|
|
15
|
-
}, CLEAR_OLD_CONTEXTS_INTERVAL);
|
|
16
|
-
}
|
|
17
|
-
ContextHistory.prototype.add = function (context, startTime) {
|
|
18
|
-
var _this = this;
|
|
19
|
-
var entry = {
|
|
20
|
-
context: context,
|
|
21
|
-
startTime: startTime,
|
|
22
|
-
endTime: END_OF_TIMES,
|
|
23
|
-
remove: function remove() {
|
|
24
|
-
var index = _this.entries.indexOf(entry);
|
|
25
|
-
if (index >= 0) {
|
|
26
|
-
_this.entries.splice(index, 1);
|
|
27
|
-
}
|
|
28
|
-
},
|
|
29
|
-
close: function close(endTime) {
|
|
30
|
-
entry.endTime = endTime;
|
|
31
|
-
}
|
|
32
|
-
};
|
|
33
|
-
if (this.maxEntries && this.entries.length >= this.maxEntries) {
|
|
34
|
-
this.entries.pop();
|
|
35
|
-
}
|
|
36
|
-
this.entries.unshift(entry);
|
|
37
|
-
return entry;
|
|
38
|
-
};
|
|
39
|
-
ContextHistory.prototype.find = function (startTime) {
|
|
40
|
-
if (typeof startTime === 'undefined') {
|
|
41
|
-
startTime = END_OF_TIMES;
|
|
42
|
-
}
|
|
43
|
-
var _iterator = _createForOfIteratorHelper(this.entries),
|
|
44
|
-
_step;
|
|
45
|
-
try {
|
|
46
|
-
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
47
|
-
var entry = _step.value;
|
|
48
|
-
if (entry.startTime <= startTime) {
|
|
49
|
-
if (startTime <= entry.endTime) {
|
|
50
|
-
return entry.context;
|
|
51
|
-
}
|
|
52
|
-
break;
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
//
|
|
56
|
-
} catch (err) {
|
|
57
|
-
_iterator.e(err);
|
|
58
|
-
} finally {
|
|
59
|
-
_iterator.f();
|
|
60
|
-
}
|
|
61
|
-
};
|
|
62
|
-
/**
|
|
63
|
-
* Helper function to close the currently active context, if any. This method assumes that entries
|
|
64
|
-
* are not overlapping.
|
|
65
|
-
*/
|
|
66
|
-
ContextHistory.prototype.closeActive = function (endTime) {
|
|
67
|
-
var latestEntry = this.entries[0];
|
|
68
|
-
if (latestEntry && latestEntry.endTime === END_OF_TIMES) {
|
|
69
|
-
latestEntry.close(endTime);
|
|
70
|
-
}
|
|
71
|
-
};
|
|
72
|
-
/**
|
|
73
|
-
* Return all contexts that were active during `startTime`, or all currently active contexts if no
|
|
74
|
-
* `startTime` is provided.
|
|
75
|
-
*/
|
|
76
|
-
ContextHistory.prototype.findAll = function (startTime, duration) {
|
|
77
|
-
if (typeof duration === 'undefined') {
|
|
78
|
-
duration = 0;
|
|
79
|
-
}
|
|
80
|
-
if (typeof startTime === 'undefined') {
|
|
81
|
-
startTime = END_OF_TIMES;
|
|
82
|
-
}
|
|
83
|
-
var endTime = addDuration(startTime, duration);
|
|
84
|
-
var result = filter(this.entries, function (entry) {
|
|
85
|
-
return entry.startTime <= endTime && startTime <= entry.endTime;
|
|
86
|
-
});
|
|
87
|
-
return map(result, function (entry) {
|
|
88
|
-
return entry.context;
|
|
89
|
-
});
|
|
90
|
-
};
|
|
91
|
-
/**
|
|
92
|
-
* Remove all entries from this collection.
|
|
93
|
-
*/
|
|
94
|
-
ContextHistory.prototype.reset = function () {
|
|
95
|
-
this.entries = [];
|
|
96
|
-
};
|
|
97
|
-
/**
|
|
98
|
-
* Stop internal garbage collection of past entries.
|
|
99
|
-
*/
|
|
100
|
-
ContextHistory.prototype.stop = function () {
|
|
101
|
-
clearInterval(this.clearOldContextsInterval);
|
|
102
|
-
};
|
|
103
|
-
ContextHistory.prototype.clearOldContexts = function () {
|
|
104
|
-
var oldTimeThreshold = relativeNow() - this.expireDelay;
|
|
105
|
-
while (this.entries.length > 0 && this.entries[this.entries.length - 1].endTime < oldTimeThreshold) {
|
|
106
|
-
this.entries.pop();
|
|
107
|
-
}
|
|
108
|
-
};
|
|
109
|
-
//# sourceMappingURL=contextHistory.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"contextHistory.js","names":["relativeNow","ONE_MINUTE","filter","map","addDuration","setInterval","clearInterval","END_OF_TIMES","Infinity","CLEAR_OLD_CONTEXTS_INTERVAL","ContextHistory","expireDelay","maxEntries","entries","_this","clearOldContextsInterval","clearOldContexts","prototype","add","context","startTime","entry","endTime","remove","index","indexOf","splice","close","length","pop","unshift","find","_iterator","_createForOfIteratorHelper","_step","s","n","done","value","err","e","f","closeActive","latestEntry","findAll","duration","result","reset","stop","oldTimeThreshold"],"sources":["../../src/helper/contextHistory.js"],"sourcesContent":["import { relativeNow, ONE_MINUTE, filter, map, addDuration } from './tools'\nimport { setInterval, clearInterval } from './timer'\nvar END_OF_TIMES = Infinity\n\nexport var CLEAR_OLD_CONTEXTS_INTERVAL = ONE_MINUTE\nexport function ContextHistory(expireDelay, maxEntries) {\n this.expireDelay = expireDelay\n this.entries = []\n this.maxEntries = maxEntries\n var _this = this\n this.clearOldContextsInterval = setInterval(function () {\n _this.clearOldContexts()\n }, CLEAR_OLD_CONTEXTS_INTERVAL)\n}\n\nContextHistory.prototype.add = function (context, startTime) {\n var _this = this\n var entry = {\n context: context,\n startTime: startTime,\n endTime: END_OF_TIMES,\n remove: function () {\n var index = _this.entries.indexOf(entry)\n if (index >= 0) {\n _this.entries.splice(index, 1)\n }\n },\n close: function (endTime) {\n entry.endTime = endTime\n }\n }\n if (this.maxEntries && this.entries.length >= this.maxEntries) {\n this.entries.pop()\n }\n this.entries.unshift(entry)\n return entry\n}\nContextHistory.prototype.find = function (startTime) {\n if (typeof startTime === 'undefined') {\n startTime = END_OF_TIMES\n }\n for (var entry of this.entries) {\n if (entry.startTime <= startTime) {\n if (startTime <= entry.endTime) {\n return entry.context\n }\n break\n }\n }\n //\n}\n/**\n * Helper function to close the currently active context, if any. This method assumes that entries\n * are not overlapping.\n */\nContextHistory.prototype.closeActive = function (endTime) {\n var latestEntry = this.entries[0]\n if (latestEntry && latestEntry.endTime === END_OF_TIMES) {\n latestEntry.close(endTime)\n }\n}\n/**\n * Return all contexts that were active during `startTime`, or all currently active contexts if no\n * `startTime` is provided.\n */\nContextHistory.prototype.findAll = function (startTime, duration) {\n if (typeof duration === 'undefined') {\n duration = 0\n }\n if (typeof startTime === 'undefined') {\n startTime = END_OF_TIMES\n }\n var endTime = addDuration(startTime, duration)\n var result = filter(this.entries, function (entry) {\n return entry.startTime <= endTime && startTime <= entry.endTime\n })\n return map(result, function (entry) {\n return entry.context\n })\n}\n/**\n * Remove all entries from this collection.\n */\nContextHistory.prototype.reset = function () {\n this.entries = []\n}\n/**\n * Stop internal garbage collection of past entries.\n */\nContextHistory.prototype.stop = function () {\n clearInterval(this.clearOldContextsInterval)\n}\nContextHistory.prototype.clearOldContexts = function () {\n var oldTimeThreshold = relativeNow() - this.expireDelay\n while (\n this.entries.length > 0 &&\n this.entries[this.entries.length - 1].endTime < oldTimeThreshold\n ) {\n this.entries.pop()\n }\n}\n"],"mappings":";;;AAAA,SAASA,WAAW,EAAEC,UAAU,EAAEC,MAAM,EAAEC,GAAG,EAAEC,WAAW,QAAQ,SAAS;AAC3E,SAASC,WAAW,EAAEC,aAAa,QAAQ,SAAS;AACpD,IAAIC,YAAY,GAAGC,QAAQ;AAE3B,OAAO,IAAIC,2BAA2B,GAAGR,UAAU;AACnD,OAAO,SAASS,cAAcA,CAACC,WAAW,EAAEC,UAAU,EAAE;EACtD,IAAI,CAACD,WAAW,GAAGA,WAAW;EAC9B,IAAI,CAACE,OAAO,GAAG,EAAE;EACjB,IAAI,CAACD,UAAU,GAAGA,UAAU;EAC5B,IAAIE,KAAK,GAAG,IAAI;EAChB,IAAI,CAACC,wBAAwB,GAAGV,WAAW,CAAC,YAAY;IACtDS,KAAK,CAACE,gBAAgB,CAAC,CAAC;EAC1B,CAAC,EAAEP,2BAA2B,CAAC;AACjC;AAEAC,cAAc,CAACO,SAAS,CAACC,GAAG,GAAG,UAAUC,OAAO,EAAEC,SAAS,EAAE;EAC3D,IAAIN,KAAK,GAAG,IAAI;EAChB,IAAIO,KAAK,GAAG;IACVF,OAAO,EAAEA,OAAO;IAChBC,SAAS,EAAEA,SAAS;IACpBE,OAAO,EAAEf,YAAY;IACrBgB,MAAM,EAAE,SAAAA,OAAA,EAAY;MAClB,IAAIC,KAAK,GAAGV,KAAK,CAACD,OAAO,CAACY,OAAO,CAACJ,KAAK,CAAC;MACxC,IAAIG,KAAK,IAAI,CAAC,EAAE;QACdV,KAAK,CAACD,OAAO,CAACa,MAAM,CAACF,KAAK,EAAE,CAAC,CAAC;MAChC;IACF,CAAC;IACDG,KAAK,EAAE,SAAAA,MAAUL,OAAO,EAAE;MACxBD,KAAK,CAACC,OAAO,GAAGA,OAAO;IACzB;EACF,CAAC;EACD,IAAI,IAAI,CAACV,UAAU,IAAI,IAAI,CAACC,OAAO,CAACe,MAAM,IAAI,IAAI,CAAChB,UAAU,EAAE;IAC7D,IAAI,CAACC,OAAO,CAACgB,GAAG,CAAC,CAAC;EACpB;EACA,IAAI,CAAChB,OAAO,CAACiB,OAAO,CAACT,KAAK,CAAC;EAC3B,OAAOA,KAAK;AACd,CAAC;AACDX,cAAc,CAACO,SAAS,CAACc,IAAI,GAAG,UAAUX,SAAS,EAAE;EACnD,IAAI,OAAOA,SAAS,KAAK,WAAW,EAAE;IACpCA,SAAS,GAAGb,YAAY;EAC1B;EAAC,IAAAyB,SAAA,GAAAC,0BAAA,CACiB,IAAI,CAACpB,OAAO;IAAAqB,KAAA;EAAA;IAA9B,KAAAF,SAAA,CAAAG,CAAA,MAAAD,KAAA,GAAAF,SAAA,CAAAI,CAAA,IAAAC,IAAA,GAAgC;MAAA,IAAvBhB,KAAK,GAAAa,KAAA,CAAAI,KAAA;MACZ,IAAIjB,KAAK,CAACD,SAAS,IAAIA,SAAS,EAAE;QAChC,IAAIA,SAAS,IAAIC,KAAK,CAACC,OAAO,EAAE;UAC9B,OAAOD,KAAK,CAACF,OAAO;QACtB;QACA;MACF;IACF;IACA;EAAA,SAAAoB,GAAA;IAAAP,SAAA,CAAAQ,CAAA,CAAAD,GAAA;EAAA;IAAAP,SAAA,CAAAS,CAAA;EAAA;AACF,CAAC;AACD;AACA;AACA;AACA;AACA/B,cAAc,CAACO,SAAS,CAACyB,WAAW,GAAG,UAAUpB,OAAO,EAAE;EACxD,IAAIqB,WAAW,GAAG,IAAI,CAAC9B,OAAO,CAAC,CAAC,CAAC;EACjC,IAAI8B,WAAW,IAAIA,WAAW,CAACrB,OAAO,KAAKf,YAAY,EAAE;IACvDoC,WAAW,CAAChB,KAAK,CAACL,OAAO,CAAC;EAC5B;AACF,CAAC;AACD;AACA;AACA;AACA;AACAZ,cAAc,CAACO,SAAS,CAAC2B,OAAO,GAAG,UAAUxB,SAAS,EAAEyB,QAAQ,EAAE;EAChE,IAAI,OAAOA,QAAQ,KAAK,WAAW,EAAE;IACnCA,QAAQ,GAAG,CAAC;EACd;EACA,IAAI,OAAOzB,SAAS,KAAK,WAAW,EAAE;IACpCA,SAAS,GAAGb,YAAY;EAC1B;EACA,IAAIe,OAAO,GAAGlB,WAAW,CAACgB,SAAS,EAAEyB,QAAQ,CAAC;EAC9C,IAAIC,MAAM,GAAG5C,MAAM,CAAC,IAAI,CAACW,OAAO,EAAE,UAAUQ,KAAK,EAAE;IACjD,OAAOA,KAAK,CAACD,SAAS,IAAIE,OAAO,IAAIF,SAAS,IAAIC,KAAK,CAACC,OAAO;EACjE,CAAC,CAAC;EACF,OAAOnB,GAAG,CAAC2C,MAAM,EAAE,UAAUzB,KAAK,EAAE;IAClC,OAAOA,KAAK,CAACF,OAAO;EACtB,CAAC,CAAC;AACJ,CAAC;AACD;AACA;AACA;AACAT,cAAc,CAACO,SAAS,CAAC8B,KAAK,GAAG,YAAY;EAC3C,IAAI,CAAClC,OAAO,GAAG,EAAE;AACnB,CAAC;AACD;AACA;AACA;AACAH,cAAc,CAACO,SAAS,CAAC+B,IAAI,GAAG,YAAY;EAC1C1C,aAAa,CAAC,IAAI,CAACS,wBAAwB,CAAC;AAC9C,CAAC;AACDL,cAAc,CAACO,SAAS,CAACD,gBAAgB,GAAG,YAAY;EACtD,IAAIiC,gBAAgB,GAAGjD,WAAW,CAAC,CAAC,GAAG,IAAI,CAACW,WAAW;EACvD,OACE,IAAI,CAACE,OAAO,CAACe,MAAM,GAAG,CAAC,IACvB,IAAI,CAACf,OAAO,CAAC,IAAI,CAACA,OAAO,CAACe,MAAM,GAAG,CAAC,CAAC,CAACN,OAAO,GAAG2B,gBAAgB,EAChE;IACA,IAAI,CAACpC,OAAO,CAACgB,GAAG,CAAC,CAAC;EACpB;AACF,CAAC","ignoreList":[]}
|
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
import { relativeNow, ONE_MINUTE, filter, map, addDuration } from './tools'
|
|
2
|
-
import { setInterval, clearInterval } from './timer'
|
|
3
|
-
var END_OF_TIMES = Infinity
|
|
4
|
-
|
|
5
|
-
export var CLEAR_OLD_CONTEXTS_INTERVAL = ONE_MINUTE
|
|
6
|
-
export function ContextHistory(expireDelay, maxEntries) {
|
|
7
|
-
this.expireDelay = expireDelay
|
|
8
|
-
this.entries = []
|
|
9
|
-
this.maxEntries = maxEntries
|
|
10
|
-
var _this = this
|
|
11
|
-
this.clearOldContextsInterval = setInterval(function () {
|
|
12
|
-
_this.clearOldContexts()
|
|
13
|
-
}, CLEAR_OLD_CONTEXTS_INTERVAL)
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
ContextHistory.prototype.add = function (context, startTime) {
|
|
17
|
-
var _this = this
|
|
18
|
-
var entry = {
|
|
19
|
-
context: context,
|
|
20
|
-
startTime: startTime,
|
|
21
|
-
endTime: END_OF_TIMES,
|
|
22
|
-
remove: function () {
|
|
23
|
-
var index = _this.entries.indexOf(entry)
|
|
24
|
-
if (index >= 0) {
|
|
25
|
-
_this.entries.splice(index, 1)
|
|
26
|
-
}
|
|
27
|
-
},
|
|
28
|
-
close: function (endTime) {
|
|
29
|
-
entry.endTime = endTime
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
if (this.maxEntries && this.entries.length >= this.maxEntries) {
|
|
33
|
-
this.entries.pop()
|
|
34
|
-
}
|
|
35
|
-
this.entries.unshift(entry)
|
|
36
|
-
return entry
|
|
37
|
-
}
|
|
38
|
-
ContextHistory.prototype.find = function (startTime) {
|
|
39
|
-
if (typeof startTime === 'undefined') {
|
|
40
|
-
startTime = END_OF_TIMES
|
|
41
|
-
}
|
|
42
|
-
for (var entry of this.entries) {
|
|
43
|
-
if (entry.startTime <= startTime) {
|
|
44
|
-
if (startTime <= entry.endTime) {
|
|
45
|
-
return entry.context
|
|
46
|
-
}
|
|
47
|
-
break
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
//
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
|
-
* Helper function to close the currently active context, if any. This method assumes that entries
|
|
54
|
-
* are not overlapping.
|
|
55
|
-
*/
|
|
56
|
-
ContextHistory.prototype.closeActive = function (endTime) {
|
|
57
|
-
var latestEntry = this.entries[0]
|
|
58
|
-
if (latestEntry && latestEntry.endTime === END_OF_TIMES) {
|
|
59
|
-
latestEntry.close(endTime)
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* Return all contexts that were active during `startTime`, or all currently active contexts if no
|
|
64
|
-
* `startTime` is provided.
|
|
65
|
-
*/
|
|
66
|
-
ContextHistory.prototype.findAll = function (startTime, duration) {
|
|
67
|
-
if (typeof duration === 'undefined') {
|
|
68
|
-
duration = 0
|
|
69
|
-
}
|
|
70
|
-
if (typeof startTime === 'undefined') {
|
|
71
|
-
startTime = END_OF_TIMES
|
|
72
|
-
}
|
|
73
|
-
var endTime = addDuration(startTime, duration)
|
|
74
|
-
var result = filter(this.entries, function (entry) {
|
|
75
|
-
return entry.startTime <= endTime && startTime <= entry.endTime
|
|
76
|
-
})
|
|
77
|
-
return map(result, function (entry) {
|
|
78
|
-
return entry.context
|
|
79
|
-
})
|
|
80
|
-
}
|
|
81
|
-
/**
|
|
82
|
-
* Remove all entries from this collection.
|
|
83
|
-
*/
|
|
84
|
-
ContextHistory.prototype.reset = function () {
|
|
85
|
-
this.entries = []
|
|
86
|
-
}
|
|
87
|
-
/**
|
|
88
|
-
* Stop internal garbage collection of past entries.
|
|
89
|
-
*/
|
|
90
|
-
ContextHistory.prototype.stop = function () {
|
|
91
|
-
clearInterval(this.clearOldContextsInterval)
|
|
92
|
-
}
|
|
93
|
-
ContextHistory.prototype.clearOldContexts = function () {
|
|
94
|
-
var oldTimeThreshold = relativeNow() - this.expireDelay
|
|
95
|
-
while (
|
|
96
|
-
this.entries.length > 0 &&
|
|
97
|
-
this.entries[this.entries.length - 1].endTime < oldTimeThreshold
|
|
98
|
-
) {
|
|
99
|
-
this.entries.pop()
|
|
100
|
-
}
|
|
101
|
-
}
|