We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
When a proto file has an optional field:
syntax = "proto3"; package example; message Example { optional string optional_field = 1; }
It generates this TS definitions
// package: example // file: proto/example/example.proto import * as jspb from "google-protobuf"; export class Example extends jspb.Message { hasOptionalField(): boolean; clearOptionalField(): void; getOptionalField(): string; setOptionalField(value: string): void; serializeBinary(): Uint8Array; toObject(includeInstance?: boolean): Example.AsObject; static toObject(includeInstance: boolean, msg: Example): Example.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>}; static serializeBinaryToWriter(message: Example, writer: jspb.BinaryWriter): void; static deserializeBinary(bytes: Uint8Array): Example; static deserializeBinaryFromReader(message: Example, reader: jspb.BinaryReader): Example; } export namespace Example { export type AsObject = { optionalField: string, } }
I think the namespace should be in this format:
export namespace Example { export type AsObject = { optionalField?: string, } }
I can find out if the field is in the message by using hasOptionalField method. But TS check is not working as expected.
hasOptionalField
const optionalField: string = message.toObject().optionalField; // this should throw type Error
The text was updated successfully, but these errors were encountered:
toObject() for proto3 optional fields are still generated like so by the protoc js compiler:
optionalField: jspb.Message.getFieldWithDefault(msg, 1, ""),
Note the Default part.
Default
This conforms with the google-protobuf getter APIs and getter semantics in other languages. Please do not change this behavior with toObject().
Sorry, something went wrong.
No branches or pull requests
When a proto file has an optional field:
It generates this TS definitions
I think the namespace should be in this format:
I can find out if the field is in the message by using
hasOptionalField
method. But TS check is not working as expected.The text was updated successfully, but these errors were encountered: