API Docs for: 1.4.0
Show:

File: src\utils\Version.ts

/**
* 
* @module Kiwi
* @submodule Utils
*/

module Kiwi.Utils {

	/**
	* Deals with parsing and comparing semver style version numbers
	* @class Version
	* @constructor
	* @namespace Kiwi.Utils
	*/
	export class Version {

		/**
		* Parses a string such as "1.2.3" and returns an oject containing numeric properties for majorVersion, minorVersion and patchVersion
		* @method parseVersion
		* @param version {String}
		* @return {Object} Object with properties majorVersion, minorVersion, patchVersion.
		* @public
		* @static
		*/
		public static parseVersion(version: string) {
			var split: Array<string> = version.split(".");
			return {
				majorVersion: parseInt(split[0]),
				minorVersion: parseInt(split[1]),
				patchVersion: parseInt(split[2])
			}
		}

		/**
		* Compares two semver version strings such as "0.1.0" and "0.2.1".
		* Returns "greater", "less" or "equal".
		* @method compareVersions
		* @param version1 {String}
		* @param version2 {String}
		* @return {String} "greater", "less" or "equal"
		* @public
		* @static
		*/
		public static compareVersions(version1: string, version2: string): string {
			var v1:any = Version.parseVersion(version1);
			var v2:any = Version.parseVersion(version2);
			if (v1.majorVersion > v2.majorVersion) {
				return "greater";
			}
			if (v1.majorVersion < v2.majorVersion) {
				return "less";
			}
			// major versions must be equal
			if (v1.minorVersion > v2.minorVersion) {
				return "greater";
			}
			if (v1.minorVersion < v2.minorVersion) {
				return "less";
			}
			//minor versions must be equal
			if (v1.patchVersion > v2.patchVersion) {
				return "greater";
			}
			if (v1.patchVersion < v2.patchVersion) {
				return "less";
			}
			//patch versions must be equal
			return "equal";

		}

		/**
		* Compares two semver version strings such as "0.1.0" and "0.2.1". Returns true if version1 is greater than version2. 
		* @method greaterOrEqual
		* @param version1 {String}
		* @param version2 {String}
		* @return {boolean}
		* @public
		* @static
		*/
		public static greaterOrEqual(version1: string, version2: string): boolean {
			var comp = Version.compareVersions(version1, version2);
			return (comp == "greater" || comp == "equal");
		}

	}

}