| package govaluate |
| |
| import ( |
| "errors" |
| ) |
| |
| /* |
| Parameters is a collection of named parameters that can be used by an EvaluableExpression to retrieve parameters |
| when an expression tries to use them. |
| */ |
| type Parameters interface { |
| |
| /* |
| Get gets the parameter of the given name, or an error if the parameter is unavailable. |
| Failure to find the given parameter should be indicated by returning an error. |
| */ |
| Get(name string) (interface{}, error) |
| } |
| |
| type MapParameters map[string]interface{} |
| |
| func (p MapParameters) Get(name string) (interface{}, error) { |
| |
| value, found := p[name] |
| |
| if !found { |
| errorMessage := "No parameter '" + name + "' found." |
| return nil, errors.New(errorMessage) |
| } |
| |
| return value, nil |
| } |