Skip to content

Commit ef7b8e8

Browse files
committed
Don't allow null for enum field inputs/outputs
1 parent c7125fb commit ef7b8e8

File tree

6 files changed

+20
-18
lines changed

6 files changed

+20
-18
lines changed

packages/proto-loader/bin/proto-loader-gen-types.ts

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -209,14 +209,15 @@ function getTypeNamePermissive(fieldType: string, resolvedType: Protobuf.Type |
209209
throw new Error('Found field with no usable type');
210210
}
211211
const typeInterfaceName = getTypeInterfaceName(resolvedType);
212-
if (resolvedType instanceof Protobuf.Type || resolvedType instanceof Protobuf.Enum) {
212+
if (resolvedType instanceof Protobuf.Type) {
213213
if (repeated || map) {
214214
return inputName(typeInterfaceName);
215215
} else {
216216
return `${inputName(typeInterfaceName)} | null`;
217217
}
218218
} else {
219-
return '';
219+
// Enum
220+
return inputName(typeInterfaceName);
220221
}
221222
}
222223
}
@@ -311,7 +312,7 @@ function getTypeNameRestricted(fieldType: string, resolvedType: Protobuf.Type |
311312
throw new Error('Found field with no usable type');
312313
}
313314
const typeInterfaceName = getTypeInterfaceName(resolvedType);
314-
if (resolvedType instanceof Protobuf.Type || resolvedType instanceof Protobuf.Enum) {
315+
if (resolvedType instanceof Protobuf.Type) {
315316
/* null is only used to represent absent message values if the defaults
316317
* option is set, and only for non-repeated, non-map fields. */
317318
if (options.defaults && !repeated && !map) {
@@ -320,7 +321,8 @@ function getTypeNameRestricted(fieldType: string, resolvedType: Protobuf.Type |
320321
return `${outputName(typeInterfaceName)}`;
321322
}
322323
} else {
323-
return '';
324+
// Enum
325+
return outputName(typeInterfaceName);
324326
}
325327
}
326328
}

packages/proto-loader/golden-generated/google/protobuf/FieldDescriptorProto.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -87,8 +87,8 @@ export interface IFieldDescriptorProto {
8787
'name'?: (string);
8888
'extendee'?: (string);
8989
'number'?: (number);
90-
'label'?: (I_google_protobuf_FieldDescriptorProto_Label | null);
91-
'type'?: (I_google_protobuf_FieldDescriptorProto_Type | null);
90+
'label'?: (I_google_protobuf_FieldDescriptorProto_Label);
91+
'type'?: (I_google_protobuf_FieldDescriptorProto_Type);
9292
'typeName'?: (string);
9393
'defaultValue'?: (string);
9494
'options'?: (I_google_protobuf_FieldOptions | null);
@@ -100,8 +100,8 @@ export interface OFieldDescriptorProto {
100100
'name': (string);
101101
'extendee': (string);
102102
'number': (number);
103-
'label': (O_google_protobuf_FieldDescriptorProto_Label | null);
104-
'type': (O_google_protobuf_FieldDescriptorProto_Type | null);
103+
'label': (O_google_protobuf_FieldDescriptorProto_Label);
104+
'type': (O_google_protobuf_FieldDescriptorProto_Type);
105105
'typeName': (string);
106106
'defaultValue': (string);
107107
'options': (O_google_protobuf_FieldOptions | null);

packages/proto-loader/golden-generated/google/protobuf/FieldOptions.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,22 +40,22 @@ export type I_google_protobuf_FieldOptions_JSType =
4040
export type O_google_protobuf_FieldOptions_JSType = typeof _google_protobuf_FieldOptions_JSType[keyof typeof _google_protobuf_FieldOptions_JSType]
4141

4242
export interface IFieldOptions {
43-
'ctype'?: (I_google_protobuf_FieldOptions_CType | null);
43+
'ctype'?: (I_google_protobuf_FieldOptions_CType);
4444
'packed'?: (boolean);
4545
'deprecated'?: (boolean);
4646
'lazy'?: (boolean);
47-
'jstype'?: (I_google_protobuf_FieldOptions_JSType | null);
47+
'jstype'?: (I_google_protobuf_FieldOptions_JSType);
4848
'weak'?: (boolean);
4949
'uninterpretedOption'?: (I_google_protobuf_UninterpretedOption)[];
5050
'.google.api.field_behavior'?: (I_google_api_FieldBehavior)[];
5151
}
5252

5353
export interface OFieldOptions {
54-
'ctype': (O_google_protobuf_FieldOptions_CType | null);
54+
'ctype': (O_google_protobuf_FieldOptions_CType);
5555
'packed': (boolean);
5656
'deprecated': (boolean);
5757
'lazy': (boolean);
58-
'jstype': (O_google_protobuf_FieldOptions_JSType | null);
58+
'jstype': (O_google_protobuf_FieldOptions_JSType);
5959
'weak': (boolean);
6060
'uninterpretedOption': (O_google_protobuf_UninterpretedOption)[];
6161
'.google.api.field_behavior': (O_google_api_FieldBehavior)[];

packages/proto-loader/golden-generated/google/protobuf/FileOptions.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ export type O_google_protobuf_FileOptions_OptimizeMode = typeof _google_protobuf
2323
export interface IFileOptions {
2424
'javaPackage'?: (string);
2525
'javaOuterClassname'?: (string);
26-
'optimizeFor'?: (I_google_protobuf_FileOptions_OptimizeMode | null);
26+
'optimizeFor'?: (I_google_protobuf_FileOptions_OptimizeMode);
2727
'javaMultipleFiles'?: (boolean);
2828
'goPackage'?: (string);
2929
'ccGenericServices'?: (boolean);
@@ -41,7 +41,7 @@ export interface IFileOptions {
4141
export interface OFileOptions {
4242
'javaPackage': (string);
4343
'javaOuterClassname': (string);
44-
'optimizeFor': (O_google_protobuf_FileOptions_OptimizeMode | null);
44+
'optimizeFor': (O_google_protobuf_FileOptions_OptimizeMode);
4545
'javaMultipleFiles': (boolean);
4646
'goPackage': (string);
4747
'ccGenericServices': (boolean);

packages/proto-loader/golden-generated/google/showcase/v1beta1/EchoRequest.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ export interface IEchoRequest {
2121
/**
2222
* The severity to be echoed by the server.
2323
*/
24-
'severity'?: (I_google_showcase_v1beta1_Severity | null);
24+
'severity'?: (I_google_showcase_v1beta1_Severity);
2525
'response'?: "content"|"error";
2626
}
2727

@@ -43,6 +43,6 @@ export interface OEchoRequest {
4343
/**
4444
* The severity to be echoed by the server.
4545
*/
46-
'severity': (O_google_showcase_v1beta1_Severity | null);
46+
'severity': (O_google_showcase_v1beta1_Severity);
4747
'response': "content"|"error";
4848
}

packages/proto-loader/golden-generated/google/showcase/v1beta1/EchoResponse.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ export interface IEchoResponse {
1313
/**
1414
* The severity specified in the request.
1515
*/
16-
'severity'?: (I_google_showcase_v1beta1_Severity | null);
16+
'severity'?: (I_google_showcase_v1beta1_Severity);
1717
}
1818

1919
/**
@@ -27,5 +27,5 @@ export interface OEchoResponse {
2727
/**
2828
* The severity specified in the request.
2929
*/
30-
'severity': (O_google_showcase_v1beta1_Severity | null);
30+
'severity': (O_google_showcase_v1beta1_Severity);
3131
}

0 commit comments

Comments
 (0)