Packages

  • package root
    Definition Classes
    root
  • package semver4s

    Semver4s provides semver versions and matchers and parsers for them.

    Semver4s provides semver versions and matchers and parsers for them.

    SemVer is a version scheme to delineate when a libraries semantics change. You can read more about it at https://semver.org/

    This library aims to provide at least all functionality the SemVer package in NPM provides, though as of now, it still falls short of that.

    It does so through the types Matcher and Version. You can parse matcher or version strings with semver4s.parseMatcher and semver4s.parseVersion.

    For supported ranges, see the NPM documentation over at https://www.npmjs.com/package/semver#ranges

    For literals, importing Literal._ brings the interpolators m and v in scope, which you can use to write, for example a literal version v"1.2.3" or literal matcher m"~1.3.2 || 2.0.x - 2.2.x", which are parsed and validated at compile time.

    Definition Classes
    root
  • package parsing
    Definition Classes
    semver4s
  • Bound
  • CoreVersion
  • Literal
  • Matcher
  • Partial
  • PreReleaseBehaviour
  • SemVer
  • Version
  • VersionOrder

object Matcher extends Serializable

Linear Supertypes
Serializable, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Matcher
  2. Serializable
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. 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.

  2. implicit final class AndAndOps extends AnyVal
  3. case class Caret(base: Partial) extends Simple with Product with Serializable

    Caret ranges, flexible minor and patch, special handling for 0 prefixes

  4. case class Exact(p: Partial) extends Primitive with Product with Serializable
  5. case class GT(p: Partial) extends Primitive with Product with Serializable
  6. case class GTE(p: Partial) extends Primitive with Product with Serializable
  7. case class Hyphen(lower: Partial, upper: Partial) extends Simple with Product with Serializable

    Hyphen ranges, ranges bounded by a lower and upper bound

  8. case class LT(p: Partial) extends Primitive with Product with Serializable
  9. case class LTE(p: Partial) extends Primitive with Product with Serializable
  10. case class Or(ands: NonEmptyList[And]) extends Matcher with Product with Serializable

    Disjunction: Matches if any of the constituents match

  11. implicit final class OrOps extends AnyVal
  12. sealed trait Primitive extends Simple
  13. sealed trait Simple extends Matcher

    Simple matchers: all matcher except conjunction and disjunction (AND and OR) ranges

  14. implicit final class SimpleAndOps extends AnyVal
  15. case class Tilde(p: Partial) extends Simple with Product with Serializable

    Tilde ranges: Flexible patch

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  8. def eqv(p: Partial): Exact

    a matcher that matches if the given version is equal to this partial

  9. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  10. def gt(p: Partial): GT

    a matches that matches if the given version is greater than this partial

  11. def gte(p: Partial): GTE

    a matcher that matches if the given version is greater or equal to this partial

  12. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  13. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  14. def lowerBound(m: Matcher): Bound

    The lower bound of the given matcher

  15. def lt(p: Partial): LT

    a matcher that matches if the given version is less than this partial

  16. def lte(p: Partial): LTE

    a matcher that matches if the given version is less than or equal to this partial

  17. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  18. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  19. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  20. def print(m: Matcher): String
  21. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  22. def toString(): String
    Definition Classes
    AnyRef → Any
  23. def upperBound(m: Matcher): Bound

    The upper bound of the given matcher

  24. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  25. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  26. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

Inherited from Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped