@mann-conomy/tf-war-paints
Version:
A static Node.js wrapper for Team Fortress 2's many War Paints.
42 lines • 2.12 kB
JavaScript
;
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