Idris2Doc : Libraries.Data.Version

Libraries.Data.Version

(source)
Provides semantic versioning `Version` type and utilities.
See [semver](https://semver.org/) for proper definition of semantic versioning

Definitions

record Version : Type
  Semantic versioning with optional tag

Totality: total
Visibility: public export
Constructor: 
MkVersion : (Nat, (Nat, Nat)) -> Maybe String -> Version

Projections:
.semVer : Version -> (Nat, (Nat, Nat))
  Semantic version
Should follow the (major, minor, patch) convention
.versionTag : Version -> Maybe String
  Optional tag
Usually contains git sha1 of this software's build in between releases

Hints:
Eq Version
Ord Version
Show Version
.semVer : Version -> (Nat, (Nat, Nat))
  Semantic version
Should follow the (major, minor, patch) convention

Totality: total
Visibility: public export
semVer : Version -> (Nat, (Nat, Nat))
  Semantic version
Should follow the (major, minor, patch) convention

Totality: total
Visibility: public export
.versionTag : Version -> Maybe String
  Optional tag
Usually contains git sha1 of this software's build in between releases

Totality: total
Visibility: public export
versionTag : Version -> Maybe String
  Optional tag
Usually contains git sha1 of this software's build in between releases

Totality: total
Visibility: public export
showVersion : Bool -> Version -> String
  String representation of a Version with optional display of `tag`

Totality: total
Visibility: export
parseVersion : String -> Maybe Version
  Parse given string into a proper `Version` record

Expected format must be:
```
<major>.<minor>.<patch>(-<tag>)?
```
where <major>, <minor> and <patch> are natural integers and tag is an optional
alpha-numeric string.

Totality: total
Visibility: export