MCPcopy Create free account
hub / github.com/goadesign/goa / checkMinMaxValue

Function checkMinMaxValue

expr/example.go:400–433  ·  view source on GitHub ↗
(a *AttributeExpr, example any)

Source from the content-addressed store, hash-verified

398}
399
400func checkMinMaxValue(a *AttributeExpr, example any) bool {
401 if !hasMinMaxValidation(a) {
402 return true
403 }
404 var minimum *float64
405 if a.Validation.ExclusiveMinimum != nil {
406 minimum = a.Validation.ExclusiveMinimum
407 }
408 if a.Validation.Minimum != nil {
409 minimum = a.Validation.Minimum
410 }
411 if minimum != nil {
412 if v, ok := example.(int); ok && float64(v) < *minimum {
413 return false
414 } else if v, ok := example.(float64); ok && v < *minimum {
415 return false
416 }
417 }
418 var maximum *float64
419 if a.Validation.ExclusiveMaximum != nil {
420 maximum = a.Validation.ExclusiveMaximum
421 }
422 if a.Validation.Maximum != nil {
423 maximum = a.Validation.Maximum
424 }
425 if maximum != nil {
426 if v, ok := example.(int); ok && float64(v) > *maximum {
427 return false
428 } else if v, ok := example.(float64); ok && v > *maximum {
429 return false
430 }
431 }
432 return true
433}

Callers 1

ExampleMethod · 0.85

Calls 1

hasMinMaxValidationFunction · 0.85

Tested by

no test coverage detected