UNPKG

tf2-item-format

Version:
81 lines 3.01 kB
"use strict"; 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