1
0
mirror of https://github.com/TomWright/dasel.git synced 2022-05-22 02:32:45 +03:00

Add select and selectMultiple as an alias of query and queryMultiple in output formatting

This commit is contained in:
Tom Wright
2021-08-11 09:09:05 +01:00
parent 550e1e9007
commit 047f9fa09e
2 changed files with 30 additions and 6 deletions

View File

@@ -60,12 +60,14 @@ type formatTemplateFuncs struct {
func (funcs *formatTemplateFuncs) funcMap() template.FuncMap { func (funcs *formatTemplateFuncs) funcMap() template.FuncMap {
return template.FuncMap{ return template.FuncMap{
"query": funcs.query, "query": funcs.query,
"queryMultiple": funcs.queryMultiple, "queryMultiple": funcs.queryMultiple,
"format": funcs.format, "select": funcs.query,
"isFirst": funcs.isFirst, "selectMultiple": funcs.queryMultiple,
"isLast": funcs.isLast, "format": funcs.format,
"newline": funcs.newline, "isFirst": funcs.isFirst,
"isLast": funcs.isLast,
"newline": funcs.newline,
} }
} }

View File

@@ -59,6 +59,14 @@ func TestFormatNode(t *testing.T) {
`{{ query ".name" }}, {{ query ".email" }}`, `{{ query ".name" }}, {{ query ".email" }}`,
`Tom, contact@tomwright.me`, `Tom, contact@tomwright.me`,
)) ))
t.Run("SelectAccess", testFormatNode(
map[string]interface{}{
"name": "Tom",
"email": "contact@tomwright.me",
},
`{{ select ".name" }}, {{ select ".email" }}`,
`Tom, contact@tomwright.me`,
))
t.Run("Format", testFormatNode( t.Run("Format", testFormatNode(
map[string]interface{}{ map[string]interface{}{
"name": "Tom", "name": "Tom",
@@ -186,6 +194,20 @@ Jim, jim@gmail.com`,
}, },
`{{ query ".name" }}, {{ query ".email" }}{{ if not isLast }}{{ newline }}{{ end }}`, `{{ query ".name" }}, {{ query ".email" }}{{ if not isLast }}{{ newline }}{{ end }}`,
`Tom, contact@tomwright.me `Tom, contact@tomwright.me
Jim, jim@gmail.com`))
t.Run("SelectAccess", testFormatNodes(
[]interface{}{
map[string]interface{}{
"name": "Tom",
"email": "contact@tomwright.me",
},
map[string]interface{}{
"name": "Jim",
"email": "jim@gmail.com",
},
},
`{{ select ".name" }}, {{ select ".email" }}{{ if not isLast }}{{ newline }}{{ end }}`,
`Tom, contact@tomwright.me
Jim, jim@gmail.com`)) Jim, jim@gmail.com`))
t.Run("QueryAccessInvalidSelector", testFormatNodes( t.Run("QueryAccessInvalidSelector", testFormatNodes(
[]interface{}{ []interface{}{