NPMSemver.Version (NPMSemver v0.1.0)

Copy Markdown View Source

npm-compatible semver version parsing and comparison.

Summary

Functions

Compare two versions. Returns :lt, :eq, or :gt.

Parse a version string.

Format a version struct back to a string.

Types

t()

@type t() :: %NPMSemver.Version{
  build: [String.t()],
  major: non_neg_integer(),
  minor: non_neg_integer(),
  patch: non_neg_integer(),
  pre: [String.t() | integer()]
}

Functions

compare(a, b)

@spec compare(t(), t()) :: :lt | :eq | :gt

Compare two versions. Returns :lt, :eq, or :gt.

parse(string, opts \\ [])

@spec parse(
  String.t(),
  keyword()
) :: {:ok, t()} | :error

Parse a version string.

In loose mode, accepts v-prefixed versions and pre-release tags without the - separator (e.g., 1.2.3beta).

to_string(v)

@spec to_string(t()) :: String.t()

Format a version struct back to a string.