All checks were successful
Go Action / goaction (pull_request) Successful in 1m15s
70 lines
1.1 KiB
Go
70 lines
1.1 KiB
Go
package param
|
|
|
|
type key int
|
|
|
|
const (
|
|
paramTimeFormat key = iota + 1
|
|
paramType
|
|
paramDescription
|
|
paramDefault
|
|
paramPosition
|
|
)
|
|
|
|
func WithTimeFormat(format string) Option {
|
|
return func(p Params) Params {
|
|
return With(p, paramTimeFormat, format)
|
|
}
|
|
}
|
|
|
|
func TimeFormat(fn Params) (string, bool) {
|
|
return String(fn, paramTimeFormat)
|
|
}
|
|
|
|
func WithType(in any) Option {
|
|
return func(v Params) Params {
|
|
return With(v, paramType, in)
|
|
}
|
|
}
|
|
|
|
func Type(fn Params) any {
|
|
param, _ := fn.Param(paramType)
|
|
|
|
return param
|
|
}
|
|
|
|
func WithDescription(in string) Option {
|
|
return func(p Params) Params {
|
|
return With(p, paramDescription, in)
|
|
}
|
|
}
|
|
|
|
func Description(fn Params) string {
|
|
data, _ := String(fn, paramDescription)
|
|
|
|
return data
|
|
}
|
|
|
|
func WithDefault(in any) Option {
|
|
return func(p Params) Params {
|
|
return With(p, paramDefault, in)
|
|
}
|
|
}
|
|
|
|
func Default(p Params) (any, bool) {
|
|
data, ok := p.Param(paramDefault)
|
|
|
|
return data, ok
|
|
}
|
|
|
|
func WithPostition(in uint64) Option {
|
|
return func(p Params) Params {
|
|
return With(p, paramPosition, in)
|
|
}
|
|
}
|
|
|
|
func Position(in Params) uint64 {
|
|
pos, _ := Uint64(paramPosition, in)
|
|
|
|
return pos
|
|
}
|