func (a *API) ExportableName(name string) string {
	if name == "" {
		return name
	}
	failed := false
	name = strings.ToUpper(name[0:1]) + name[1:]
	if a.NoInflections {
		return name
	}
	out := ""
	for _, part := range splitName(name) {
		if part == "" {
			continue
		}
		if part == strings.ToUpper(part) || part[0:1]+"s" == part {
			out += part
			continue
		}
		if v, ok := whitelistExportNames[part]; ok {
			if v != "" {
				out += v
			} else {
				out += part
			}
		} else {
			failed = true
			inflected := part
			for regexp, repl := range replacements {
				inflected = regexp.ReplaceAllString(inflected, repl)
			}
			a.unrecognizedNames[part] = inflected
		}
	}
	if failed {
		return name
	}
	return out
}
ExportableName a name which is exportable as a value or name in Go code
package api
import (
	"io/ioutil"
	"os"
	"path/filepath"
	"regexp"
	"runtime"
	"strconv"
	"strings"
)