Javascript 如何在nodejs中将对象转换为protobuf数据

Javascript 如何在nodejs中将对象转换为protobuf数据,javascript,node.js,grpc-node,protobuf.js,Javascript,Node.js,Grpc Node,Protobuf.js,如果我有如下定义的proto3消息 消息日志{ 字符串对象=1; 字符串键_结果=2; 字符串检查=3; 重复字符串标记=4; 字符串从=5处开始; 串端_=6; 在=7时创建的字符串; 字符串id=8; } 带有--js\u out和--ts\u out的协议将生成类似于 导出类日志扩展jspb.Message{ getObject():字符串; setObject(值:字符串):void; getKeyResult():字符串; setKeyResult(值:字符串):void; getR

如果我有如下定义的proto3消息

消息日志{
字符串对象=1;
字符串键_结果=2;
字符串检查=3;
重复字符串标记=4;
字符串从=5处开始;
串端_=6;
在=7时创建的字符串;
字符串id=8;
}
带有
--js\u out
--ts\u out
协议将生成类似于

导出类日志扩展jspb.Message{
getObject():字符串;
setObject(值:字符串):void;
getKeyResult():字符串;
setKeyResult(值:字符串):void;
getReview():字符串;
setReview(值:字符串):void;
clearTagList():void;
getTagList():数组;
setTagList(值:数组):void;
addTag(值:字符串,索引?:编号):字符串;
getBeginAt():字符串;
setBeginAt(值:字符串):void;
getEndAt():字符串;
setEndAt(值:字符串):void;
getCreatedAt():字符串;
setCreatedAt(值:字符串):void;
getId():字符串;
setId(值:字符串):void;
serializeBinary():Uint8Array;
toObject(includeInstance?:布尔):Log.AsObject;
静态toObject(包括instance:boolean,msg:Log):Log.AsObject;
静态扩展:{[key:number]:jspb.extensionfeldinfo};
静态扩展二进制:{[key:number]:jspb.ExtensionFieldBinaryInfo};
静态序列化BinaryToWriter(消息:Log,编写器:jspb.BinaryWriter):void;
静态反序列化二进制(字节:Uint8Array):日志;
静态反序列化BinaryFromReader(消息:Log,reader:jspb.BinaryReader):Log;
}
通过
toObject
方法将
Log
类转换为对象非常简单。但是要将对象转换为类,我需要手动设置每个字段

导出函数toLog(log:log.AsObject):log{
常数t=新日志
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)
返回t
}
有没有更简单的方法来完成这样的任务