@@ -16,13 +16,12 @@ package k8s
1616
1717import (
1818 "fmt"
19- "reflect"
2019
2120 "github.com/google/cel-go/cel"
2221 "github.com/google/cel-go/common/types"
2322 "github.com/google/cel-go/common/types/ref"
2423 "github.com/google/cel-go/interpreter"
25- "google.golang.org/protobuf/types/known/structpb "
24+ "github.com/undistro/cel-playground/utils "
2625)
2726
2827type evalResponseError struct {
@@ -124,16 +123,17 @@ type EvalResponse struct {
124123 Cost * uint64 `json:"cost,omitempty"`
125124}
126125
127- func getResults (val * ref.Val ) (any , * string ) {
128- if val == nil || * val == nil {
126+ func getResults (val ref.Val ) (any , * string ) {
127+ if val == nil {
129128 return nil , nil
130129 }
131- value := ( * val ) .Value ()
130+ value := val .Value ()
132131 if err , ok := value .(error ); ok {
133132 errResponse := err .Error ()
134133 return nil , & errResponse
135134 }
136- if value , err := (* val ).ConvertToNative (reflect .TypeOf (& structpb.Value {})); err != nil {
135+
136+ if value , err := utils .ConvertValToNative (val ); err != nil {
137137 errResponse := err .Error ()
138138 return nil , & errResponse
139139 } else {
@@ -152,7 +152,7 @@ func generateEvalVariables(names []string, lazyEvals lazyEvalMap) []*EvalVariabl
152152 variables := []* EvalVariable {}
153153 for _ , name := range names {
154154 if varLazyEval , ok := lazyEvals [name ]; ok && varLazyEval .val != nil {
155- value , err := getResults (& varLazyEval .val .val )
155+ value , err := getResults (varLazyEval .val .val )
156156 variables = append (variables , & EvalVariable {
157157 Name : varLazyEval .name ,
158158 Value : value ,
@@ -168,10 +168,10 @@ func generateEvalVariables(names []string, lazyEvals lazyEvalMap) []*EvalVariabl
168168func generateEvalResults (responses evalResponses ) []* EvalResult {
169169 evals := []* EvalResult {}
170170 for _ , eval := range responses {
171- value , err := getResults (& eval .val )
171+ value , err := getResults (eval .val )
172172 var message any
173173 if eval .messageVal != nil {
174- message , _ = getResults (& eval .messageVal )
174+ message , _ = getResults (eval .messageVal )
175175 } else if eval .message != "" {
176176 message = eval .message
177177 }
0 commit comments