From cfc93dcce666c839f1ba0b9e61abff7ca5ba82da Mon Sep 17 00:00:00 2001 From: tengqiu Date: Mon, 8 Aug 2022 13:45:00 +0800 Subject: [PATCH 1/2] feat: remove omitempty json tag for required field --- generate/convert.go | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/generate/convert.go b/generate/convert.go index d4a21f1f..e49b64d1 100644 --- a/generate/convert.go +++ b/generate/convert.go @@ -236,6 +236,14 @@ func (g *generator) convertType( // Type is a list. elem, err := g.convertType( namePrefix, typ.Elem, selectionSet, options, queryOptions) + + // [String!]! -> `json:"xxx"` + // [String!] -> `json:"xxx,omitempty"` + if !typ.NonNull { + oe := true + options.Omitempty = &oe + } + return &goSliceType{elem}, err } @@ -258,6 +266,14 @@ func (g *generator) convertType( // Note this does []*T or [][]*T, not e.g. *[][]T. See #16. goTyp = &goPointerType{goTyp} } + + // String! -> `json:"xxx"` + // String -> `json:"xxx,omitempty"` + if !typ.NonNull { + oe := true + options.Omitempty = &oe + } + return goTyp, err } From c6de5a70d81b1842da7f147cb3881a04f84ea3b7 Mon Sep 17 00:00:00 2001 From: Maxwell Date: Thu, 10 Nov 2022 17:44:10 +0800 Subject: [PATCH 2/2] fix: keep filename order in expandFilenames Change-Id: I16a7be27764d9df716ac42d2ad470656570cfce0 --- generate/parse.go | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/generate/parse.go b/generate/parse.go index 7b2ac5e5..905b9996 100644 --- a/generate/parse.go +++ b/generate/parse.go @@ -72,13 +72,21 @@ func expandFilenames(globs []string) ([]string, error) { if err != nil { return nil, errorf(nil, "can't expand file-glob %v: %v", glob, err) } + if len(matches) == 0 { + return nil, errorf(nil, "%v did not match any files", glob) + } for _, match := range matches { - uniqFilenames[match] = true + uniqFilenames[match] = false } } + // item should keep same order with original globs filenames := make([]string, 0, len(uniqFilenames)) - for filename := range uniqFilenames { + for _, filename := range globs { + if uniqFilenames[filename] { + continue + } filenames = append(filenames, filename) + uniqFilenames[filename] = true } return filenames, nil }