Documentation
¶
Index ¶
- type CommentData
- type CompilerDiag
- type Config
- type EnumData
- type EnumOptions
- type EnumValue
- type EnumValueOptions
- type FieldData
- type FieldOptions
- type FileData
- type FileExtension
- type FileOptions
- type MessageData
- type MessageOptions
- type MethodData
- type MethodOptions
- type Namespace
- type OneOfData
- type PluginOpts
- type ServiceData
- type ServiceOptions
- type SyntaxDecl
- type TemplateData
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CommentData ¶
type CompilerDiag ¶
type CompilerDiag struct {
// Formatted version of the protobuf compiler (`protoc`).
Version string
// Parameter passed to the plugin. This is the value passed to the protobuf
// compiler (`protoc`) via the `--docjson_out` parameter.
PluginParameter string
// Number of files the plugin is asked to generate.
NumFiles int
}
type Config ¶
type Config struct {
PluginOpts *PluginOpts
CompilerDiag *CompilerDiag
}
type EnumData ¶
type EnumData struct {
CommentData
Name string `json:"name"`
FullName string `json:"full_name"`
Description string `json:"description"`
Values []*EnumValue `json:"values"`
Options *EnumOptions `json:"options"`
CustomOptions map[string]any `json:"custom_options"`
// File this enum was defined in.
DefinedIn string `json:"defined_in"`
}
type EnumOptions ¶
type EnumValue ¶
type EnumValue struct {
CommentData
Name string `json:"name"`
Number int32 `json:"number"`
Options *EnumValueOptions `json:"options"`
CustomOptions map[string]any `json:"custom_options"`
}
type EnumValueOptions ¶
type EnumValueOptions struct {
Deprecated bool `json:"deprecated"`
}
type FieldData ¶
type FieldData struct {
CommentData
TypeName string `json:"type"`
FullTypeName string `json:"full_type"`
Kind string `json:"kind"`
Name string `json:"name"`
FullName string `json:"full_name"`
Label string `json:"label"`
FieldNumber int32 `json:"field_number"`
DefaultValue string `json:"default_value"`
OneofIndex int32 `json:"oneof_index"`
InOneof bool `json:"in_oneof"`
OneofName string `json:"oneof_name"`
OneofFullName string `json:"oneof_full_name"`
Options *FieldOptions `json:"options"`
CustomOptions map[string]any `json:"custom_options"`
// File this field was defined in.
DefinedIn string `json:"defined_in"`
}
type FieldOptions ¶
type FieldOptions struct {
CType desc_pb.FieldOptions_CType `json:"ctype"`
Packed bool `json:"packed"`
JSType desc_pb.FieldOptions_JSType `json:"jstype"`
Lazy bool `json:"lazy"`
Deprecated bool `json:"deprecated"`
}
type FileData ¶
type FileData struct {
Name string `json:"name"`
Package string `json:"package"`
Messages []*MessageData `json:"messages"`
Enums []*EnumData `json:"enums"`
Services []*ServiceData `json:"services"`
Dependencies []string `json:"dependencies"`
ExternalDependencies []string `json:"external_dependencies"`
Options *FileOptions `json:"options"`
Extensions []*FileExtension `json:"extensions"`
Syntax *SyntaxDecl `json:"syntax"`
CustomOptions map[string]any `json:"custom_options"`
// File extensions that extend protobuf option messages.
DeclaredCustomOptions map[string][]*FileExtension `json:"declared_custom_options"`
}
type FileExtension ¶
type FileOptions ¶
type FileOptions struct {
JavaPackage string `json:"java_package"`
JavaOuterClassname string `json:"java_outer_classname"`
JavaMultipleFiles bool `json:"java_multiple_files"`
JavaStringCheckUtf8 bool `json:"java_string_check_utf8"`
GoPackage string `json:"go_package"`
Deprecated bool `json:"deprecated"`
CcEnableArenas bool `json:"cc_enable_arenas"`
ObjcClassPrefix string `json:"objc_class_prefix"`
CsharpNamespace string `json:"csharp_namespace"`
SwiftPrefix string `json:"swift_prefix"`
PhpClassPrefix string `json:"php_class_prefix"`
PhpNamespace string `json:"php_namespace"`
PhpMetadataNamespace string `json:"php_metadata_namespace"`
RubyPackage string `json:"ruby_package"`
}
type MessageData ¶
type MessageData struct {
CommentData
Name string `json:"name"`
FullName string `json:"full_name"`
Fields []*FieldData `json:"fields"`
NestedMessages []*MessageData `json:"nested_messages"`
Enums []*EnumData `json:"enums"`
OneofDecls []*OneOfData `json:"oneof_decl"`
Options *MessageOptions `json:"options"`
CustomOptions map[string]any `json:"custom_options"`
// File this message was defined in.
DefinedIn string `json:"defined_in"`
}
type MessageOptions ¶
type MethodData ¶
type MethodData struct {
CommentData
Name string `json:"name"`
FullName string `json:"full_name"`
RequestType string `json:"request_type"`
RequestFullType string `json:"request_full_type"`
RequestStreaming bool `json:"request_streaming"`
ResponseType string `json:"response_type"`
ResponseFullType string `json:"response_full_type"`
ResponseStreaming bool `json:"response_streaming"`
Options *MethodOptions `json:"options"`
CustomOptions map[string]any `json:"custom_options"`
// File this method was defined in.
DefinedIn string `json:"defined_in"`
}
type MethodOptions ¶
type MethodOptions struct {
Deprecated bool `json:"deprecated"`
}
type OneOfData ¶
type OneOfData struct {
CommentData
Name string `json:"name"`
FullName string `json:"full_name"`
}
type PluginOpts ¶
type ServiceData ¶
type ServiceData struct {
CommentData
Name string `json:"name"`
FullName string `json:"full_name"`
Methods []*MethodData `json:"methods"`
Options *ServiceOptions `json:"options"`
CustomOptions map[string]any `json:"custom_options"`
// File this service was defined in.
DefinedIn string `json:"defined_in"`
}
type ServiceOptions ¶
type ServiceOptions struct {
Deprecated bool `json:"deprecated"`
}
type SyntaxDecl ¶
type SyntaxDecl struct {
CommentData
Version string `json:"version"`
}
type TemplateData ¶
type TemplateData struct {
// List of protobuf spec file names in the order provided by the protobuf
// compiler.
FileList []string `json:"file_name_list"`
// Map of protobuf spec file name to file details.
FileMap map[string]*FileData `json:"file_map"`
// List of fully-qualified service names.
ServiceList []string `json:"service_name_list"`
// Map of fully-qualified service names to service details.
ServiceMap map[string]*ServiceData `json:"service_map"`
// List of fully-qualified message names.
MessageList []string `json:"message_name_list"`
// Map of fully-qualified message names to message details.
MessageMap map[string]*MessageData `json:"message_map"`
// List of fully-qualified extension names.
ExtensionList []string `json:"extension_name_list"`
// Map of fully-qualified extensions to extension details.
ExtensionMap map[string]*FileExtension `json:"extension_map"`
// List of fully-qualified enumeration declaration names.
EnumList []string `json:"enum_name_list"`
// Map of fully-qualified enum declaration names to enum details.
EnumMap map[string]*EnumData `json:"enum_map"`
// Map of fully-qualified message names to lists of dependent message and
// enumeration names.
MessageDeps map[string][]string `json:"message_deps"`
// Map of fully-qualified service names to lists of dependent message and
// enumeration names.
ServiceDeps map[string][]string `json:"service_deps"`
// Map of fully-qualified service names to lists of dependent files.
ServiceFileDeps map[string][]string `json:"service_file_deps"`
}
Click to show internal directories.
Click to hide internal directories.