* ⚡️ Fixes #88. Accept array of string as valid input schema path.
34 lines
702 B
Go
34 lines
702 B
Go
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
|
|
}
|