️ Accept array of string as valid input schema path. (#134)

* Fixes #88. Accept array of string as valid input schema path.
This commit is contained in:
Hasibul Hasan
2021-10-04 13:33:21 -07:00
committed by GitHub
parent 5e3c4d1be8
commit 59b6df6aab
7 changed files with 124 additions and 21 deletions
+33
View File
@@ -0,0 +1,33 @@
package generate
// StringList provides yaml unmarshaler to accept both `string` and `[]string` as a valid type.
// Sourced from:
// https://github.com/99designs/gqlgen/blob/1a0b19feff6f02d2af6631c9d847bc243f8ede39/codegen/config/config.go#L302-L329
type StringList []string
func (a *StringList) UnmarshalYAML(unmarshal func(interface{}) error) error {
var single string
err := unmarshal(&single)
if err == nil {
*a = []string{single}
return nil
}
var multi []string
err = unmarshal(&multi)
if err != nil {
return err
}
*a = multi
return nil
}
func (a StringList) Has(file string) bool {
for _, existing := range a {
if existing == file {
return true
}
}
return false
}