feat(jobs): voeg lib/jobs-time-filter.ts toe met tijdvenster-predikaat
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
ea28a62973
commit
067bb1453a
1 changed files with 21 additions and 0 deletions
21
lib/jobs-time-filter.ts
Normal file
21
lib/jobs-time-filter.ts
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
export const JOBS_TIME_FILTER_VALUES = ['1h', '24h', 'all'] as const;
|
||||
|
||||
export type JobsTimeFilter = (typeof JOBS_TIME_FILTER_VALUES)[number];
|
||||
|
||||
export const DEFAULT_JOBS_TIME_FILTER: JobsTimeFilter = 'all';
|
||||
|
||||
const WINDOW_MS: Record<'1h' | '24h', number> = {
|
||||
'1h': 60 * 60 * 1000,
|
||||
'24h': 24 * 60 * 60 * 1000,
|
||||
};
|
||||
|
||||
export function isWithinTimeWindow(
|
||||
createdAt: Date | string,
|
||||
filter: JobsTimeFilter,
|
||||
now: number = Date.now(),
|
||||
): boolean {
|
||||
if (filter === 'all') return true;
|
||||
const ts = new Date(createdAt).getTime();
|
||||
if (Number.isNaN(ts)) return true;
|
||||
return ts >= now - WINDOW_MS[filter];
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue