Typescript ts protoc gen将列表附加到重复项

Typescript ts protoc gen将列表附加到重复项,typescript,protoc,protogen,Typescript,Protoc,Protogen,我有一个这样的原始(3)信息: message DataAggregated { repeated Data data = 1; } message Data { string example = 1 } 当为这个原型定义生成类型时,单词“List”被附加到重复的字段中,这是为什么?是否有合法的原因?是否有方法停止这个附加?这会引起严重的头痛 export namespace DataAggregated { export type AsObject = {

我有一个这样的原始(3)信息:

message DataAggregated {
   repeated Data data = 1;
}

message Data {
   string example = 1
}
当为这个原型定义生成类型时,单词“List”被附加到重复的字段中,这是为什么?是否有合法的原因?是否有方法停止这个附加?这会引起严重的头痛

export namespace DataAggregated {
    export type AsObject = {
        dataList: Array<Data.AsObject>,
    }
}
这将返回数据

  // I cannot use a return interface here as data does not exist in the interface
  get() {
     return {
       data: ['string', 'string']
     }
  }
从其他服务器调用函数时

 export interface ServiceInterface {
     get(data: Empty, metadata: Metadata): Observable< DataAggregated.AsObject>;
 }

 ....

const res = get();
console.log(res.data)     // TsErr: Property 'data' does not exist on type 'AsObject'.ts(2339)
console.log(res.dataList) // undefined
导出接口服务接口{
获取(数据:空,元数据:元数据):可观察;
}
....
const res=get();
console.log(res.data)//TsErr:类型“AsObject”.ts(2339)上不存在属性“data”
console.log(res.dataList)//未定义
如果您不选择使用类,那么重复字段的键入将变得无用。为什么在GRPC需要数据而不是数据列表时追加列表?这似乎是一种反模式

 export interface ServiceInterface {
     get(data: Empty, metadata: Metadata): Observable< DataAggregated.AsObject>;
 }

 ....

const res = get();
console.log(res.data)     // TsErr: Property 'data' does not exist on type 'AsObject'.ts(2339)
console.log(res.dataList) // undefined