@versatiledatakit/data-pipelines
Version:
Data Pipelines help Data Engineers develop, deploy, run, and manage data processing workloads (called 'Data Job')
21 lines • 2.23 kB
JavaScript
/*
* Copyright 2023-2025 Broadcom
* SPDX-License-Identifier: Apache-2.0
*/
import * as parser from 'cron-parser';
export class CronUtil {
static getNextExecutionErrors(cron) {
if (!cron) {
return 'No schedule cron configured for this job';
}
try {
parser.parseExpression(cron);
return null; // parsing successful, reset flag
}
catch (e) {
// eslint-disable-next-line @typescript-eslint/restrict-template-expressions
return `Could not extract next executions from the cron expression: ${e}`;
}
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3Jvbi51dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YS1waXBlbGluZXMvc3JjL2xpYi9zaGFyZWQvdXRpbHMvY3Jvbi51dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUVILE9BQU8sS0FBSyxNQUFNLE1BQU0sYUFBYSxDQUFDO0FBRXRDLE1BQU0sT0FBTyxRQUFRO0lBQ2pCLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxJQUFZO1FBQ3RDLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDUCxPQUFPLDBDQUEwQyxDQUFDO1NBQ3JEO1FBQ0QsSUFBSTtZQUNBLE1BQU0sQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDN0IsT0FBTyxJQUFJLENBQUMsQ0FBQyxpQ0FBaUM7U0FDakQ7UUFBQyxPQUFPLENBQVUsRUFBRTtZQUNqQiw0RUFBNEU7WUFDNUUsT0FBTywrREFBK0QsQ0FBQyxFQUFFLENBQUM7U0FDN0U7SUFDTCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMjMtMjAyNSBCcm9hZGNvbVxuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcbiAqL1xuXG5pbXBvcnQgKiBhcyBwYXJzZXIgZnJvbSAnY3Jvbi1wYXJzZXInO1xuXG5leHBvcnQgY2xhc3MgQ3JvblV0aWwge1xuICAgIHN0YXRpYyBnZXROZXh0RXhlY3V0aW9uRXJyb3JzKGNyb246IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIGlmICghY3Jvbikge1xuICAgICAgICAgICAgcmV0dXJuICdObyBzY2hlZHVsZSBjcm9uIGNvbmZpZ3VyZWQgZm9yIHRoaXMgam9iJztcbiAgICAgICAgfVxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgcGFyc2VyLnBhcnNlRXhwcmVzc2lvbihjcm9uKTtcbiAgICAgICAgICAgIHJldHVybiBudWxsOyAvLyBwYXJzaW5nIHN1Y2Nlc3NmdWwsIHJlc2V0IGZsYWdcbiAgICAgICAgfSBjYXRjaCAoZTogdW5rbm93bikge1xuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9yZXN0cmljdC10ZW1wbGF0ZS1leHByZXNzaW9uc1xuICAgICAgICAgICAgcmV0dXJuIGBDb3VsZCBub3QgZXh0cmFjdCBuZXh0IGV4ZWN1dGlvbnMgZnJvbSB0aGUgY3JvbiBleHByZXNzaW9uOiAke2V9YDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==