Made change
This commit is contained in:
88
context.go
Normal file
88
context.go
Normal file
@@ -0,0 +1,88 @@
|
||||
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
|
||||
}
|
||||
Reference in New Issue
Block a user