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

Function validJSONNumber

parser.go:2392–2441  ·  view source on GitHub ↗

SYS-REQ-112

(value []byte)

Source from the content-addressed store, hash-verified

2390
2391// SYS-REQ-112
2392func validJSONNumber(value []byte) bool {
2393 i := 0
2394 if value[i] == '-' {
2395 i++
2396 if i == len(value) {
2397 return false
2398 }
2399 }
2400
2401 if value[i] == '0' {
2402 i++
2403 if i < len(value) && value[i] >= '0' && value[i] <= '9' {
2404 return false
2405 }
2406 } else {
2407 if value[i] < '1' || value[i] > '9' {
2408 return false
2409 }
2410 for i < len(value) && value[i] >= '0' && value[i] <= '9' {
2411 i++
2412 }
2413 }
2414
2415 if i < len(value) && value[i] == '.' {
2416 i++
2417 start := i
2418 for i < len(value) && value[i] >= '0' && value[i] <= '9' {
2419 i++
2420 }
2421 if i == start {
2422 return false
2423 }
2424 }
2425
2426 if i < len(value) && (value[i] == 'e' || value[i] == 'E') {
2427 i++
2428 if i < len(value) && (value[i] == '+' || value[i] == '-') {
2429 i++
2430 }
2431 start := i
2432 for i < len(value) && value[i] >= '0' && value[i] <= '9' {
2433 i++
2434 }
2435 if i == start {
2436 return false
2437 }
2438 }
2439
2440 return i == len(value)
2441}

Callers 1

validContainerPrimitiveFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected