(
members: ts.NodeArray<ts.TypeElement | ts.ClassElement>,
diagnostics: Array<JSDocModelDiagnostic>,
linkContext: { readonly checker: ts.TypeChecker; readonly entry: ProgramCacheEntry; readonly cwd: string }
)
| 3089 | } |
| 3090 | |
| 3091 | function parseTsMembers( |
| 3092 | members: ts.NodeArray<ts.TypeElement | ts.ClassElement>, |
| 3093 | diagnostics: Array<JSDocModelDiagnostic>, |
| 3094 | linkContext: { readonly checker: ts.TypeChecker; readonly entry: ProgramCacheEntry; readonly cwd: string } |
| 3095 | ): Array<ParsedMember> { |
| 3096 | const out: Array<ParsedMember> = [] |
| 3097 | for (const member of members) { |
| 3098 | if ( |
| 3099 | ts.isCallSignatureDeclaration(member) || ts.isConstructSignatureDeclaration(member) || |
| 3100 | ts.isIndexSignatureDeclaration(member) || member.kind === ts.SyntaxKind.Constructor |
| 3101 | ) continue |
| 3102 | const documented = parseDocumentedTs(member, "member", diagnostics, false, linkContext) |
| 3103 | if (documented === undefined) continue |
| 3104 | const name = memberName(member) |
| 3105 | if (name === "") continue |
| 3106 | const nested = parseMembersFromTsType(memberType(member), diagnostics, linkContext) |
| 3107 | out.push({ |
| 3108 | name, |
| 3109 | signature: null, |
| 3110 | range: nodeRange(member), |
| 3111 | description: documented.core.description, |
| 3112 | examples: documented.core.examples, |
| 3113 | tags: documented.tags as ParsedMemberTags, |
| 3114 | members: nested |
| 3115 | }) |
| 3116 | } |
| 3117 | return out |
| 3118 | } |
| 3119 | |
| 3120 | function parseDeclarationMembersTs( |
| 3121 | node: ts.Node, |
no test coverage detected