MCPcopy Create free account
hub / github.com/violentmonkey/violentmonkey / batchHandle

Function batchHandle

scripts/transifex.mjs:272–298  ·  view source on GitHub ↗
(handle, allowedLangs)

Source from the content-addressed store, hash-verified

270}
271
272async function batchHandle(handle, allowedLangs) {
273 process.stdout.write('Loading languages...');
274 let langs = await getLanguages();
275 process.stdout.write('OK\n');
276 process.stdout.write(`Got ${langs.length} language codes\n`);
277 for (const lang of langs) {
278 await mkdir(`_locales/${lang}`, { recursive: true });
279 }
280 spawn.sync('pnpm', ['i18n'], { stdio: 'inherit' });
281 if (allowedLangs) langs = langs.filter(lang => allowedLangs.includes(lang));
282 let finished = 0;
283 const showProgress = () => {
284 process.stdout.write(`\rHandling translations (${finished}/${langs.length})...`);
285 };
286 showProgress();
287 await Promise.all(langs.map(async lang => {
288 try {
289 await handle(lang);
290 finished += 1;
291 showProgress();
292 } catch (err) {
293 process.stderr.write(`\nError handling ${lang}\n`);
294 throw err;
295 }
296 }));
297 process.stdout.write('\n');
298}
299
300async function updateResource() {
301 const result = await uploadResource();

Callers 1

mainFunction · 0.85

Calls 6

getLanguagesFunction · 0.85
mkdirFunction · 0.85
showProgressFunction · 0.85
filterMethod · 0.80
mapMethod · 0.80
handleFunction · 0.50

Tested by

no test coverage detected