2018-08-22 05:12:57 +03:00
|
|
|
"use strict";
|
|
|
|
|
2019-09-14 00:57:16 +03:00
|
|
|
module.exports = function(linguistData, { extend, override, exclude }) {
|
2018-08-22 05:12:57 +03:00
|
|
|
const language = {};
|
|
|
|
|
|
|
|
for (const key in linguistData) {
|
|
|
|
const newKey = key === "languageId" ? "linguistLanguageId" : key;
|
|
|
|
language[newKey] = linguistData[key];
|
|
|
|
}
|
|
|
|
|
|
|
|
if (extend) {
|
|
|
|
for (const key in extend) {
|
|
|
|
language[key] = (language[key] || []).concat(extend[key]);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-09-14 00:57:16 +03:00
|
|
|
if (exclude) {
|
|
|
|
for (const key in exclude) {
|
|
|
|
language[key] = (language[key] || []).filter(
|
|
|
|
value => (exclude[key] || []).indexOf(value) === -1
|
|
|
|
);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2018-08-22 05:12:57 +03:00
|
|
|
for (const key in override) {
|
|
|
|
language[key] = override[key];
|
|
|
|
}
|
|
|
|
|
|
|
|
return language;
|
|
|
|
};
|