Add new builtin for merging maps
Évaluation
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Accessibilité débutants
- 35/100
Piste de recherche
Aucun fichier ni test n’est nommé. Commencez par examiner comment les builtins existants gèrent les maps et comment concat est spécifié, puis déterminez s’il devrait s’agir d’un nouveau builtin de merge/copy ou d’une extension de concat. Le travail est considéré comme terminé lorsque l’exemple de l’issue avec des champs imbriqués fonctionne avec une sémantique de merge documentée et que les tests couvrent le comportement.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Expr currently does not have a builtin for merging maps. Adding a new builtin would be useful to merge maps but also to modify nested fields.
For instance:
/*
Env:
{
"data":{
"status": 0,
"rows": 32,
"signing_keys":[
"key1",
"key2"
]
}
}
*/
merge($env["data"], {signing_keys: concat($env["data"]["signing_keys"], ["another"])})
/*
Output:
{
"data":{
"status": 0,
"rows": 32,
"signing_keys":[
"key1",
"key2",
"another"
]
}
}
*/
As for the name, "merge" seems natural but I would also consider using "copy" (as used in Go's maps package). Other possibility is to modify "concat" to support both arrays and maps.
- Langage dominant
- Go
- Étoiles
- 8k
- Forks
- 533
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Préparer son environnement
Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de expr-lang/expr
-
Docs: Built in functions shadow user variablesPeut-être pris @sanmaxdev l’a pris il y a 105 jours. Ouvertedocs needed
Difficulté 1/5 1-3 heures Accessibilité débutants 62/100
-
`in` operator on a struct doesn't respect `expr` tagsPeut-être pris @akashchamp l’a pris il y a 24 jours. Ouverte
Difficulté 3/5 1-2 jours Accessibilité débutants 65/100
-
`find`, `findIndex`, `first` and `get` are type-checked as the element type where they return nilPeut-être pris @TastyHeadphones l’a pris il y a 21 jours. Ouverte
Difficulté 3/5 1-2 jours Accessibilité débutants 65/100
-
Release latest master branchOuverte
Difficulté 4/5 3-5 jours Accessibilité débutants 35/100
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 35/100
Toutes les issues de expr-lang/expr
Issues similaires
-
good first issue help wanted v3
Difficulté 2/5 1-3 heures Accessibilité débutants 77/100
oras-project/oras-go#1621 ·
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 80/100
Les mainteneurs répondent en général sous 4 jours
-
Chained slog With calls discard previously bound attributesPeut-être pris @yuefdev l’a pris aujourd’hui. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
Les mainteneurs répondent en général sous 1 jour
-
[scanner] TestAgentNowLineStates hard-fails instead of degrading when node is off PATHPeut-être pris @arteeh l’a pris aujourd’hui. Ouverteagent/scanner ci help wanted kind/test
Difficulté 1/5 Moins d'une heure Accessibilité débutants 90/100
hivecommons/hive#12924 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
Gentleman-Programming/engram#1940 ·
Les mainteneurs répondent en général sous 1 jour