Version.js 936 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. export class Version{
  2. constructor(version){
  3. this.version = version;
  4. let vmLength = (version.indexOf('.') === -1) ? version.length : version.indexOf('.');
  5. this.versionMajor = parseInt(version.substr(0, vmLength));
  6. this.versionMinor = parseInt(version.substr(vmLength + 1));
  7. if (this.versionMinor.length === 0) {
  8. this.versionMinor = 0;
  9. }
  10. }
  11. newerThan(version){
  12. let v = new Version(version);
  13. if (this.versionMajor > v.versionMajor) {
  14. return true;
  15. } else if (this.versionMajor === v.versionMajor && this.versionMinor > v.versionMinor) {
  16. return true;
  17. } else {
  18. return false;
  19. }
  20. }
  21. equalOrHigher(version){
  22. let v = new Version(version);
  23. if (this.versionMajor > v.versionMajor) {
  24. return true;
  25. } else if (this.versionMajor === v.versionMajor && this.versionMinor >= v.versionMinor) {
  26. return true;
  27. } else {
  28. return false;
  29. }
  30. }
  31. upTo(version){
  32. return !this.newerThan(version);
  33. }
  34. }