tf2-item-format
Version:
Format's TF2 items like backpack.tf does
42 lines • 1.29 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = default_1;
exports.transformTypeToLowerCase = transformTypeToLowerCase;
/**
* Gets number & type of an item
* eg. Medal, crate, case or craft number.
* Not sure how to call this, so feel free to make suggestions.
* @param name
* @return Item number retrieved from the name or null.
*/
function default_1(name) {
const value = getValue(name);
if (!value)
return null;
return {
type: getType(name),
value,
};
}
function getType(name) {
const [_, type] = (name.match(/\b(Medal|Crate|Case|Munition|Cooler|Strongbox)\b/) || []);
// Same thing, different name.
if (type === 'Case' ||
type === 'Munition' ||
type == 'Cooler' ||
type == 'Strongbox')
return 'crate';
// Used for chemistry sets.
if (!type && name.includes('Series '))
return 'series';
return type ? transformTypeToLowerCase(type) : 'craft';
}
function getValue(name) {
const [_, value] = name.match(/ #(\d+)/) || [];
const numberValue = parseInt(value);
return isNaN(numberValue) ? null : numberValue;
}
function transformTypeToLowerCase(type) {
return type.toLowerCase();
}
//# sourceMappingURL=getItemNumber.js.map