protobuf: google.golang.org/protobuf/internal/strs Index | Files

package strs

import "google.golang.org/protobuf/internal/strs"

Package strs provides string manipulation functionality specific to protobuf.

Index

Package Files

strings.go strings_unsafe.go

func EnforceUTF8 Uses

func EnforceUTF8(fd protoreflect.FieldDescriptor) bool

EnforceUTF8 reports whether to enforce strict UTF-8 validation.

func EnumValueName Uses

func EnumValueName(s string) string

EnumValueName derives the camel-cased enum value name. See protoc v3.8.0: src/google/protobuf/descriptor.cc:297-313

func GoCamelCase Uses

func GoCamelCase(s string) string

GoCamelCase camel-cases a protobuf name for use as a Go identifier.

If there is an interior underscore followed by a lower case letter, drop the underscore and convert the letter to upper case.

func GoSanitized Uses

func GoSanitized(s string) string

GoSanitized converts a string to a valid Go identifier.

func JSONCamelCase Uses

func JSONCamelCase(s string) string

JSONCamelCase converts a snake_case identifier to a camelCase identifier, according to the protobuf JSON specification.

func JSONSnakeCase Uses

func JSONSnakeCase(s string) string

JSONSnakeCase converts a camelCase identifier to a snake_case identifier, according to the protobuf JSON specification.

func MapEntryName Uses

func MapEntryName(s string) string

MapEntryName derives the name of the map entry message given the field name. See protoc v3.8.0: src/google/protobuf/descriptor.cc:254-276,6057

func TrimEnumPrefix Uses

func TrimEnumPrefix(s, prefix string) string

TrimEnumPrefix trims the enum name prefix from an enum value name, where the prefix is all lowercase without underscores. See protoc v3.8.0: src/google/protobuf/descriptor.cc:330-375

func UnsafeBytes Uses

func UnsafeBytes(s string) (b []byte)

UnsafeBytes returns an unsafe bytes slice reference of s. The caller must treat returned slice as immutable.

WARNING: Use carefully. The returned result must not leak to the end user.

func UnsafeString Uses

func UnsafeString(b []byte) (s string)

UnsafeString returns an unsafe string reference of b. The caller must treat the input slice as immutable.

WARNING: Use carefully. The returned result must not leak to the end user unless the input slice is provably immutable.

type Builder Uses

type Builder struct {
    // contains filtered or unexported fields
}

Builder builds a set of strings with shared lifetime. This differs from strings.Builder, which is for building a single string.

func (*Builder) AppendFullName Uses

func (sb *Builder) AppendFullName(prefix pref.FullName, name pref.Name) pref.FullName

AppendFullName is equivalent to protoreflect.FullName.Append, but optimized for large batches where each name has a shared lifetime.

func (*Builder) MakeString Uses

func (sb *Builder) MakeString(b []byte) string

MakeString is equivalent to string(b), but optimized for large batches with a shared lifetime.

Package strs imports 7 packages (graph) and is imported by 15 packages. Updated 2020-08-08. Refresh now. Tools for package owners.