tf2-item-format
Version:
Format's TF2 items like backpack.tf does
81 lines • 3.01 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = default_1;
const isAustralium_1 = __importDefault(require("../../shared/isAustralium"));
const isUniqueHat_1 = __importDefault(require("../../shared/isUniqueHat"));
const getTexture_1 = __importDefault(require("../../shared/getTexture"));
const removeItemNumber_1 = __importDefault(require("../../shared/removeItemNumber"));
const getUsableItem_1 = __importDefault(require("../../parseString/Attributes/getUsableItem"));
const getItemNumber_1 = __importDefault(require("../../parseString/Attributes/getItemNumber"));
/**
* Gets attributes from Name
* Currently only australium
*/
function default_1(econ) {
const name = econ.itemName.origin;
let { texture } = econ.descriptions;
/**
* @type {nameAttributes}
*/
const attributes = {
australium: (0, isAustralium_1.default)(name),
isUniqueHat: (0, isUniqueHat_1.default)(name),
};
if (!texture) {
texture = (0, getTexture_1.default)(name, {
wear: econ.tags.wear,
schema: econ.schema,
});
if (texture)
attributes.texture = texture;
}
const itemNumberName = getNameForItemNumber(econ);
const itemNumber = (0, getItemNumber_1.default)(itemNumberName);
if (itemNumber) {
attributes.itemNumber = itemNumber;
}
const usableItem = (0, getUsableItem_1.default)(attributes.itemNumber
? (0, removeItemNumber_1.default)(name, attributes.itemNumber)
: name);
if (usableItem) {
Object.assign(attributes, usableItem);
}
return attributes;
}
/**
* Returns a string that can be used for retrieving item number.
* @param econ
* @returns name
*/
function getNameForItemNumber(econ) {
var _a;
if (!hasBeenRenamed(econ)) {
if (econ.item.market_name.includes('Keyless Case Series')) {
return econ.item.market_name;
}
return econ.item.name;
}
if (!econ.options.itemNumberFromFraudWarning)
return econ.itemName.getOrigin();
const warning = (_a = econ.item.fraudwarnings) === null || _a === void 0 ? void 0 : _a.find((f) => f.startsWith('This item has been renamed.'));
if (!warning)
return econ.itemName.getOrigin();
return warning
.replace('This item has been renamed.\nOriginal name: "', '')
.replace(/"$/, '');
}
/**
* Checks if item has been renamed based on fraudwarnings and symbols.
* @param econ
* @returns if it has been renamed
*/
function hasBeenRenamed(econ) {
var _a;
if (econ.item.name.startsWith("''") && econ.item.name.endsWith("''"))
return true;
return (_a = econ.item.fraudwarnings) === null || _a === void 0 ? void 0 : _a.find((f) => f.startsWith('This item has been renamed.'));
}
//# sourceMappingURL=getNameAttributes.js.map