MCPcopy Create free account
hub / github.com/github/gh-aw / usageNumericValue

Function usageNumericValue

pkg/cli/token_usage.go:565–594  ·  view source on GitHub ↗
(parsed map[string]any, usage map[string]any, keys ...string)

Source from the content-addressed store, hash-verified

563}
564
565func usageNumericValue(parsed map[string]any, usage map[string]any, keys ...string) float64 {
566 for _, key := range keys {
567 for _, candidate := range []any{usage[key], parsed[key]} {
568 switch v := candidate.(type) {
569 case float64:
570 if !isFinite(v) {
571 continue
572 }
573 return v
574 case json.Number:
575 if num, err := v.Float64(); err == nil && isFinite(num) {
576 return num
577 }
578 case int:
579 return float64(v)
580 case int64:
581 return float64(v)
582 case string:
583 if strings.TrimSpace(v) == "" {
584 continue
585 }
586 num := json.Number(v)
587 if parsedNum, err := num.Float64(); err == nil && isFinite(parsedNum) {
588 return parsedNum
589 }
590 }
591 }
592 }
593 return 0
594}
595
596func usageStringValue(parsed map[string]any, usage map[string]any, keys ...string) string {
597 for _, key := range keys {

Callers 1

processOneUsageJSONLFileFunction · 0.85

Calls 1

isFiniteFunction · 0.85

Tested by

no test coverage detected