MCPcopy
hub / github.com/go-task/task / ResolveRef

Function ResolveRef

internal/templater/templater.go:34–59  ·  view source on GitHub ↗
(ref string, cache *Cache)

Source from the content-addressed store, hash-verified

32}
33
34func ResolveRef(ref string, cache *Cache) any {
35 // If there is already an error, do nothing
36 if cache.err != nil {
37 return nil
38 }
39
40 // Initialize the cache map if it's not already initialized
41 if cache.cacheMap == nil {
42 cache.cacheMap = cache.Vars.ToCacheMap()
43 }
44
45 if ref == "." {
46 return cache.cacheMap
47 }
48 t, err := template.New("resolver").Funcs(templateFuncs).Parse(fmt.Sprintf("{{%s}}", ref))
49 if err != nil {
50 cache.err = err
51 return nil
52 }
53 val, err := t.Resolve(cache.cacheMap)
54 if err != nil {
55 cache.err = err
56 return nil
57 }
58 return val
59}
60
61func Replace[T any](v T, cache *Cache) T {
62 return ReplaceWithExtra(v, cache, nil)

Callers 3

resolveMatrixRefsFunction · 0.92
resolveEnumRefsFunction · 0.92
ReplaceVarWithExtraFunction · 0.85

Calls 1

ToCacheMapMethod · 0.80

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…