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![This package works with Cloudflare Workers This package works with Cloudflare Workers](/logos/cloudflare-workers.svg?__frsh_c=b3a758950722f44d17dca2a71a998e42bf7cf852)
![This package works with Node.js This package works with Node.js](/logos/node.svg?__frsh_c=b3a758950722f44d17dca2a71a998e42bf7cf852)
![This package works with Deno This package works with Deno](/logos/deno.svg?__frsh_c=b3a758950722f44d17dca2a71a998e42bf7cf852)
![This package works with Bun This package works with Bun](/logos/bun.svg?__frsh_c=b3a758950722f44d17dca2a71a998e42bf7cf852)
![This package works with Browsers This package works with Browsers](/logos/browsers.svg?__frsh_c=b3a758950722f44d17dca2a71a998e42bf7cf852)
JSR Score
100%
Published
2 months ago (0.3.3)
import type { CronObject } from "./CronObject.ts"; import { compareField } from "./compareField.ts"; import { DAY_OF_MONTH_NAME, DAY_OF_WEEK_NAME, HOUR_NAME, MINUTE_NAME, MONTH_NAME, } from "./fieldNames.ts"; import { isAllToken } from "./isAllToken.ts"; /** * Check if given cron expression object includes given date. * * @param cron Cron object. * @returns Curried function with `cron` in context. */ export const dateInCron = (cron: CronObject): (date: Readonly<Date>) => boolean => (date) => (isAllToken(cron[MINUTE_NAME]) || compareField(date.getMinutes(), cron[MINUTE_NAME])) && (isAllToken(cron[HOUR_NAME]) || compareField(date.getHours(), cron[HOUR_NAME])) && (isAllToken(cron[DAY_OF_MONTH_NAME]) || compareField(date.getDate(), cron[DAY_OF_MONTH_NAME])) && (isAllToken(cron[MONTH_NAME]) || compareField(date.getMonth() + 1, cron[MONTH_NAME])) && (isAllToken(cron[DAY_OF_WEEK_NAME]) || compareField(date.getDay(), cron[DAY_OF_WEEK_NAME]));