UNPKG

@skbkontur/cassandra-distributed-task-queue-ui

Version:

.NET library implementing distributed task queue machinery using Apache Cassandra

47 lines 1.65 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.RangeSelector = void 0; const edi_ui_1 = require("@skbkontur/edi-ui"); const date_fns_1 = require("date-fns"); function utc() { return edi_ui_1.DateUtils.toTimeZone(new Date(), edi_ui_1.TimeUtils.TimeZones.UTC); } class RangeSelector { constructor(timeZone) { Object.defineProperty(this, "timeZone", { enumerable: true, configurable: true, writable: true, value: void 0 }); this.timeZone = timeZone == null ? -new Date().getTimezoneOffset() : timeZone; } setBounds(start, end = start) { const lower = (0, date_fns_1.startOfDay)(start); const upper = (0, date_fns_1.endOfDay)(end); return { lowerBound: edi_ui_1.DateUtils.toTimeZone(lower, this.timeZone), upperBound: edi_ui_1.DateUtils.toTimeZone(upper, this.timeZone), }; } getYesterday() { return this.setBounds((0, date_fns_1.subDays)(utc(), 1)); } getToday() { return this.setBounds(utc()); } getWeek() { return this.setBounds((0, date_fns_1.subDays)(utc(), 6), utc()); } getMonth() { return this.setBounds((0, date_fns_1.subMonths)(utc(), 1), utc()); } getMonthOf(date) { return this.setBounds((0, date_fns_1.subMonths)(edi_ui_1.DateUtils.toTimeZone(date, edi_ui_1.TimeUtils.TimeZones.UTC), 1), utc()); } getYear() { return this.setBounds((0, date_fns_1.subYears)(utc(), 1), utc()); } } exports.RangeSelector = RangeSelector; //# sourceMappingURL=RangeSelector.js.map