From 76418f65e1e111e83838f0d42c541ae6a8063a09 Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Sun, 11 Apr 2021 19:49:05 +0200 Subject: [PATCH] =?UTF-8?q?Quick=20callstack=20fix=F0=9F=9B=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/PdfCreator.ts | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/src/PdfCreator.ts b/src/PdfCreator.ts index f929c83..d123721 100644 --- a/src/PdfCreator.ts +++ b/src/PdfCreator.ts @@ -122,11 +122,6 @@ export class PdfCreator { if (runners.length == 1 && Object.keys(runners[0]).length == 0) { runners[0] = this.generateEmptyRunner(); } - for (var i = 1; i < PdfCreator.contractsPerRunner; i++) { - runners = runners.reduce(function (res, current, index, array) { - return res.concat([current, current]); - }, []); - } if (runners.length > 50) { let pdf_promises = new Array>(); let i, j; @@ -137,6 +132,11 @@ export class PdfCreator { const pdfs = await Promise.all(pdf_promises); return await this.mergePdfs(pdfs); } + for (var i = 1; i < PdfCreator.contractsPerRunner; i++) { + runners = runners.reduce(function (res, current, index, array) { + return res.concat([current, current]); + }, []); + } await i18next.changeLanguage(locale); const template_source = fs.readFileSync(`${this.templateDir}/sponsoring_contract.html`, 'utf8'); const template = Handlebars.compile(template_source); @@ -179,14 +179,13 @@ export class PdfCreator { */ public async generateRunnerCertficates(runners: CertificateRunner[], locale: string = "en"): Promise { if (runners.length > 50) { - let pdf_promises = new Array>(); + let pdf_promises = new Array(); let i, j; for (i = 0, j = runners.length; i < j; i += 50) { let chunk = runners.slice(i, i + 50); - pdf_promises.push(this.generateRunnerCertficates(chunk, locale)); + pdf_promises.push(await this.generateRunnerCertficates(chunk, locale)); } - const pdfs = await Promise.all(pdf_promises); - return await this.mergePdfs(pdfs); + return await this.mergePdfs(pdf_promises); } await i18next.changeLanguage(locale); const template_source = fs.readFileSync(`${this.templateDir}/runner_certificate.html`, 'utf8');