diff --git a/func-builtins.go b/func-builtins.go new file mode 100644 index 0000000..ad574b8 --- /dev/null +++ b/func-builtins.go @@ -0,0 +1,26 @@ +// Copyright (c) 2024 Celestino Amoroso (celestino.amoroso@gmail.com). +// All rights reserved. + +// func-builtins.go +package expr + +import ( + "fmt" +) + +func isNilFunc(ctx ExprContext, name string, args []any) (result any, err error) { + if len(args) == 1 { + result = args[0] == nil + } else { + err = fmt.Errorf("%s() requires exactly one param", name) + } + return +} + +func ImportBuiltinsFuncs(ctx ExprContext) { + ctx.RegisterFunc("isNil", &simpleFunctor{f: isNilFunc}, 1, -1) +} + +func init() { + registerImport("builtins", ImportBuiltinsFuncs) +}