UNPKG

@forestadmin/datasource-toolkit

Version:
68 lines 7.76 kB
"use strict"; 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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