...

Source file src/github.com/vektah/gqlparser/v2/validator/messaging.go

Documentation: github.com/vektah/gqlparser/v2/validator

     1  package validator
     2  
     3  import "bytes"
     4  
     5  // Given [ A, B, C ] return '"A", "B", or "C"'.
     6  func QuotedOrList(items ...string) string {
     7  	itemsQuoted := make([]string, len(items))
     8  	for i, item := range items {
     9  		itemsQuoted[i] = `"` + item + `"`
    10  	}
    11  	return OrList(itemsQuoted...)
    12  }
    13  
    14  // Given [ A, B, C ] return 'A, B, or C'.
    15  func OrList(items ...string) string {
    16  	var buf bytes.Buffer
    17  
    18  	if len(items) > 5 {
    19  		items = items[:5]
    20  	}
    21  	if len(items) == 2 {
    22  		buf.WriteString(items[0])
    23  		buf.WriteString(" or ")
    24  		buf.WriteString(items[1])
    25  		return buf.String()
    26  	}
    27  
    28  	for i, item := range items {
    29  		if i != 0 {
    30  			if i == len(items)-1 {
    31  				buf.WriteString(", or ")
    32  			} else {
    33  				buf.WriteString(", ")
    34  			}
    35  		}
    36  		buf.WriteString(item)
    37  	}
    38  	return buf.String()
    39  }
    40  

View as plain text