aboutsummaryrefslogtreecommitdiff
path: root/node_modules/istanbul-reports/lib/html-spa/src/routing.js
diff options
context:
space:
mode:
authorJoel Kronqvist <joel.h.kronqvist@gmail.com>2022-03-05 19:02:27 +0200
committerJoel Kronqvist <joel.h.kronqvist@gmail.com>2022-03-05 19:02:27 +0200
commit5d309ff52cd399a6b71968a6b9a70c8ac0b98981 (patch)
tree360f7eb50f956e2367ef38fa1fc6ac7ac5258042 /node_modules/istanbul-reports/lib/html-spa/src/routing.js
parentb500a50f1b97d93c98b36ed9a980f8188d648147 (diff)
downloadLYLLRuoka-5d309ff52cd399a6b71968a6b9a70c8ac0b98981.tar.gz
LYLLRuoka-5d309ff52cd399a6b71968a6b9a70c8ac0b98981.zip
Added node_modules for the updating to work properly.
Diffstat (limited to 'node_modules/istanbul-reports/lib/html-spa/src/routing.js')
-rw-r--r--node_modules/istanbul-reports/lib/html-spa/src/routing.js52
1 files changed, 52 insertions, 0 deletions
diff --git a/node_modules/istanbul-reports/lib/html-spa/src/routing.js b/node_modules/istanbul-reports/lib/html-spa/src/routing.js
new file mode 100644
index 0000000..a4d0bc7
--- /dev/null
+++ b/node_modules/istanbul-reports/lib/html-spa/src/routing.js
@@ -0,0 +1,52 @@
+exports.setLocation = function setLocation(
+ isReplace,
+ activeSort,
+ isFlat,
+ activeFilters,
+ fileFilter,
+ expandedLines
+) {
+ const params = [
+ activeSort.sortKey,
+ activeSort.order,
+ isFlat,
+ activeFilters.low,
+ activeFilters.medium,
+ activeFilters.high,
+ encodeURIComponent(fileFilter),
+ expandedLines.map(encodeURIComponent).join(',')
+ ];
+ const newUrl = `#${params.join('/')}`;
+
+ if (newUrl === location.hash) {
+ return;
+ }
+
+ window.history[isReplace ? 'replaceState' : 'pushState'](null, '', newUrl);
+};
+
+exports.decodeLocation = function decodeLocation() {
+ const items = location.hash.substr(1).split('/');
+ if (items.length !== 8) {
+ return null;
+ }
+
+ try {
+ return {
+ activeSort: {
+ sortKey: items[0],
+ order: items[1]
+ },
+ isFlat: JSON.parse(items[2]),
+ activeFilters: {
+ low: JSON.parse(items[3]),
+ medium: JSON.parse(items[4]),
+ high: JSON.parse(items[5])
+ },
+ fileFilter: decodeURIComponent(items[6]),
+ expandedLines: items[7].split(',').map(decodeURIComponent)
+ };
+ } catch (e) {
+ return null;
+ }
+};