15 lines
629 B
TypeScript
15 lines
629 B
TypeScript
import { CustomError, errorCodes } from "../interfaces";
|
|
import { scheduleNames, supportedSchedule } from "../types/scheduledEventTypes";
|
|
|
|
export function findInScheduleTypes(inputString: string): supportedSchedule {
|
|
const maybeScheduleName: unknown = JSON.parse(`"${inputString.toLowerCase()}"`);
|
|
const scheduleName = scheduleNames.find((validName: supportedSchedule) => validName === maybeScheduleName);
|
|
if (scheduleName) {
|
|
// `sheepName` comes from the list of `sheepNames` so the compiler is happy.
|
|
return scheduleName;
|
|
}
|
|
throw new CustomError('That is not a schedule name.', errorCodes.schedule_not_supported);
|
|
}
|
|
|
|
|