UNPKG

protoc-gen-tsd

Version:

Protocol Buffers Compiler(protoc) plugin for TypeScript - Generate definition file(d.ts)

46 lines (45 loc) 1.96 kB
import { FileDescriptorProto, FieldDescriptorProto, DescriptorProto, OneofDescriptorProto } from 'google-protobuf/google/protobuf/descriptor_pb'; import { ProtoAbstractSyntaxTreeMap } from '../proto-ast-map'; import { IEnumDescriptorProtoModel } from './enum-descriptor-formatter'; import { IExtensionDescriptorProtoModel } from './extension-descriptor-formatter'; import { IOneofDescriptorProtoModel } from './oneof-descriptor-formatter'; export interface IMessageType { messageName: string; oneofGroups: FieldDescriptorProto[][]; oneofDeclList: OneofDescriptorProto[]; fields: IMessageFieldType[]; nestedTypes: IMessageDescriptorProtoModel[]; formattedEnumListStr: IEnumDescriptorProtoModel[]; formattedOneofListStr: IOneofDescriptorProtoModel[]; formattedExtListStr: IExtensionDescriptorProtoModel[]; } export interface IMessageDescriptorProtoModel { indent: string; BYTES_TYPE: number; MESSAGE_TYPE: number; message: IMessageType; } export declare const DefaultMessageType: string; export interface IMessageFieldType { snakeCaseName: string; camelCaseName: string; camelUpperName: string; fieldObjectType: string; type: FieldDescriptorProto.Type; exportType: string; isMapField: boolean; mapFieldInfo?: IMessageMapField; isRepeatField: boolean; isOptionalValue: boolean; canBeUndefined: boolean; hasClearMethodCreated: boolean; hasFieldPresence: boolean; } export declare const DefaultMessageFieldType: string; export interface IMessageMapField { keyType: FieldDescriptorProto.Type; keyTypeName: string; valueType: FieldDescriptorProto.Type; valueTypeName: string; } export declare function formatMessageTypeDescriptorProto(protoFileName: string, protoAbstractSyntaxTreeMap: ProtoAbstractSyntaxTreeMap, messageTypeDescriptorProto: DescriptorProto, indent: string, fileDescriptorProto: FileDescriptorProto): IMessageDescriptorProtoModel;