Added jsdoc to bree job builder

This commit is contained in:
Naz 2020-12-09 19:34:04 +13:00
parent 7ece94f411
commit 7457393b5b

View File

@ -1,6 +1,14 @@
const isCronExpression = require('./is-cron-expression');
const assemble = (when, job, data, name) => {
/**
* Creates job Object compatible with bree job definition (https://github.com/breejs/bree#job-options)
*
* @param {String | Date} [at] - Date, cron or human readable schedule format
* @param {Function|String} job - function or path to a module defining a job
* @param {Object} [data] - data to be passed into the job
* @param {String} [name] - job name
*/
const assemble = (at, job, data, name) => {
const breeJob = {
name: name,
// NOTE: both function and path syntaxes work with 'path' parameter
@ -15,17 +23,17 @@ const assemble = (when, job, data, name) => {
});
}
if (when instanceof Date) {
if (at instanceof Date) {
Object.assign(breeJob, {
date: when
date: at
});
} else if (when && isCronExpression(when)) {
} else if (at && isCronExpression(at)) {
Object.assign(breeJob, {
cron: when
cron: at
});
} else if (when !== undefined) {
} else if (at !== undefined) {
Object.assign(breeJob, {
interval: when
interval: at
});
}