mirror of
https://github.com/wailsapp/wails.git
synced 2025-05-02 11:10:47 +08:00
96 lines
1.4 KiB
Go
96 lines
1.4 KiB
Go
package application
|
|
|
|
import "strconv"
|
|
|
|
type QueryParams map[string][]string
|
|
|
|
func (qp QueryParams) String(key string) *string {
|
|
if qp == nil {
|
|
return nil
|
|
}
|
|
values := qp[key]
|
|
if len(values) == 0 {
|
|
return nil
|
|
}
|
|
return &values[0]
|
|
}
|
|
|
|
func (qp QueryParams) Int(key string) *int {
|
|
val := qp.String(key)
|
|
if val == nil {
|
|
return nil
|
|
}
|
|
result, err := strconv.Atoi(*val)
|
|
if err != nil {
|
|
return nil
|
|
}
|
|
return &result
|
|
}
|
|
|
|
func (qp QueryParams) UInt8(key string) *uint8 {
|
|
val := qp.String(key)
|
|
if val == nil {
|
|
return nil
|
|
}
|
|
intResult, err := strconv.Atoi(*val)
|
|
if err != nil {
|
|
return nil
|
|
}
|
|
|
|
if intResult < 0 {
|
|
intResult = 0
|
|
}
|
|
if intResult > 255 {
|
|
intResult = 255
|
|
}
|
|
|
|
var result = uint8(intResult)
|
|
|
|
return &result
|
|
}
|
|
func (qp QueryParams) UInt(key string) *uint {
|
|
val := qp.String(key)
|
|
if val == nil {
|
|
return nil
|
|
}
|
|
intResult, err := strconv.Atoi(*val)
|
|
if err != nil {
|
|
return nil
|
|
}
|
|
|
|
if intResult < 0 {
|
|
intResult = 0
|
|
}
|
|
if intResult > 255 {
|
|
intResult = 255
|
|
}
|
|
|
|
var result = uint(intResult)
|
|
|
|
return &result
|
|
}
|
|
|
|
func (qp QueryParams) Bool(key string) *bool {
|
|
val := qp.String(key)
|
|
if val == nil {
|
|
return nil
|
|
}
|
|
result, err := strconv.ParseBool(*val)
|
|
if err != nil {
|
|
return nil
|
|
}
|
|
return &result
|
|
}
|
|
|
|
func (qp QueryParams) Float64(key string) *float64 {
|
|
val := qp.String(key)
|
|
if val == nil {
|
|
return nil
|
|
}
|
|
result, err := strconv.ParseFloat(*val, 64)
|
|
if err != nil {
|
|
return nil
|
|
}
|
|
return &result
|
|
}
|