@lou.codes/cron
Version:
⏲️ Cron Quartz and Cron UNIX expression parser
24 lines (23 loc) • 965 B
TypeScript
import type { Maybe } from "@lou.codes/types";
import type { CronObject } from "./CronObject.js";
import type { CronString } from "./CronString.js";
/**
* Parses a cron expression into an object representation.
*
* @category Cron String
* @example
* ```typescript
* parse("* * * * *"); // { minute: "*", hour: "*", dayOfMonth: "*", month: "*", dayOfWeek: "*" }
* parse("* * 13 10 *"); // { minute: "*", hour: "*", dayOfMonth: 13, month: 10, dayOfWeek: "*" }
* parse("5 * 10,11,13 1-10 *"); // { minute: 5, hour: "*", dayOfMonth: [10, 11, 13], month: { from: 1, to: 10 }, dayOfWeek: "*" }
* parse("* * 31 2 *"); // undefined
* parse("nope"); // undefined
* ```
* @see {@link parseFieldTuplesMap}
* @see {@link normalizeAliases}
*
* @param expression Cron expression to be parsed.
* @returns Object representing that expression or `undefined` if expression is
* invalid.
*/
export declare const parse: (expression: CronString) => Maybe<CronObject>;