UNPKG

@mann-conomy/tf-war-paints

Version:

A static Node.js wrapper for Team Fortress 2's many War Paints.

42 lines 2.12 kB
"use strict"; 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 enums_1 = require("../resources/enums"); function isUndefinedOrEmpty(warpaints, language) { return !(Array.isArray(warpaints[language]) && warpaints[language].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 RangeError("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 RangeError("No language subtag was found matching the provided language code."); } function compareByIdOrName(attributes, warpaint) { const translation = getLanguageTranslation(warpaint.language); const subtag = getLanguageSubtag(translation); return attributes.id === warpaint.id || attributes.name.toLocaleLowerCase(subtag) === warpaint.name.toLocaleLowerCase(subtag); } function compareByIdAndName(attributes, warpaint) { const translation = getLanguageTranslation(warpaint.language); const subtag = getLanguageSubtag(translation); return attributes.id === warpaint.id && attributes.name.toLocaleLowerCase(subtag) === warpaint.name.toLocaleLowerCase(subtag); } //# sourceMappingURL=utils.js.map