@@ -2,7 +2,7 @@ import { SyntaxKind, NodeFlags, TypeNode, factory } from "typescript";
2
2
3
3
// import { writeFileSync, STDIO } from "javy/fs";
4
4
5
- import { Parameter , Column } from "../gen/plugin/codegen_pb" ;
5
+ import { Parameter , Column , Query } from "../gen/plugin/codegen_pb" ;
6
6
import { argName , colName } from "./utlis" ;
7
7
8
8
export function columnType ( column ?: Column ) : TypeNode {
@@ -165,7 +165,8 @@ export function columnType(column?: Column): TypeNode {
165
165
] ) ;
166
166
}
167
167
168
- export function preamble ( queries : unknown ) {
168
+ export function preamble ( queries : Query [ ] ) {
169
+ const hasExecLastIdCmd = queries . some ( ( query ) => query . cmd === ":execlastid" ) ;
169
170
return [
170
171
factory . createImportDeclaration (
171
172
undefined ,
@@ -178,11 +179,15 @@ export function preamble(queries: unknown) {
178
179
undefined ,
179
180
factory . createIdentifier ( "RowDataPacket" )
180
181
) ,
181
- factory . createImportSpecifier (
182
- false ,
183
- undefined ,
184
- factory . createIdentifier ( "ResultSetHeader" )
185
- ) ,
182
+ ...( hasExecLastIdCmd
183
+ ? [
184
+ factory . createImportSpecifier (
185
+ false ,
186
+ undefined ,
187
+ factory . createIdentifier ( "ResultSetHeader" )
188
+ ) ,
189
+ ]
190
+ : [ ] ) ,
186
191
] )
187
192
) ,
188
193
factory . createStringLiteral ( "mysql2/promise" ) ,
@@ -634,7 +639,7 @@ export function execlastidDecl(
634
639
undefined ,
635
640
funcParams ,
636
641
factory . createTypeReferenceNode ( factory . createIdentifier ( "Promise" ) , [
637
- factory . createTypeReferenceNode ( ' number' , undefined ) ,
642
+ factory . createTypeReferenceNode ( " number" , undefined ) ,
638
643
] ) ,
639
644
factory . createBlock (
640
645
[
@@ -663,7 +668,7 @@ export function execlastidDecl(
663
668
factory . createTypeReferenceNode (
664
669
factory . createIdentifier ( "ResultSetHeader" ) ,
665
670
undefined
666
- )
671
+ ) ,
667
672
] ,
668
673
[
669
674
factory . createObjectLiteralExpression (
@@ -692,7 +697,7 @@ export function execlastidDecl(
692
697
]
693
698
)
694
699
)
695
- )
700
+ ) ,
696
701
] ,
697
702
NodeFlags . Const |
698
703
// NodeFlags.Constant |
@@ -716,7 +721,7 @@ export function execlastidDecl(
716
721
] ,
717
722
true
718
723
)
719
- )
724
+ ) ;
720
725
}
721
726
722
727
export default {
0 commit comments