cronnor
Version:
Bibliothèque JavaScript implémentant un programme cron.
89 lines (88 loc) • 3.55 kB
TypeScript
/**
* La classe d'une tâche _cronée_.
*
* @class
*/
export default class Cron {
/**
* Crée une tâche _cronée_.
*
* @param {string|string[]} cronex La ou les expressions _cron_
* indiquant les horaires
* d'exécution de la tâche.
* @param {Function} func La fonction appelée à chaque
* horaire indiqué dans les
* expressions _cron_.
* @param {Object} [options] Les options de la tâche
* _cronée_.
* @param {boolean} [options.active] `true` (par défaut) pour
* activer la tâche ; sinon
* `false`.
* @param {any} [options.thisArg] Le `this` utilisé pour la
* fonction (la tâche _cronée_
* par défaut).
* @param {any[]} [options.args] Les paramètres passés à la
* fonction (aucun paramètre par
* défaut).
* @throws {Error} Si la syntaxe d'une expression _cron_ est
* incorrecte.
* @throws {RangeError} Si un intervalle d'une expression _cron_ est
* invalide (hors limite ou quand la borne supérieure
* est plus petite que la borne inférieure).
* @throws {TypeError} Si le constructeur est appelé sans le mot clé `new`
* ou si un des paramètres n'a pas le bon type.
*/
constructor(cronex: string | string[], func: Function, options?: {
active?: boolean;
thisArg?: any;
args?: any[];
});
/**
* Définit l'état de la tâche.
*
* @param {boolean} value `true` pour activer la tâche ; sinon `false`.
*/
set active(value: boolean);
/**
* Récupère l'état de la tâche (active ou non).
*
* @returns {boolean} `true` si la tâche est active ; sinon `false`.
*/
get active(): boolean;
/**
* Exécute manuellement la fonction.
*/
run(): void;
/**
* Active la tâche.
*
* @returns {boolean} `true` quand la tâche a été activée ; `false` si elle
* était déjà active.
*/
start(): boolean;
/**
* Désactive la tâche.
*
* @returns {boolean} `true` quand la tâche a été désactivée ; `false` si
* elle était déjà inactive.
*/
stop(): boolean;
/**
* Teste si une date respecte une des expressions _cron_ de la tâche.
*
* @param {Date} [date] La date qui sera testée (ou l'instant présent par
* défaut).
* @returns {boolean} `true` si une des expressions est respectée ; sinon
* `false`.
*/
test(date?: Date): boolean;
/**
* Calcule la prochaine date respectant une des expressions _cron_ de la
* tâche.
*
* @param {Date} [start] La date de début (ou l'instant présent par défaut).
* @returns {Date} La prochaine date respectant une des expressions.
*/
next(start?: Date): Date;
#private;
}