MCPcopy Create free account
hub / github.com/compose-spec/compose-go / transform

Function transform

transform/canonical.go:80–106  ·  view source on GitHub ↗
(data any, p tree.Path, ignoreParseError bool)

Source from the content-addressed store, hash-verified

78}
79
80func transform(data any, p tree.Path, ignoreParseError bool) (any, error) {
81 for pattern, transformer := range transformers {
82 if p.Matches(pattern) {
83 t, err := transformer(data, p, ignoreParseError)
84 if err != nil {
85 return nil, err
86 }
87 return t, nil
88 }
89 }
90 switch v := data.(type) {
91 case map[string]any:
92 a, err := transformMapping(v, p, ignoreParseError)
93 if err != nil {
94 return a, err
95 }
96 return v, nil
97 case []any:
98 a, err := transformSequence(v, p, ignoreParseError)
99 if err != nil {
100 return a, err
101 }
102 return v, nil
103 default:
104 return data, nil
105 }
106}
107
108func transformSequence(v []any, p tree.Path, ignoreParseError bool) ([]any, error) {
109 for i, e := range v {

Callers 3

CanonicalFunction · 0.85
transformSequenceFunction · 0.85
transformMappingFunction · 0.85

Calls 3

transformMappingFunction · 0.85
transformSequenceFunction · 0.85
MatchesMethod · 0.80

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…