github.com/DaAlbrecht/cf-cli@v0.0.0-20231128151943-1fe19bb400b9/command/flag/revision.go (about)

     1  package flag
     2  
     3  import (
     4  	"code.cloudfoundry.org/cli/types"
     5  	flags "github.com/jessevdk/go-flags"
     6  )
     7  
     8  type Revision struct {
     9  	types.NullInt
    10  }
    11  
    12  func (i *Revision) UnmarshalFlag(val string) error {
    13  	err := i.ParseStringValue(val)
    14  	if err != nil {
    15  		return &flags.Error{
    16  			Type:    flags.ErrRequired,
    17  			Message: "invalid argument for flag '--revision' (expected int > 0)",
    18  		}
    19  	}
    20  	if i.Value < 1 {
    21  		if i.Value == 0 && i.IsSet == false {
    22  			return nil
    23  		}
    24  		return &flags.Error{
    25  			Type:    flags.ErrRequired,
    26  			Message: "invalid argument for flag '--revision' (expected int > 0)",
    27  		}
    28  	}
    29  	return nil
    30  }
    31  
    32  func (i *Revision) IsValidValue(val string) error {
    33  	return i.UnmarshalFlag(val)
    34  }