@@ -209,18 +209,23 @@ var LibraryEmbindShared = {
209
209
$createJsInvoker__deps : [ '$usesDestructorStack' ] ,
210
210
$createJsInvoker ( argTypes , isClassMethodFunc , returns , isAsync ) {
211
211
var needsDestructorStack = usesDestructorStack ( argTypes ) ;
212
- var argCount = argTypes . length ;
213
- var argsList = "" ;
214
- var argsListWired = "" ;
215
- for ( var i = 0 ; i < argCount - 2 ; ++ i ) {
216
- argsList += ( i !== 0 ?", " :"" ) + "arg" + i ;
217
- argsListWired += ( i !== 0 ?", " :"" ) + "arg" + i + "Wired" ;
212
+ var argCount = argTypes . length - 2 ;
213
+ var argsList = [ ] ;
214
+ var argsListWired = [ 'fn' ] ;
215
+ if ( isClassMethodFunc ) {
216
+ argsListWired . push ( 'thisWired' ) ;
217
+ }
218
+ for ( var i = 0 ; i < argCount ; ++ i ) {
219
+ argsList . push ( `arg${ i } ` )
220
+ argsListWired . push ( `arg${ i } Wired` )
218
221
}
222
+ argsList = argsList . join ( ',' )
223
+ argsListWired = argsListWired . join ( ',' )
219
224
220
225
var invokerFnBody = `
221
226
return function (${ argsList } ) {
222
- if (arguments.length !== ${ argCount - 2 } ) {
223
- throwBindingError('function ' + humanName + ' called with ' + arguments.length + ' arguments, expected ${ argCount - 2 } ');
227
+ if (arguments.length !== ${ argCount } ) {
228
+ throwBindingError('function ' + humanName + ' called with ' + arguments.length + ' arguments, expected ${ argCount } ');
224
229
}` ;
225
230
226
231
#if EMSCRIPTEN_TRACING
@@ -239,20 +244,15 @@ var LibraryEmbindShared = {
239
244
#endif
240
245
241
246
if ( isClassMethodFunc ) {
242
- invokerFnBody += " var thisWired = classParam['toWireType'](" + dtorStack + " , this);\n" ;
247
+ invokerFnBody += ` var thisWired = classParam['toWireType'](${ dtorStack } , this);\n` ;
243
248
}
244
249
245
- for ( var i = 0 ; i < argCount - 2 ; ++ i ) {
246
- invokerFnBody += "var arg" + i + "Wired = argType" + i + "['toWireType'](" + dtorStack + ", arg" + i + ");\n" ;
247
- args1 . push ( "argType" + i ) ;
248
- }
249
-
250
- if ( isClassMethodFunc ) {
251
- argsListWired = "thisWired" + ( argsListWired . length > 0 ? ", " : "" ) + argsListWired ;
250
+ for ( var i = 0 ; i < argCount ; ++ i ) {
251
+ invokerFnBody += `var arg${ i } Wired = argType${ i } ['toWireType'](${ dtorStack } , arg${ i } );\n` ;
252
+ args1 . push ( `argType${ i } ` ) ;
252
253
}
253
254
254
- invokerFnBody +=
255
- ( returns || isAsync ? "var rv = " :"" ) + "invoker(fn" + ( argsListWired . length > 0 ?", " :"" ) + argsListWired + ");\n" ;
255
+ invokerFnBody += ( returns || isAsync ? "var rv = " :"" ) + `invoker(${ argsListWired } );\n` ;
256
256
257
257
var returnVal = returns ? "rv" : "" ;
258
258
#if ASYNCIFY == 1
0 commit comments