tui

package
v0.0.0-...-55af0c3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 3, 2026 License: MIT Imports: 23 Imported by: 0

Documentation

Index

Constants

View Source
const (
	FarewellService_Farewell_FullMethodName          = "/tui_example.FarewellService/Farewell"
	FarewellService_FarewellMany_FullMethodName      = "/tui_example.FarewellService/FarewellMany"
	FarewellService_ScheduledFarewell_FullMethodName = "/tui_example.FarewellService/ScheduledFarewell"
	FarewellService_LeaveNote_FullMethodName         = "/tui_example.FarewellService/LeaveNote"
	FarewellService_CountdownFarewell_FullMethodName = "/tui_example.FarewellService/CountdownFarewell"
)
View Source
const (
	GreeterService_Greet_FullMethodName         = "/tui_example.GreeterService/Greet"
	GreeterService_ListGreetings_FullMethodName = "/tui_example.GreeterService/ListGreetings"
	GreeterService_HiddenMethod_FullMethodName  = "/tui_example.GreeterService/HiddenMethod"
	GreeterService_ColoredGreet_FullMethodName  = "/tui_example.GreeterService/ColoredGreet"
	GreeterService_ScheduleCall_FullMethodName  = "/tui_example.GreeterService/ScheduleCall"
)
View Source
const (
	DirectoryService_ListPeople_FullMethodName = "/tui_example.DirectoryService/ListPeople"
)

Variables

View Source
var DirectoryService_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "tui_example.DirectoryService",
	HandlerType: (*DirectoryServiceServer)(nil),
	Methods:     []grpc.MethodDesc{},
	Streams: []grpc.StreamDesc{
		{
			StreamName:    "ListPeople",
			Handler:       _DirectoryService_ListPeople_Handler,
			ServerStreams: true,
		},
	},
	Metadata: "examples/tui/tui.proto",
}

DirectoryService_ServiceDesc is the grpc.ServiceDesc for DirectoryService service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)

View Source
var FarewellService_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "tui_example.FarewellService",
	HandlerType: (*FarewellServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "Farewell",
			Handler:    _FarewellService_Farewell_Handler,
		},
		{
			MethodName: "FarewellMany",
			Handler:    _FarewellService_FarewellMany_Handler,
		},
		{
			MethodName: "ScheduledFarewell",
			Handler:    _FarewellService_ScheduledFarewell_Handler,
		},
		{
			MethodName: "LeaveNote",
			Handler:    _FarewellService_LeaveNote_Handler,
		},
	},
	Streams: []grpc.StreamDesc{
		{
			StreamName:    "CountdownFarewell",
			Handler:       _FarewellService_CountdownFarewell_Handler,
			ServerStreams: true,
		},
	},
	Metadata: "examples/tui/tui.proto",
}

FarewellService_ServiceDesc is the grpc.ServiceDesc for FarewellService service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)

View Source
var File_examples_tui_tui_proto protoreflect.FileDescriptor
View Source
var GreeterService_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "tui_example.GreeterService",
	HandlerType: (*GreeterServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "Greet",
			Handler:    _GreeterService_Greet_Handler,
		},
		{
			MethodName: "ListGreetings",
			Handler:    _GreeterService_ListGreetings_Handler,
		},
		{
			MethodName: "HiddenMethod",
			Handler:    _GreeterService_HiddenMethod_Handler,
		},
		{
			MethodName: "ColoredGreet",
			Handler:    _GreeterService_ColoredGreet_Handler,
		},
		{
			MethodName: "ScheduleCall",
			Handler:    _GreeterService_ScheduleCall_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "examples/tui/tui.proto",
}

GreeterService_ServiceDesc is the grpc.ServiceDesc for GreeterService service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)

Functions

func DirectoryServiceCommand

func DirectoryServiceCommand(ctx context.Context, implOrFactory interface{}, opts ...protocli.ServiceOption) *protocli.ServiceCLI

DirectoryServiceCommand creates a CLI for DirectoryService with options The implOrFactory parameter can be either a direct service implementation or a factory function

func DirectoryServiceCommandsFlat

func DirectoryServiceCommandsFlat(ctx context.Context, implOrFactory interface{}, opts ...protocli.ServiceOption) []*v3.Command

DirectoryServiceCommandsFlat creates a flat command structure for DirectoryService (for single-service CLIs) This returns RPC commands directly at the root level instead of nested under a service command. The implOrFactory parameter can be either a direct service implementation or a factory function The returned slice includes all RPC commands plus a daemonize command for starting a gRPC server.

func FarewellServiceCommand

func FarewellServiceCommand(ctx context.Context, implOrFactory interface{}, opts ...protocli.ServiceOption) *protocli.ServiceCLI

FarewellServiceCommand creates a CLI for FarewellService with options The implOrFactory parameter can be either a direct service implementation or a factory function

func FarewellServiceCommandsFlat

func FarewellServiceCommandsFlat(ctx context.Context, implOrFactory interface{}, opts ...protocli.ServiceOption) []*v3.Command

FarewellServiceCommandsFlat creates a flat command structure for FarewellService (for single-service CLIs) This returns RPC commands directly at the root level instead of nested under a service command. The implOrFactory parameter can be either a direct service implementation or a factory function The returned slice includes all RPC commands plus a daemonize command for starting a gRPC server.

func GreeterServiceCommand

func GreeterServiceCommand(ctx context.Context, implOrFactory interface{}, opts ...protocli.ServiceOption) *protocli.ServiceCLI

GreeterServiceCommand creates a CLI for GreeterService with options The implOrFactory parameter can be either a direct service implementation or a factory function

func GreeterServiceCommandsFlat

func GreeterServiceCommandsFlat(ctx context.Context, implOrFactory interface{}, opts ...protocli.ServiceOption) []*v3.Command

GreeterServiceCommandsFlat creates a flat command structure for GreeterService (for single-service CLIs) This returns RPC commands directly at the root level instead of nested under a service command. The implOrFactory parameter can be either a direct service implementation or a factory function The returned slice includes all RPC commands plus a daemonize command for starting a gRPC server.

func RegisterDirectoryServiceServer

func RegisterDirectoryServiceServer(s grpc.ServiceRegistrar, srv DirectoryServiceServer)

func RegisterFarewellServiceServer

func RegisterFarewellServiceServer(s grpc.ServiceRegistrar, srv FarewellServiceServer)

func RegisterGreeterServiceServer

func RegisterGreeterServiceServer(s grpc.ServiceRegistrar, srv GreeterServiceServer)

Types

type ColoredGreetRequest

type ColoredGreetRequest struct {
	Name  string    `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	Color *RgbColor `protobuf:"bytes,2,opt,name=color,proto3" json:"color,omitempty"`
	// contains filtered or unexported fields
}

ColoredGreetRequest asks for a greeting rendered in a chosen color. Demonstrates registering a custom TUI form control for RgbColor.

func (*ColoredGreetRequest) Descriptor deprecated

func (*ColoredGreetRequest) Descriptor() ([]byte, []int)

Deprecated: Use ColoredGreetRequest.ProtoReflect.Descriptor instead.

func (*ColoredGreetRequest) GetColor

func (x *ColoredGreetRequest) GetColor() *RgbColor

func (*ColoredGreetRequest) GetName

func (x *ColoredGreetRequest) GetName() string

func (*ColoredGreetRequest) ProtoMessage

func (*ColoredGreetRequest) ProtoMessage()

func (*ColoredGreetRequest) ProtoReflect

func (x *ColoredGreetRequest) ProtoReflect() protoreflect.Message

func (*ColoredGreetRequest) Reset

func (x *ColoredGreetRequest) Reset()

func (*ColoredGreetRequest) String

func (x *ColoredGreetRequest) String() string

type ColoredGreetResponse

type ColoredGreetResponse struct {
	Message  string `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"`
	ColorHex string `protobuf:"bytes,2,opt,name=color_hex,json=colorHex,proto3" json:"color_hex,omitempty"`
	// contains filtered or unexported fields
}

ColoredGreetResponse contains the greeting along with a hex color code.

func (*ColoredGreetResponse) Descriptor deprecated

func (*ColoredGreetResponse) Descriptor() ([]byte, []int)

Deprecated: Use ColoredGreetResponse.ProtoReflect.Descriptor instead.

func (*ColoredGreetResponse) GetColorHex

func (x *ColoredGreetResponse) GetColorHex() string

func (*ColoredGreetResponse) GetMessage

func (x *ColoredGreetResponse) GetMessage() string

func (*ColoredGreetResponse) ProtoMessage

func (*ColoredGreetResponse) ProtoMessage()

func (*ColoredGreetResponse) ProtoReflect

func (x *ColoredGreetResponse) ProtoReflect() protoreflect.Message

func (*ColoredGreetResponse) Reset

func (x *ColoredGreetResponse) Reset()

func (*ColoredGreetResponse) String

func (x *ColoredGreetResponse) String() string

type CountdownFarewellRequest

type CountdownFarewellRequest struct {
	Name    string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	From    int32  `protobuf:"varint,2,opt,name=from,proto3" json:"from,omitempty"`
	DelayMs int32  `protobuf:"varint,3,opt,name=delay_ms,json=delayMs,proto3" json:"delay_ms,omitempty"`
	// contains filtered or unexported fields
}

CountdownFarewellRequest asks for a dramatic countdown farewell.

func (*CountdownFarewellRequest) Descriptor deprecated

func (*CountdownFarewellRequest) Descriptor() ([]byte, []int)

Deprecated: Use CountdownFarewellRequest.ProtoReflect.Descriptor instead.

func (*CountdownFarewellRequest) GetDelayMs

func (x *CountdownFarewellRequest) GetDelayMs() int32

func (*CountdownFarewellRequest) GetFrom

func (x *CountdownFarewellRequest) GetFrom() int32

func (*CountdownFarewellRequest) GetName

func (x *CountdownFarewellRequest) GetName() string

func (*CountdownFarewellRequest) ProtoMessage

func (*CountdownFarewellRequest) ProtoMessage()

func (*CountdownFarewellRequest) ProtoReflect

func (x *CountdownFarewellRequest) ProtoReflect() protoreflect.Message

func (*CountdownFarewellRequest) Reset

func (x *CountdownFarewellRequest) Reset()

func (*CountdownFarewellRequest) String

func (x *CountdownFarewellRequest) String() string

type CountdownFarewellResponse

type CountdownFarewellResponse struct {
	Message string `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"`
	// contains filtered or unexported fields
}

CountdownFarewellResponse carries one tick of the countdown, or the final farewell message when the count reaches zero.

func (*CountdownFarewellResponse) Descriptor deprecated

func (*CountdownFarewellResponse) Descriptor() ([]byte, []int)

Deprecated: Use CountdownFarewellResponse.ProtoReflect.Descriptor instead.

func (*CountdownFarewellResponse) GetMessage

func (x *CountdownFarewellResponse) GetMessage() string

func (*CountdownFarewellResponse) ProtoMessage

func (*CountdownFarewellResponse) ProtoMessage()

func (*CountdownFarewellResponse) ProtoReflect

func (*CountdownFarewellResponse) Reset

func (x *CountdownFarewellResponse) Reset()

func (*CountdownFarewellResponse) String

func (x *CountdownFarewellResponse) String() string

type DeliveryAddress

type DeliveryAddress struct {
	Street string `protobuf:"bytes,1,opt,name=street,proto3" json:"street,omitempty"`
	City   string `protobuf:"bytes,2,opt,name=city,proto3" json:"city,omitempty"`
	// contains filtered or unexported fields
}

DeliveryAddress holds a postal address, used to demonstrate nested message flattening in the TUI.

func (*DeliveryAddress) Descriptor deprecated

func (*DeliveryAddress) Descriptor() ([]byte, []int)

Deprecated: Use DeliveryAddress.ProtoReflect.Descriptor instead.

func (*DeliveryAddress) GetCity

func (x *DeliveryAddress) GetCity() string

func (*DeliveryAddress) GetStreet

func (x *DeliveryAddress) GetStreet() string

func (*DeliveryAddress) ProtoMessage

func (*DeliveryAddress) ProtoMessage()

func (*DeliveryAddress) ProtoReflect

func (x *DeliveryAddress) ProtoReflect() protoreflect.Message

func (*DeliveryAddress) Reset

func (x *DeliveryAddress) Reset()

func (*DeliveryAddress) String

func (x *DeliveryAddress) String() string

type DirectoryServiceClient

type DirectoryServiceClient interface {
	// ListPeople streams the contact directory, one card per person.
	ListPeople(ctx context.Context, in *ListPeopleRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[PersonCard], error)
}

DirectoryServiceClient is the client API for DirectoryService service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.

DirectoryService streams a list of contacts you can greet. Selecting a contact in the TUI navigates directly to the greeter form with the recipient's name pre-populated.

type DirectoryServiceImpl

type DirectoryServiceImpl struct {
	UnimplementedDirectoryServiceServer
}

DirectoryServiceImpl is a simple in-process implementation of DirectoryService.

func (*DirectoryServiceImpl) ListPeople

ListPeople streams the contact directory, applying an optional name-prefix filter.

type DirectoryServiceServer

type DirectoryServiceServer interface {
	// ListPeople streams the contact directory, one card per person.
	ListPeople(*ListPeopleRequest, grpc.ServerStreamingServer[PersonCard]) error
	// contains filtered or unexported methods
}

DirectoryServiceServer is the server API for DirectoryService service. All implementations must embed UnimplementedDirectoryServiceServer for forward compatibility.

DirectoryService streams a list of contacts you can greet. Selecting a contact in the TUI navigates directly to the greeter form with the recipient's name pre-populated.

type DirectoryService_ListPeopleClient

type DirectoryService_ListPeopleClient = grpc.ServerStreamingClient[PersonCard]

This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.

type DirectoryService_ListPeopleServer

type DirectoryService_ListPeopleServer = grpc.ServerStreamingServer[PersonCard]

This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.

type FarewellManyRequest

type FarewellManyRequest struct {
	Names []string `protobuf:"bytes,1,rep,name=names,proto3" json:"names,omitempty"`
	// contains filtered or unexported fields
}

FarewellManyRequest asks for farewells to multiple people.

func (*FarewellManyRequest) Descriptor deprecated

func (*FarewellManyRequest) Descriptor() ([]byte, []int)

Deprecated: Use FarewellManyRequest.ProtoReflect.Descriptor instead.

func (*FarewellManyRequest) GetNames

func (x *FarewellManyRequest) GetNames() []string

func (*FarewellManyRequest) ProtoMessage

func (*FarewellManyRequest) ProtoMessage()

func (*FarewellManyRequest) ProtoReflect

func (x *FarewellManyRequest) ProtoReflect() protoreflect.Message

func (*FarewellManyRequest) Reset

func (x *FarewellManyRequest) Reset()

func (*FarewellManyRequest) String

func (x *FarewellManyRequest) String() string

type FarewellManyResponse

type FarewellManyResponse struct {
	Messages []string `protobuf:"bytes,1,rep,name=messages,proto3" json:"messages,omitempty"`
	// contains filtered or unexported fields
}

FarewellManyResponse contains a list of farewell messages.

func (*FarewellManyResponse) Descriptor deprecated

func (*FarewellManyResponse) Descriptor() ([]byte, []int)

Deprecated: Use FarewellManyResponse.ProtoReflect.Descriptor instead.

func (*FarewellManyResponse) GetMessages

func (x *FarewellManyResponse) GetMessages() []string

func (*FarewellManyResponse) ProtoMessage

func (*FarewellManyResponse) ProtoMessage()

func (*FarewellManyResponse) ProtoReflect

func (x *FarewellManyResponse) ProtoReflect() protoreflect.Message

func (*FarewellManyResponse) Reset

func (x *FarewellManyResponse) Reset()

func (*FarewellManyResponse) String

func (x *FarewellManyResponse) String() string

type FarewellRequest

type FarewellRequest struct {
	Name   string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	Formal bool   `protobuf:"varint,2,opt,name=formal,proto3" json:"formal,omitempty"`
	// contains filtered or unexported fields
}

FarewellRequest asks for a farewell.

func (*FarewellRequest) Descriptor deprecated

func (*FarewellRequest) Descriptor() ([]byte, []int)

Deprecated: Use FarewellRequest.ProtoReflect.Descriptor instead.

func (*FarewellRequest) GetFormal

func (x *FarewellRequest) GetFormal() bool

func (*FarewellRequest) GetName

func (x *FarewellRequest) GetName() string

func (*FarewellRequest) ProtoMessage

func (*FarewellRequest) ProtoMessage()

func (*FarewellRequest) ProtoReflect

func (x *FarewellRequest) ProtoReflect() protoreflect.Message

func (*FarewellRequest) Reset

func (x *FarewellRequest) Reset()

func (*FarewellRequest) String

func (x *FarewellRequest) String() string

type FarewellResponse

type FarewellResponse struct {
	Message string `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"`
	// contains filtered or unexported fields
}

FarewellResponse contains the farewell message.

func (*FarewellResponse) Descriptor deprecated

func (*FarewellResponse) Descriptor() ([]byte, []int)

Deprecated: Use FarewellResponse.ProtoReflect.Descriptor instead.

func (*FarewellResponse) GetMessage

func (x *FarewellResponse) GetMessage() string

func (*FarewellResponse) ProtoMessage

func (*FarewellResponse) ProtoMessage()

func (*FarewellResponse) ProtoReflect

func (x *FarewellResponse) ProtoReflect() protoreflect.Message

func (*FarewellResponse) Reset

func (x *FarewellResponse) Reset()

func (*FarewellResponse) String

func (x *FarewellResponse) String() string

type FarewellServiceClient

type FarewellServiceClient interface {
	// Farewell bids goodbye to a person.
	Farewell(ctx context.Context, in *FarewellRequest, opts ...grpc.CallOption) (*FarewellResponse, error)
	// FarewellMany bids goodbye to multiple people.
	FarewellMany(ctx context.Context, in *FarewellManyRequest, opts ...grpc.CallOption) (*FarewellManyResponse, error)
	// ScheduledFarewell schedules a farewell for a future time at an address.
	// Demonstrates WKT (Timestamp) and nested message flattening in the TUI.
	ScheduledFarewell(ctx context.Context, in *ScheduledFarewellRequest, opts ...grpc.CallOption) (*ScheduledFarewellResponse, error)
	// LeaveNote attaches a free-form JSON note to a farewell.
	// Demonstrates the JSON editor TUI control.
	LeaveNote(ctx context.Context, in *NoteRequest, opts ...grpc.CallOption) (*NoteResponse, error)
	// CountdownFarewell streams a dramatic countdown before the final goodbye.
	// Demonstrates server-streaming in the TUI.
	CountdownFarewell(ctx context.Context, in *CountdownFarewellRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[CountdownFarewellResponse], error)
}

FarewellServiceClient is the client API for FarewellService service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.

FarewellService demonstrates a second TUI-enabled service.

type FarewellServiceImpl

type FarewellServiceImpl struct {
	UnimplementedFarewellServiceServer
}

FarewellServiceImpl is a simple in-process implementation of FarewellService.

func (*FarewellServiceImpl) CountdownFarewell

CountdownFarewell streams a countdown then a final farewell message.

func (*FarewellServiceImpl) Farewell

Farewell bids goodbye to a person.

func (*FarewellServiceImpl) FarewellMany

FarewellMany bids goodbye to multiple people.

func (*FarewellServiceImpl) LeaveNote

LeaveNote echoes the note back with the recipient's name.

func (*FarewellServiceImpl) ScheduledFarewell

ScheduledFarewell schedules a farewell, echoing back the time and address.

type FarewellServiceServer

type FarewellServiceServer interface {
	// Farewell bids goodbye to a person.
	Farewell(context.Context, *FarewellRequest) (*FarewellResponse, error)
	// FarewellMany bids goodbye to multiple people.
	FarewellMany(context.Context, *FarewellManyRequest) (*FarewellManyResponse, error)
	// ScheduledFarewell schedules a farewell for a future time at an address.
	// Demonstrates WKT (Timestamp) and nested message flattening in the TUI.
	ScheduledFarewell(context.Context, *ScheduledFarewellRequest) (*ScheduledFarewellResponse, error)
	// LeaveNote attaches a free-form JSON note to a farewell.
	// Demonstrates the JSON editor TUI control.
	LeaveNote(context.Context, *NoteRequest) (*NoteResponse, error)
	// CountdownFarewell streams a dramatic countdown before the final goodbye.
	// Demonstrates server-streaming in the TUI.
	CountdownFarewell(*CountdownFarewellRequest, grpc.ServerStreamingServer[CountdownFarewellResponse]) error
	// contains filtered or unexported methods
}

FarewellServiceServer is the server API for FarewellService service. All implementations must embed UnimplementedFarewellServiceServer for forward compatibility.

FarewellService demonstrates a second TUI-enabled service.

type FarewellService_CountdownFarewellClient

type FarewellService_CountdownFarewellClient = grpc.ServerStreamingClient[CountdownFarewellResponse]

This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.

type FarewellService_CountdownFarewellServer

type FarewellService_CountdownFarewellServer = grpc.ServerStreamingServer[CountdownFarewellResponse]

This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.

type GreetRequest

type GreetRequest struct {
	Name   string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	Repeat int32  `protobuf:"varint,2,opt,name=repeat,proto3" json:"repeat,omitempty"`
	Loud   bool   `protobuf:"varint,3,opt,name=loud,proto3" json:"loud,omitempty"`
	// contains filtered or unexported fields
}

GreetRequest asks for a greeting.

func (*GreetRequest) Descriptor deprecated

func (*GreetRequest) Descriptor() ([]byte, []int)

Deprecated: Use GreetRequest.ProtoReflect.Descriptor instead.

func (*GreetRequest) GetLoud

func (x *GreetRequest) GetLoud() bool

func (*GreetRequest) GetName

func (x *GreetRequest) GetName() string

func (*GreetRequest) GetRepeat

func (x *GreetRequest) GetRepeat() int32

func (*GreetRequest) ProtoMessage

func (*GreetRequest) ProtoMessage()

func (*GreetRequest) ProtoReflect

func (x *GreetRequest) ProtoReflect() protoreflect.Message

func (*GreetRequest) Reset

func (x *GreetRequest) Reset()

func (*GreetRequest) String

func (x *GreetRequest) String() string

type GreetResponse

type GreetResponse struct {
	Message string `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"`
	// contains filtered or unexported fields
}

GreetResponse contains the greeting.

func (*GreetResponse) Descriptor deprecated

func (*GreetResponse) Descriptor() ([]byte, []int)

Deprecated: Use GreetResponse.ProtoReflect.Descriptor instead.

func (*GreetResponse) GetMessage

func (x *GreetResponse) GetMessage() string

func (*GreetResponse) ProtoMessage

func (*GreetResponse) ProtoMessage()

func (*GreetResponse) ProtoReflect

func (x *GreetResponse) ProtoReflect() protoreflect.Message

func (*GreetResponse) Reset

func (x *GreetResponse) Reset()

func (*GreetResponse) String

func (x *GreetResponse) String() string

type GreeterServiceClient

type GreeterServiceClient interface {
	// Greet says hello to a person.
	Greet(ctx context.Context, in *GreetRequest, opts ...grpc.CallOption) (*GreetResponse, error)
	// ListGreetings says hello to multiple people.
	ListGreetings(ctx context.Context, in *ListGreetingsRequest, opts ...grpc.CallOption) (*ListGreetingsResponse, error)
	// HiddenMethod is hidden from the TUI but still accessible via CLI.
	HiddenMethod(ctx context.Context, in *GreetRequest, opts ...grpc.CallOption) (*GreetResponse, error)
	// ColoredGreet says hello with a custom color.
	// Demonstrates registering a custom TUI form control for RgbColor.
	ColoredGreet(ctx context.Context, in *ColoredGreetRequest, opts ...grpc.CallOption) (*ColoredGreetResponse, error)
	// ScheduleCall books a call at a time in the caller's local timezone.
	// Demonstrates WithCustomControlForField overriding WithTimestampControl:
	// the "when" Timestamp field uses a date-time picker with SystemTimezone
	// so the user enters local time that is normalised to UTC on submit.
	ScheduleCall(ctx context.Context, in *ScheduleCallRequest, opts ...grpc.CallOption) (*ScheduleCallResponse, error)
}

GreeterServiceClient is the client API for GreeterService service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.

GreeterService demonstrates TUI-enabled gRPC service methods.

type GreeterServiceImpl

type GreeterServiceImpl struct {
	UnimplementedGreeterServiceServer
}

GreeterServiceImpl is a simple in-process implementation of GreeterService.

func (*GreeterServiceImpl) ColoredGreet

ColoredGreet returns a greeting with a hex color code derived from the requested RgbColor.

func (*GreeterServiceImpl) Greet

Greet returns a greeting for the given name.

func (*GreeterServiceImpl) HiddenMethod

func (s *GreeterServiceImpl) HiddenMethod(_ context.Context, req *GreetRequest) (*GreetResponse, error)

HiddenMethod is a method that is hidden from the TUI but accessible via CLI.

func (*GreeterServiceImpl) ListGreetings

ListGreetings returns greetings for multiple names.

func (*GreeterServiceImpl) ScheduleCall

ScheduleCall confirms the call and echoes the time in both local and UTC.

type GreeterServiceServer

type GreeterServiceServer interface {
	// Greet says hello to a person.
	Greet(context.Context, *GreetRequest) (*GreetResponse, error)
	// ListGreetings says hello to multiple people.
	ListGreetings(context.Context, *ListGreetingsRequest) (*ListGreetingsResponse, error)
	// HiddenMethod is hidden from the TUI but still accessible via CLI.
	HiddenMethod(context.Context, *GreetRequest) (*GreetResponse, error)
	// ColoredGreet says hello with a custom color.
	// Demonstrates registering a custom TUI form control for RgbColor.
	ColoredGreet(context.Context, *ColoredGreetRequest) (*ColoredGreetResponse, error)
	// ScheduleCall books a call at a time in the caller's local timezone.
	// Demonstrates WithCustomControlForField overriding WithTimestampControl:
	// the "when" Timestamp field uses a date-time picker with SystemTimezone
	// so the user enters local time that is normalised to UTC on submit.
	ScheduleCall(context.Context, *ScheduleCallRequest) (*ScheduleCallResponse, error)
	// contains filtered or unexported methods
}

GreeterServiceServer is the server API for GreeterService service. All implementations must embed UnimplementedGreeterServiceServer for forward compatibility.

GreeterService demonstrates TUI-enabled gRPC service methods.

type ListGreetingsRequest

type ListGreetingsRequest struct {
	Names []string `protobuf:"bytes,1,rep,name=names,proto3" json:"names,omitempty"`
	// contains filtered or unexported fields
}

ListGreetingsRequest asks for a list of greetings.

func (*ListGreetingsRequest) Descriptor deprecated

func (*ListGreetingsRequest) Descriptor() ([]byte, []int)

Deprecated: Use ListGreetingsRequest.ProtoReflect.Descriptor instead.

func (*ListGreetingsRequest) GetNames

func (x *ListGreetingsRequest) GetNames() []string

func (*ListGreetingsRequest) ProtoMessage

func (*ListGreetingsRequest) ProtoMessage()

func (*ListGreetingsRequest) ProtoReflect

func (x *ListGreetingsRequest) ProtoReflect() protoreflect.Message

func (*ListGreetingsRequest) Reset

func (x *ListGreetingsRequest) Reset()

func (*ListGreetingsRequest) String

func (x *ListGreetingsRequest) String() string

type ListGreetingsResponse

type ListGreetingsResponse struct {
	Messages []string `protobuf:"bytes,1,rep,name=messages,proto3" json:"messages,omitempty"`
	// contains filtered or unexported fields
}

ListGreetingsResponse contains a list of greetings.

func (*ListGreetingsResponse) Descriptor deprecated

func (*ListGreetingsResponse) Descriptor() ([]byte, []int)

Deprecated: Use ListGreetingsResponse.ProtoReflect.Descriptor instead.

func (*ListGreetingsResponse) GetMessages

func (x *ListGreetingsResponse) GetMessages() []string

func (*ListGreetingsResponse) ProtoMessage

func (*ListGreetingsResponse) ProtoMessage()

func (*ListGreetingsResponse) ProtoReflect

func (x *ListGreetingsResponse) ProtoReflect() protoreflect.Message

func (*ListGreetingsResponse) Reset

func (x *ListGreetingsResponse) Reset()

func (*ListGreetingsResponse) String

func (x *ListGreetingsResponse) String() string

type ListPeopleRequest

type ListPeopleRequest struct {

	// filter narrows results to names starting with the given prefix.
	// Leave empty to list everyone.
	Filter string `protobuf:"bytes,1,opt,name=filter,proto3" json:"filter,omitempty"`
	// contains filtered or unexported fields
}

ListPeopleRequest asks for the list of contacts available to greet.

func (*ListPeopleRequest) Descriptor deprecated

func (*ListPeopleRequest) Descriptor() ([]byte, []int)

Deprecated: Use ListPeopleRequest.ProtoReflect.Descriptor instead.

func (*ListPeopleRequest) GetFilter

func (x *ListPeopleRequest) GetFilter() string

func (*ListPeopleRequest) ProtoMessage

func (*ListPeopleRequest) ProtoMessage()

func (*ListPeopleRequest) ProtoReflect

func (x *ListPeopleRequest) ProtoReflect() protoreflect.Message

func (*ListPeopleRequest) Reset

func (x *ListPeopleRequest) Reset()

func (*ListPeopleRequest) String

func (x *ListPeopleRequest) String() string

type NoteRequest

type NoteRequest struct {
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// metadata is free-form JSON attached to the note.
	// In the TUI this field uses the JSON editor control.
	Metadata string `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"`
	// contains filtered or unexported fields
}

NoteRequest demonstrates a freeform JSON editor TUI control.

func (*NoteRequest) Descriptor deprecated

func (*NoteRequest) Descriptor() ([]byte, []int)

Deprecated: Use NoteRequest.ProtoReflect.Descriptor instead.

func (*NoteRequest) GetMetadata

func (x *NoteRequest) GetMetadata() string

func (*NoteRequest) GetName

func (x *NoteRequest) GetName() string

func (*NoteRequest) ProtoMessage

func (*NoteRequest) ProtoMessage()

func (*NoteRequest) ProtoReflect

func (x *NoteRequest) ProtoReflect() protoreflect.Message

func (*NoteRequest) Reset

func (x *NoteRequest) Reset()

func (*NoteRequest) String

func (x *NoteRequest) String() string

type NoteResponse

type NoteResponse struct {
	Message  string `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"`
	Metadata string `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"`
	// contains filtered or unexported fields
}

NoteResponse contains the echoed note.

func (*NoteResponse) Descriptor deprecated

func (*NoteResponse) Descriptor() ([]byte, []int)

Deprecated: Use NoteResponse.ProtoReflect.Descriptor instead.

func (*NoteResponse) GetMessage

func (x *NoteResponse) GetMessage() string

func (*NoteResponse) GetMetadata

func (x *NoteResponse) GetMetadata() string

func (*NoteResponse) ProtoMessage

func (*NoteResponse) ProtoMessage()

func (*NoteResponse) ProtoReflect

func (x *NoteResponse) ProtoReflect() protoreflect.Message

func (*NoteResponse) Reset

func (x *NoteResponse) Reset()

func (*NoteResponse) String

func (x *NoteResponse) String() string

type PersonCard

type PersonCard struct {
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	Bio  string `protobuf:"bytes,2,opt,name=bio,proto3" json:"bio,omitempty"`
	// contains filtered or unexported fields
}

PersonCard describes one person in the directory who can be greeted.

func (*PersonCard) Descriptor deprecated

func (*PersonCard) Descriptor() ([]byte, []int)

Deprecated: Use PersonCard.ProtoReflect.Descriptor instead.

func (*PersonCard) GetBio

func (x *PersonCard) GetBio() string

func (*PersonCard) GetName

func (x *PersonCard) GetName() string

func (*PersonCard) ProtoMessage

func (*PersonCard) ProtoMessage()

func (*PersonCard) ProtoReflect

func (x *PersonCard) ProtoReflect() protoreflect.Message

func (*PersonCard) Reset

func (x *PersonCard) Reset()

func (*PersonCard) String

func (x *PersonCard) String() string

type RgbColor

type RgbColor struct {
	R int32 `protobuf:"varint,1,opt,name=r,proto3" json:"r,omitempty"`
	G int32 `protobuf:"varint,2,opt,name=g,proto3" json:"g,omitempty"`
	B int32 `protobuf:"varint,3,opt,name=b,proto3" json:"b,omitempty"`
	// contains filtered or unexported fields
}

RgbColor holds an RGB color value. Used to demonstrate custom TUI form controls.

func (*RgbColor) Descriptor deprecated

func (*RgbColor) Descriptor() ([]byte, []int)

Deprecated: Use RgbColor.ProtoReflect.Descriptor instead.

func (*RgbColor) GetB

func (x *RgbColor) GetB() int32

func (*RgbColor) GetG

func (x *RgbColor) GetG() int32

func (*RgbColor) GetR

func (x *RgbColor) GetR() int32

func (*RgbColor) ProtoMessage

func (*RgbColor) ProtoMessage()

func (*RgbColor) ProtoReflect

func (x *RgbColor) ProtoReflect() protoreflect.Message

func (*RgbColor) Reset

func (x *RgbColor) Reset()

func (*RgbColor) String

func (x *RgbColor) String() string

type ScheduleCallRequest

type ScheduleCallRequest struct {
	With string `protobuf:"bytes,1,opt,name=with,proto3" json:"with,omitempty"`
	// when is when to schedule the call. In the TUI this field is rendered as a
	// date-time picker that accepts local time (SystemTimezone) and normalises
	// to UTC for the Timestamp wire format.
	When *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=when,proto3" json:"when,omitempty"`
	// contains filtered or unexported fields
}

ScheduleCallRequest books a call at a user-supplied time. The `when` field is a google.protobuf.Timestamp. The TUI picker accepts the time in the system's local timezone and normalises it to UTC on submit. Compare with ScheduledFarewell which also uses Timestamp but with UTC input.

func (*ScheduleCallRequest) Descriptor deprecated

func (*ScheduleCallRequest) Descriptor() ([]byte, []int)

Deprecated: Use ScheduleCallRequest.ProtoReflect.Descriptor instead.

func (*ScheduleCallRequest) GetWhen

func (*ScheduleCallRequest) GetWith

func (x *ScheduleCallRequest) GetWith() string

func (*ScheduleCallRequest) ProtoMessage

func (*ScheduleCallRequest) ProtoMessage()

func (*ScheduleCallRequest) ProtoReflect

func (x *ScheduleCallRequest) ProtoReflect() protoreflect.Message

func (*ScheduleCallRequest) Reset

func (x *ScheduleCallRequest) Reset()

func (*ScheduleCallRequest) String

func (x *ScheduleCallRequest) String() string

type ScheduleCallResponse

type ScheduleCallResponse struct {
	Message string `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"`
	// when_local is the call time in the server's local timezone.
	WhenLocal string `protobuf:"bytes,2,opt,name=when_local,json=whenLocal,proto3" json:"when_local,omitempty"`
	// when_utc is the same instant expressed in UTC.
	WhenUtc string `protobuf:"bytes,3,opt,name=when_utc,json=whenUtc,proto3" json:"when_utc,omitempty"`
	// contains filtered or unexported fields
}

ScheduleCallResponse echoes the scheduled call time in both the server's local timezone and UTC, demonstrating that the TUI picker's local-time entry round-trips correctly through the Timestamp wire format.

func (*ScheduleCallResponse) Descriptor deprecated

func (*ScheduleCallResponse) Descriptor() ([]byte, []int)

Deprecated: Use ScheduleCallResponse.ProtoReflect.Descriptor instead.

func (*ScheduleCallResponse) GetMessage

func (x *ScheduleCallResponse) GetMessage() string

func (*ScheduleCallResponse) GetWhenLocal

func (x *ScheduleCallResponse) GetWhenLocal() string

func (*ScheduleCallResponse) GetWhenUtc

func (x *ScheduleCallResponse) GetWhenUtc() string

func (*ScheduleCallResponse) ProtoMessage

func (*ScheduleCallResponse) ProtoMessage()

func (*ScheduleCallResponse) ProtoReflect

func (x *ScheduleCallResponse) ProtoReflect() protoreflect.Message

func (*ScheduleCallResponse) Reset

func (x *ScheduleCallResponse) Reset()

func (*ScheduleCallResponse) String

func (x *ScheduleCallResponse) String() string

type ScheduledFarewellRequest

type ScheduledFarewellRequest struct {
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// send_at is when to deliver the farewell. Demonstrates google.protobuf.Timestamp WKT support.
	SendAt *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=send_at,json=sendAt,proto3" json:"send_at,omitempty"`
	// address is where to deliver the farewell. Demonstrates nested message flattening in the TUI.
	Address *DeliveryAddress `protobuf:"bytes,3,opt,name=address,proto3" json:"address,omitempty"`
	// contains filtered or unexported fields
}

ScheduledFarewellRequest asks for a farewell at a specific time, delivered to an address. Demonstrates WKT (Timestamp) and nested message flattening.

func (*ScheduledFarewellRequest) Descriptor deprecated

func (*ScheduledFarewellRequest) Descriptor() ([]byte, []int)

Deprecated: Use ScheduledFarewellRequest.ProtoReflect.Descriptor instead.

func (*ScheduledFarewellRequest) GetAddress

func (x *ScheduledFarewellRequest) GetAddress() *DeliveryAddress

func (*ScheduledFarewellRequest) GetName

func (x *ScheduledFarewellRequest) GetName() string

func (*ScheduledFarewellRequest) GetSendAt

func (*ScheduledFarewellRequest) ProtoMessage

func (*ScheduledFarewellRequest) ProtoMessage()

func (*ScheduledFarewellRequest) ProtoReflect

func (x *ScheduledFarewellRequest) ProtoReflect() protoreflect.Message

func (*ScheduledFarewellRequest) Reset

func (x *ScheduledFarewellRequest) Reset()

func (*ScheduledFarewellRequest) String

func (x *ScheduledFarewellRequest) String() string

type ScheduledFarewellResponse

type ScheduledFarewellResponse struct {
	Message         string `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"`
	ScheduledFor    string `protobuf:"bytes,2,opt,name=scheduled_for,json=scheduledFor,proto3" json:"scheduled_for,omitempty"`
	DeliveryAddress string `protobuf:"bytes,3,opt,name=delivery_address,json=deliveryAddress,proto3" json:"delivery_address,omitempty"`
	// contains filtered or unexported fields
}

ScheduledFarewellResponse contains the scheduled farewell.

func (*ScheduledFarewellResponse) Descriptor deprecated

func (*ScheduledFarewellResponse) Descriptor() ([]byte, []int)

Deprecated: Use ScheduledFarewellResponse.ProtoReflect.Descriptor instead.

func (*ScheduledFarewellResponse) GetDeliveryAddress

func (x *ScheduledFarewellResponse) GetDeliveryAddress() string

func (*ScheduledFarewellResponse) GetMessage

func (x *ScheduledFarewellResponse) GetMessage() string

func (*ScheduledFarewellResponse) GetScheduledFor

func (x *ScheduledFarewellResponse) GetScheduledFor() string

func (*ScheduledFarewellResponse) ProtoMessage

func (*ScheduledFarewellResponse) ProtoMessage()

func (*ScheduledFarewellResponse) ProtoReflect

func (*ScheduledFarewellResponse) Reset

func (x *ScheduledFarewellResponse) Reset()

func (*ScheduledFarewellResponse) String

func (x *ScheduledFarewellResponse) String() string

type UnimplementedDirectoryServiceServer

type UnimplementedDirectoryServiceServer struct{}

UnimplementedDirectoryServiceServer must be embedded to have forward compatible implementations.

NOTE: this should be embedded by value instead of pointer to avoid a nil pointer dereference when methods are called.

func (UnimplementedDirectoryServiceServer) ListPeople

type UnimplementedFarewellServiceServer

type UnimplementedFarewellServiceServer struct{}

UnimplementedFarewellServiceServer must be embedded to have forward compatible implementations.

NOTE: this should be embedded by value instead of pointer to avoid a nil pointer dereference when methods are called.

func (UnimplementedFarewellServiceServer) Farewell

func (UnimplementedFarewellServiceServer) FarewellMany

func (UnimplementedFarewellServiceServer) LeaveNote

func (UnimplementedFarewellServiceServer) ScheduledFarewell

type UnimplementedGreeterServiceServer

type UnimplementedGreeterServiceServer struct{}

UnimplementedGreeterServiceServer must be embedded to have forward compatible implementations.

NOTE: this should be embedded by value instead of pointer to avoid a nil pointer dereference when methods are called.

func (UnimplementedGreeterServiceServer) ColoredGreet

func (UnimplementedGreeterServiceServer) Greet

func (UnimplementedGreeterServiceServer) HiddenMethod

func (UnimplementedGreeterServiceServer) ListGreetings

func (UnimplementedGreeterServiceServer) ScheduleCall

type UnsafeDirectoryServiceServer

type UnsafeDirectoryServiceServer interface {
	// contains filtered or unexported methods
}

UnsafeDirectoryServiceServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to DirectoryServiceServer will result in compilation errors.

type UnsafeFarewellServiceServer

type UnsafeFarewellServiceServer interface {
	// contains filtered or unexported methods
}

UnsafeFarewellServiceServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to FarewellServiceServer will result in compilation errors.

type UnsafeGreeterServiceServer

type UnsafeGreeterServiceServer interface {
	// contains filtered or unexported methods
}

UnsafeGreeterServiceServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to GreeterServiceServer will result in compilation errors.

Directories

Path Synopsis
tuicli demonstrates the --interactive TUI mode for proto-cli.
tuicli demonstrates the --interactive TUI mode for proto-cli.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL