github.com/grafana/tanka@v0.26.1-0.20240506093700-c22cfc35c21a/pkg/jsonnet/implementations/goimpl/impl.go (about) 1 package goimpl 2 3 import ( 4 "github.com/google/go-jsonnet" 5 "github.com/grafana/tanka/pkg/jsonnet/implementations/types" 6 ) 7 8 type JsonnetGoVM struct { 9 vm *jsonnet.VM 10 11 path string 12 } 13 14 func (vm *JsonnetGoVM) EvaluateAnonymousSnippet(snippet string) (string, error) { 15 return vm.vm.EvaluateAnonymousSnippet(vm.path, snippet) 16 } 17 18 func (vm *JsonnetGoVM) EvaluateFile(filename string) (string, error) { 19 return vm.vm.EvaluateFile(filename) 20 } 21 22 type JsonnetGoImplementation struct { 23 Path string 24 } 25 26 func (i *JsonnetGoImplementation) MakeEvaluator(importPaths []string, extCode map[string]string, tlaCode map[string]string, maxStack int) types.JsonnetEvaluator { 27 return &JsonnetGoVM{ 28 vm: MakeRawVM(importPaths, extCode, tlaCode, maxStack), 29 30 path: i.Path, 31 } 32 }