Add new builtin for merging maps
Avaliação
- Dificuldade
- 5/5
- Tempo estimado
- Mais de uma semana
- Facilidade para iniciantes
- 35/100
Direção de pesquisa
Nenhum arquivo ou teste é indicado. Comece revisando como os builtins existentes lidam com maps e como concat é especificado; em seguida, determine se isso deve ser um novo builtin de merge/copy ou uma extensão de concat. Está concluído quando o exemplo da issue com campos aninhados funciona com semântica de merge documentada e os testes cobrem o comportamento.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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.
- Linguagem predominante
- Go
- Estrelas
- 8k
- Forks
- 533
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Preparar o ambiente
Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de expr-lang/expr
-
Docs: Built in functions shadow user variablesTalvez já em andamento @sanmaxdev assumiu há 105 dias. Abertadocs needed
Dificuldade 1/5 1-3 horas Facilidade para iniciantes 62/100
-
`in` operator on a struct doesn't respect `expr` tagsTalvez já em andamento @akashchamp assumiu há 25 dias. Aberta
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 65/100
-
`find`, `findIndex`, `first` and `get` are type-checked as the element type where they return nilTalvez já em andamento @TastyHeadphones assumiu há 22 dias. Aberta
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 65/100
-
Release latest master branchAberta
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 35/100
-
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 35/100
Todas as issues de expr-lang/expr
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 74/100
scaleway/scaleway-cli#6492 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 67/100
taskcluster/taskcluster#9284 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
Review backlog (docs-currency): operator-reference.md dependency-bot sweep paragraph does not mention the transient-triage wordingTalvez já em andamento @hivecommons-hive assumiu hoje. Abertaagent/reviewer approved-direction help wanted hive/claimed-by-scanner
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 82/100
hivecommons/hive#13025 · 7 comentários ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 66/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
fluxcd/go-git-providers#329 ·