github.com/Desuuuu/genqlient@v0.5.3/generate/stringlist.go (about)

     1  package generate
     2  
     3  // StringList provides yaml unmarshaler to accept both `string` and `[]string` as a valid type.
     4  // Sourced from:
     5  //		https://github.com/99designs/gqlgen/blob/1a0b19feff6f02d2af6631c9d847bc243f8ede39/codegen/config/config.go#L302-L329
     6  type StringList []string
     7  
     8  func (a *StringList) UnmarshalYAML(unmarshal func(interface{}) error) error {
     9  	var single string
    10  	err := unmarshal(&single)
    11  	if err == nil {
    12  		*a = []string{single}
    13  		return nil
    14  	}
    15  
    16  	var multi []string
    17  	err = unmarshal(&multi)
    18  	if err != nil {
    19  		return err
    20  	}
    21  
    22  	*a = multi
    23  	return nil
    24  }