@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.
Files changed (61) hide show
  1. package/cjs/browser/fetchObservable.js +62 -32
  2. package/cjs/browser/fetchObservable.js.map +1 -1
  3. package/cjs/browser/xhrObservable.js +31 -39
  4. package/cjs/browser/xhrObservable.js.map +1 -1
  5. package/cjs/dataMap.js +1 -0
  6. package/cjs/dataMap.js.map +1 -1
  7. package/cjs/helper/deviceInfo.js +1 -2
  8. package/cjs/helper/deviceInfo.js.map +1 -1
  9. package/cjs/helper/enums.js +6 -1
  10. package/cjs/helper/enums.js.map +1 -1
  11. package/cjs/helper/instrumentMethod.js +47 -44
  12. package/cjs/helper/instrumentMethod.js.map +1 -1
  13. package/cjs/helper/tools.js +15 -0
  14. package/cjs/helper/tools.js.map +1 -1
  15. package/cjs/helper/valueHistory.js +123 -0
  16. package/cjs/helper/valueHistory.js.map +1 -0
  17. package/cjs/index.js +4 -4
  18. package/cjs/index.js.map +1 -1
  19. package/cjs/session/sessionManagement.js +4 -2
  20. package/cjs/session/sessionManagement.js.map +1 -1
  21. package/cjs/tracekit/tracekit.js +29 -25
  22. package/cjs/tracekit/tracekit.js.map +1 -1
  23. package/esm/browser/fetchObservable.js +63 -34
  24. package/esm/browser/fetchObservable.js.map +1 -1
  25. package/esm/browser/xhrObservable.js +33 -41
  26. package/esm/browser/xhrObservable.js.map +1 -1
  27. package/esm/dataMap.js +1 -0
  28. package/esm/dataMap.js.map +1 -1
  29. package/esm/helper/deviceInfo.js +1 -2
  30. package/esm/helper/deviceInfo.js.map +1 -1
  31. package/esm/helper/enums.js +4 -0
  32. package/esm/helper/enums.js.map +1 -1
  33. package/esm/helper/instrumentMethod.js +48 -44
  34. package/esm/helper/instrumentMethod.js.map +1 -1
  35. package/esm/helper/tools.js +13 -0
  36. package/esm/helper/tools.js.map +1 -1
  37. package/esm/helper/valueHistory.js +115 -0
  38. package/esm/helper/valueHistory.js.map +1 -0
  39. package/esm/index.js +1 -1
  40. package/esm/index.js.map +1 -1
  41. package/esm/session/sessionManagement.js +4 -2
  42. package/esm/session/sessionManagement.js.map +1 -1
  43. package/esm/tracekit/tracekit.js +30 -26
  44. package/esm/tracekit/tracekit.js.map +1 -1
  45. package/package.json +2 -2
  46. package/src/browser/fetchObservable.js +71 -50
  47. package/src/browser/xhrObservable.js +39 -54
  48. package/src/dataMap.js +1 -0
  49. package/src/helper/deviceInfo.js +1 -2
  50. package/src/helper/enums.js +4 -1
  51. package/src/helper/instrumentMethod.js +61 -44
  52. package/src/helper/tools.js +13 -0
  53. package/src/helper/valueHistory.js +116 -0
  54. package/src/index.js +1 -1
  55. package/src/session/sessionManagement.js +4 -2
  56. package/src/tracekit/tracekit.js +29 -25
  57. package/cjs/helper/contextHistory.js +0 -117
  58. package/cjs/helper/contextHistory.js.map +0 -1
  59. package/esm/helper/contextHistory.js +0 -109
  60. package/esm/helper/contextHistory.js.map +0 -1
  61. 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":"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","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
- }