UNPKG

@lou.codes/cron

Version:

⏲️ Cron Quartz and Cron UNIX expression parser

20 lines (19 loc) 609 B
import { keys } from "@lou.codes/constants/Object.js"; import { build, or } from "functional-expression"; import { normalizeMap } from "./normalizeMap.js"; /** * Normalizes day and month 3 letter aliases into their number counterparts. * * @category Cron String * @example * ```typescript * normalizeAliases("* * 13 oct fri"); // "* * 13 10 5" * ``` * @param expression String expression. * @returns Normalized expression */ export const normalizeAliases = expression => expression.replaceAll( build("giu")(or(...keys(normalizeMap))), alias => `${normalizeMap[alias.toLocaleLowerCase()]}`, );