semver4s
package semver4s
- Alphabetic
- By Inheritance
- semver4s
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- case class And(simples: NonEmptyList[Simple]) extends Matcher with Product with Serializable
Conjunction: Matches if all simple constituents match
Conjunction: Matches if all simple constituents match
For a strict match all constituents must match loosely, and any of them strictly with regards to pre-release behaviour.
- sealed trait Bound extends AnyRef
- sealed trait Bounded extends Bound
- case class Caret(p: Partial) extends Simple with Product with Serializable
Caret ranges, flexible minor and patch
- case class CoreVersion(major: Long, minor: Long, patch: Long) extends Product with Serializable
- case class Exact(p: Partial) extends Primitive with Product with Serializable
- case class Exclusive(by: Version) extends Bounded with Product with Serializable
- case class GT(p: Partial) extends Primitive with Product with Serializable
- case class GTE(p: Partial) extends Primitive with Product with Serializable
- case class Hyphen(lower: Partial, upper: Partial) extends Simple with Product with Serializable
Hyphen ranges, ranges bounded by a lower and upper bound
- case class Inclusive(by: Version) extends Bounded with Product with Serializable
- case class LT(p: Partial) extends Primitive with Product with Serializable
- case class LTE(p: Partial) extends Primitive with Product with Serializable
- case class Major(major: Long) extends Partial with Product with Serializable
- sealed trait Matcher extends Product with Serializable
A matcher that can test whether a version matches the matcher.
A matcher that can test whether a version matches the matcher.
The NPM matchers are
- Primitive matchers >, <, >=, <= or = with a (potentially partial) version, e.g.
<1.3
or>=1.3.4-pre.1
. - Hyphen ranges, e.g. 1.3 - 2 - Tilde ranges: e.g. ~1.3.2 flexible patch. - Caret ranges: e.g. ^1.3.2 flexible minor and patch. - Wildcard ranges: e.g. 1.3 / 1.3.* / 1.3.x - Conjunction (AND) ranges: e.g. >1.3 <2.3.1 - Disjunction (OR) ranges: e.g. any version in three any version in 1.2: 1.2 3 || 1.2.* - case class Minor(major: Long, minor: Long) extends Partial with Product with Serializable
- case class Or(ands: NonEmptyList[And]) extends Matcher with Product with Serializable
Disjunction: Matches if any of the constituents match
- sealed trait Partial extends AnyRef
- case class Patch(major: Long, minor: Long, patch: Long) extends Partial with Product with Serializable
- case class Pre(major: Long, minor: Long, patch: Long, pre: PreReleaseSuffix) extends Partial with Product with Serializable
- sealed trait PreReleaseBehaviour extends AnyRef
- sealed trait Primitive extends Simple
- sealed trait Simple extends Matcher
Simple matchers: all matcher except conjunction and disjunction (AND and OR) ranges
- case class Tilde(p: Partial) extends Simple with Product with Serializable
Tilde ranges: Flexible patch
- case class Version(major: Long, minor: Long, patch: Long, pre: Option[PreReleaseSuffix], build: Option[String]) extends Product with Serializable
A semver version specification
A semver version specification
Consisting of a core version of major.minor.patch, potentially a pre-release suffix and potentially build metadata
Value Members
- def matcher(src: String): Either[Error, Or]
- val semVer: Parser[Version]
- val semVerMatcher: Parser[Or]
- def version(src: String): Either[Error, Version]
- object Matcher extends Serializable
- object PreReleaseBehaviour
- object RangeParsers
- object SemVer
- object SemverParsers
- case object Unbounded extends Bound with Product with Serializable
- object Version extends Serializable
- object VersionOrder
- case object Wild extends Partial with Product with Serializable