mirror of
https://github.com/hanzoai/expr.git
synced 2026-09-24 16:58:58 +00:00
Fix bug with nil vars
This commit is contained in:
@@ -188,6 +188,33 @@ func ExampleEnv() {
|
||||
// Output: true
|
||||
}
|
||||
|
||||
func ExampleEnv_with_undefined_variables() {
|
||||
env := map[string]interface{}{
|
||||
"foo": 0,
|
||||
"bar": 0,
|
||||
}
|
||||
|
||||
program, err := expr.Compile(`foo + (bar != nil ? bar : 2)`, expr.Env(env))
|
||||
if err != nil {
|
||||
fmt.Printf("%v", err)
|
||||
return
|
||||
}
|
||||
|
||||
request := map[string]interface{}{
|
||||
"foo": 3,
|
||||
}
|
||||
|
||||
output, err := expr.Run(program, request)
|
||||
if err != nil {
|
||||
fmt.Printf("%v", err)
|
||||
return
|
||||
}
|
||||
|
||||
fmt.Printf("%v", output)
|
||||
|
||||
// Output: 5
|
||||
}
|
||||
|
||||
func ExampleAsBool() {
|
||||
env := map[string]int{
|
||||
"foo": 0,
|
||||
|
||||
+1
-1
@@ -45,7 +45,7 @@ func fetch(from interface{}, i interface{}) interface{} {
|
||||
}
|
||||
|
||||
}
|
||||
panic(fmt.Sprintf("%v doesn't contains %v", from, i))
|
||||
return nil
|
||||
}
|
||||
|
||||
func slice(array, from, to interface{}) interface{} {
|
||||
|
||||
Reference in New Issue
Block a user