@forestadmin/datasource-toolkit
Version:
68 lines • 7.76 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const luxon_1 = require("luxon");
const factory_1 = __importDefault(require("../factory"));
function format(value, isDateOnly) {
if (isDateOnly)
return value.toISODate();
return value.toUTC().toISO({ suppressMilliseconds: true });
}
function compare(operator, dateFn) {
return {
dependsOn: [operator],
forTypes: ['Date', 'Dateonly'],
replacer: (leaf, tz, isDateOnly) => {
const now = luxon_1.DateTime.utc().setZone(tz);
return leaf.override({ operator, value: format(dateFn(now, leaf.value), isDateOnly) });
},
};
}
function interval(startFn, endFn) {
return {
dependsOn: ['LessThan', 'GreaterThan', 'GreaterThanOrEqual'],
forTypes: ['Date', 'Dateonly'],
replacer: (leaf, tz, isDateOnly) => {
const now = luxon_1.DateTime.utc().setZone(tz);
return factory_1.default.intersect(leaf.override({
operator: isDateOnly ? 'GreaterThanOrEqual' : 'GreaterThan',
value: format(startFn(now, leaf.value), isDateOnly),
}), leaf.override({ operator: 'LessThan', value: format(endFn(now, leaf.value), isDateOnly) }));
},
};
}
function previousInterval(duration) {
return interval(now => now.minus({ [duration]: 1 }).startOf(duration), now => now.startOf(duration));
}
function previousIntervalToDate(duration) {
return interval(now => now.startOf(duration), now => now);
}
exports.default = () => ({
Before: [compare('LessThan', (_, value) => luxon_1.DateTime.fromISO(value))],
After: [compare('GreaterThan', (_, value) => luxon_1.DateTime.fromISO(value))],
Past: [compare('LessThan', now => now)],
Future: [compare('GreaterThan', now => now)],
BeforeXHoursAgo: [compare('LessThan', (now, value) => now.minus({ hours: value }))],
AfterXHoursAgo: [compare('GreaterThan', (now, value) => now.minus({ hours: value }))],
PreviousWeekToDate: [previousIntervalToDate('week')],
PreviousMonthToDate: [previousIntervalToDate('month')],
PreviousQuarterToDate: [previousIntervalToDate('quarter')],
PreviousYearToDate: [previousIntervalToDate('year')],
Yesterday: [previousInterval('day')],
PreviousWeek: [previousInterval('week')],
PreviousMonth: [previousInterval('month')],
PreviousQuarter: [previousInterval('quarter')],
PreviousYear: [previousInterval('year')],
PreviousXDaysToDate: [
interval((now, value) => now.minus({ days: value }).startOf('day'), now => now),
],
PreviousXDays: [
interval((now, value) => now.minus({ days: value }).startOf('day'), now => now.startOf('day')),
],
Today: [
interval(now => now.startOf('day'), now => now.plus({ day: 1 }).startOf('day')),
],
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9pbnRlcmZhY2VzL3F1ZXJ5L2NvbmRpdGlvbi10cmVlL3RyYW5zZm9ybXMvdGltZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGlDQUErQztBQUcvQyx5REFBOEM7QUFLOUMsU0FBUyxNQUFNLENBQUMsS0FBZSxFQUFFLFVBQW1CO0lBQ2xELElBQUksVUFBVTtRQUFFLE9BQU8sS0FBSyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBRXpDLE9BQU8sS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLG9CQUFvQixFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7QUFDN0QsQ0FBQztBQUVELFNBQVMsT0FBTyxDQUFDLFFBQWtCLEVBQUUsTUFBb0I7SUFDdkQsT0FBTztRQUNMLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQztRQUNyQixRQUFRLEVBQUUsQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDO1FBQzlCLFFBQVEsRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLEVBQUU7WUFDakMsTUFBTSxHQUFHLEdBQUcsZ0JBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7WUFFdkMsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3pGLENBQUM7S0FDRixDQUFDO0FBQ0osQ0FBQztBQUVELFNBQVMsUUFBUSxDQUFDLE9BQXFCLEVBQUUsS0FBbUI7SUFDMUQsT0FBTztRQUNMLFNBQVMsRUFBRSxDQUFDLFVBQVUsRUFBRSxhQUFhLEVBQUUsb0JBQW9CLENBQUM7UUFDNUQsUUFBUSxFQUFFLENB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