MCPcopy Create free account
hub / github.com/github/gh-aw / ResolvePathValue

Function ResolvePathValue

pkg/importinpututil/import_input.go:17–37  ·  view source on GitHub ↗

ResolvePathValue resolves either a top-level input key ("count") or a one-level dotted object sub-key ("config.apiKey") from import inputs.

(inputs map[string]any, inputPath string)

Source from the content-addressed store, hash-verified

15// ResolvePathValue resolves either a top-level input key ("count") or a one-level
16// dotted object sub-key ("config.apiKey") from import inputs.
17func ResolvePathValue(inputs map[string]any, inputPath string) (any, bool) {
18 top, sub, hasDot := strings.Cut(inputPath, ".")
19 if !hasDot {
20 value, ok := inputs[top]
21 importInputLog.Printf("ResolvePathValue: top-level key %q found=%t", top, ok)
22 return value, ok
23 }
24 topVal, topOK := inputs[top]
25 if !topOK {
26 importInputLog.Printf("ResolvePathValue: parent key %q not found for path %q", top, inputPath)
27 return nil, false
28 }
29 obj, isMap := topVal.(map[string]any)
30 if !isMap {
31 importInputLog.Printf("ResolvePathValue: parent key %q is not an object for path %q", top, inputPath)
32 return nil, false
33 }
34 value, ok := obj[sub]
35 importInputLog.Printf("ResolvePathValue: sub-key %q under %q found=%t", sub, top, ok)
36 return value, ok
37}
38
39// FormatResolvedValue formats a resolved import input value for textual
40// substitution. []any/map[string]any and typed slices/maps are normalized and

Calls 1

PrintfMethod · 0.45