@@ -45,10 +45,10 @@ function funcParamsDecl(iface: string | undefined, params: Parameter[]) {
45
45
}
46
46
47
47
export class Driver {
48
- private readonly options : Mysql2Options
48
+ private readonly options : Mysql2Options ;
49
49
50
50
constructor ( options ?: Mysql2Options ) {
51
- this . options = options ?? { }
51
+ this . options = options ?? { } ;
52
52
}
53
53
54
54
columnType ( column ?: Column ) : TypeNode {
@@ -63,12 +63,12 @@ export class Driver {
63
63
64
64
if ( this . options . support_big_numbers ) {
65
65
if ( this . options . big_number_strings ) {
66
- typ = factory . createKeywordTypeNode ( SyntaxKind . StringKeyword )
66
+ typ = factory . createKeywordTypeNode ( SyntaxKind . StringKeyword ) ;
67
67
} else {
68
68
typ = factory . createUnionTypeNode ( [
69
69
factory . createKeywordTypeNode ( SyntaxKind . NumberKeyword ) ,
70
- factory . createKeywordTypeNode ( SyntaxKind . StringKeyword )
71
- ] )
70
+ factory . createKeywordTypeNode ( SyntaxKind . StringKeyword ) ,
71
+ ] ) ;
72
72
}
73
73
}
74
74
@@ -655,6 +655,14 @@ export class Driver {
655
655
) {
656
656
const funcParams = funcParamsDecl ( argIface , params ) ;
657
657
658
+ let returnType : TypeNode = factory . createTypeReferenceNode ( "number" , undefined ) ;
659
+ if ( this . options . support_big_numbers ) {
660
+ returnType = factory . createUnionTypeNode ( [
661
+ factory . createTypeReferenceNode ( "number" , undefined ) ,
662
+ factory . createTypeReferenceNode ( "string" , undefined ) ,
663
+ ] ) ;
664
+ }
665
+
658
666
return factory . createFunctionDeclaration (
659
667
[
660
668
factory . createToken ( SyntaxKind . ExportKeyword ) ,
@@ -665,7 +673,7 @@ export class Driver {
665
673
undefined ,
666
674
funcParams ,
667
675
factory . createTypeReferenceNode ( factory . createIdentifier ( "Promise" ) , [
668
- factory . createTypeReferenceNode ( "number" , undefined ) ,
676
+ returnType ,
669
677
] ) ,
670
678
factory . createBlock (
671
679
[
0 commit comments