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

Function parseModuleJSDocTs

repos/effect/packages/tools/jsdocs/src/Jsdocs.ts:3135–3149  ·  view source on GitHub ↗
(
  sourceFile: ts.SourceFile,
  moduleJSDoc: ParsedModuleJSDoc,
  diagnostics: Array<JSDocModelDiagnostic>,
  linkContext: { readonly checker: ts.TypeChecker; readonly entry: ProgramCacheEntry; readonly cwd: string }
)

Source from the content-addressed store, hash-verified

3133}
3134
3135function hasDeclareModifier(node: ts.Node): boolean {
3136 return ts.canHaveModifiers(node) &&
3137 (ts.getModifiers(node)?.some((modifier) => modifier.kind === ts.SyntaxKind.DeclareKeyword) ?? false)
3138}
3139
3140function parseNamespaceTs(
3141 node: ts.ModuleDeclaration,
3142 diagnostics: Array<JSDocModelDiagnostic>,
3143 linkContext: { readonly checker: ts.TypeChecker; readonly entry: ProgramCacheEntry; readonly cwd: string },
3144 isInsideDeclare = false
3145): ParsedNamespace | undefined {
3146 if (!ts.isIdentifier(node.name)) return undefined
3147 if (!isInsideDeclare && !hasDeclareModifier(node)) {
3148 diagnostics.push({
3149 ...diagnostic("namespace-declare", "Namespaces must be declared with declare namespace"),
3150 range: nodeRange(node)
3151 })
3152 return undefined

Callers 1

parseSourceFileDocsFunction · 0.85

Calls 5

parseLooseJSDocBlockFunction · 0.85
buildTagsFunction · 0.85
addModelDiagnosticsFunction · 0.85
parseModuleExamplesFunction · 0.85
addJSDocLinkDiagnosticsFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…