Built and signed on GitHub ActionsBuilt and signed on GitHub Actions
Built and signed on GitHub Actions
⏳ Fantastic cron parser and constructor.
This package works with Cloudflare Workers, Node.js, Deno, Bun, Browsers
JSR Score
100%
Published
2 months ago (0.3.3)
import { map } from "jsr:@coven/iterables@^0.3.3"; import type { Maybe } from "jsr:@coven/types@^0.3.3"; import { parseNumber } from "./parseNumber.ts"; import { parseRange } from "./parseRange.ts"; import type { RangeField } from "./RangeField.ts"; /** * Map to parse cron list items (can be either a range or a number). * * @example * ```typescript * parseListMap(["1", "05", "13", "5-13", "13-13", "13-5", "99"]); * // [1, 5, 13, { from: 5, to: 13 }, 13, undefined, undefined] * ``` * @see {@linkcode parseNumber} * @see {@linkcode parseRange} */ export const parseListMap: ( list: Iterable<string>, ) => IterableIterator<RangeField<number> | Maybe<number>> = map( (item: string) => parseRange(item) ?? parseNumber(item), );