@@ -423,7 +423,33 @@ export class ScriptLetContext {
423423 preparationScript ?: string [ ] ;
424424 } )
425425 ) : 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 ) {
427453 const restore = this . appendScript (
428454 `{` ,
429455 block . range [ 0 ] ,
@@ -442,32 +468,6 @@ export class ScriptLetContext {
442468 ) ;
443469 this . pushScope ( restore , "}" ) ;
444470 } 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- }
471471 const sortedParams = [ ...resolvedParams ]
472472 . map ( ( d ) => {
473473 return {
0 commit comments