Documentation
¶
Index ¶
- func Module(filename, input string) func(r *rego.Rego)
- func ParseModule(filename, input string) (*ast.Module, error)
- func RegisterBuiltin0[R any](name string, nondeterministic bool, ...)
- func RegisterBuiltin0_(name string, nondeterministic bool, fn func(ctx rego.BuiltinContext) error)
- func RegisterBuiltin1[T1 any, R any](name string, nondeterministic bool, ...)
- func RegisterBuiltin1_[T1 any](name string, nondeterministic bool, ...)
- func RegisterBuiltin2[T1 any, T2 any, R any](name string, nondeterministic bool, ...)
- func RegisterBuiltin2_[T1 any, T2 any](name string, nondeterministic bool, ...)
- func RegisterBuiltin3[T1 any, T2 any, T3 any, R any](name string, nondeterministic bool, ...)
- func RegisterBuiltin3_[T1 any, T2 any, T3 any](name string, nondeterministic bool, ...)
- func RegisterBuiltin4[T1 any, T2 any, T3 any, T4 any, R any](name string, nondeterministic bool, ...)
- func RegisterBuiltin4_[T1 any, T2 any, T3 any, T4 any](name string, nondeterministic bool, ...)
- func RegisterBuiltin5[T1 any, T2 any, T3 any, T4 any, T5 any, R any](name string, nondeterministic bool, ...)
- func RegisterBuiltin5_[T1 any, T2 any, T3 any, T4 any, T5 any](name string, nondeterministic bool, ...)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Module ¶
Module returns a function conforming to `func(*rego.Rego)`. Internally, it tries to parse & transform the Rego code via ParseModule. If parsing fails, it falls back to providing the **original code** to OPA, so that OPA will raise a compile error at evaluation time.
TODO: If you prefer to detect errors earlier, call ParseModule(...) directly and handle them before using Module(...). This design just defers the error to OPA's compile phase instead of returning it immediately.
func ParseModule ¶
ParseModule parses and transforms the given Rego source.
- If parsing fails, returns an error.
- If an import marker like "data.regobrick.default_false" exists, applies the corresponding AST transformation (e.g. addDefaultFalse).
func RegisterBuiltin0 ¶ added in v0.2.0
func RegisterBuiltin0[R any](name string, nondeterministic bool, fn func(ctx rego.BuiltinContext) (R, error))
RegisterBuiltin0 registers a function with no arguments, returning a value + error.
func RegisterBuiltin0_ ¶ added in v0.2.0
func RegisterBuiltin0_(name string, nondeterministic bool, fn func(ctx rego.BuiltinContext) error)
RegisterBuiltin0_ registers a function with no arguments and returns only error. On the Rego side, this builtin produces null.
func RegisterBuiltin1 ¶ added in v0.2.0
func RegisterBuiltin1[T1 any, R any](name string, nondeterministic bool, fn func(ctx rego.BuiltinContext, arg1 T1) (R, error))
RegisterBuiltin1 registers a function with 1 argument, returning a value + error.
func RegisterBuiltin1_ ¶ added in v0.2.0
func RegisterBuiltin1_[T1 any](name string, nondeterministic bool, fn func(ctx rego.BuiltinContext, arg1 T1) error)
RegisterBuiltin1_ registers a function with 1 argument and returns only error. On the Rego side, this builtin produces null.
func RegisterBuiltin2 ¶ added in v0.2.0
func RegisterBuiltin2[T1 any, T2 any, R any](name string, nondeterministic bool, fn func(ctx rego.BuiltinContext, arg1 T1, arg2 T2) (R, error))
RegisterBuiltin2 registers a function with 2 arguments, returning a value + error.
func RegisterBuiltin2_ ¶ added in v0.2.0
func RegisterBuiltin2_[T1 any, T2 any](name string, nondeterministic bool, fn func(ctx rego.BuiltinContext, arg1 T1, arg2 T2) error)
RegisterBuiltin2_ registers a function with 2 arguments and returns only error. On the Rego side, this builtin produces null.
func RegisterBuiltin3 ¶ added in v0.2.0
func RegisterBuiltin3[T1 any, T2 any, T3 any, R any](name string, nondeterministic bool, fn func(ctx rego.BuiltinContext, arg1 T1, arg2 T2, arg3 T3) (R, error))
RegisterBuiltin3 registers a function with 3 arguments, returning a value + error.
func RegisterBuiltin3_ ¶ added in v0.2.0
func RegisterBuiltin3_[T1 any, T2 any, T3 any](name string, nondeterministic bool, fn func(ctx rego.BuiltinContext, arg1 T1, arg2 T2, arg3 T3) error)
RegisterBuiltin3_ registers a function with 3 arguments and returns only error. On the Rego side, this builtin produces null.
func RegisterBuiltin4 ¶ added in v0.2.0
func RegisterBuiltin4[T1 any, T2 any, T3 any, T4 any, R any](name string, nondeterministic bool, fn func(ctx rego.BuiltinContext, arg1 T1, arg2 T2, arg3 T3, arg4 T4) (R, error))
RegisterBuiltin4 registers a function with 4 arguments, returning a value + error.
func RegisterBuiltin4_ ¶ added in v0.2.0
func RegisterBuiltin4_[T1 any, T2 any, T3 any, T4 any](name string, nondeterministic bool, fn func(ctx rego.BuiltinContext, arg1 T1, arg2 T2, arg3 T3, arg4 T4) error)
RegisterBuiltin4_ registers a function with 4 arguments and returns only error. On the Rego side, this builtin produces null.
func RegisterBuiltin5 ¶ added in v0.2.0
func RegisterBuiltin5[T1 any, T2 any, T3 any, T4 any, T5 any, R any](name string, nondeterministic bool, fn func(ctx rego.BuiltinContext, arg1 T1, arg2 T2, arg3 T3, arg4 T4, arg5 T5) (R, error))
RegisterBuiltin5 registers a function with 5 arguments, returning a value + error.
func RegisterBuiltin5_ ¶ added in v0.2.0
func RegisterBuiltin5_[T1 any, T2 any, T3 any, T4 any, T5 any](name string, nondeterministic bool, fn func(ctx rego.BuiltinContext, arg1 T1, arg2 T2, arg3 T3, arg4 T4, arg5 T5) error)
RegisterBuiltin5_ registers a function with 5 arguments and returns only error. On the Rego side, this builtin produces null.
Types ¶
This section is empty.