cronnor
Version:
Bibliothèque JavaScript implémentant un programme cron.
94 lines (93 loc) • 3.5 kB
TypeScript
/**
* La classe d'un champ d'une expression _cron_.
*
* @class
*/
export default class Field {
/**
* Crée un champ d'une expression _cron_ avec un intervalle de valeurs
* autorisées.
*
* @param {number} min La valeur minimale (incluse) autorisée.
* @param {number} max La valeur maximale (incluse) autorisée.
* @param {number} step Le pas entre les valeurs.
* @param {Object} extra Les informations supplémentaires.
* @param {boolean} extra.restricted `true` pour un champ qui était
* différent de `"*"` ; sinon `false`.
* @param {boolean} extra.random `false` pour générer un nombre
* aléatoire pour le minimum.
* @returns {Field} Le champ avec les valeurs de l'intervalle.
* @see https://github.com/tc39/proposal-iterator.range
*/
static range(min: number, max: number, step: number, extra: {
restricted: boolean;
random: boolean;
}): Field;
/**
* Regroupe les valeurs de plusieurs champs.
*
* @param {Field[]} fields La liste des champs qui seront regroupés.
* @returns {Field} Le champ avec la fusion des valeurs.
*/
static flat(fields: Field[]): Field;
/**
* Crée un champ d'une expression _cron_.
*
* @param {number[]} values La liste des valeurs autorisées pour le
* champ.
* @param {boolean} restricted `true` pour un champ qui était différent de
* `"*"` ; sinon `false`.
*/
constructor(values: number[], restricted: boolean);
/**
* Retourne la marque indiquant si le champ était différent de `"*"`.
*
* @returns {boolean} `true` si le champ était différent de `"*"` ; sinon
* `false`.
*/
get restricted(): boolean;
/**
* Retourne la valeur minimale.
*
* @returns {number} La valeur minimale.
*/
get min(): number;
/**
* Retourne la valeur maximale.
*
* @returns {number} La valeur maximale.
*/
get max(): number;
/**
* Retourne la liste des valeurs autorisées pour le champ.
*
* @returns {number[]} La liste des valeurs.
*/
values(): number[];
/**
* Applique une fonction sur toutes les valeurs.
*
* @param {function(number, number, number[]): number} callback La fonction
* appelée sur
* les valeurs.
* @returns {Field} Le nouveau champ avec les valeurs modifiées.
*/
map(callback: (arg0: number, arg1: number, arg2: number[]) => number): Field;
/**
* Teste si une valeur est présente dans la liste des valeurs.
*
* @param {number} value La valeur qui sera testée.
* @returns {boolean} `true` si la valeur est présente ; sinon `false`.
*/
test(value: number): boolean;
/**
* Calcule la prochaine valeur supérieure à une valeur.
*
* @param {number} value La valeur initiale.
* @returns {number|undefined} La prochaine valeur ; ou `undefined` si la
* valeur initiale est supérieure à la valeur
* maximale.
*/
next(value: number): number | undefined;
#private;
}