@@ -423,7 +423,33 @@ export class ScriptLetContext {
423
423
preparationScript ?: string [ ] ;
424
424
} )
425
425
) : void {
426
- if ( ! params ) {
426
+ let resolvedParams ;
427
+ if ( typeof params === "function" ) {
428
+ if ( this . ctx . isTypeScript ( ) ) {
429
+ const generatedTypes = params ( {
430
+ generateUniqueId : ( base ) => this . generateUniqueId ( base ) ,
431
+ } ) ;
432
+ resolvedParams = [ generatedTypes . param ] ;
433
+ if ( generatedTypes . preparationScript ) {
434
+ for ( const preparationScript of generatedTypes . preparationScript ) {
435
+ this . appendScriptWithoutOffset (
436
+ preparationScript ,
437
+ ( node , tokens , comments , result ) => {
438
+ tokens . length = 0 ;
439
+ comments . length = 0 ;
440
+ removeAllScopeAndVariableAndReference ( node , result ) ;
441
+ }
442
+ ) ;
443
+ }
444
+ }
445
+ } else {
446
+ const generatedTypes = params ( null ) ;
447
+ resolvedParams = [ generatedTypes . param ] ;
448
+ }
449
+ } else {
450
+ resolvedParams = params ;
451
+ }
452
+ if ( ! resolvedParams || resolvedParams . length === 0 ) {
427
453
const restore = this . appendScript (
428
454
`{` ,
429
455
block . range [ 0 ] ,
@@ -442,32 +468,6 @@ export class ScriptLetContext {
442
468
) ;
443
469
this . pushScope ( restore , "}" ) ;
444
470
} else {
445
- let resolvedParams ;
446
- if ( typeof params === "function" ) {
447
- if ( this . ctx . isTypeScript ( ) ) {
448
- const generatedTypes = params ( {
449
- generateUniqueId : ( base ) => this . generateUniqueId ( base ) ,
450
- } ) ;
451
- resolvedParams = [ generatedTypes . param ] ;
452
- if ( generatedTypes . preparationScript ) {
453
- for ( const preparationScript of generatedTypes . preparationScript ) {
454
- this . appendScriptWithoutOffset (
455
- preparationScript ,
456
- ( node , tokens , comments , result ) => {
457
- tokens . length = 0 ;
458
- comments . length = 0 ;
459
- removeAllScopeAndVariableAndReference ( node , result ) ;
460
- }
461
- ) ;
462
- }
463
- }
464
- } else {
465
- const generatedTypes = params ( null ) ;
466
- resolvedParams = [ generatedTypes . param ] ;
467
- }
468
- } else {
469
- resolvedParams = params ;
470
- }
471
471
const sortedParams = [ ...resolvedParams ]
472
472
. map ( ( d ) => {
473
473
return {
0 commit comments