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)
|
||
|
}
|