49 lines
		
	
	
	
		
			1 KiB
		
	
	
	
		
			Go
		
	
	
	
		
			Vendored
		
	
	
	
			
		
		
	
	
			49 lines
		
	
	
	
		
			1 KiB
		
	
	
	
		
			Go
		
	
	
	
		
			Vendored
		
	
	
	
| package version
 | |
| 
 | |
| import (
 | |
| 	"strings"
 | |
| )
 | |
| 
 | |
| type Constraint struct {
 | |
| 	operator string
 | |
| 	version  string
 | |
| }
 | |
| 
 | |
| // Return a new Constrain and sets operator and version to compare
 | |
| func NewConstrain(operator, version string) *Constraint {
 | |
| 	constraint := new(Constraint)
 | |
| 	constraint.SetOperator(operator)
 | |
| 	constraint.SetVersion(version)
 | |
| 
 | |
| 	return constraint
 | |
| }
 | |
| 
 | |
| // Sets operator to compare
 | |
| func (self *Constraint) SetOperator(operator string) {
 | |
| 	self.operator = operator
 | |
| }
 | |
| 
 | |
| // Get operator to compare
 | |
| func (self *Constraint) GetOperator() string {
 | |
| 	return self.operator
 | |
| }
 | |
| 
 | |
| // Sets version to compare
 | |
| func (self *Constraint) SetVersion(version string) {
 | |
| 	self.version = version
 | |
| }
 | |
| 
 | |
| // Get version to compare
 | |
| func (self *Constraint) GetVersion() string {
 | |
| 	return self.version
 | |
| }
 | |
| 
 | |
| // Match a given version againts the constraint
 | |
| func (self *Constraint) Match(version string) bool {
 | |
| 	return Compare(version, self.version, self.operator)
 | |
| }
 | |
| 
 | |
| // Return a string representation
 | |
| func (self *Constraint) String() string {
 | |
| 	return strings.Trim(self.operator+" "+self.version, " ")
 | |
| }
 | 
