interfaces

package
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 27, 2024 License: Apache-2.0 Imports: 1 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Engine added in v0.0.2

type Engine interface {
	Given(rules []models.Rule) Engine
	When(facts map[string]any) Engine
	Run(callback models.Callback)
}

Given(..)

Es una función "Builder" que permite configurar las "rules" que se usaran en la ejecución del Engine.

var engine = SomeEngine()
engine.Given(rules).When(facts)

ó en otro orden:

engine.When(facts).Given(rules)

When(..)

Es una función "Builder" que permite configurar los "facts" que se usaran en la ejecucion del Engine.

var engine = SomeEngine()
engine.Given(rules).When(facts)

ó en otro orden:

engine.When(facts).Given(rules)

Run(..)

Evalua las reglas y acepta como parametro una función "callback" que recibe elementos "Emmiter" que son eventos de las reglas gatilladas.

Para ser ejecutado se deben configurar previamente las "rules" y las "facts":

var engine = SomeEngine()
engine.Given(rules).When(facts).Run(callback)

ó en otro orden:

engine.When(facts).Given(rules).Run(callback)

type Evaluable

type Evaluable interface {
	Evaluate(operator models.Operator, fact, value any) bool
}

type Matchable

type Matchable interface {
	Execute(gate models.Gate, facts map[string]any, conditionals []models.Conditional) bool
}

Declara la funcionalidad para la busqueda por Gate: AllTrue, AnyTrue y NoneTrue

type Runnable added in v0.0.2

type Runnable interface {
	Run(rule models.Rule, facts map[string]any) bool
}

type Workereable

type Workereable interface {
	Execute(rule models.Rule, facts map[string]any) bool
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL