33 lines
		
	
	
		
			714 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			714 B
		
	
	
	
		
			Go
		
	
	
	
	
	
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
 | 
						|
}
 |