UNPKG

bc-minecraft-bedrock-types

Version:

The typescript library that provides default types for minecraft bedrock

113 lines 3.13 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.FormatVersion = void 0; /** * Parses the given data into a format version. */ var FormatVersion; (function (FormatVersion) { /** * Parses the given data into a format version. * @param data The data to parse. * @returns The parsed format version. */ function parse(data) { if (data === '') return [0, 0, 0]; const parts = data.split('.'); const major = parseInt(parts[0] ?? '0'); const minor = parseInt(parts[1] ?? '0'); const patch = parseInt(parts[2] ?? '0'); return [major, minor, patch]; } FormatVersion.parse = parse; function unwrap(value) { if (typeof value === 'string') return parse(value); return value; } FormatVersion.unwrap = unwrap; function isEqual(a, b) { a = unwrap(a); b = unwrap(b); return a[0] === b[0] && a[1] === b[1] && a[2] === b[2]; } FormatVersion.isEqual = isEqual; /** * Checks if a is lower then b * @example isLessThan("1.12.00", [1.30.0]) => true */ function isLessThan(a, b) { a = unwrap(a); b = unwrap(b); if (a[0] < b[0]) return true; if (a[0] > b[0]) return false; if (a[1] < b[1]) return true; if (a[1] > b[1]) return false; if (a[2] < b[2]) return true; if (a[2] > b[2]) return false; return false; } FormatVersion.isLessThan = isLessThan; function isLessOrEqualThan(a, b) { a = unwrap(a); b = unwrap(b); if (a[0] < b[0]) return true; if (a[0] > b[0]) return false; if (a[1] < b[1]) return true; if (a[1] > b[1]) return false; if (a[2] < b[2]) return true; if (a[2] > b[2]) return false; return true; } FormatVersion.isLessOrEqualThan = isLessOrEqualThan; function isGreaterThan(a, b) { a = unwrap(a); b = unwrap(b); if (a[0] < b[0]) return false; if (a[0] > b[0]) return true; if (a[1] < b[1]) return false; if (a[1] > b[1]) return true; if (a[2] < b[2]) return false; if (a[2] > b[2]) return true; return false; } FormatVersion.isGreaterThan = isGreaterThan; function isGreaterOrEqualThan(a, b) { a = unwrap(a); b = unwrap(b); if (a[0] < b[0]) return false; if (a[0] > b[0]) return true; if (a[1] < b[1]) return false; if (a[1] > b[1]) return true; if (a[2] < b[2]) return false; if (a[2] > b[2]) return true; return true; } FormatVersion.isGreaterOrEqualThan = isGreaterOrEqualThan; })(FormatVersion || (exports.FormatVersion = FormatVersion = {})); //# sourceMappingURL=format-version.js.map