https://github.com/eieste/versionparserjs
https://github.com/eieste/versionparserjs
Last synced: about 1 year ago
JSON representation
- Host: GitHub
- URL: https://github.com/eieste/versionparserjs
- Owner: eieste
- License: mit
- Created: 2019-03-08T10:46:14.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2019-03-09T09:18:14.000Z (over 7 years ago)
- Last Synced: 2025-03-18T15:50:13.348Z (about 1 year ago)
- Language: JavaScript
- Size: 6.84 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Version Parser
## Python Version
https://pypi.org/project/version-parser/
## JavaScript
The version parser is able to parse versions and figure out which of them are build in
one of the following three formats: Major-Version, Minor-Version and Build-Version.
Possible input types are:
| Version | Typ |
|----------|-------------------|
| v1.2.3 | Version |
| V1.2.3 | Version |
| v_1_2_3 | FILENAME |
| v1_2_3 | FILENAME |
| V_1_2_3 | FILENAME |
| V1_2_3 | FILENAME |
| 1_2_3 | FILENAME |
| VM1m2b3 | CLASSNAME_BUILD |
| VM1m2p3 | CLASSNAME_PATCH |
| vM1m2b3 | CLASSNAME_BUILD |
| vM1m2p3 | CLASSNAME_PATCH |
| 1.2.3 | STRIPPED_VERSION |
| 2312 | NUMBER |
## Install
```bash
npm install version-parser
```
## Usage
Create object with the version as a String as initial parameter.
```ecma script level 4
const version_parser = require("version-parser");
v1 = new version_parser.Version("v2.3.4")
```
To compare two version objects/numbers, simply put the versions as Strings into
seperate objects and compare them using the logical operators.
```javascript 1.8
const version_parser = require("version-parser");
v1 = new version_parser.Version("v2.3.4")
v2 = new version_parser.Version("v2.3.2")
console.log(v1.lt(v2))
>> False
console.log(v1.gt(v2))
>> True
console.log(v1.eq(v2))
>> False
```
The last digets behind the last dot should be the Patch or Build Version Number.
Differences in this area should be compatible to each other.
```javascript 1.8
const version_parser = require("version-parser");
v1 = new version_parser.Version("v2.3.4")
v2 = new version_parser.Version("v2.3.5")
console.log(v1.eq(v2))
>> False
console.log(v1.compatible_version_with(v2))
>> True
```
You can also get only the Major, Minor or Build Version by using:
````javascript 1.8
const version_parser = require("version-parser");
v = new version_parser.Version("v2.3.4")
v.get_major_version()
2
v.get_minor_version()
3
v.get_build_version()
4
````
It's possible to convert the version format, too:
````javascript 1.8
const version_parser = require("version-parser");
v = new version_parser.Version("v2.3.4"); // # VersionType = Version
console.log(v.get_type())
>> VersionType.Version
console.log(v.get_typed_version(new version_parser.VersionType.FILENAME))
>> v_2_3_4
````
Any version can be represented by an Integer.
> The sections of major, minor, build/patched version should have a maximum of three digets.
````javascript 1.8
const version_parser = require("version-parser");
v = new version_parser.Version("v2.3.4")
console.log(v.get_number())
>> 2003004
````
## VersionTypes
### VersionType.FILENAME
```python
"v___"
```
### VersionType.CLASSNAME
```python
"VMmb"
```
### VersionType.VERSION
```python
"v.."
```
### VersionType.STRIPPED_VERSION
```python
".."
```
### VersionType.NUMBER
> each section is filled zeros up to three digets
```python
""
```
### VersionType.CLASSNAME_BUILD
> same like CLASSNAME_BUILD
### VersionType.CLASSNAME_PATCH
```python
"VMmp"
^
PATCH
```