text: export default class Version {
  
      constructor(versionString, suffix) {
          const matches = this.ensureVersionPatternMatches(versionString);
  
          this.major = matches[1];
          this.minor = matches[2];
          this.patch = matches[3];
  
          this.suffix = suffix;
      }
  
      ensureVersionPatternMatches(versionString) {
          const versionPattern = /([0-9]+)\.([0-9]+)\.([0-9]+)/i;
          const matches = versionPattern.exec(versionString);
  
          if (!matches || matches.length !== 4) {
              throw new Error(`${versionString} does not match X.Y.Z version pattern`)
          }
  
          return matches;
      }
  
      toString() {
          return `${this.major}.${this.minor}.${this.patch}${this.suffix}`;
      }
  }
  