bc-minecraft-bedrock-types
Version:
The typescript library that provides default types for minecraft bedrock
113 lines • 3.13 kB
JavaScript
"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