UNPKG

@protobuf-ts/plugin

Version:

The protocol buffer compiler plugin "protobuf-ts" generates TypeScript, gRPC-web, Twirp, and more.

49 lines (48 loc) 2 kB
import * as ts from "typescript"; import { AnyDescriptorProto, DescriptorRegistry } from "@protobuf-ts/plugin-framework"; export declare class CommentGenerator { private readonly registry; constructor(registry: DescriptorRegistry); /** * Adds comments from the .proto as a JSDoc block. * * Looks up comments for the given descriptor in * the source code info. * * Adds `@deprecated` tag if the element is * marked deprecated. Also adds @deprecated if * the descriptor is a type (enum, message) and * the entire .proto file is marked deprecated. * * Adds `@generated` tag with source code * information. * * Leading detached comments are added as line * comments in front of the JSDoc block. * * Trailing comments are a bit weird. For .proto * enums and messages, they sit between open * bracket and first member. A message seems to * only ever have a trailing comment if it is * empty. For a simple solution, trailing * comments on enums and messages should simply * be appended to the leading block so that the * information is not discarded. */ addCommentsForDescriptor(node: ts.Node, descriptor: AnyDescriptorProto, trailingCommentsMode: 'appendToLeadingBlock' | 'trailingLines'): void; /** * Returns a block of source comments (no leading detached!), * with @generated tags and @deprecated tag (if applicable). */ getCommentBlock(descriptor: AnyDescriptorProto, appendTrailingComments?: boolean): string; /** * Returns "@deprecated\n" if explicitly deprecated. * For top level types, also returns "@deprecated\n" if entire file is deprecated. * Otherwise, returns "". */ makeDeprecatedTag(descriptor: AnyDescriptorProto): "" | "@deprecated\n"; /** * Creates string like "@generated from protobuf field: string foo = 1;" */ makeGeneratedTag(descriptor: AnyDescriptorProto): string; }