gtoubiana / acte

Une librairie JavaScript qui simplifie la recherche généalogique.
http://gtoubiana.github.io/acte/
MIT License
0 stars 0 forks source link

Simplifier balisesEtFiltres() #258

Closed gtoubiana closed 3 years ago

gtoubiana commented 7 years ago

Simplifier gregorien() > formatageDeJour() > balisesEtFiltres()

Exemple :

  1. string.replace de %Y en %A // formats php des dates
  2. string replace de %AN en %A / formats supplémentaires en FR
  3. résultats limités à :
    • %S = Décade/Semaine dans l'année (aka %W)
    • %D = Décade/Semaine dans le mois
    • %M = Mois dans l'année (aka %F|%m|%M|%n)
    • %J = Jour dans le mois (aka %d|%D|%j|%l)
    • %Z = Jour dans l'année (aka %JA|%z)
    • %N = Jour de la Décade/Semaine (aka %JD|%N|%w)
    • %A = Année (aka %AN|%o|%Y|%y)
  4. if (x.match(/A/)) {res = obj.A;}

sources: http://php.net/manual/fr/function.date.php

gtoubiana commented 7 years ago

réduire la cyclomatique !

gtoubiana commented 7 years ago
%S = Décade/Semaine dans l'année (aka %W | %SA | %DA)
%D = Décade/Semaine dans le mois (aka %DM | %SM)
%M = Mois dans l'année (aka %F | %m | %M | %n | %MA)
%J = Jour dans le mois (aka %d | %D | %j | %l | %JM)
%Z = Jour dans l'année (aka %JA | %z)
%N = Jour de la Décade/Semaine (aka %JS | %JD | %N | %w)
%A = Année (aka %AN | %o | %Y | %y)
gtoubiana commented 7 years ago
%S = Décade/Semaine dans l'année (aka %W | %SA | %DA) /%(W|(S|D)A)/gm
%D = Décade/Semaine dans le mois (aka %DM | %SM) /%((D|S)M)/gm
%M = Mois dans l'année (aka %F | %m | %M | %n | %MA) /%(F|m|n|MA)/gm
%J = Jour dans le mois (aka %d | %D | %j | %l | %JM) /%(d|D|j|l|JM)/gm => BUG avec %D
%Z = Jour dans l'année (aka %JA | %z) /%(JA|z)/gm
%N = Jour de la Décade/Semaine (aka %JS | %JD | %w) /%(w|J(S|D))/gm
%A = Année (aka %AN | %o | %Y | %y) /%(Y|y|o|AN)/gm
gtoubiana commented 7 years ago
tempSaisie = remplacements(tempSaisie, regexpBalises, 'gm')

var regexpBalises = [{
      e: '%(W|(S|D)A)',
      r: '%S'
    }, {
      e: '%((D|S)M)',
      r: '%D'
    }, {
      e: '%(F|m|n|MA)',
      r: '%M'
    }, {
      e: '%(d|D|j|l|JM)', //BUG avec %D
      r: '%J'
    }, {
      e: '%(JA|z)',
      r: '%Z'
    }, {
      e: '%(w|J(S|D))',
      r: '%N'
    }, {
      e: '%(Y|y|o|AN)',
      r: '%A'
    }];

voir http://regexr.com/

gtoubiana commented 7 years ago
PHP / ACTE
----------
Année oYy / %A ou %AN - Année
Mois année FmMn / %M ou %MA - Mois dans l'année
semaine année W / %S, %SA ou %DA - Semaine/Décade dans l'année
/ %D, %DM, %SM - Semaine/Décade dans le mois
Jour mois dDjlS / %J ou %JM - Jour dans le mois
jour année z / %JA - Jour dans l'année
Jour semaine Nw / %JS ou %JD - Jour de la Décade/Semaine

Récap
-----
%A, %AN, %Y => %A
%M, %MA, %F => %M
%S, %SA, %DA, %W => %S
%D, %DM, %SM => %D
%J, %JM => %J
%JA, %Z => %Z
%JS, %JD, %N => %N