Documentation
¶
Index ¶
- func ContextValue(e *Expander) cli.Action
- func ExpandAndPrint() cli.Action
- func FlagsAndArgs() cli.Action
- func SetPartialExpand(b ...bool) cli.Action
- func SetTemplate(v ...*URITemplate) cli.Action
- func SetURITemplateVar(v ...*Var) cli.Action
- func SetURITemplateVars(v ...*Vars) cli.Action
- func SourceAnnotation() (string, string)
- type Expander
- func (e *Expander) AddURITemplateVar(v *Var) error
- func (e *Expander) Apply(opts ...Option)
- func (e *Expander) Expand() (string, error)
- func (e *Expander) Partial() bool
- func (e *Expander) Pipeline() cli.Action
- func (e *Expander) SetPartialExpand(b bool) error
- func (e *Expander) SetTemplate(v *URITemplate) error
- func (e *Expander) Template() *URITemplate
- func (e *Expander) UpdateURITemplateVars(v *Vars) error
- func (e *Expander) Vars() Vars
- type Option
- type URITemplate
- func (u *URITemplate) Expand(value any) (string, error)
- func (u *URITemplate) MarshalText() ([]byte, error)
- func (u *URITemplate) Names() []string
- func (u *URITemplate) PartialExpand(value any) (*URITemplate, error)
- func (u *URITemplate) Set(arg string) error
- func (u *URITemplate) String() string
- func (u *URITemplate) UnmarshalText(b []byte) error
- type Var
- type VarType
- type Vars
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ContextValue ¶ added in v0.7.3
func ContextValue(e *Expander) cli.Action
ContextValue returns an action that adds the expander to the context
func ExpandAndPrint ¶ added in v0.7.3
func ExpandAndPrint() cli.Action
ExpandAndPrint returns an action that expands the URI template and prints the output
func FlagsAndArgs ¶
func FlagsAndArgs() cli.Action
FlagsAndArgs returns an action that sets up flags and arguments for URI template expansion
func SetPartialExpand ¶
func SetPartialExpand(b ...bool) cli.Action
SetPartialExpand returns an action that sets up a flag for enabling partial expansion
func SetTemplate ¶ added in v0.7.3
func SetTemplate(v ...*URITemplate) cli.Action
SetTemplate sets the template used
func SetURITemplateVar ¶
func SetURITemplateVar(v ...*Var) cli.Action
SetURITemplateVar returns an action that sets up a flag for specifying template variables
func SetURITemplateVars ¶
func SetURITemplateVars(v ...*Vars) cli.Action
SetURITemplateVars returns an action that sets up a flag for specifying template variables from JSON
func SourceAnnotation ¶
SourceAnnotation gets the name and value of the annotation added to the Data of all flags that are initialized from this package
Types ¶
type Expander ¶ added in v0.7.3
type Expander struct {
cli.Action
// contains filtered or unexported fields
}
Expander provides URI template expansion functionality that can be initialized and configured within a CLI app. The expander is used within the Uses pipeline where it registers itself as a context service.
func FromContext ¶ added in v0.7.3
FromContext obtains the expander from the context.
func (*Expander) AddURITemplateVar ¶ added in v0.7.3
AddURITemplateVar adds a template variable to the expander
func (*Expander) SetPartialExpand ¶ added in v0.7.3
SetPartialExpand sets whether to partially expand the template
func (*Expander) SetTemplate ¶ added in v0.7.3
func (e *Expander) SetTemplate(v *URITemplate) error
SetTemplate sets the template to expand
func (*Expander) Template ¶ added in v0.7.3
func (e *Expander) Template() *URITemplate
Template returns the template to expand
func (*Expander) UpdateURITemplateVars ¶ added in v0.7.3
UpdateURITemplateVars updates the template variables in the expander
type Option ¶ added in v0.7.3
type Option interface {
cli.Action
// contains filtered or unexported methods
}
Option is an option to configure the expander Option can be used as an Action, typically within the Uses or Before pipeline.
func WithAction ¶ added in v0.7.3
func WithAction(a cli.Action) Option
WithAction sets up the action to use when Expander is added to a pipeline
func WithDefaultAction ¶ added in v0.7.3
func WithDefaultAction() Option
WithDefaultAction sets up the default action to use when Expander.
func WithPartialExpand ¶ added in v0.7.3
WithPartialExpand sets whether to partially expand the template
func WithURITemplateVar ¶ added in v0.7.3
WithURITemplateVar adds a template variable
func WithURITemplateVars ¶ added in v0.7.3
WithURITemplateVars adds multiple template variables
type URITemplate ¶
type URITemplate struct {
// contains filtered or unexported fields
}
URITemplate is a parsed representation of a URI template, which can also be used as a flag Value
func Parse ¶
func Parse(text string) (*URITemplate, error)
Parse obtains a URI template from a string
func (*URITemplate) Expand ¶
func (u *URITemplate) Expand(value any) (string, error)
Expand expands a URI template. The value is Vars, a map[string]any, or an arbitrary struct (or pointer to one). When a struct, reflection is used to obtain the values by name, and the tag `uri` can be used to override the name.
func (*URITemplate) MarshalText ¶
func (u *URITemplate) MarshalText() ([]byte, error)
MarshalText provides the textual representation
func (*URITemplate) Names ¶
func (u *URITemplate) Names() []string
Names retrieves the names of the template variables
func (*URITemplate) PartialExpand ¶
func (u *URITemplate) PartialExpand(value any) (*URITemplate, error)
PartialExpand expands a URI template, leaving any expansions which could not be filled
func (*URITemplate) Set ¶
func (u *URITemplate) Set(arg string) error
Set provides the behavior when the template is used as a flag on the command line
func (*URITemplate) String ¶
func (u *URITemplate) String() string
String converts the template to a string
func (*URITemplate) UnmarshalText ¶
func (u *URITemplate) UnmarshalText(b []byte) error
UnmarshalText converts the textual representation
type Var ¶
Var is a variable in a URI template
func (*Var) NewCounter ¶
func (v *Var) NewCounter() cli.ArgCounter
type VarType ¶
type VarType int
VarType enumerates the types of variables in the expression of a URI template