MCPcopy Create free account
hub / github.com/buger/jsonparser / validJSONNumber

Function validJSONNumber

parser.go:2432–2481  ·  view source on GitHub ↗

SYS-REQ-112

(value []byte)

Source from the content-addressed store, hash-verified

2430
2431// SYS-REQ-112
2432func validJSONNumber(value []byte) bool {
2433 i := 0
2434 if value[i] == '-' {
2435 i++
2436 if i == len(value) {
2437 return false
2438 }
2439 }
2440
2441 if value[i] == '0' {
2442 i++
2443 if i < len(value) && value[i] >= '0' && value[i] <= '9' {
2444 return false
2445 }
2446 } else {
2447 if value[i] < '1' || value[i] > '9' {
2448 return false
2449 }
2450 for i < len(value) && value[i] >= '0' && value[i] <= '9' {
2451 i++
2452 }
2453 }
2454
2455 if i < len(value) && value[i] == '.' {
2456 i++
2457 start := i
2458 for i < len(value) && value[i] >= '0' && value[i] <= '9' {
2459 i++
2460 }
2461 if i == start {
2462 return false
2463 }
2464 }
2465
2466 if i < len(value) && (value[i] == 'e' || value[i] == 'E') {
2467 i++
2468 if i < len(value) && (value[i] == '+' || value[i] == '-') {
2469 i++
2470 }
2471 start := i
2472 for i < len(value) && value[i] >= '0' && value[i] <= '9' {
2473 i++
2474 }
2475 if i == start {
2476 return false
2477 }
2478 }
2479
2480 return i == len(value)
2481}

Callers 1

validContainerPrimitiveFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected