#node.js #typescript
Вопрос:
У меня есть функция поиска файлов json в каталоге и возврата файла json для всех файлов json , но функция просто отправляет последний файл json :
кто-нибудь может помочь, пожалуйста
convertI18nBundlesJSON: function (dir: string, root: string, ignoredFiles: string[] = []) {
var results: any = {};
let list = fs.readdirSync(dir);
list.filter((file: string) => {
let stat = fs.statSync(path.resolve(dir, file));
if (stat amp;amp; stat.isDirectory()) {
return !['.git', '.idea', 'target'].includes(file);
} else {
return path.basename(file) === "translation.json" amp;amp; !ignoredFiles.includes(file);
}
}).forEach((file: string) => {
file = path.resolve(dir, file);
const stat = fs.statSync(file);
if (stat amp;amp; stat.isDirectory()) {
const subfolderTranslations = module.exports.convertI18nBundlesJSON(file, root, ignoredFiles);
Object.keys(subfolderTranslations).forEach((locale) => {
if (!results[locale]) { results[locale] = {}; }
Object.keys(subfolderTranslations).forEach((loc) => {
results[loc] = subfolderTranslations[loc];
});
});
} else {
console.log("Reading file: " file);
const match = LOCALE_PATTERN_JSON.exec(file);
const match_Default = LOCALE_PATTERN_JSON_DEFAULT.exec(file);
let locale = "default";
if (match amp;amp; !match_Default ) { locale = match[1]; }
if (!results[locale]) { results[locale] = {}; }
const key = path.relative(root, file).split(path.sep).join(".")
.replace(/(_[a-z]{2}(_[A-Z]{2})?)?.json/, '') ;
const json = fs.readFileSync(file, "utf-8");
results[locale][key] = JSON.parse(json);
}
});
return results;
},