semver

package module
v0.1.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 20, 2023 License: GPL-3.0 Imports: 6 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

View Source
var Nil = Version{
	Major: -1,
	Minor: -1,
	Patch: -1,
}

Functions

This section is empty.

Types

type Comparator

type Comparator interface {
	Contains(Version) bool
	fmt.Stringer
}

type ComparatorList

type ComparatorList []Comparator

ComparatorList will pass when all of the ranges passed

func (ComparatorList) Contains

func (rs ComparatorList) Contains(v Version) bool

func (ComparatorList) String

func (rs ComparatorList) String() string

type ComparatorSet

type ComparatorSet []Comparator

ComparatorSet will pass if any of the ranges passed

func ParseComparatorSet

func ParseComparatorSet(s string) (rs ComparatorSet, err error)

func (ComparatorSet) Contains

func (rs ComparatorSet) Contains(v Version) bool

func (*ComparatorSet) MarshalJSON

func (rs *ComparatorSet) MarshalJSON() ([]byte, error)

func (ComparatorSet) String

func (rs ComparatorSet) String() string

func (*ComparatorSet) UnmarshalJSON

func (rs *ComparatorSet) UnmarshalJSON(data []byte) (err error)

type Cond

type Cond int
const (
	NoCond Cond = iota
	EQ          // ==
	NE          // !=
	LT          // <
	GT          // >
	LE          // <=
	GE          // >=
	EX          // ^ ; same as
	TD          // ~
)

func CondFromString

func CondFromString(s string) (c Cond)

func (Cond) String

func (c Cond) String() string

type Range

type Range struct {
	Min, Max Version
}

func (*Range) Contains

func (r *Range) Contains(v Version) bool

func (*Range) String

func (r *Range) String() string

type Requirement

type Requirement struct {
	Cond    Cond
	Version Version
}

func (*Requirement) Contains

func (r *Requirement) Contains(v Version) bool

func (*Requirement) String

func (r *Requirement) String() string

type Version

type Version struct {
	Major, Minor, Patch int
	Pre                 string
	Build               string
}

A [vaild semver](https://semver.org/#backusnaur-form-grammar-for-valid-semver-versions) can be parsed to Version Version also can parse from some partially missing semver, to allow reuse when parsing version range

func Parse

func Parse(s string) (v Version, err error)

func (Version) Compare

func (v Version) Compare(o Version) int

func (Version) Contains

func (v Version) Contains(o Version) bool

func (Version) IsValid

func (v Version) IsValid() bool

IsValid check if the version is a valid semver or not See: <https://semver.org/#backusnaur-form-grammar-for-valid-semver-versions>

func (Version) MarshalJSON

func (v Version) MarshalJSON() ([]byte, error)

func (Version) String

func (v Version) String() (s string)

func (*Version) UnmarshalJSON

func (v *Version) UnmarshalJSON(data []byte) (err error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL