From 047f9fa09e9f43ef185d748704a18547337b8cf5 Mon Sep 17 00:00:00 2001 From: Tom Wright Date: Wed, 11 Aug 2021 09:09:05 +0100 Subject: [PATCH] Add select and selectMultiple as an alias of query and queryMultiple in output formatting --- output_formatter.go | 14 ++++++++------ output_formatter_test.go | 22 ++++++++++++++++++++++ 2 files changed, 30 insertions(+), 6 deletions(-) diff --git a/output_formatter.go b/output_formatter.go index a134649..0f4fed2 100644 --- a/output_formatter.go +++ b/output_formatter.go @@ -60,12 +60,14 @@ type formatTemplateFuncs struct { func (funcs *formatTemplateFuncs) funcMap() template.FuncMap { return template.FuncMap{ - "query": funcs.query, - "queryMultiple": funcs.queryMultiple, - "format": funcs.format, - "isFirst": funcs.isFirst, - "isLast": funcs.isLast, - "newline": funcs.newline, + "query": funcs.query, + "queryMultiple": funcs.queryMultiple, + "select": funcs.query, + "selectMultiple": funcs.queryMultiple, + "format": funcs.format, + "isFirst": funcs.isFirst, + "isLast": funcs.isLast, + "newline": funcs.newline, } } diff --git a/output_formatter_test.go b/output_formatter_test.go index 9be043f..aa6971e 100644 --- a/output_formatter_test.go +++ b/output_formatter_test.go @@ -59,6 +59,14 @@ func TestFormatNode(t *testing.T) { `{{ query ".name" }}, {{ query ".email" }}`, `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( map[string]interface{}{ "name": "Tom", @@ -186,6 +194,20 @@ Jim, jim@gmail.com`, }, `{{ query ".name" }}, {{ query ".email" }}{{ if not isLast }}{{ newline }}{{ end }}`, `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`)) t.Run("QueryAccessInvalidSelector", testFormatNodes( []interface{}{