# Functions
CleanPrefix strips the "command-line-arguments." prefix that the Go 'packages' package prepends to type identifier for types defined in the source file we're parsing.
CleanTypeNameUpper normalizes a raw type's name to be a single token name in upper camel case.
DispositionFileName extracts the "filename" from an HTTP Content-Disposition header value.
EmptyString is a predicate that returns true when the input value is "".
IsPathVariable returns true if the given path segment value looks like it's a variable.
JoinPackageName converts a package-qualified type such as "fmt.Stringer" into a single "safe" identifier such as "fmtStringer".
LeadingSlash adds..
NoImport strips off the prefix before "/" in your type identifier (e.g.
NoPackage strips of any package prefixes from an identifier (e.g.
NoPointer strips off any "*" prefix your type identifier might have (e.g.
NoSlice takes a string like "[]Foo" or "[456]Foo", strips off the slice/array braces, leaving you with "Foo".
NotEmptyString is a predicate that returns true when the input value is anything but "".
PathTokens accepts a path string like "foo/bar/baz" and returns a slice of the individual path segment tokens such as ["foo", "bar", "baz"].
PathVariableName returns the raw variable name of the path variable if it actually is a variable (e.g.
ResolvePath accepts a path that potentially includes path variables (e.g.
TokenizePath follows our standard segment/variable naming conventions and splits a path such as "foo/{bar/baz}/goo" or "foo.{bar.baz}.goo" into the slice ["foo", "{bar.baz}", "goo"].
ToLowerCamel converts the string to lower camel-cased.
ToUpperCamel converts the string to upper camel-cased.