MCPcopy Create free account
hub / github.com/google/go-github / tagNameToPascal

Function tagNameToPascal

tools/structfield/structfield.go:385–409  ·  view source on GitHub ↗
(tagName string)

Source from the content-addressed store, hash-verified

383var camelCaseRE = regexp.MustCompile(`([a-z0-9])([A-Z])`)
384
385func tagNameToPascal(tagName string) (want, alternate string) {
386 parts := splitTag(tagName)
387 alt := make([]string, len(parts))
388 for i, part := range parts {
389 alt[i] = part
390 if part == "" {
391 continue
392 }
393 upper := strings.ToUpper(part)
394 if initialisms[upper] {
395 parts[i] = upper
396 alt[i] = upper
397 } else if specialCase, ok := specialCases[upper]; ok {
398 parts[i] = specialCase
399 alt[i] = specialCase
400 } else if possibleAlternate, ok := possibleAlternates[upper]; ok {
401 parts[i] = possibleAlternate
402 alt[i] = strings.ToUpper(part[:1]) + part[1:]
403 } else {
404 parts[i] = strings.ToUpper(part[:1]) + part[1:]
405 alt[i] = parts[i]
406 }
407 }
408 return strings.Join(parts, ""), strings.Join(alt, "")
409}
410
411// Common Go initialisms that should be all caps.
412var initialisms = map[string]bool{

Callers 1

checkGoFieldNameFunction · 0.85

Calls 1

splitTagFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…