@rsc-labs/medusa-store-analytics-v2
Version:
Get analytics data about your store
59 lines • 5.23 kB
JavaScript
;
/*
* 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.DateResolutionType = void 0;
exports.calculateResolution = calculateResolution;
exports.getTruncateFunction = getTruncateFunction;
var DateResolutionType;
(function (DateResolutionType) {
DateResolutionType["Day"] = "day";
DateResolutionType["Month"] = "month";
})(DateResolutionType || (exports.DateResolutionType = DateResolutionType = {}));
function calculateResolution(date, toDate) {
if (!date)
return DateResolutionType.Month;
const weekAgoTruncated = new Date(new Date(Date.now() - 604800000).setHours(0, 0, 0, 0));
const monthAgoTruncated = new Date(new Date(new Date().setMonth(new Date().getMonth() - 1)).setHours(0, 0, 0, 0));
const yearAgoTruncated = new Date(new Date(new Date().setFullYear(new Date().getFullYear() - 1)).setHours(0, 0, 0, 0));
if (toDate) {
const diffTime = toDate.getTime() - date.getTime();
const weekTime = 604800000;
const monthTime = weekTime * 4;
if (diffTime <= monthTime) {
return DateResolutionType.Day;
}
const yearTime = monthTime * 12;
if (diffTime < yearTime) {
return DateResolutionType.Month;
}
}
if (date.getTime() >= weekAgoTruncated.getTime()) {
return DateResolutionType.Day;
}
if (date.getTime() >= monthAgoTruncated.getTime()) {
return DateResolutionType.Day;
}
if (date.getTime() > yearAgoTruncated.getTime()) {
return DateResolutionType.Month;
}
return DateResolutionType.Month;
}
function getTruncateFunction(dateResolution) {
if (dateResolution == DateResolutionType.Day) {
return (date) => new Date(new Date(date).setHours(0, 0, 0, 0));
}
else {
return (date) => new Date(new Date(new Date(date).setDate(0)).setHours(0, 0, 0, 0));
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZVRyYW5zZm9ybWF0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL3N0b3JlLWFuYWx5dGljcy91dGlscy9kYXRlVHJhbnNmb3JtYXRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7OztHQVVHOzs7QUFPSCxrREFrQ0M7QUFFRCxrREFNQztBQS9DRCxJQUFZLGtCQUdYO0FBSEQsV0FBWSxrQkFBa0I7SUFDNUIsaUNBQVcsQ0FBQTtJQUNYLHFDQUFlLENBQUE7QUFDakIsQ0FBQyxFQUhXLGtCQUFrQixrQ0FBbEIsa0JBQWtCLFFBRzdCO0FBRUQsU0FBZ0IsbUJBQW1CLENBQUMsSUFBVyxFQUFFLE1BQWE7SUFDNUQsSUFBSSxDQUFDLElBQUk7UUFBRSxPQUFPLGtCQUFrQixDQUFDLEtBQUssQ0FBQztJQUUzQyxNQUFNLGdCQUFnQixHQUFHLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxTQUFTLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN0RixNQUFNLGlCQUFpQixHQUFHLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMvRyxNQUFNLGdCQUFnQixHQUFHLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsV0FBVyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUVwSCxJQUFJLE1BQU0sRUFBRSxDQUFDO1FBQ1gsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUVuRCxNQUFNLFFBQVEsR0FBRyxTQUFTLENBQUM7UUFDM0IsTUFBTSxTQUFTLEdBQUcsUUFBUSxHQUFHLENBQUMsQ0FBQztRQUMvQixJQUFJLFFBQVEsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUMxQixPQUFPLGtCQUFrQixDQUFDLEdBQUcsQ0FBQztRQUNoQyxDQUFDO1FBQ0QsTUFBTSxRQUFRLEdBQUcsU0FBUyxHQUFHLEVBQUUsQ0FBQztRQUVoQyxJQUFJLFFBQVEsR0FBRyxRQUFRLEVBQUUsQ0FBQztZQUN4QixPQUFPLGtCQUFrQixDQUFDLEtBQUssQ0FBQztRQUNsQyxDQUFDO0lBQ0gsQ0FBQztJQUVELElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7UUFDakQsT0FBTyxrQkFBa0IsQ0FBQyxHQUFHLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7UUFDbEQsT0FBTyxrQkFBa0IsQ0FBQyxHQUFHLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxHQUFHLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7UUFDaEQsT0FBTyxrQkFBa0IsQ0FBQyxLQUFLLENBQUM7SUFDbEMsQ0FBQztJQUNELE9BQU8sa0JBQWtCLENBQUMsS0FBSyxDQUFBO0FBQ2pDLENBQUM7QUFFRCxTQUFnQixtQkFBbUIsQ0FBQyxjQUFrQztJQUNwRSxJQUFJLGNBQWMsSUFBSSxrQkFBa0IsQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUM3QyxPQUFPLENBQUMsSUFBVSxFQUFFLEVBQUUsQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNwRSxDQUFDO1NBQU0sQ0FBQztRQUNOLE9BQU8sQ0FBQyxJQUFVLEVBQUUsRUFBRSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQ3hGLENBQUM7QUFDSCxDQUFDIn0=