jsdoc.d.ts
1.12 KB
/**
* @license
* Copyright Google Inc. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
/**
* TypeScript has an API for JSDoc already, but it's not exposed.
* https://github.com/Microsoft/TypeScript/issues/7393
* For now we create types that are similar to theirs so that migrating
* to their API will be easier. See e.g. ts.JSDocTag and ts.JSDocComment.
*/
export interface Tag {
tagName?: string;
parameterName?: string;
type?: string;
optional?: boolean;
restParam?: boolean;
destructuring?: boolean;
text?: string;
}
/**
* parse parses JSDoc out of a comment string.
* Returns null if comment is not JSDoc.
*/
export declare function parse(comment: string): {
tags: Tag[];
warnings?: string[];
} | null;
/** Serializes a Comment out to a string usable in source code. */
export declare function toString(tags: Tag[], escapeExtraTags?: string[]): string;
/** Merges multiple tags (of the same tagName type) into a single unified tag. */
export declare function merge(tags: Tag[]): Tag;