adds the contains function to the language

Former-commit-id: 5fb3629b56aa0180c388333e4bfbbd199edf4cf2
This commit is contained in:
2023-04-07 16:54:57 +02:00
parent d70bb45f3f
commit 74babcec55

View File

@ -3,6 +3,7 @@ package obiseq
import (
"fmt"
"log"
"reflect"
"strings"
"git.metabarcoding.org/lecasofts/go/obitools/pkg/obiutils"
@ -139,6 +140,13 @@ var OBILang = gval.NewLanguage(
length := obiutils.Len(args[0])
return (float64)(length), nil
}),
gval.Function("contains", func(args ...interface{}) (interface{}, error) {
if obiutils.IsAMap(args[0]) {
val := reflect.ValueOf(args[0]).MapIndex(reflect.ValueOf(args[1]))
return val.IsValid(), nil
}
return false, nil
}),
gval.Function("ismap", func(args ...interface{}) (interface{}, error) {
ismap := obiutils.IsAMap(args[0])
return ismap, nil