add value vithh error (#1)
Co-authored-by: andrey1s <andrey@4devs.pro> Reviewed-on: #1 Co-authored-by: andrey <andrey@4devs.io> Co-committed-by: andrey <andrey@4devs.io>
This commit was merged in pull request #1.
This commit is contained in:
98
input/flag/flag.go
Normal file
98
input/flag/flag.go
Normal file
@@ -0,0 +1,98 @@
|
||||
package flag
|
||||
|
||||
//go:generate stringer -type=Flag -linecomment
|
||||
|
||||
type Flag int
|
||||
|
||||
const (
|
||||
String Flag = 0 // string
|
||||
Required Flag = 1 << iota // required
|
||||
Array // array
|
||||
Int // int
|
||||
Int64 // int64
|
||||
Uint // uint
|
||||
Uint64 // uint64
|
||||
Float64 // float64
|
||||
Bool // bool
|
||||
Duration // duration
|
||||
Time // time
|
||||
Any // any
|
||||
)
|
||||
|
||||
func (i Flag) With(v Flag) Flag {
|
||||
return i | v
|
||||
}
|
||||
|
||||
func (i Flag) IsString() bool {
|
||||
return i|Required|Array^Required^Array == 0
|
||||
}
|
||||
|
||||
func (i Flag) IsRequired() bool {
|
||||
return i&Required > 0
|
||||
}
|
||||
|
||||
func (i Flag) IsArray() bool {
|
||||
return i&Array > 0
|
||||
}
|
||||
|
||||
func (i Flag) IsInt() bool {
|
||||
return i&Int > 0
|
||||
}
|
||||
|
||||
func (i Flag) IsInt64() bool {
|
||||
return i&Int64 > 0
|
||||
}
|
||||
|
||||
func (i Flag) IsUint() bool {
|
||||
return i&Uint > 0
|
||||
}
|
||||
|
||||
func (i Flag) IsUint64() bool {
|
||||
return i&Uint64 > 0
|
||||
}
|
||||
|
||||
func (i Flag) IsFloat64() bool {
|
||||
return i&Float64 > 0
|
||||
}
|
||||
|
||||
func (i Flag) IsBool() bool {
|
||||
return i&Bool > 0
|
||||
}
|
||||
|
||||
func (i Flag) IsDuration() bool {
|
||||
return i&Duration > 0
|
||||
}
|
||||
|
||||
func (i Flag) IsTime() bool {
|
||||
return i&Time > 0
|
||||
}
|
||||
|
||||
func (i Flag) IsAny() bool {
|
||||
return i&Any > 0
|
||||
}
|
||||
|
||||
//nolint:cyclop
|
||||
func (i Flag) Type() Flag {
|
||||
switch {
|
||||
case i.IsInt():
|
||||
return Int
|
||||
case i.IsInt64():
|
||||
return Int64
|
||||
case i.IsUint():
|
||||
return Uint
|
||||
case i.IsUint64():
|
||||
return Uint64
|
||||
case i.IsFloat64():
|
||||
return Float64
|
||||
case i.IsBool():
|
||||
return Bool
|
||||
case i.IsDuration():
|
||||
return Duration
|
||||
case i.IsTime():
|
||||
return Time
|
||||
case i.IsAny():
|
||||
return Any
|
||||
default:
|
||||
return String
|
||||
}
|
||||
}
|
||||
47
input/flag/flag_string.go
Normal file
47
input/flag/flag_string.go
Normal file
@@ -0,0 +1,47 @@
|
||||
// Code generated by "stringer -type=Flag -linecomment"; DO NOT EDIT.
|
||||
|
||||
package flag
|
||||
|
||||
import "strconv"
|
||||
|
||||
func _() {
|
||||
// An "invalid array index" compiler error signifies that the constant values have changed.
|
||||
// Re-run the stringer command to generate them again.
|
||||
var x [1]struct{}
|
||||
_ = x[String-0]
|
||||
_ = x[Required-2]
|
||||
_ = x[Array-4]
|
||||
_ = x[Int-8]
|
||||
_ = x[Int64-16]
|
||||
_ = x[Uint-32]
|
||||
_ = x[Uint64-64]
|
||||
_ = x[Float64-128]
|
||||
_ = x[Bool-256]
|
||||
_ = x[Duration-512]
|
||||
_ = x[Time-1024]
|
||||
_ = x[Any-2048]
|
||||
}
|
||||
|
||||
const _Flag_name = "stringrequiredarrayintint64uintuint64float64booldurationtimeany"
|
||||
|
||||
var _Flag_map = map[Flag]string{
|
||||
0: _Flag_name[0:6],
|
||||
2: _Flag_name[6:14],
|
||||
4: _Flag_name[14:19],
|
||||
8: _Flag_name[19:22],
|
||||
16: _Flag_name[22:27],
|
||||
32: _Flag_name[27:31],
|
||||
64: _Flag_name[31:37],
|
||||
128: _Flag_name[37:44],
|
||||
256: _Flag_name[44:48],
|
||||
512: _Flag_name[48:56],
|
||||
1024: _Flag_name[56:60],
|
||||
2048: _Flag_name[60:63],
|
||||
}
|
||||
|
||||
func (i Flag) String() string {
|
||||
if str, ok := _Flag_map[i]; ok {
|
||||
return str
|
||||
}
|
||||
return "Flag(" + strconv.FormatInt(int64(i), 10) + ")"
|
||||
}
|
||||
Reference in New Issue
Block a user