-
Notifications
You must be signed in to change notification settings - Fork 12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
le transformer Array ne fonctionne pas correctement #2133
Comments
Tout fonctionne comme c'est censé fonctionner en fait. Le problème ne vient pas de l'utilisation du transformer "Array" mais de l'utilisation de "Get". Pour info, les transformers testent le type des données et s'adaptent en fonction. Puisque le 1er exemple renvoyé après "Get" est un string, le transformer transforme la chaîne en tableau. Dans les cas où ce sont déjà des tableaux le transformer va agir su chaque élement du tableau, et donc transformer chaque chaîne ou élément en tableau et c'est pourquoi on obtient un tableau de tableaux. L'utilisation du transformer "Array" dans ce contexte revient à exécuter ce code Le résultat du transformer "Array" est donc tout à fait normal. Le problème apparaît à l'utlisation de "Get" car on voit que pour le 1er exemple on n'a bien un tableau d'une seule valeur c'est l'usage de "Get" qui transforme ce taleau d'une valeur en un string. Mais ce n'est pas un bug, en vérifiant le code du transformer "Get" il y a bien une ligne qui spécifie que si le tableau contient exactement 1 élément alors on renvoie directement l'élément sous forme de chaîne. Si le tableau est vide ou s'il contient pus d'un élément on renvoie le tableau d'origine >> https://github.com/Inist-CNRS/lodex/blob/master/packages/transformers/src/operations/GET.js ligne 8 : A voir si @touv veut modifier le code de ce transformer et si cette ligne en particulier a une utilité. Si non je pense qu'il suffit de remplacer par Pour l'heure, le problème peut être résolu en passant par le mode enrichissement en écrivant simplement le get de Lodash ne modifiant pas la structure des données. |
Le Transformer GET est peut-être le Transformer le plus utilisé, du coup, modifier son comportement risque de casser beaucoup de modèles. Je préférais modifier le comportement du transformer ARRAY pour éviter de créer des matrices car l'idée de ce Transformer était d’homogénéiser les types de données pour être certain de créer un tableau de valeurs directement exploitable par le format liste. |
ok ok je comprends l'argument, par contre je laisse la main pour la résolution car pour moi le code spécifie déjà de ne pas créer de tableau si l'on a déjà un tableau... |
Décrire le bogue
Lorsqu'on lance le transformer Array, il crée un tableau quand il n'y a qu'une valeur. Il crée un tableau de tableau quand il y a plusieurs valeurs
Reproduire
Étapes pour reproduire le comportement :
["HD 101065"]
[["Iron"],["iron"],["sugar"],["haem iron"]]
Comportement attendu
Ne pas créer de tableaux dans le tableau mais avoir un seul tableau avec plusieurs valeurs
["HD 101065"]
["Iron","iron","sugar","haem iron"]
Captures d'écran
Le cas échéant, ajoutez des captures d'écran pour expliquer votre problème.
Environnement (veuillez compléter les informations suivantes) :
Contexte supplémentaire
Pour contourner l'actuel Array, on enchaîne un Join puis un Split
The text was updated successfully, but these errors were encountered: