Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

282
Visualizações
Cómo convertir objetos a datos protobuf en nodejs

Si tengo un mensaje proto3 definido como a continuación

 message Log { string object = 1; string key_result = 2; string review = 3; repeated string tag = 4; string begin_at = 5; string end_at = 6; string created_at = 7; string id = 8; }

el protoc con --js_out y --ts_out generará dts como

 export class Log extends jspb.Message { getObject(): string; setObject(value: string): void; getKeyResult(): string; setKeyResult(value: string): void; getReview(): string; setReview(value: string): void; clearTagList(): void; getTagList(): Array<string>; setTagList(value: Array<string>): void; addTag(value: string, index?: number): string; getBeginAt(): string; setBeginAt(value: string): void; getEndAt(): string; setEndAt(value: string): void; getCreatedAt(): string; setCreatedAt(value: string): void; getId(): string; setId(value: string): void; serializeBinary(): Uint8Array; toObject(includeInstance?: boolean): Log.AsObject; static toObject(includeInstance: boolean, msg: Log): Log.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>}; static serializeBinaryToWriter(message: Log, writer: jspb.BinaryWriter): void; static deserializeBinary(bytes: Uint8Array): Log; static deserializeBinaryFromReader(message: Log, reader: jspb.BinaryReader): Log; }

Es simple convertir la clase de Log en objeto a través del método toObject . Pero para convertir el objeto a la clase, necesito configurar cada campo manualmente.

 export function toLog(log: Log.AsObject): Log { const t = new Log t.setObject(log.object) t.setKeyResult(log.keyResult) t.setReview(log.review) t.setTagList(log.tagList) t.setBeginAt(log.beginAt) t.setEndAt(log.endAt) t.setCreatedAt(log.createdAt) t.setId(log.id) return t }

¿Alguna forma más sencilla de realizar tal tarea?

over 4 years ago · Santiago Trujillo
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda