UNPKG

@p2olab/pimad-core

Version:

PiMAd (Process-industry-Modular-Automation-description) High level access to automation of modular plants.

79 lines (78 loc) 2.34 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.SemanticVersionVendor = exports.BasicSemanticVersionFactory = exports.BasicSemanticVersion = void 0; const Utils_1 = require("../Utils"); class ASemanticVersion { constructor() { this.major = -1; this.minor = -1; this.patch = -1; this.initialized = false; } compatibility(semver) { if (this.equals(semver)) { return true; } if (this.major != semver.getMajor()) { return false; } else { if (this.minor < semver.getMinor()) { return false; } else if (this.minor == semver.getMinor()) { return this.patch > semver.getPatch() || this.patch == semver.getPatch(); } else { return true; } } } equals(semver) { return this.major == semver.getMajor() && this.minor == semver.getMinor() && this.patch == semver.getPatch(); } getMajor() { return this.major; } getMinor() { return this.minor; } getPatch() { return this.patch; } initialize(major, minor, patch) { if (major < 0 || minor < 0 || patch < 0 || this.initialized) { return false; } else { this.major = major; this.minor = minor; this.patch = patch; this.initialized = true; return true; } } } class ASemanticVersionFactory { } class BasicSemanticVersion extends ASemanticVersion { } exports.BasicSemanticVersion = BasicSemanticVersion; class BasicSemanticVersionFactory extends ASemanticVersionFactory { create() { const semver = new BasicSemanticVersion(); Utils_1.logger.debug(this.constructor.name + ' creates a ' + semver.constructor.name); return semver; } } exports.BasicSemanticVersionFactory = BasicSemanticVersionFactory; class SemanticVersionVendor { constructor() { this.basicSemanticVersionFactory = new BasicSemanticVersionFactory(); } // TODO > Refactoring! buy() + Enum buyBasicSemanticVersion() { return this.basicSemanticVersionFactory.create(); } } exports.SemanticVersionVendor = SemanticVersionVendor;