UNPKG

tf2-item-format

Version:
76 lines 2.88 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const decomposeName_1 = __importDefault(require("../../shared/decomposeName")); const isStrangeTexture_1 = __importDefault(require("./ItemName/isStrangeTexture")); const isUnusual_1 = __importDefault(require("./ItemName/isUnusual")); /** * Class that handles name. */ class ItemName { constructor(econ) { this.econ = econ; this.item = econ.item; this.origin = this.getOrigin(); } getOrigin() { return (this.item.market_name || this.item.market_hash_name // || this.item.name ); } getShort() { const { australium, wear, killstreak, texture, elevated, festivized, quality, isUniqueHat, output, outputQuality, target, itemNumber, } = this.econ.getNameAttributes('', false, false); return (0, decomposeName_1.default)(this.origin, Object.assign({ quality: { value: quality, elevated: !!elevated }, australium, festivized, isUniqueHat, // We know it's a string here: killstreak: killstreak, wear: wear, texture: texture, craftable: true, itemNumber }, (output || target ? { usableItem: { output, target, outputQuality: outputQuality, }, } : {}))); } /** * Returns full name like backpack.tf * @return {string} */ getFull() { let name = this.origin; const { craftable, tradable, texture, quality, effect, isUniqueHat, itemNumber, } = this.econ.getNameAttributes('', false, false); if (isUniqueHat) { name = name.replace('The ', ''); } if (effect) { if ((0, isUnusual_1.default)(quality)) name = name.replace('Unusual ', `${effect} `); else { name = name.replace(`${quality} `, `${quality} ${effect} `); } } if (!name.includes('Strange') && (0, isStrangeTexture_1.default)(quality, texture)) name = `Strange ${name}`; if (!tradable) name = `Non-Tradable ${name}`; if (!craftable) name = `Non-Craftable ${name}`; if (this.shouldAddItemNumber(itemNumber)) { name += ` #${itemNumber.value}`; name = name.replace('Series ', ''); } if (name.includes('Keyless Case Series')) { name = name.replace('Series ', ''); } return name; } shouldAddItemNumber(itemNumber) { return !!itemNumber && !this.origin.endsWith(` #${itemNumber.value}`); } } exports.default = ItemName; //# sourceMappingURL=ItemName.js.map