You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							49 lines
						
					
					
						
							1.0 KiB
						
					
					
				
			
		
		
	
	
							49 lines
						
					
					
						
							1.0 KiB
						
					
					
				| 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, " ")
 | |
| }
 | |
| 
 |