MCPcopy Create free account
hub / github.com/cel-expr/cel-go / parseFormattingClauseV2

Function parseFormattingClauseV2

ext/formatting_v2.go:736–763  ·  view source on GitHub ↗
(formatStr string, callback formatStringInterpolatorV2, maxPrecision int)

Source from the content-addressed store, hash-verified

734}
735
736func parseFormattingClauseV2(formatStr string, callback formatStringInterpolatorV2, maxPrecision int) (int, clauseImplV2, error) {
737 i := 0
738 read, precision, err := parsePrecisionV2(formatStr[i:], maxPrecision)
739 i += read
740 if err != nil {
741 return -1, nil, fmt.Errorf("error while parsing precision: %w", err)
742 }
743 r := rune(formatStr[i])
744 i++
745 switch r {
746 case 's':
747 return i, callback.String, nil
748 case 'd':
749 return i, callback.Decimal, nil
750 case 'f':
751 return i, callback.Fixed(precision), nil
752 case 'e':
753 return i, callback.Scientific(precision), nil
754 case 'b':
755 return i, callback.Binary, nil
756 case 'x', 'X':
757 return i, callback.Hex(unicode.IsUpper(r)), nil
758 case 'o':
759 return i, callback.Octal, nil
760 default:
761 return -1, nil, fmt.Errorf("unrecognized formatting clause \"%c\"", r)
762 }
763}
764
765func parsePrecisionV2(formatStr string, maxPrecision int) (int, int, error) {
766 i := 0

Callers 1

parseAndFormatClauseV2Function · 0.85

Calls 4

parsePrecisionV2Function · 0.85
FixedMethod · 0.65
ScientificMethod · 0.65
HexMethod · 0.65

Tested by

no test coverage detected