UNPKG

tf2-item-format

Version:
53 lines 2.13 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 isNumber_1 = __importDefault(require("../util/isNumber")); const getEffect_1 = require("../parseString/Attributes/getEffect"); const TEXTURE_EXCEPTIONS = [['Health and Hell', 'Health and Hell (Green)']]; const TEXTURE_TO_EFFECT_EXCEPTIONS = [['Rainbow', 'Rainbow Reverie'], ['Stardust', 'Stardust Pathway'], ['Autumn', 'Autumn Leaves']]; /** * Iterates over effects object to get matching effect. */ // eslint-disable-next-line consistent-return function default_1(name, attributes) { const textures = attributes.schema.getTextures(); const textureKeys = Object.keys(textures); for (let i = 0; i < textureKeys.length; i++) { const texture = textureKeys[i]; if (!name.includes(`${texture} `)) { continue; } if (isTextureEffect(attributes, texture)) { continue; } if (isTextureToEffectException(name, texture)) { continue; } for (let j = 0; j < TEXTURE_EXCEPTIONS.length; j++) { const exception = TEXTURE_EXCEPTIONS[j]; if (texture === exception[0] && name.includes(`${exception[1]} `)) return exception[1]; } if ((0, isNumber_1.default)(texture) || !name.includes(`${texture} `)) { // eslint-disable-next-line no-continue continue; } return texture; } } function isTextureToEffectException(name, texture) { for (let i = 0; i < TEXTURE_TO_EFFECT_EXCEPTIONS.length; i++) { const exception = TEXTURE_TO_EFFECT_EXCEPTIONS[i]; if (texture === exception[0] && name.includes(`${exception[1]} `)) { return true; } } return false; } function isTextureEffect(attributes, effectOrTexture) { return !!(getEffect_1.TEXTURE_EFFECT_EXCEPTION.includes(effectOrTexture) && !attributes.wear); } //# sourceMappingURL=getTexture.js.map