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

Function validJSONNumber

parser.go:2300–2349  ·  view source on GitHub ↗

SYS-REQ-112

(value []byte)

Source from the content-addressed store, hash-verified

2298
2299// SYS-REQ-112
2300func validJSONNumber(value []byte) bool {
2301 i := 0
2302 if value[i] == '-' {
2303 i++
2304 if i == len(value) {
2305 return false
2306 }
2307 }
2308
2309 if value[i] == '0' {
2310 i++
2311 if i < len(value) && value[i] >= '0' && value[i] <= '9' {
2312 return false
2313 }
2314 } else {
2315 if value[i] < '1' || value[i] > '9' {
2316 return false
2317 }
2318 for i < len(value) && value[i] >= '0' && value[i] <= '9' {
2319 i++
2320 }
2321 }
2322
2323 if i < len(value) && value[i] == '.' {
2324 i++
2325 start := i
2326 for i < len(value) && value[i] >= '0' && value[i] <= '9' {
2327 i++
2328 }
2329 if i == start {
2330 return false
2331 }
2332 }
2333
2334 if i < len(value) && (value[i] == 'e' || value[i] == 'E') {
2335 i++
2336 if i < len(value) && (value[i] == '+' || value[i] == '-') {
2337 i++
2338 }
2339 start := i
2340 for i < len(value) && value[i] >= '0' && value[i] <= '9' {
2341 i++
2342 }
2343 if i == start {
2344 return false
2345 }
2346 }
2347
2348 return i == len(value)
2349}

Callers 1

validContainerPrimitiveFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected