From 305379aeb68d248bcb6b583e484fe6d7c554d869 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Toma=C5=BE=20Jerman?= Date: Tue, 14 Jul 2020 12:17:48 +0200 Subject: [PATCH] Provide some aditional gval functions --- pkg/ngimporter/types/eval.go | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/pkg/ngimporter/types/eval.go b/pkg/ngimporter/types/eval.go index df74c83ba..2f22ba1f4 100644 --- a/pkg/ngimporter/types/eval.go +++ b/pkg/ngimporter/types/eval.go @@ -11,9 +11,23 @@ import ( // Glang generates a gval language, that can be used for expression evaluation func GLang() gval.Language { return gval.NewLanguage( - gval.JSON(), - gval.Arithmetic(), - gval.PropositionalLogic(), + gval.Full(), + + gval.Function("f64", func(v string) (float64, error) { + nn, err := strconv.ParseFloat(v, 64) + if err != nil { + return 0, err + } + return nn, nil + }), + + gval.Function("concat", func(vv ...string) (string, error) { + out := "" + for _, v := range vv { + out += v + } + return out, nil + }), gval.Function("numFmt", func(number, format string) (string, error) { nn, err := strconv.ParseFloat(number, 64)