File tree Expand file tree Collapse file tree 2 files changed +11
-22
lines changed
packages/cli/src/metadataGeneration Expand file tree Collapse file tree 2 files changed +11
-22
lines changed Original file line number Diff line number Diff line change @@ -18,12 +18,14 @@ export class PrimitiveTransformer extends Transformer {
18
18
return 'void' ;
19
19
case SyntaxKind . UndefinedKeyword :
20
20
return 'undefined' ;
21
+ case SyntaxKind . NullKeyword :
22
+ return 'null' ;
21
23
default :
22
24
return undefined ;
23
25
}
24
- } ;
26
+ }
25
27
26
- public transform ( typeNode : TypeNode , parentNode ?: Node ) : Tsoa . PrimitiveType | undefined {
28
+ public transform ( typeNode : TypeNode , parentNode ?: Node ) : Tsoa . Type | undefined {
27
29
const resolvedType = PrimitiveTransformer . resolveKindToPrimitive ( typeNode . kind ) ;
28
30
if ( ! resolvedType ) {
29
31
return ;
@@ -39,15 +41,17 @@ export class PrimitiveTransformer extends Transformer {
39
41
case 'void' :
40
42
case 'undefined' :
41
43
return { dataType : resolvedType } ;
44
+ case 'null' :
45
+ return {
46
+ dataType : 'enum' ,
47
+ enums : [ null ] ,
48
+ } ;
42
49
default :
43
50
return assertNever ( resolvedType ) ;
44
51
}
45
52
}
46
53
47
- private transformNumber (
48
- defaultNumberType : NonNullable < "double" | "float" | "integer" | "long" | undefined > ,
49
- parentNode ?: Node ,
50
- ) : Tsoa . PrimitiveType {
54
+ private transformNumber ( defaultNumberType : NonNullable < 'double' | 'float' | 'integer' | 'long' | undefined > , parentNode ?: Node ) : Tsoa . PrimitiveType {
51
55
if ( ! parentNode ) {
52
56
return { dataType : defaultNumberType } ;
53
57
}
@@ -74,4 +78,4 @@ export class PrimitiveTransformer extends Transformer {
74
78
}
75
79
}
76
80
77
- type ResolvesToPrimitive = 'number' | 'string' | 'boolean' | 'void' | 'undefined' | undefined ;
81
+ type ResolvesToPrimitive = 'number' | 'string' | 'boolean' | 'void' | 'undefined' | 'null' | undefined ;
Original file line number Diff line number Diff line change @@ -53,21 +53,6 @@ export class TypeResolver {
53
53
return primitiveType ;
54
54
}
55
55
56
- if ( this . typeNode . kind === ts . SyntaxKind . NullKeyword ) {
57
- const enumType : Tsoa . EnumType = {
58
- dataType : 'enum' ,
59
- enums : [ null ] ,
60
- } ;
61
- return enumType ;
62
- }
63
-
64
- if ( this . typeNode . kind === ts . SyntaxKind . UndefinedKeyword ) {
65
- const undefinedType : Tsoa . UndefinedType = {
66
- dataType : 'undefined' ,
67
- } ;
68
- return undefinedType ;
69
- }
70
-
71
56
if ( ts . isArrayTypeNode ( this . typeNode ) ) {
72
57
const arrayMetaType : Tsoa . ArrayType = {
73
58
dataType : 'array' ,
You can’t perform that action at this time.
0 commit comments