diff --git a/src/timing.ts b/src/timing.ts index ac87f3b..2eca5f7 100644 --- a/src/timing.ts +++ b/src/timing.ts @@ -1,12 +1,12 @@ import { intersection } from '@/sets'; import { z } from 'zod'; -type ParsedTime = { +export type ParsedTime = { hours: number; minutes: number; }; -const DayEnumSchema = z.enum([ +export const DayEnumSchema = z.enum([ 'monday', 'tuesday', 'wednesday', @@ -15,7 +15,7 @@ const DayEnumSchema = z.enum([ 'saturday', 'sunday' ]); -type DayEnum = z.infer; +export type DayEnum = z.infer; const TimeConfigSchema = z.object({ // A short name to be included in notifications @@ -160,8 +160,8 @@ export const ConfigurationSchema = z.object({ message: `A maxLate's value cannot place it outside of the given day (${maxLateTime.hours .toString() .padStart(2, '0')}:${maxLateTime.minutes - .toString() - .padStart(2, '0')})` + .toString() + .padStart(2, '0')})` }); }); @@ -202,7 +202,7 @@ export const ConfigurationSchema = z.object({ }); export type Configuration = z.infer; -const dayAsNumber: Record = { +export const dayAsNumber: Record = { 1: 'monday', 2: 'tuesday', 3: 'wednesday', @@ -212,6 +212,16 @@ const dayAsNumber: Record = { 0: 'sunday' }; +export const numberAsDay: Record = { + monday: 1, + tuesday: 2, + wednesday: 3, + thursday: 4, + friday: 5, + saturday: 6, + sunday: 0 +}; + export async function getMatchingTime( config: Configuration, now: Date = new Date()