# Packages
No description provided by the author
# Functions
EvaluateAddition will evaluate addition operation over two value.
EvaluateBitAnd will evaluate Bitwise And operation over two value.
EvaluateBitOr will evaluate Bitwise Or operation over two value.
EvaluateDivision will evaluate division operation over two value.
EvaluateEqual will evaluate Equal operation over two value.
EvaluateGreaterThan will evaluate GreaterThan operation over two value.
EvaluateGreaterThanEqual will evaluate GreaterThanEqual operation over two value.
EvaluateLesserThan will evaluate LesserThan operation over two value.
EvaluateLesserThanEqual will evaluate LesserThanEqual operation over two value.
EvaluateLogicAnd will evaluate LogicalAnd operation over two value.
EvaluateLogicOr will evaluate LogicalOr operation over two value.
EvaluateLogicSingle will evaluate single expression value.
EvaluateModulo will evaluate modulo operation over two value.
EvaluateMultiplication will evaluate multiplication operation over two value.
EvaluateNotEqual will evaluate NotEqual operation over two value.
EvaluateSubtraction will evaluate subtraction operation over two value.
GetAttributeInterface will retrieve a members variable value as usable interface.
GetAttributeList will populate list of struct's public member variable.
GetAttributeType will return the type of a specific member variable.
GetAttributeValue will retrieve a members variable value.
GetBaseKind will try to obtain base obtainable kind of a value, so we know what method to call val.Int(), val.Uint(), etc.
GetFunctionList get list of functions in a struct instance.
GetFunctionParameterTypes get list of parameter types of specific function in a struct instance.
GetFunctionReturnTypes get list of return types of specific function in a struct instance.
GetMapArrayValue get value of map, array atau slice by its selector value.
GetValueElem will return the value val contains if val is of Kind Interface or Pointer.
InvokeFunction invokes a specific function in a struct instance, using parameters array.
IsAttributeArray validate if a member variable is an array or a slice.
IsAttributeMap validate if a member variable is a map.
IsAttributeNilOrZero validate if a member variable is nil or zero.
IsNumber will check a value if its a number eg, int,uint or float.
IsStruct validates if an instance is struct or pointer to struct.
IsValidField validates if an instance struct have a field with such name.
NewBytesResource will create a new Resource using a byte array.
NewCloneTable create new instance of CloneTable.
NewEmbeddedResource will create a new instance of EmbeddedResource.
NewEmbeddedResourceBundle creates new instance of EmbeddedResourceBundle struct source is the embed.FS from which to load files basePath denotes the directory location where the file is located.
NewFileResource will create a new Resource using a file located in path.
NewFileResourceBundle creates new instance of FileResourceBundle struct basePath denotes the directory location where the file is located.
NewGITResourceBundle will create a new instance of GITResourceBundle url is the GIT http/https url.
No description provided by the author
NewJSONResourceBundleFromBundle innstantiates a new bundled JSON resource parser from an underlying ResourceBundle.
NewJSONResourceFromResource innstantiates a new JSON resource parser from an underlying Resource.
NewReaderResource will create a new Resource using a common reader.
NewURLResource will create a new Resource using a resource as located in the url.
NewURLResourceWithHeaders will create a new Resource using a resource as located in the url with headers.
ParseJSONRule accepts a byte array containing an rule in JSON format to be parsed into GRule syntax.
ParseJSONRuleset accepts a byte array containing an array of rules in JSON format to be parsed into GRule syntax.
ParseRule Accepts a struct of GruleJSON rule and returns the parsed string of GRule.
SetAttributeInterface will try to set a member variable value with a value from an interface.
SetAttributeValue will try to set a member variable value with a new one.
SetMapArrayValue will set a value into map array indicated by a selector.
ValueToInterface will try to obtain an interface to a speciffic value.
# Variables
30 minutes.
# Structs
BytesResource is a struct that will hold the byte array data.
CloneRecord contains information about all AST versions, instance, their cloned version and cloned instance.
CloneTable will stores all meta information about AST object being cloned under one KnowledgeBase.
EmbeddedResource is a struct that will load an embedded file from an embed.FS struct.
EmbeddedResourceBundle is a helper struct to load multiple embedded resources all at once by specifying the root location of the file and the file pattern to look for.
FileResource is a struct that will hold the file path and readed data bytes.
FileResourceBundle is a helper struct to load multiple files all at once by specifying the root location of the file and the file pattern to look for.
GITResource resource implementation that loaded from GIT.
GITResourceBundle is a helper struct to load multiple files from GIT all at once by specifying the necessary information needed to communicate to the GIT server.
GruleErrorReporter is an implementation of ErrorListener interface by antlr.
GruleJSON represents a rule in JSON format.
JSONResource will parse rules in JSON fromat from underlying resource provider.
JSONResourceBundle will parse a set of rules in JSON format from an underlying bundle resource provider.
ReaderResource is a struct that will hold the reader instance.
URLResource is a struct that will hold the byte array data and URL source.
# Interfaces
Resource should be implemented by any resource model so it can be loaded and parsed by the grule parser.
ResourceBundle is a helper struct to help load multiple resource at once.