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

Function transformMaybeExternal

transform/external.go:26–54  ·  view source on GitHub ↗
(data any, p tree.Path, ignoreParseError bool)

Source from the content-addressed store, hash-verified

24)
25
26func transformMaybeExternal(data any, p tree.Path, ignoreParseError bool) (any, error) {
27 if data == nil {
28 return nil, nil
29 }
30 resource, err := transformMapping(data.(map[string]any), p, ignoreParseError)
31 if err != nil {
32 return nil, err
33 }
34
35 if ext, ok := resource["external"]; ok {
36 name, named := resource["name"]
37 if external, ok := ext.(map[string]any); ok {
38 resource["external"] = true
39 if extname, extNamed := external["name"]; extNamed {
40 logrus.Warnf("%s: external.name is deprecated. Please set name and external: true", p)
41 if named && extname != name {
42 return nil, fmt.Errorf("%s: name and external.name conflict; only use name", p)
43 }
44 if !named {
45 // adopt (deprecated) external.name if set
46 resource["name"] = extname
47 return resource, nil
48 }
49 }
50 }
51 }
52
53 return resource, nil
54}

Callers 5

TestNotExternalFunction · 0.85
TestExternalNamedFunction · 0.85
TestExternalUnnamedFunction · 0.85
TestExternalLegacyFunction · 0.85
TestExternalLegacyNamedFunction · 0.85

Calls 1

transformMappingFunction · 0.85

Tested by 5

TestNotExternalFunction · 0.68
TestExternalNamedFunction · 0.68
TestExternalUnnamedFunction · 0.68
TestExternalLegacyFunction · 0.68
TestExternalLegacyNamedFunction · 0.68

Used in the wild real call sites across dependent graphs

searching dependent graphs…