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

Function validJSONNumber

parser.go:2373–2422  ·  view source on GitHub ↗

SYS-REQ-112

(value []byte)

Source from the content-addressed store, hash-verified

2371
2372// SYS-REQ-112
2373func validJSONNumber(value []byte) bool {
2374 i := 0
2375 if value[i] == '-' {
2376 i++
2377 if i == len(value) {
2378 return false
2379 }
2380 }
2381
2382 if value[i] == '0' {
2383 i++
2384 if i < len(value) && value[i] >= '0' && value[i] <= '9' {
2385 return false
2386 }
2387 } else {
2388 if value[i] < '1' || value[i] > '9' {
2389 return false
2390 }
2391 for i < len(value) && value[i] >= '0' && value[i] <= '9' {
2392 i++
2393 }
2394 }
2395
2396 if i < len(value) && value[i] == '.' {
2397 i++
2398 start := i
2399 for i < len(value) && value[i] >= '0' && value[i] <= '9' {
2400 i++
2401 }
2402 if i == start {
2403 return false
2404 }
2405 }
2406
2407 if i < len(value) && (value[i] == 'e' || value[i] == 'E') {
2408 i++
2409 if i < len(value) && (value[i] == '+' || value[i] == '-') {
2410 i++
2411 }
2412 start := i
2413 for i < len(value) && value[i] >= '0' && value[i] <= '9' {
2414 i++
2415 }
2416 if i == start {
2417 return false
2418 }
2419 }
2420
2421 return i == len(value)
2422}

Callers 1

validContainerPrimitiveFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected