Implemented statistics mechanism (#74)

This commit is contained in:
nobody 2020-08-08 07:27:52 +02:00
parent f397b81c4e
commit 0e37d384e1
No known key found for this signature in database
GPG Key ID: 8F6DE3D614FCFD7A
1 changed files with 62 additions and 0 deletions

62
modules/internal/stats.js Normal file
View File

@ -0,0 +1,62 @@
/**
* Stats
* Belongs to LocalCDN (since 2020-02-26)
* (Origin: Decentraleyes)
*
* @author nobody
* @since 2020-02-26
*
* @license MPL 2.0
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
* You can obtain one at http://mozilla.org/MPL/2.0/.
*/
"use strict";
/**
* Stats
*/
var stats = {};
stats.setStats = function (injection) {
let data, today, cdn, framework, newEntry;
data = stats.data;
today = new Date().toISOString().slice(0, 10);
cdn = injection.source;
framework = injection.path;
if (today in data) {
if (cdn in data[today]["cdns"]) {
data[today]["cdns"][cdn] = ++data[today]["cdns"][cdn];
} else {
Object.assign(data[today]["cdns"], { [cdn]: 1 });
}
if (framework in data[today]["frameworks"]) {
data[today]["frameworks"][framework] = ++data[today]["frameworks"][
framework
];
} else {
Object.assign(data[today]["frameworks"], { [framework]: 1 });
}
} else {
newEntry = { frameworks: { [framework]: 1 }, cdns: { [cdn]: 1 } };
data[today] = newEntry;
}
chrome.storage.local.set({
[Setting.INTERNAL_STATISTICS_DATA]: data,
});
};
stats.getStats = function () {
chrome.storage.local.get([Setting.INTERNAL_STATISTICS_DATA], function (items) {
stats.data = items.internalStatisticsData || {};
});
};
stats.getStats();
stats.data = {};