27 lines
539 B
Go
27 lines
539 B
Go
// 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)
|
|
}
|