grpc_tools_node_protoc_ts
Version:
Generate d.ts definitions for generated js files from grpc_tools_node_protoc
36 lines (28 loc) • 1.06 kB
text/typescript
import {FieldDescriptorProto} from "google-protobuf/google/protobuf/descriptor_pb";
import {Utility} from "../../Utility";
import {ExportMap} from "../../ExportMap";
import {FieldTypesFormatter} from "./FieldTypesFormatter";
export namespace ExtensionFormatter {
export interface IExtensionModel {
indent: string;
extensionName: string;
fieldType: string;
}
export function format(fileName: string,
exportMap: ExportMap,
extension: FieldDescriptorProto,
indent: string): IExtensionModel {
let extensionName = Utility.snakeToCamel(extension.getName());
if (Utility.isReserved(extensionName)) {
extensionName = `pb_${extensionName}`;
}
const fieldType = FieldTypesFormatter.getFieldType(
extension.getType(), extension.getTypeName().slice(1), fileName, exportMap,
);
return {
indent,
extensionName,
fieldType,
};
}
}