MCPcopy Create free account
hub / github.com/effect-app/libs / parseDocumentedTs

Function parseDocumentedTs

repos/effect/packages/tools/jsdocs/src/Jsdocs.ts:2600–2631  ·  view source on GitHub ↗
(
  node: ts.Node,
  scope: DocScope,
  diagnostics: Array<JSDocModelDiagnostic>,
  required = true,
  linkContext?: { readonly checker: ts.TypeChecker; readonly entry: ProgramCacheEntry; readonly cwd: string }
)

Source from the content-addressed store, hash-verified

2598 members.flatMap((member) => [
2599 ...checkExamples(member.examples),
2600 ...checkMembers(member.members)
2601 ])
2602 const checkNamespaces = (namespaces: ReadonlyArray<ParsedNamespace>): ReadonlyArray<JSDocModelDiagnostic> =>
2603 namespaces.flatMap((namespace) => [
2604 ...checkExamples(namespace.examples),
2605 ...namespace.declarations.flatMap((declaration) => [
2606 ...checkExamples(declaration.examples),
2607 ...checkMembers(declaration.members)
2608 ]),
2609 ...checkNamespaces(namespace.namespaces)
2610 ])
2611 return files.map((file) => {
2612 const diagnostics = [
2613 ...file.diagnostics,
2614 ...checkModuleExamples(file.moduleJSDoc),
2615 ...file.declarations.flatMap((declaration) => [
2616 ...checkExamples(declaration.examples),
2617 ...checkMembers(declaration.members)
2618 ]),
2619 ...checkNamespaces(file.namespaces)
2620 ]
2621 return diagnostics.length === file.diagnostics.length
2622 ? file
2623 : { ...file, diagnostics: uniqueModelDiagnostics(diagnostics) }
2624 })
2625}
2626
2627function uniqueModelDiagnostics(
2628 diagnostics: ReadonlyArray<JSDocModelDiagnostic>
2629): ReadonlyArray<JSDocModelDiagnostic> {
2630 const seen = new Set<string>()
2631 return diagnostics.filter((item) => {
2632 const key = `${item.code}:${item.message}:${item.range[0]}:${item.range[1]}`
2633 if (seen.has(key)) return false
2634 seen.add(key)

Callers 3

parseTsMembersFunction · 0.85
parseNamespaceTsFunction · 0.85
parseSourceFileDocsFunction · 0.85

Calls 8

getNodeJSDocFunction · 0.85
diagnosticFunction · 0.85
nodeRangeFunction · 0.85
addModelDiagnosticsFunction · 0.85
buildTagsFunction · 0.85
addJSDocLinkDiagnosticsFunction · 0.85
attachSeeLinkSymbolsFunction · 0.85
pushMethod · 0.80

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…