From 3ff0d7385b3812f72b03720dc2a4dd32e5835bc4 Mon Sep 17 00:00:00 2001 From: Matt McCormick Date: Tue, 26 Sep 2023 10:59:23 -0400 Subject: [PATCH] fix(bindgen): skip files in function module output counts --- src/bindgen/typescript/function-module.js | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/bindgen/typescript/function-module.js b/src/bindgen/typescript/function-module.js index cc39c8faa..e593f7a7b 100644 --- a/src/bindgen/typescript/function-module.js +++ b/src/bindgen/typescript/function-module.js @@ -323,7 +323,9 @@ function functionModule (srcOutputDir, forNode, interfaceJson, modulePascalCase, } } functionContent += '\n' - outputCount++ + if (!interfaceType.includes('File')) { + outputCount++ + } } else { functionContent += ` args.push(${camel}.toString())\n\n` } @@ -428,10 +430,11 @@ function functionModule (srcOutputDir, forNode, interfaceJson, modulePascalCase, if (!forNode) { functionContent += ' webWorker: usedWebWorker as Worker,\n' } - interfaceJson.outputs.forEach((output, index) => { + outputCount = 0 + interfaceJson.outputs.forEach((output) => { const camel = camelCase(output.name) const interfaceType = interfaceJsonTypeToInterfaceType.get(output.type) - const outputIndex = haveArray ? `${camel}Index` : index.toString() + const outputIndex = haveArray ? `${camel}Index` : outputCount.toString() if (interfaceType.includes('TextStream') || interfaceType.includes('BinaryStream')) { if (haveArray) { const isArray = output.itemsExpectedMax > 1 @@ -457,6 +460,9 @@ function functionModule (srcOutputDir, forNode, interfaceJson, modulePascalCase, functionContent += ` ${camel}: outputs[${outputIndex}].data as ${interfaceType},\n` } } + if (!interfaceType.includes('File')) { + outputCount++ + } }) functionContent += ' }\n' functionContent += ' return result\n'