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');