acte for node & browser

by toubia95

JavaScript

// acte.js
// global anonymous closure
(function () {
    // namespace object or anonymous function (var acte = acte || function() {};) declaration
    var acte = acte || {};
   
    /**
     * Methode Jour()
     * @memberof  acte
     * @public
     * @since 0.0.1
     */
  
    //PRIVATE FUNCTIONS (& VARIABLES)
	
    var CONSTANTES = CONSTANTES || {};
    CONSTANTES.GREGORIEN = {
        EPOCH: 1721425.5
    };
    CONSTANTES.REPUBLICAIN = {
        EPOCH: 2375839.5
    };

    //  Déterminer si une année grégorienne est bissextile ?

    var leap_gregorian = function leap_gregorian(year) {
        return ((year % 4) === 0) && (!(((year % 100) === 0) && ((year % 400) !== 0)));
    };

    //  Déterminer le nombre de jours juliens (njj) à partir d'une date grégorienne

    var GREGORIAN_EPOCH = 1721425.5;

    var gregorian_to_jd = function gregorian_to_jd(year, month, day) {
        return (GREGORIAN_EPOCH - 1) + (365 * (year - 1)) + Math.floor((year - 1) / 4) + (-Math.floor((year - 1) / 100)) + Math.floor((year - 1) / 400) + Math.floor((((367 * month) - 362) / 12) + ((month <= 2) ? 0 : (leap_gregorian(year) ? -1 : -2)) + day);
    };

    //  Calculer une date grégorienne à partir du nombre de jours juliens

    var jd_to_gregorian = function jd_to_gregorian(jd) {
        var wjd, depoch, quadricent, dqc, cent, dcent, quad, dquad,
        yindex, dyindex, year, yearday, leapadj;

        wjd = Math.floor(jd - 0.5) + 0.5;
        depoch = wjd - GREGORIAN_EPOCH;
        quadricent = Math.floor(depoch / 146097);
        dqc = mod(depoch, 146097);
        cent = Math.floor(dqc / 36524);
        dcent = mod(dqc, 36524);
        quad = Math.floor(dcent / 1461);
        dquad = mod(dcent, 1461);
        yindex = Math.floor(dquad / 365);
        year = (quadricent * 400) + (cent * 100) + (quad * 4) + yindex;
        if (!((cent === 4) || (yindex === 4))) {
            year++;
        }
        yearday = wjd - gregorian_to_jd(year, 1, 1);
        leapadj = ((wjd <...