Socket
Socket
Sign inDemoInstall

bree

Package Overview
Dependencies
Maintainers
4
Versions
100
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

bree - npm Package Compare versions

Comparing version 6.2.0 to 6.2.1

14

lib/job-utils.js

@@ -67,2 +67,3 @@ "use strict";

var parseValue = function parseValue(value) {
var originalValue = value;
if (value === false) return value;

@@ -75,5 +76,14 @@ if (isSchedule(value)) return value;

value = getHumanToMs(value);
if (value === 0) {
// There is a bug in the human-interval library that causes some invalid
// strings to be parsed as valid, returning 0 as output (instead of NaN).
// Since the user is using a String to define the interval, it is most
// likely that he/she is not trying to set it to 0ms.
// Hence, this must be an error.
throw new Error("Value \"".concat(originalValue, "\" is not a String parseable by `later.parse.text` (see <https://breejs.github.io/later/parsers.html#text> for examples)"));
}
}
if (!Number.isFinite(value) || value < 0) throw new Error("Value ".concat(value, " must be a finite number >= 0 or a String parseable by `later.parse.text` (see <https://breejs.github.io/later/parsers.html#text> for examples)"));
if (!Number.isFinite(value) || value < 0) throw new Error("Value \"".concat(originalValue, "\" must be a finite number >= 0 or a String parseable by `later.parse.text` (see <https://breejs.github.io/later/parsers.html#text> for examples)"));
return value;

@@ -121,2 +131,2 @@ };

module.exports.getJobNames = getJobNames;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9qb2ItdXRpbHMuanMiXSwibmFtZXMiOlsibXMiLCJyZXF1aXJlIiwiaHVtYW5JbnRlcnZhbCIsImxhdGVyIiwiaXNTQU5CIiwiaXNTY2hlZHVsZSIsInZhbHVlIiwiQXJyYXkiLCJpc0FycmF5Iiwic2NoZWR1bGVzIiwiZ2V0TmFtZSIsImpvYiIsIm5hbWUiLCJnZXRIdW1hblRvTXMiLCJfdmFsdWUiLCJOdW1iZXIiLCJpc05hTiIsInBhcnNlVmFsdWUiLCJzY2hlZHVsZSIsInBhcnNlIiwidGV4dCIsImlzVmFsaWQiLCJpc0Zpbml0ZSIsIkVycm9yIiwiZ2V0Sm9iTmFtZXMiLCJqb2JzIiwiZXhjbHVkZUluZGV4IiwibmFtZXMiLCJlbnRyaWVzIiwiaSIsInB1c2giLCJtb2R1bGUiLCJleHBvcnRzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztBQUFBLElBQU1BLEVBQUUsR0FBR0MsT0FBTyxDQUFDLElBQUQsQ0FBbEI7O0FBQ0EsSUFBTUMsYUFBYSxHQUFHRCxPQUFPLENBQUMsZ0JBQUQsQ0FBN0I7O0FBQ0EsSUFBTUUsS0FBSyxHQUFHRixPQUFPLENBQUMsZUFBRCxDQUFyQjs7QUFDQSxJQUFNRyxNQUFNLEdBQUdILE9BQU8sQ0FBQyx5QkFBRCxDQUF0QjtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBQ0EsSUFBTUksVUFBVSxHQUFHLFNBQWJBLFVBQWEsQ0FBQ0MsS0FBRCxFQUFXO0FBQzVCLFNBQU8sc0JBQU9BLEtBQVAsTUFBaUIsUUFBakIsSUFBNkJDLEtBQUssQ0FBQ0MsT0FBTixDQUFjRixLQUFLLENBQUNHLFNBQXBCLENBQXBDO0FBQ0QsQ0FGRDtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBQ0EsSUFBTUMsT0FBTyxHQUFHLFNBQVZBLE9BQVUsQ0FBQ0MsR0FBRCxFQUFTO0FBQ3ZCLE1BQUlQLE1BQU0sQ0FBQ08sR0FBRCxDQUFWLEVBQWlCLE9BQU9BLEdBQVA7QUFDakIsTUFBSSxzQkFBT0EsR0FBUCxNQUFlLFFBQWYsSUFBMkJQLE1BQU0sQ0FBQ08sR0FBRyxDQUFDQyxJQUFMLENBQXJDLEVBQWlELE9BQU9ELEdBQUcsQ0FBQ0MsSUFBWDtBQUNqRCxNQUFJLE9BQU9ELEdBQVAsS0FBZSxVQUFmLElBQTZCUCxNQUFNLENBQUNPLEdBQUcsQ0FBQ0MsSUFBTCxDQUF2QyxFQUFtRCxPQUFPRCxHQUFHLENBQUNDLElBQVg7QUFDcEQsQ0FKRDtBQU1BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUNBLElBQU1DLFlBQVksR0FBRyxTQUFmQSxZQUFlLENBQUNDLE1BQUQsRUFBWTtBQUMvQixNQUFNUixLQUFLLEdBQUdKLGFBQWEsQ0FBQ1ksTUFBRCxDQUEzQjtBQUNBLE1BQUlDLE1BQU0sQ0FBQ0MsS0FBUCxDQUFhVixLQUFiLENBQUosRUFBeUIsT0FBT04sRUFBRSxDQUFDYyxNQUFELENBQVQ7QUFDekIsU0FBT1IsS0FBUDtBQUNELENBSkQ7QUFNQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUNBLElBQU1XLFVBQVUsR0FBRyxTQUFiQSxVQUFhLENBQUNYLEtBQUQsRUFBVztBQUM1QixNQUFJQSxLQUFLLEtBQUssS0FBZCxFQUFxQixPQUFPQSxLQUFQO0FBRXJCLE1BQUlELFVBQVUsQ0FBQ0MsS0FBRCxDQUFkLEVBQXVCLE9BQU9BLEtBQVA7O0FBRXZCLE1BQUlGLE1BQU0sQ0FBQ0UsS0FBRCxDQUFWLEVBQW1CO0FBQ2pCLFFBQU1ZLFFBQVEsR0FBR2YsS0FBSyxDQUFDZSxRQUFOLENBQWVmLEtBQUssQ0FBQ2dCLEtBQU4sQ0FBWUMsSUFBWixDQUFpQmQsS0FBakIsQ0FBZixDQUFqQjtBQUNBLFFBQUlZLFFBQVEsQ0FBQ0csT0FBVCxFQUFKLEVBQXdCLE9BQU9sQixLQUFLLENBQUNnQixLQUFOLENBQVlDLElBQVosQ0FBaUJkLEtBQWpCLENBQVA7QUFDeEJBLElBQUFBLEtBQUssR0FBR08sWUFBWSxDQUFDUCxLQUFELENBQXBCO0FBQ0Q7O0FBRUQsTUFBSSxDQUFDUyxNQUFNLENBQUNPLFFBQVAsQ0FBZ0JoQixLQUFoQixDQUFELElBQTJCQSxLQUFLLEdBQUcsQ0FBdkMsRUFDRSxNQUFNLElBQUlpQixLQUFKLGlCQUNLakIsS0FETCxxSkFBTjtBQUlGLFNBQU9BLEtBQVA7QUFDRCxDQWpCRDtBQW1CQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFDQSxJQUFNa0IsV0FBVyxHQUFHLFNBQWRBLFdBQWMsQ0FBQ0MsSUFBRCxFQUFPQyxZQUFQLEVBQXdCO0FBQzFDLE1BQU1DLEtBQUssR0FBRyxFQUFkOztBQUQwQyw2Q0FHbkJGLElBQUksQ0FBQ0csT0FBTCxFQUhtQjtBQUFBOztBQUFBO0FBRzFDLHdEQUF1QztBQUFBO0FBQUEsVUFBM0JDLENBQTJCO0FBQUEsVUFBeEJsQixHQUF3Qjs7QUFDckMsVUFBSWtCLENBQUMsS0FBS0gsWUFBVixFQUF3QjtBQUV4QixVQUFNZCxJQUFJLEdBQUdGLE9BQU8sQ0FBQ0MsR0FBRCxDQUFwQjtBQUVBLFVBQUlDLElBQUosRUFBVWUsS0FBSyxDQUFDRyxJQUFOLENBQVdsQixJQUFYO0FBQ1g7QUFUeUM7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFXMUMsU0FBT2UsS0FBUDtBQUNELENBWkQ7O0FBY0FJLE1BQU0sQ0FBQ0MsT0FBUCxDQUFlM0IsVUFBZixHQUE0QkEsVUFBNUI7QUFDQTBCLE1BQU0sQ0FBQ0MsT0FBUCxDQUFldEIsT0FBZixHQUF5QkEsT0FBekI7QUFDQXFCLE1BQU0sQ0FBQ0MsT0FBUCxDQUFlbkIsWUFBZixHQUE4QkEsWUFBOUI7QUFDQWtCLE1BQU0sQ0FBQ0MsT0FBUCxDQUFlZixVQUFmLEdBQTRCQSxVQUE1QjtBQUNBYyxNQUFNLENBQUNDLE9BQVAsQ0FBZVIsV0FBZixHQUE2QkEsV0FBN0IiLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBtcyA9IHJlcXVpcmUoJ21zJyk7XG5jb25zdCBodW1hbkludGVydmFsID0gcmVxdWlyZSgnaHVtYW4taW50ZXJ2YWwnKTtcbmNvbnN0IGxhdGVyID0gcmVxdWlyZSgnQGJyZWVqcy9sYXRlcicpO1xuY29uc3QgaXNTQU5CID0gcmVxdWlyZSgnaXMtc3RyaW5nLWFuZC1ub3QtYmxhbmsnKTtcblxuLyoqXG4gKiBOYWl2ZWx5IGNoZWNrcyBpZiBwYXNzZWQgdmFsdWUgaXMgb2YgbGF0ZXIuanMgc2NoZWR1bGUgZm9ybWF0IChodHRwczovL2JyZWVqcy5naXRodWIuaW8vbGF0ZXIvc2NoZWR1bGVzLmh0bWwpXG4gKlxuICogQHBhcmFtIHsqfSB2YWx1ZSB0byBjaGVjayBmb3Igc2NoZWR1bGUgZm9ybWF0XG4gKiBAcmV0dXJucyB7Ym9vbGVhbn1cbiAqL1xuY29uc3QgaXNTY2hlZHVsZSA9ICh2YWx1ZSkgPT4ge1xuICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiBBcnJheS5pc0FycmF5KHZhbHVlLnNjaGVkdWxlcyk7XG59O1xuXG4vKipcbiAqIEV4dHJhY3RzIGpvYiBuYW1lIGZyb20gam9iIGRlZmluaXRpb25cbiAqXG4gKiBAcGFyYW0ge3N0cmluZyB8IE9iamVjdCB8IEZ1bmN0aW9ufSBqb2IgZGVmaW5pdGlvblxuICogQHJldHVybnMge3N0cmluZ31cbiAqL1xuY29uc3QgZ2V0TmFtZSA9IChqb2IpID0+IHtcbiAgaWYgKGlzU0FOQihqb2IpKSByZXR1cm4gam9iO1xuICBpZiAodHlwZW9mIGpvYiA9PT0gJ29iamVjdCcgJiYgaXNTQU5CKGpvYi5uYW1lKSkgcmV0dXJuIGpvYi5uYW1lO1xuICBpZiAodHlwZW9mIGpvYiA9PT0gJ2Z1bmN0aW9uJyAmJiBpc1NBTkIoam9iLm5hbWUpKSByZXR1cm4gam9iLm5hbWU7XG59O1xuXG4vKipcbiAqIFBhcnNlcyBwcm92aWRlZCB2YWx1ZSBpbnRvIG1pbGxpc2Vjb25kXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IF92YWx1ZVxuICovXG5jb25zdCBnZXRIdW1hblRvTXMgPSAoX3ZhbHVlKSA9PiB7XG4gIGNvbnN0IHZhbHVlID0gaHVtYW5JbnRlcnZhbChfdmFsdWUpO1xuICBpZiAoTnVtYmVyLmlzTmFOKHZhbHVlKSkgcmV0dXJuIG1zKF92YWx1ZSk7XG4gIHJldHVybiB2YWx1ZTtcbn07XG5cbi8qKlxuICogUGFyc2VzIHNjaGVkdWxlIHZhbHVlIGludG8gXCJsYXRlclwiIHNjaGVkdWxlIG9iamVjdCBvciBtaWxsaXNlY29uZHNcbiAqXG4gKiBAcGFyYW0ge2Jvb2xlYW4gfCBzdHJpbmcgfCBudW1iZXIgfCBPYmplY3R9IHZhbHVlXG4gKiBAcmV0dXJucyB7bnVtYmVyIHwgYm9vbGVhbiB8IE9iamVjdH1cbiAqL1xuY29uc3QgcGFyc2VWYWx1ZSA9ICh2YWx1ZSkgPT4ge1xuICBpZiAodmFsdWUgPT09IGZhbHNlKSByZXR1cm4gdmFsdWU7XG5cbiAgaWYgKGlzU2NoZWR1bGUodmFsdWUpKSByZXR1cm4gdmFsdWU7XG5cbiAgaWYgKGlzU0FOQih2YWx1ZSkpIHtcbiAgICBjb25zdCBzY2hlZHVsZSA9IGxhdGVyLnNjaGVkdWxlKGxhdGVyLnBhcnNlLnRleHQodmFsdWUpKTtcbiAgICBpZiAoc2NoZWR1bGUuaXNWYWxpZCgpKSByZXR1cm4gbGF0ZXIucGFyc2UudGV4dCh2YWx1ZSk7XG4gICAgdmFsdWUgPSBnZXRIdW1hblRvTXModmFsdWUpO1xuICB9XG5cbiAgaWYgKCFOdW1iZXIuaXNGaW5pdGUodmFsdWUpIHx8IHZhbHVlIDwgMClcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBgVmFsdWUgJHt2YWx1ZX0gbXVzdCBiZSBhIGZpbml0ZSBudW1iZXIgPj0gMCBvciBhIFN0cmluZyBwYXJzZWFibGUgYnkgXFxgbGF0ZXIucGFyc2UudGV4dFxcYCAoc2VlIDxodHRwczovL2JyZWVqcy5naXRodWIuaW8vbGF0ZXIvcGFyc2Vycy5odG1sI3RleHQ+IGZvciBleGFtcGxlcylgXG4gICAgKTtcblxuICByZXR1cm4gdmFsdWU7XG59O1xuXG4vKipcbiAqIFByb2Nlc3NlcyBqb2Igb2JqZWN0cyBleHRyYWN0aW5nIHRoZWlyIG5hbWVzXG4gKiBDYW4gY29uZGl0aW9uYWx5IHNraXAgcmVjb3JkcyBieSB0aGVpciBpbmRleFxuICpcbiAqIEBwYXJhbSB7YW55W119IGpvYnNcbiAqIEBwYXJhbSB7bnVtYmVyfSBleGNsdWRlSW5kZXhcbiAqIEByZXR1cm5zIHtzdHJpbmdbXX0gam9iIG5hbWVzXG4gKi9cbmNvbnN0IGdldEpvYk5hbWVzID0gKGpvYnMsIGV4Y2x1ZGVJbmRleCkgPT4ge1xuICBjb25zdCBuYW1lcyA9IFtdO1xuXG4gIGZvciAoY29uc3QgW2ksIGpvYl0gb2Ygam9icy5lbnRyaWVzKCkpIHtcbiAgICBpZiAoaSA9PT0gZXhjbHVkZUluZGV4KSBjb250aW51ZTtcblxuICAgIGNvbnN0IG5hbWUgPSBnZXROYW1lKGpvYik7XG5cbiAgICBpZiAobmFtZSkgbmFtZXMucHVzaChuYW1lKTtcbiAgfVxuXG4gIHJldHVybiBuYW1lcztcbn07XG5cbm1vZHVsZS5leHBvcnRzLmlzU2NoZWR1bGUgPSBpc1NjaGVkdWxlO1xubW9kdWxlLmV4cG9ydHMuZ2V0TmFtZSA9IGdldE5hbWU7XG5tb2R1bGUuZXhwb3J0cy5nZXRIdW1hblRvTXMgPSBnZXRIdW1hblRvTXM7XG5tb2R1bGUuZXhwb3J0cy5wYXJzZVZhbHVlID0gcGFyc2VWYWx1ZTtcbm1vZHVsZS5leHBvcnRzLmdldEpvYk5hbWVzID0gZ2V0Sm9iTmFtZXM7XG4iXX0=
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9qb2ItdXRpbHMuanMiXSwibmFtZXMiOlsibXMiLCJyZXF1aXJlIiwiaHVtYW5JbnRlcnZhbCIsImxhdGVyIiwiaXNTQU5CIiwiaXNTY2hlZHVsZSIsInZhbHVlIiwiQXJyYXkiLCJpc0FycmF5Iiwic2NoZWR1bGVzIiwiZ2V0TmFtZSIsImpvYiIsIm5hbWUiLCJnZXRIdW1hblRvTXMiLCJfdmFsdWUiLCJOdW1iZXIiLCJpc05hTiIsInBhcnNlVmFsdWUiLCJvcmlnaW5hbFZhbHVlIiwic2NoZWR1bGUiLCJwYXJzZSIsInRleHQiLCJpc1ZhbGlkIiwiRXJyb3IiLCJpc0Zpbml0ZSIsImdldEpvYk5hbWVzIiwiam9icyIsImV4Y2x1ZGVJbmRleCIsIm5hbWVzIiwiZW50cmllcyIsImkiLCJwdXNoIiwibW9kdWxlIiwiZXhwb3J0cyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7QUFBQSxJQUFNQSxFQUFFLEdBQUdDLE9BQU8sQ0FBQyxJQUFELENBQWxCOztBQUNBLElBQU1DLGFBQWEsR0FBR0QsT0FBTyxDQUFDLGdCQUFELENBQTdCOztBQUNBLElBQU1FLEtBQUssR0FBR0YsT0FBTyxDQUFDLGVBQUQsQ0FBckI7O0FBQ0EsSUFBTUcsTUFBTSxHQUFHSCxPQUFPLENBQUMseUJBQUQsQ0FBdEI7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUNBLElBQU1JLFVBQVUsR0FBRyxTQUFiQSxVQUFhLENBQUNDLEtBQUQsRUFBVztBQUM1QixTQUFPLHNCQUFPQSxLQUFQLE1BQWlCLFFBQWpCLElBQTZCQyxLQUFLLENBQUNDLE9BQU4sQ0FBY0YsS0FBSyxDQUFDRyxTQUFwQixDQUFwQztBQUNELENBRkQ7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUNBLElBQU1DLE9BQU8sR0FBRyxTQUFWQSxPQUFVLENBQUNDLEdBQUQsRUFBUztBQUN2QixNQUFJUCxNQUFNLENBQUNPLEdBQUQsQ0FBVixFQUFpQixPQUFPQSxHQUFQO0FB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UCxDQUFlUixXQUFmLEdBQTZCQSxXQUE3QiIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IG1zID0gcmVxdWlyZSgnbXMnKTtcbmNvbnN0IGh1bWFuSW50ZXJ2YWwgPSByZXF1aXJlKCdodW1hbi1pbnRlcnZhbCcpO1xuY29uc3QgbGF0ZXIgPSByZXF1aXJlKCdAYnJlZWpzL2xhdGVyJyk7XG5jb25zdCBpc1NBTkIgPSByZXF1aXJlKCdpcy1zdHJpbmctYW5kLW5vdC1ibGFuaycpO1xuXG4vKipcbiAqIE5haXZlbHkgY2hlY2tzIGlmIHBhc3NlZCB2YWx1ZSBpcyBvZiBsYXRlci5qcyBzY2hlZHVsZSBmb3JtYXQgKGh0dHBzOi8vYnJlZWpzLmdpdGh1Yi5pby9sYXRlci9zY2hlZHVsZXMuaHRtbClcbiAqXG4gKiBAcGFyYW0geyp9IHZhbHVlIHRvIGNoZWNrIGZvciBzY2hlZHVsZSBmb3JtYXRcbiAqIEByZXR1cm5zIHtib29sZWFufVxuICovXG5jb25zdCBpc1NjaGVkdWxlID0gKHZhbHVlKSA9PiB7XG4gIHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmIEFycmF5LmlzQXJyYXkodmFsdWUuc2NoZWR1bGVzKTtcbn07XG5cbi8qKlxuICogRXh0cmFjdHMgam9iIG5hbWUgZnJvbSBqb2IgZGVmaW5pdGlvblxuICpcbiAqIEBwYXJhbSB7c3RyaW5nIHwgT2JqZWN0IHwgRnVuY3Rpb259IGpvYiBkZWZpbml0aW9uXG4gKiBAcmV0dXJucyB7c3RyaW5nfVxuICovXG5jb25zdCBnZXROYW1lID0gKGpvYikgPT4ge1xuICBpZiAoaXNTQU5CKGpvYikpIHJldHVybiBqb2I7XG4gIGlmICh0eXBlb2Ygam9iID09PSAnb2JqZWN0JyAmJiBpc1NBTkIoam9iLm5hbWUpKSByZXR1cm4gam9iLm5hbWU7XG4gIGlmICh0eXBlb2Ygam9iID09PSAnZnVuY3Rpb24nICYmIGlzU0FOQihqb2IubmFtZSkpIHJldHVybiBqb2IubmFtZTtcbn07XG5cbi8qKlxuICogUGFyc2VzIHByb3ZpZGVkIHZhbHVlIGludG8gbWlsbGlzZWNvbmRcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gX3ZhbHVlXG4gKi9cbmNvbnN0IGdldEh1bWFuVG9NcyA9IChfdmFsdWUpID0+IHtcbiAgY29uc3QgdmFsdWUgPSBodW1hbkludGVydmFsKF92YWx1ZSk7XG4gIGlmIChOdW1iZXIuaXNOYU4odmFsdWUpKSByZXR1cm4gbXMoX3ZhbHVlKTtcbiAgcmV0dXJuIHZhbHVlO1xufTtcblxuLyoqXG4gKiBQYXJzZXMgc2NoZWR1bGUgdmFsdWUgaW50byBcImxhdGVyXCIgc2NoZWR1bGUgb2JqZWN0IG9yIG1pbGxpc2Vjb25kc1xuICpcbiAqIEBwYXJhbSB7Ym9vbGVhbiB8IHN0cmluZyB8IG51bWJlciB8IE9iamVjdH0gdmFsdWVcbiAqIEByZXR1cm5zIHtudW1iZXIgfCBib29sZWFuIHwgT2JqZWN0fVxuICovXG5jb25zdCBwYXJzZVZhbHVlID0gKHZhbHVlKSA9PiB7XG4gIGNvbnN0IG9yaWdpbmFsVmFsdWUgPSB2YWx1ZTtcblxuICBpZiAodmFsdWUgPT09IGZhbHNlKSByZXR1cm4gdmFsdWU7XG5cbiAgaWYgKGlzU2NoZWR1bGUodmFsdWUpKSByZXR1cm4gdmFsdWU7XG5cbiAgaWYgKGlzU0FOQih2YWx1ZSkpIHtcbiAgICBjb25zdCBzY2hlZHVsZSA9IGxhdGVyLnNjaGVkdWxlKGxhdGVyLnBhcnNlLnRleHQodmFsdWUpKTtcbiAgICBpZiAoc2NoZWR1bGUuaXNWYWxpZCgpKSByZXR1cm4gbGF0ZXIucGFyc2UudGV4dCh2YWx1ZSk7XG4gICAgdmFsdWUgPSBnZXRIdW1hblRvTXModmFsdWUpO1xuICAgIGlmICh2YWx1ZSA9PT0gMCkge1xuICAgICAgLy8gVGhlcmUgaXMgYSBidWcgaW4gdGhlIGh1bWFuLWludGVydmFsIGxpYnJhcnkgdGhhdCBjYXVzZXMgc29tZSBpbnZhbGlkXG4gICAgICAvLyBzdHJpbmdzIHRvIGJlIHBhcnNlZCBhcyB2YWxpZCwgcmV0dXJuaW5nIDAgYXMgb3V0cHV0IChpbnN0ZWFkIG9mIE5hTikuXG4gICAgICAvLyBTaW5jZSB0aGUgdXNlciBpcyB1c2luZyBhIFN0cmluZyB0byBkZWZpbmUgdGhlIGludGVydmFsLCBpdCBpcyBtb3N0XG4gICAgICAvLyBsaWtlbHkgdGhhdCBoZS9zaGUgaXMgbm90IHRyeWluZyB0byBzZXQgaXQgdG8gMG1zLlxuICAgICAgLy8gSGVuY2UsIHRoaXMgbXVzdCBiZSBhbiBlcnJvci5cbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYFZhbHVlIFwiJHtvcmlnaW5hbFZhbHVlfVwiIGlzIG5vdCBhIFN0cmluZyBwYXJzZWFibGUgYnkgXFxgbGF0ZXIucGFyc2UudGV4dFxcYCAoc2VlIDxodHRwczovL2JyZWVqcy5naXRodWIuaW8vbGF0ZXIvcGFyc2Vycy5odG1sI3RleHQ+IGZvciBleGFtcGxlcylgXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIGlmICghTnVtYmVyLmlzRmluaXRlKHZhbHVlKSB8fCB2YWx1ZSA8IDApXG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgYFZhbHVlIFwiJHtvcmlnaW5hbFZhbHVlfVwiIG11c3QgYmUgYSBmaW5pdGUgbnVtYmVyID49IDAgb3IgYSBTdHJpbmcgcGFyc2VhYmxlIGJ5IFxcYGxhdGVyLnBhcnNlLnRleHRcXGAgKHNlZSA8aHR0cHM6Ly9icmVlanMuZ2l0aHViLmlvL2xhdGVyL3BhcnNlcnMuaHRtbCN0ZXh0PiBmb3IgZXhhbXBsZXMpYFxuICAgICk7XG5cbiAgcmV0dXJuIHZhbHVlO1xufTtcblxuLyoqXG4gKiBQcm9jZXNzZXMgam9iIG9iamVjdHMgZXh0cmFjdGluZyB0aGVpciBuYW1lc1xuICogQ2FuIGNvbmRpdGlvbmFseSBza2lwIHJlY29yZHMgYnkgdGhlaXIgaW5kZXhcbiAqXG4gKiBAcGFyYW0ge2FueVtdfSBqb2JzXG4gKiBAcGFyYW0ge251bWJlcn0gZXhjbHVkZUluZGV4XG4gKiBAcmV0dXJucyB7c3RyaW5nW119IGpvYiBuYW1lc1xuICovXG5jb25zdCBnZXRKb2JOYW1lcyA9IChqb2JzLCBleGNsdWRlSW5kZXgpID0+IHtcbiAgY29uc3QgbmFtZXMgPSBbXTtcblxuICBmb3IgKGNvbnN0IFtpLCBqb2JdIG9mIGpvYnMuZW50cmllcygpKSB7XG4gICAgaWYgKGkgPT09IGV4Y2x1ZGVJbmRleCkgY29udGludWU7XG5cbiAgICBjb25zdCBuYW1lID0gZ2V0TmFtZShqb2IpO1xuXG4gICAgaWYgKG5hbWUpIG5hbWVzLnB1c2gobmFtZSk7XG4gIH1cblxuICByZXR1cm4gbmFtZXM7XG59O1xuXG5tb2R1bGUuZXhwb3J0cy5pc1NjaGVkdWxlID0gaXNTY2hlZHVsZTtcbm1vZHVsZS5leHBvcnRzLmdldE5hbWUgPSBnZXROYW1lO1xubW9kdWxlLmV4cG9ydHMuZ2V0SHVtYW5Ub01zID0gZ2V0SHVtYW5Ub01zO1xubW9kdWxlLmV4cG9ydHMucGFyc2VWYWx1ZSA9IHBhcnNlVmFsdWU7XG5tb2R1bGUuZXhwb3J0cy5nZXRKb2JOYW1lcyA9IGdldEpvYk5hbWVzO1xuIl19

2

package.json
{
"name": "bree",
"description": "The best job scheduler for Node.js and JavaScript with cron, dates, ms, later, and human-friendly support. Works in Node v10+ and browsers (thanks to bthreads polyfill), uses workers to spawn sandboxed processes, and supports async/await, retries, throttling, concurrency, and cancelable promises (graceful shutdown). Simple, fast, and lightweight. Made for Forward Email and Lad.",
"version": "6.2.0",
"version": "6.2.1",
"author": "Nick Baugh <niftylettuce@gmail.com> (http://niftylettuce.com/)",

@@ -6,0 +6,0 @@ "ava": {

@@ -37,3 +37,3 @@ <h1 align="center">

* [Listening for events](#listening-for-events)
* [Custom error handling](#custom-error-handling)
* [Custom error/message handling](#custom-errormessage-handling)
* [Cancellation, Retries, Stalled Jobs, and Graceful Reloading](#cancellation-retries-stalled-jobs-and-graceful-reloading)

@@ -47,2 +47,3 @@ * [Interval, Timeout, Date, and Cron Validation](#interval-timeout-date-and-cron-validation)

* [Using functions for jobs](#using-functions-for-jobs)
* [Typescript Usage](#typescript-usage)
* [Concurrency](#concurrency)

@@ -80,3 +81,17 @@ * [Real-world usage](#real-world-usage)

For TypeScript bindings:
[npm][]:
```sh
npm install --save-dev @types/bree
```
[yarn][]:
```sh
yarn add -D @types/bree
```
## Usage and Examples

@@ -569,6 +584,8 @@

## Custom error handling
## Custom error/message handling
If you'd like to override default behavior for worker error handling, provide a callback function as `errorHandler` parameter when creating a Bree instance.
If you'd like to override default behavior for worker error/message handling, provide a callback function as `errorHandler` or `workerMessageHandler` parameter when creating a Bree instance.
> **NOTE:** Any `console.log` calls, from within the worker, will not be sent to `stdout`/`stderr` until the main thread is available. Furthermore, any `console.log` calls, from within the worker, will not be sent if the process is terminated before the message is printed. You should use `parentPort.postMessage()` alongside `errorHandler` or `workerMessageHandler` to print to `stdout`/`stderr` during worker execution. This is a known [bug](https://github.com/nodejs/node/issues/30491) for workers.
An example use-case. If you want to call an external service to record an error (like Honeybadger, Sentry, etc.) along with logging the error internally. You can do so with:

@@ -746,2 +763,46 @@

## Typescript Usage
As is mentioned in this issue: [#24](https://github.com/breejs/bree/issues/24) and thanks to @ChrisEdgington. You can use typescript workers as:
Create a function that will process the path:
```js
function typescript_worker() {
const path = require('path')
require('ts-node').register()
const workerData = require('worker_threads').workerData
require(path.resolve(__dirname, workerData.__filename))
}
```
Then use the function as path (see [Using functions for jobs](#using-functions-for-jobs)), and pass the path to your ts job file:
```js
{
name: 'Typescript Worker',
path: typescript_worker,
interval: 'every 10 seconds',
worker: { workerData: { __filename: './src/job_specific_filename_worker.ts' } }
}
```
Additionally for supporting using ts on development and js on production you can make something like or wathever similar:
```js
...(CRON_MODE === 'ts'
? {
path: typescript_worker,
worker: {
workerData: {
__filename: path.join(paths.jobs, `${jobPath}.ts`)
}
}
}
: {
path: path.join(paths.jobs, `${jobPath}.js`)
})
```
## Concurrency

@@ -759,3 +820,3 @@

More detailed examples can be found in [Forward Email][forward-email] and [Lad][].
More detailed examples can be found in [Forward Email][forward-email], [Lad][], and [Ghost][ghost].

@@ -851,1 +912,3 @@

[rollup]: https://github.com/rollup/rollup
[ghost]: https://ghost.org/

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc