package semver
import "github.com/blang/semver"
Index ¶
- Variables
- func NewBuildVersion(s string) (string, error)
- func Sort(versions []Version)
- type PRVersion
- func NewPRVersion(s string) (PRVersion, error)
- func (v PRVersion) Compare(o PRVersion) int
- func (v PRVersion) IsNumeric() bool
- func (v PRVersion) String() string
- type Range
- func ParseRange(s string) (Range, error)
- func (rf Range) AND(f Range) Range
- func (rf Range) OR(f Range) Range
- type Version
- func Make(s string) (Version, error)
- func MustParse(s string) Version
- func New(s string) (vp *Version, err error)
- func Parse(s string) (Version, error)
- func (v Version) Compare(o Version) int
- func (v Version) EQ(o Version) bool
- func (v Version) Equals(o Version) bool
- func (v Version) GE(o Version) bool
- func (v Version) GT(o Version) bool
- func (v Version) GTE(o Version) bool
- func (v Version) LE(o Version) bool
- func (v Version) LT(o Version) bool
- func (v Version) LTE(o Version) bool
- func (v Version) MarshalJSON() ([]byte, error)
- func (v Version) NE(o Version) bool
- func (v *Version) Scan(src interface{}) (err error)
- func (v Version) String() string
- func (v *Version) UnmarshalJSON(data []byte) (err error)
- func (v Version) Validate() error
- func (v Version) Value() (driver.Value, error)
- type Versions
Variables ¶
var SpecVersion = Version{ Major: 2, Minor: 0, Patch: 0, }
SpecVersion is the latest fully supported spec version of semver
Functions ¶
func NewBuildVersion ¶
NewBuildVersion creates a new valid build version
func Sort ¶
func Sort(versions []Version)
Sort sorts a slice of versions
Types ¶
type PRVersion ¶
PRVersion represents a PreRelease Version
func NewPRVersion ¶
NewPRVersion creates a new valid prerelease version
func (PRVersion) Compare ¶
Compare compares two PreRelease Versions v and o: -1 == v is less than o 0 == v is equal to o 1 == v is greater than o
func (PRVersion) IsNumeric ¶
IsNumeric checks if prerelease-version is numeric
func (PRVersion) String ¶
PreRelease version to string
type Range ¶
Range represents a range of versions. A Range can be used to check if a Version satisfies it:
range, err := semver.ParseRange(">1.0.0 <2.0.0") range(semver.MustParse("1.1.1") // returns true
func ParseRange ¶
ParseRange parses a range and returns a Range. If the range could not be parsed an error is returned.
Valid ranges are:
- "<1.0.0"
- "<=1.0.0"
- ">1.0.0"
- ">=1.0.0"
- "1.0.0", "=1.0.0", "==1.0.0"
- "!1.0.0", "!=1.0.0"
A Range can consist of multiple ranges separated by space: Ranges can be linked by logical AND:
- ">1.0.0 <2.0.0" would match between both ranges, so "1.1.1" and "1.8.7" but not "1.0.0" or "2.0.0"
- ">1.0.0 <3.0.0 !2.0.3-beta.2" would match every version between 1.0.0 and 3.0.0 except 2.0.3-beta.2
Ranges can also be linked by logical OR:
- "<2.0.0 || >=3.0.0" would match "1.x.x" and "3.x.x" but not "2.x.x"
AND has a higher precedence than OR. It's not possible to use brackets.
Ranges can be combined by both AND and OR
- `>1.0.0 <2.0.0 || >3.0.0 !4.2.1` would match `1.2.3`, `1.9.9`, `3.1.1`, but not `4.2.1`, `2.1.1`
func (Range) AND ¶
AND combines the existing Range with another Range using logical AND.
func (Range) OR ¶
OR combines the existing Range with another Range using logical OR.
type Version ¶
type Version struct { Major uint64 Minor uint64 Patch uint64 Pre []PRVersion Build []string //No Precendence }
Version represents a semver compatible version
func Make ¶
Make is an alias for Parse, parses version string and returns a validated Version or error
func MustParse ¶
MustParse is like Parse but panics if the version cannot be parsed.
func New ¶
New is an alias for Parse and returns a pointer, parses version string and returns a validated Version or error
func Parse ¶
Parse parses version string and returns a validated Version or error
func (Version) Compare ¶
Compare compares Versions v to o: -1 == v is less than o 0 == v is equal to o 1 == v is greater than o
func (Version) EQ ¶
EQ checks if v is equal to o.
func (Version) Equals ¶
Equals checks if v is equal to o.
func (Version) GE ¶
GE checks if v is greater than or equal to o.
func (Version) GT ¶
GT checks if v is greater than o.
func (Version) GTE ¶
GTE checks if v is greater than or equal to o.
func (Version) LE ¶
LE checks if v is less than or equal to o.
func (Version) LT ¶
LT checks if v is less than o.
func (Version) LTE ¶
LTE checks if v is less than or equal to o.
func (Version) MarshalJSON ¶
MarshalJSON implements the encoding/json.Marshaler interface.
func (Version) NE ¶
NE checks if v is not equal to o.
func (*Version) Scan ¶
Scan implements the database/sql.Scanner interface.
func (Version) String ¶
Version to string
func (*Version) UnmarshalJSON ¶
UnmarshalJSON implements the encoding/json.Unmarshaler interface.
func (Version) Validate ¶
Validate validates v and returns error in case
func (Version) Value ¶
Value implements the database/sql/driver.Valuer interface.
type Versions ¶
type Versions []Version
Versions represents multiple versions.
func (Versions) Len ¶
Len returns length of version collection
func (Versions) Less ¶
Less checks if version at index i is less than version at index j
func (Versions) Swap ¶
Swap swaps two versions inside the collection by its indices
Source Files ¶
json.go range.go semver.go sort.go sql.go
Directories ¶
Path | Synopsis |
---|---|
examples |
- Version
- v3.1.0+incompatible
- Published
- Dec 5, 2015
- Platform
- js/wasm
- Imports
- 8 packages
- Last checked
- now –
Tools for package owners.