@rsc-labs/medusa-store-analytics-v2
Version:
Get analytics data about your store
117 lines • 10.3 kB
JavaScript
"use strict";
/*
* Copyright 2024 RSC-Labs, https://rsoftcon.com/
*
* MIT License
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.amountToDisplay = amountToDisplay;
exports.calculatePercentage = calculatePercentage;
exports.convertDateLastsToDateRange = convertDateLastsToDateRange;
exports.convertDateLastsToComparedDateRange = convertDateLastsToComparedDateRange;
exports.deduceDateUrlParams = deduceDateUrlParams;
const types_1 = require("./types");
function amountToDisplay(amount, decimalDigits) {
return (amount / Math.pow(10, decimalDigits)).toFixed(decimalDigits);
}
function calculatePercentage(current, previous) {
if (current == previous) {
return 0;
}
if (current == 0) {
return 100;
}
if (previous == 0) {
return undefined;
}
const percentage = Number((((current) - previous) / previous).toFixed(2)) * 100;
if (percentage > 0) {
return Math.round(percentage * 100) / 100;
}
return Math.round((percentage - percentage - percentage) * 100) / 100;
}
function convertDateLastsToDateRange(dateLasts) {
let result;
switch (dateLasts) {
case types_1.DateLasts.LastMonth:
result = {
// 86400000 - alignment for taking last 29 days, as the current day is 30
from: new Date(new Date(new Date().setDate(new Date().getDate() - 29)).setHours(0, 0, 0, 0)),
to: new Date(Date.now())
};
break;
case types_1.DateLasts.LastWeek:
result = {
// 86400000 - alignment for taking last 6 days, as the current day is 7th
from: new Date(new Date(new Date(Date.now() - 604800000 + 86400000)).setHours(0, 0, 0, 0)),
to: new Date(Date.now())
};
break;
case types_1.DateLasts.LastYear:
const lastYearAgo = new Date(new Date().setFullYear(new Date().getFullYear() - 1));
result = {
// + 1 - alignment for taking last 11 months, as the current month is 12th
from: new Date(new Date(new Date().setDate(new Date().getDate() - 364)).setHours(0, 0, 0, 0)),
to: new Date(Date.now())
};
break;
}
return result;
}
function convertDateLastsToComparedDateRange(dateLasts) {
let result;
switch (dateLasts) {
case types_1.DateLasts.LastMonth:
result = {
from: new Date(new Date(new Date().setDate(new Date().getDate() - 59)).setHours(0, 0, 0, 0)),
to: new Date(new Date(new Date().setDate(new Date().getDate() - 29)).setHours(0, 0, 0, 0)),
};
break;
case types_1.DateLasts.LastWeek:
result = {
from: new Date(new Date(Date.now() - 604800000 * 2 + 86400000).setHours(0, 0, 0, 0)),
to: new Date(new Date(Date.now() - 604800000 + 86400000).setHours(0, 0, 0, 0)),
};
break;
case types_1.DateLasts.LastYear:
result = {
from: new Date(new Date(new Date().setDate(new Date().getDate() - 729)).setHours(0, 0, 0, 0)),
to: new Date(new Date(new Date().setDate(new Date().getDate() - 364)).setHours(0, 0, 0, 0)),
};
break;
}
return result;
}
function deduceDateUrlParams(dateRange, dateRangeCompareTo, orderStatuses) {
let dateRangeParams = {};
let dateRangeCompareToParams = {};
if (dateRange) {
dateRangeParams = {
dateRangeFrom: dateRange.from.getTime().toString(),
dateRangeTo: dateRange.to.getTime().toString()
};
}
if (dateRangeCompareTo) {
dateRangeCompareToParams = {
dateRangeFromCompareTo: dateRangeCompareTo.from.getTime().toString(),
dateRangeToCompareTo: dateRangeCompareTo.to.getTime().toString()
};
}
const result = new URLSearchParams({
...dateRangeParams,
...dateRangeCompareToParams,
});
if (orderStatuses) {
for (const orderStatus of orderStatuses) {
result.append('orderStatuses', orderStatus.toString());
}
}
return result;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy91aS1jb21wb25lbnRzL3V0aWxzL2hlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7O0dBVUc7O0FBTUgsMENBRUM7QUFFRCxrREFpQkM7QUFFRCxrRUEyQkM7QUFFRCxrRkF1QkM7QUFFRCxrREE0QkM7QUE1R0QsbUNBQW9DO0FBR3BDLFNBQWdCLGVBQWUsQ0FBQyxNQUFjLEVBQUUsYUFBcUI7SUFDbkUsT0FBTyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxhQUFhLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQztBQUN2RSxDQUFDO0FBRUQsU0FBZ0IsbUJBQW1CLENBQUMsT0FBZSxFQUFFLFFBQWdCO0lBQ25FLElBQUksT0FBTyxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQ3hCLE9BQU8sQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUNELElBQUksT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ2pCLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVELElBQUksUUFBUSxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ2xCLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRCxNQUFNLFVBQVUsR0FBVyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsUUFBUSxDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDO0lBQ3hGLElBQUksVUFBVSxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ25CLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUcsR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFDO0lBQzVDLENBQUM7SUFDRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxVQUFV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