UNPKG

@ng-doc/builder

Version:

<!-- PROJECT LOGO --> <br /> <div align="center"> <a href="https://github.com/ng-doc/ng-doc"> <img src="https://ng-doc.com/assets/images/ng-doc.svg?raw=true" alt="Logo" height="150px"> </a>

33 lines (32 loc) 1.38 kB
import { JSDocMetadata, NgDocApi, NgDocCategory, NgDocPage } from '@ng-doc/core'; import { Observable } from 'rxjs'; import { ObjectLiteralExpression, SourceFile } from 'ts-morph'; import { DeclarationEntry, DeclarationTabEntry, Entry } from './entry'; import { MarkdownEntry } from './markdown-entry'; export interface EntryMetadata<T extends Entry = Entry> { dir: string; path: string; dirName: string; outDir: string; outPath: string; route: string; title: string; keywordTitle: string; absoluteRoute: () => string; breadcrumbs: () => string[]; refresh: () => Promise<void>; selfDestroy: Observable<void>; sourceFile: SourceFile; objectExpression: () => ObjectLiteralExpression; parent: ParentEntryMetadata<T>; entry: T; jsDocMetadata: () => JSDocMetadata; order?: number; hidden?: boolean; } export type ParentEntryMetadata<T extends Entry> = T extends NgDocPage ? EntryMetadata<NgDocCategory> | undefined : T extends NgDocApi ? EntryMetadata<NgDocCategory> | undefined : T extends DeclarationTabEntry ? EntryMetadata<DeclarationEntry> : T extends MarkdownEntry ? EntryMetadata<NgDocPage> : T extends DeclarationEntry ? undefined : EntryMetadata<NgDocCategory> | undefined; /** * * @param entry */ export declare function isPageEntryMetadata(entry: EntryMetadata): entry is EntryMetadata<NgDocPage>;