audible-api
Version:
A Node.js API for searching the audible website
77 lines (61 loc) • 2.02 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.parseLanguage = exports.getLanguageByName = void 0;
var _isoLanguageCodes = _interopRequireDefault(require("../data/iso-language-codes"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
var getLanguageByName = function getLanguageByName(name) {
if (!name) {
return null;
}
var match = _isoLanguageCodes["default"].find(function (language) {
return language.name.toLowerCase() === name.toLowerCase() || language.nativeName.toLowerCase() === name.toLowerCase();
});
if (match) {
var langauge = {
name: match.name,
iso639_1: match.iso639_1,
iso639_2_T: match.iso639_2_T,
iso639_2_B: match.iso639_2_B,
iso639_3: match.iso639_3
};
return langauge;
}
return null;
};
exports.getLanguageByName = getLanguageByName;
var parseLanguage = function parseLanguage(lang) {
if (!lang || typeof lang !== "string") {
return null;
}
var match;
if (lang.length === 2) {
match = _isoLanguageCodes["default"].find(function (language) {
return language.iso639_1 === lang.toLowerCase();
});
}
if (!match && lang.length === 3) {
match = _isoLanguageCodes["default"].find(function (language) {
return language.iso639_2_T === lang.toLowerCase() || language.iso639_2_B === lang.toLowerCase() || language.iso639_2_B === lang.toLowerCase();
});
}
if (!match) {
match = _isoLanguageCodes["default"].find(function (language) {
return language.name.toLowerCase() === lang.toLowerCase() || language.nativeName.toLowerCase() === lang.toLowerCase();
});
}
if (match) {
var langauge = {
name: match.name,
iso639_1: match.iso639_1,
iso639_2_T: match.iso639_2_T,
iso639_2_B: match.iso639_2_B,
iso639_3: match.iso639_3
};
return langauge;
}
return null;
};
exports.parseLanguage = parseLanguage;
//# sourceMappingURL=language.js.map