Documentation
¶
Index ¶
- func FilterCapabilities(allowedNames []string, allowedCats []string) *ast.Capabilities
- func RegisterBuiltin0[R any](name string, fn func(rego.BuiltinContext) (R, error), ...)
- func RegisterBuiltin0_(name string, fn func(rego.BuiltinContext) error, opts ...BuiltinRegisterOption)
- func RegisterBuiltin1[T1 any, R any](name string, fn func(rego.BuiltinContext, T1) (R, error), ...)
- func RegisterBuiltin1_[T1 any](name string, fn func(rego.BuiltinContext, T1) error, ...)
- func RegisterBuiltin2[T1 any, T2 any, R any](name string, fn func(rego.BuiltinContext, T1, T2) (R, error), ...)
- func RegisterBuiltin2_[T1 any, T2 any](name string, fn func(rego.BuiltinContext, T1, T2) error, ...)
- func RegisterBuiltin3[T1 any, T2 any, T3 any, R any](name string, fn func(rego.BuiltinContext, T1, T2, T3) (R, error), ...)
- func RegisterBuiltin3_[T1 any, T2 any, T3 any](name string, fn func(rego.BuiltinContext, T1, T2, T3) error, ...)
- func RegisterBuiltin4[T1 any, T2 any, T3 any, T4 any, R any](name string, fn func(rego.BuiltinContext, T1, T2, T3, T4) (R, error), ...)
- func RegisterBuiltin4_[T1 any, T2 any, T3 any, T4 any](name string, fn func(rego.BuiltinContext, T1, T2, T3, T4) error, ...)
- func RegisterBuiltin5[T1 any, T2 any, T3 any, T4 any, T5 any, R any](name string, fn func(rego.BuiltinContext, T1, T2, T3, T4, T5) (R, error), ...)
- func RegisterBuiltin5_[T1 any, T2 any, T3 any, T4 any, T5 any](name string, fn func(rego.BuiltinContext, T1, T2, T3, T4, T5) error, ...)
- type BrickConfig
- type BuiltinRegisterOption
- type RegoModule
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func FilterCapabilities ¶ added in v0.3.0
func FilterCapabilities(allowedNames []string, allowedCats []string) *ast.Capabilities
FilterCapabilities filters OPA built-in functions based on a list of allowed names and categories, along with built-ins whose infix is in coreInfixes.
- If a built-in's infix is one of the core infixes, it is kept.
- Otherwise, if the built-in name is in allowedNames or any of its categories are in allowedCats, it is kept.
- If a built-in has custom category mappings, those are also checked against allowedCats.
The resulting capabilities object contains only the filtered built-ins.
func RegisterBuiltin0 ¶ added in v0.2.0
func RegisterBuiltin0[R any](name string, fn func(rego.BuiltinContext) (R, error), opts ...BuiltinRegisterOption)
RegisterBuiltin0
func RegisterBuiltin0_ ¶ added in v0.2.0
func RegisterBuiltin0_(name string, fn func(rego.BuiltinContext) error, opts ...BuiltinRegisterOption)
RegisterBuiltin0_ has no arguments, returns error => null
func RegisterBuiltin1 ¶ added in v0.2.0
func RegisterBuiltin1[T1 any, R any](name string, fn func(rego.BuiltinContext, T1) (R, error), opts ...BuiltinRegisterOption)
RegisterBuiltin1
func RegisterBuiltin1_ ¶ added in v0.2.0
func RegisterBuiltin1_[T1 any](name string, fn func(rego.BuiltinContext, T1) error, opts ...BuiltinRegisterOption)
RegisterBuiltin1_ has 1 argument, returns error => null
func RegisterBuiltin2 ¶ added in v0.2.0
func RegisterBuiltin2[T1 any, T2 any, R any](name string, fn func(rego.BuiltinContext, T1, T2) (R, error), opts ...BuiltinRegisterOption)
RegisterBuiltin2
func RegisterBuiltin2_ ¶ added in v0.2.0
func RegisterBuiltin2_[T1 any, T2 any](name string, fn func(rego.BuiltinContext, T1, T2) error, opts ...BuiltinRegisterOption)
RegisterBuiltin2_
func RegisterBuiltin3 ¶ added in v0.2.0
func RegisterBuiltin3[T1 any, T2 any, T3 any, R any](name string, fn func(rego.BuiltinContext, T1, T2, T3) (R, error), opts ...BuiltinRegisterOption)
RegisterBuiltin3
func RegisterBuiltin3_ ¶ added in v0.2.0
func RegisterBuiltin3_[T1 any, T2 any, T3 any](name string, fn func(rego.BuiltinContext, T1, T2, T3) error, opts ...BuiltinRegisterOption)
RegisterBuiltin3_
func RegisterBuiltin4 ¶ added in v0.2.0
func RegisterBuiltin4[T1 any, T2 any, T3 any, T4 any, R any](name string, fn func(rego.BuiltinContext, T1, T2, T3, T4) (R, error), opts ...BuiltinRegisterOption)
RegisterBuiltin4
func RegisterBuiltin4_ ¶ added in v0.2.0
func RegisterBuiltin4_[T1 any, T2 any, T3 any, T4 any](name string, fn func(rego.BuiltinContext, T1, T2, T3, T4) error, opts ...BuiltinRegisterOption)
RegisterBuiltin4_
func RegisterBuiltin5 ¶ added in v0.2.0
func RegisterBuiltin5[T1 any, T2 any, T3 any, T4 any, T5 any, R any](name string, fn func(rego.BuiltinContext, T1, T2, T3, T4, T5) (R, error), opts ...BuiltinRegisterOption)
RegisterBuiltin5
func RegisterBuiltin5_ ¶ added in v0.2.0
func RegisterBuiltin5_[T1 any, T2 any, T3 any, T4 any, T5 any](name string, fn func(rego.BuiltinContext, T1, T2, T3, T4, T5) error, opts ...BuiltinRegisterOption)
RegisterBuiltin5_
Types ¶
type BrickConfig ¶ added in v0.4.0
type BrickConfig struct {
Modules []RegoModule
// contains filtered or unexported fields
}
BrickConfig holds configuration data gathered by method chaining.
func New ¶ added in v0.3.0
func New() *BrickConfig
New creates a new BrickConfig for method chaining.
func (*BrickConfig) Build ¶ added in v0.4.0
func (cfg *BrickConfig) Build() (func(*rego.Rego), error)
Build parses Rego modules, converts input to decimal-friendly data if requested, and returns a function that can be passed to rego.New(...) for evaluation.
func (*BrickConfig) InputWithDecimalNumber ¶ added in v0.4.0
func (cfg *BrickConfig) InputWithDecimalNumber(value interface{}) *BrickConfig
InputWithDecimalNumber specifies that the given value should be used as the Rego input (replacing rego.Input()). Any decimal-type fields (e.g. decimal.Decimal) in Go are passed to Rego as JSON numbers (not strings), preserving precision.
func (*BrickConfig) Module ¶ added in v0.4.0
func (cfg *BrickConfig) Module(filename, source string, imports []string) *BrickConfig
Module adds a Rego module definition (filename, source, imports) to BrickConfig.
type BuiltinRegisterOption ¶ added in v0.4.0
type BuiltinRegisterOption func(*builtinRegisterConfig)
func WithCategories ¶ added in v0.4.0
func WithCategories(cats ...string) BuiltinRegisterOption
func WithDefaultDecimal ¶ added in v0.4.0
func WithDefaultDecimal() BuiltinRegisterOption
When set, RegoToGo will convert ast.Number to decimal.Decimal by default.
func WithNondeterministic ¶ added in v0.4.0
func WithNondeterministic() BuiltinRegisterOption