Home / Function/ formatBindData() — fiber Function Reference

formatBindData() — fiber Function Reference

Architecture documentation for the formatBindData() function in mapping.go from the fiber codebase.

Entity Profile

Dependency Diagram

graph TD
  0c499e04_d3db_214b_442d_951de615b189["formatBindData()"]
  5a1aea01_8a49_a350_626b_5da5e78187fd["mapping.go"]
  0c499e04_d3db_214b_442d_951de615b189 -->|defined in| 5a1aea01_8a49_a350_626b_5da5e78187fd
  541010f8_f5a6_0411_daa3_c8daf21f77ef["parseParamSquareBrackets()"]
  0c499e04_d3db_214b_442d_951de615b189 -->|calls| 541010f8_f5a6_0411_daa3_c8daf21f77ef
  e27db738_c4ff_98cd_3a94_c598464acdb1["assignBindData()"]
  0c499e04_d3db_214b_442d_951de615b189 -->|calls| e27db738_c4ff_98cd_3a94_c598464acdb1
  style 0c499e04_d3db_214b_442d_951de615b189 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

binder/mapping.go lines 356–395

func formatBindData[T, K any](aliasTag string, out any, data map[string][]T, key string, value K, enableSplitting, supportBracketNotation bool) error { //nolint:revive // it's okay
	var err error
	if supportBracketNotation && strings.IndexByte(key, '[') >= 0 {
		key, err = parseParamSquareBrackets(key)
		if err != nil {
			return err
		}
	}

	switch v := any(value).(type) {
	case string:
		dataMap, ok := any(data).(map[string][]string)
		if !ok {
			return fmt.Errorf("unsupported value type: %T", value)
		}

		assignBindData(aliasTag, out, dataMap, key, v, enableSplitting)
	case []string:
		dataMap, ok := any(data).(map[string][]string)
		if !ok {
			return fmt.Errorf("unsupported value type: %T", value)
		}

		for _, val := range v {
			assignBindData(aliasTag, out, dataMap, key, val, enableSplitting)
		}
	case []*multipart.FileHeader:
		for _, val := range v {
			valT, ok := any(val).(T)
			if !ok {
				return fmt.Errorf("unsupported value type: %T", value)
			}
			data[key] = append(data[key], valT)
		}
	default:
		return fmt.Errorf("unsupported value type: %T", value)
	}

	return err
}

Domain

Subdomains

Defined In

Frequently Asked Questions

What does formatBindData() do?
formatBindData() is a function in the fiber codebase, defined in binder/mapping.go.
Where is formatBindData() defined?
formatBindData() is defined in binder/mapping.go at line 356.
What does formatBindData() call?
formatBindData() calls 2 function(s): assignBindData, parseParamSquareBrackets.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free