mirror of
https://github.com/iib0011/omni-tools.git
synced 2025-09-18 05:29:33 +02:00
24 lines
658 B
TypeScript
24 lines
658 B
TypeScript
import { InitialValuesType } from './types';
|
|
import cronstrue from 'cronstrue';
|
|
import { isValidCron } from 'cron-validator';
|
|
|
|
export function explainCrontab(expr: string): string {
|
|
try {
|
|
return cronstrue.toString(expr);
|
|
} catch (e: any) {
|
|
return `Invalid crontab expression: ${e.message}`;
|
|
}
|
|
}
|
|
|
|
export function validateCrontab(expr: string): boolean {
|
|
return isValidCron(expr, { seconds: false, allowBlankDay: true });
|
|
}
|
|
|
|
export function main(input: string, options: InitialValuesType): string {
|
|
if (!input.trim()) return '';
|
|
if (!validateCrontab(input)) {
|
|
return 'Invalid crontab expression.';
|
|
}
|
|
return explainCrontab(input);
|
|
}
|