(field string, raw json.RawMessage)
| 940 | } |
| 941 | |
| 942 | func validateJSONObject(field string, raw json.RawMessage) (map[string]json.RawMessage, error) { |
| 943 | trimmed := bytes.TrimSpace(raw) |
| 944 | if len(trimmed) == 0 { |
| 945 | return nil, fmt.Errorf("%w: %s is required", ErrMissingField, field) |
| 946 | } |
| 947 | |
| 948 | var object map[string]json.RawMessage |
| 949 | if err := json.Unmarshal(trimmed, &object); err != nil { |
| 950 | return nil, fmt.Errorf("%w: %s must be a JSON object: %w", ErrInvalidField, field, err) |
| 951 | } |
| 952 | |
| 953 | return object, nil |
| 954 | } |
| 955 | |
| 956 | func decodeJSON(raw json.RawMessage, target any) error { |
| 957 | decoder := json.NewDecoder(bytes.NewReader(raw)) |
no outgoing calls
no test coverage detected