diff --git a/packages/fps-importer/handler.ts b/packages/fps-importer/handler.ts index 09979e8a5..6a28fb031 100644 --- a/packages/fps-importer/handler.ts +++ b/packages/fps-importer/handler.ts @@ -70,14 +70,18 @@ class FpsProblemImportHandler extends Handler { await problem.addTestdata(domainId, pid, 'config.yaml', Buffer.from(`time: ${config.time}\nmemory: ${config.memory}`)); if (p.test_output) { for (let i = 0; i < p.test_input.length; i++) { - await problem.addTestdata( - domainId, pid, `${i + 1}.in`, - Buffer.from(p.test_input[i]._ || p.test_input[i]), - ); - await problem.addTestdata( - domainId, pid, `${i + 1}.out`, - Buffer.from(p.test_output[i]._ || p.test_output[i]), - ); + const input = typeof p.test_input[i]?._ === 'string' + ? p.test_input[i]?._ + : typeof p.test_input[i] === 'string' + ? p.test_input[i] + : ''; + const output = typeof p.test_output[i]?._ === 'string' + ? p.test_output[i]?._ + : typeof p.test_output[i] === 'string' + ? p.test_output[i] + : ''; + await problem.addTestdata(domainId, pid, `${i + 1}.in`, Buffer.from(input)); + await problem.addTestdata(domainId, pid, `${i + 1}.out`, Buffer.from(output)); } } else if (p.test_input) { for (let i = 0; i < p.test_input.length / 2; i++) { diff --git a/packages/fps-importer/package.json b/packages/fps-importer/package.json index ad12f198f..a5440b692 100644 --- a/packages/fps-importer/package.json +++ b/packages/fps-importer/package.json @@ -1,6 +1,6 @@ { "name": "@hydrooj/fps-importer", - "version": "1.2.1", + "version": "1.2.2", "description": "Import FPS problems", "main": "package.json", "repository": "https://github.com/hydro-dev/Hydro.git",