add jsutil.MaybeInt wrapper; apply it to IncomingProperties.Asn

This commit is contained in:
Mircea Suciu 2024-07-29 13:19:42 +00:00
parent e5ed933894
commit 0b2343b258
2 changed files with 9 additions and 1 deletions

View File

@ -184,7 +184,7 @@ func NewIncomingProperties(ctx context.Context) (*IncomingProperties, error) {
Latitude: jsutil.MaybeString(cf.Get("latitude")),
TLSCipher: jsutil.MaybeString(cf.Get("tlsCipher")),
Continent: jsutil.MaybeString(cf.Get("continent")),
Asn: cf.Get("asn").Int(),
Asn: jsutil.MaybeInt(cf.Get("asn")),
ClientAcceptEncoding: jsutil.MaybeString(cf.Get("clientAcceptEncoding")),
Country: jsutil.MaybeString(cf.Get("country")),
TLSClientAuth: NewIncomingTLSClientAuth(cf.Get("tlsClientAuth")),

View File

@ -97,6 +97,14 @@ func MaybeString(v js.Value) string {
return v.String()
}
// MaybeInt returns int value of given JavaScript value or returns nil if the value is undefined.
func MaybeInt(v js.Value) int {
if v.IsUndefined() {
return 0
}
return v.Int()
}
// MaybeDate returns time.Time value of given JavaScript Date value or returns nil if the value is undefined.
func MaybeDate(v js.Value) (time.Time, error) {
if v.IsUndefined() {