Files
parser/context.go
Tristan Ancelet ff579dba44 Made change
2026-02-27 14:47:12 -06:00

89 lines
1.4 KiB
Go

package parser
import "fmt"
type Context struct {
Command *Command
App *App
Flags map[string]*ArgFlag
Args []string
}
func (c *Context) GetFlag(name string) (*ArgFlag, error) {
flag, exists := c.Flags[name]
if ! exists {
return nil, fmt.Errorf("Context : ERROR : Flag(%s) not found", name)
}
return flag, nil
}
func (c *Context) GetValueInt(name string) (int64, error){
flag, err := c.GetFlag(name)
if err != nil {
return 0, err
}
value, err := flag.GetValueInt()
if err != nil {
return 0, err
}
return value, nil
}
func (c *Context) GetValueBool(name string) (bool, error){
flag, err := c.GetFlag(name)
if err != nil {
return false, err
}
value, err := flag.GetValueBool()
if err != nil {
return false, err
}
return value, nil
}
func (c *Context) GetValueFloat32(name string) (float32, error){
flag, err := c.GetFlag(name)
if err != nil {
return 0, err
}
value, err := flag.GetValueFloat32()
if err != nil {
return 0.0, err
}
return value, nil
}
func (c *Context) GetValueFloat64(name string) (float64, error){
flag, err := c.GetFlag(name)
if err != nil {
return 0.0, err
}
value, err := flag.GetValueFloat64()
if err != nil {
return 0.0, err
}
return value, nil
}
func (c *Context) GetValueString(name string) (string, error){
flag, err := c.GetFlag(name)
if err != nil {
return "", err
}
value, err := flag.GetValueString()
if err != nil {
return "", err
}
return value, nil
}