UNPKG

@mann-conomy/tf-particle-effects

Version:

A Node.js wrapper for Team Fortress 2's in-game particle effects.

46 lines 2.32 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.isUndefinedOrEmpty = isUndefinedOrEmpty; exports.compareById = compareById; exports.getLanguageTranslation = getLanguageTranslation; exports.getLanguageSubtag = getLanguageSubtag; exports.compareByIdOrName = compareByIdOrName; exports.compareByIdAndName = compareByIdAndName; const localization_1 = __importDefault(require("../classes/errors/localization")); const enums_1 = require("../resources/enums"); function isUndefinedOrEmpty(attributes) { return !(Array.isArray(attributes) && attributes.length > 0); } function compareById(attribute, id) { return attribute.id === id; } function getLanguageTranslation(language) { const translations = Object.entries(enums_1.LanguageTranslation).map(([name, code]) => ({ name, code })); const translation = translations.find(translation => translation.code.toLowerCase() === language.toLowerCase()); if (translation !== undefined) { return translation.name; } throw new localization_1.default("No translation exists for the provided language code."); } function getLanguageSubtag(translation) { const languageTags = Object.entries(enums_1.LanguageSubtag).map(([name, subtag]) => ({ name, subtag })); const languageTag = languageTags.find(subtag => subtag.name.toLowerCase() === translation.toLowerCase()); if (languageTag !== undefined) { return languageTag.subtag; } throw new localization_1.default("No language subtag was found matching the provided language code."); } function compareByIdOrName(attribute, effect) { const translation = getLanguageTranslation(effect.language); const subtag = getLanguageSubtag(translation); return attribute.id === effect.id || attribute.name.toLocaleLowerCase(subtag) === effect.name.toLocaleLowerCase(subtag); } function compareByIdAndName(attribute, effect) { const translation = getLanguageTranslation(effect.language); const subtag = getLanguageSubtag(translation); return attribute.id === effect.id && attribute.name.toLocaleLowerCase(subtag) === effect.name.toLocaleLowerCase(subtag); } //# sourceMappingURL=utils.js.map