MCPcopy Create free account
hub / github.com/goadesign/goa / extensionsFromExprWithPrefix

Function extensionsFromExprWithPrefix

http/codegen/openapi/extensions.go:28–56  ·  view source on GitHub ↗

extensionsFromExprWithPrefix generates openapi extensions from the given meta expression with keys starting the given prefix.

(mdata expr.MetaExpr, prefix string)

Source from the content-addressed store, hash-verified

26// extensionsFromExprWithPrefix generates openapi extensions from
27// the given meta expression with keys starting the given prefix.
28func extensionsFromExprWithPrefix(mdata expr.MetaExpr, prefix string) map[string]any {
29 if !strings.HasSuffix(prefix, ":") {
30 prefix += ":"
31 }
32 extensions := make(map[string]any)
33 for key, value := range mdata {
34 if !strings.HasPrefix(key, prefix) {
35 continue
36 }
37 name := key[len(prefix):]
38 if strings.Contains(name, ":") {
39 continue
40 }
41 if !strings.HasPrefix(name, "x-") {
42 continue
43 }
44 val := value[0]
45 ival := any(val)
46 if err := json.Unmarshal([]byte(val), &ival); err != nil {
47 extensions[name] = val
48 continue
49 }
50 extensions[name] = ival
51 }
52 if len(extensions) == 0 {
53 return nil
54 }
55 return extensions
56}

Callers 2

TagsFromExprFunction · 0.85
ExtensionsFromExprFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected