jsdoc-scribe API/lib/indexCurrent
Functions(30)
#getScriptKind
line 43
ParameterTypeOptionalDescription
fileany
Returns: any
Signature
getScriptKind(file: any): any
#hasLeadingJSDoc
line 57
True if `node` already has a leading /** ... *\/ block right above it.
ParameterTypeOptionalDescription
sourceFileany
nodeany
Returns: any
Signature
hasLeadingJSDoc(sourceFile: any, node: any): any
#getIndentAndInsertionPos
line 69
Walk backwards from the node's first real token to find where its own line-indentation begins. Returns the exact insertion offset + the whitespace string to reuse for every comment line, so the comment lines up visually with the code it documents — without re-printing/reformatting the rest of the file.
ParameterTypeOptionalDescription
sourceFileany
nodeany
Returns: any
Signature
getIndentAndInsertionPos(sourceFile: any, node: any): any
#modifiersOf
line 77
ParameterTypeOptionalDescription
nodeany
Returns: any
Signature
modifiersOf(node: any): any
#typeText
line 90
ParameterTypeOptionalDescription
nodeany
Returns: any
Signature
typeText(node: any): any
#isFunctionLikeInitializer
line 94
ParameterTypeOptionalDescription
initany
Returns: any
Signature
isFunctionLikeInitializer(init: any): any
#extractThrowsFromBody
line 102
Walk a function body for throw statements and return each distinct error type. Does not descend into nested functions — those are their own throw scope.
ParameterTypeOptionalDescription
bodyany
Returns: any
Signature
extractThrowsFromBody(body: any): any
ParameterTypeOptionalDescription
nany
Signature
walk(n: any)
#hasReturnWithValue
line 123
Purely syntactic: does this block contain a `return <value>;` at its own level (not inside a nested function)?
ParameterTypeOptionalDescription
blockany
Returns: any
Signature
hasReturnWithValue(block: any): any
ParameterTypeOptionalDescription
nany
Signature
walk(n: any)
#inferReturnType
line 145
Decide the @returns type with no semantics, no AI — just syntax: 1. An explicit type annotation always wins. 2. A concise arrow body (`x => x + 1`, no braces) always produces a value. 3. A block body is scanned for a top-level `return <value>;`. 4. Otherwise it's void.
ParameterTypeOptionalDescription
fnNodeany
Returns: any
Signature
inferReturnType(fnNode: any): any
#inferTypeFromInitializer
line 155
Best-effort, purely syntactic type guess from an initializer expression. No semantics, no AI.
ParameterTypeOptionalDescription
initany
Returns: any
Signature
inferTypeFromInitializer(init: any): any
#buildParamLines
line 185
ParameterTypeOptionalDescription
paramsany
Returns: any
Signature
buildParamLines(params: any): any
#buildFunctionDoc
line 196
ParameterTypeOptionalDescription
{ name, params, returnType, mods, isGenerator, throws }any
Returns: any
Signature
buildFunctionDoc({ name, params, returnType, mods, isGenerator, throws }: any): any
#buildClassDoc
line 210
ParameterTypeOptionalDescription
nodeany
Returns: any
Signature
buildClassDoc(node: any): any
#buildMethodDoc
line 225
ParameterTypeOptionalDescription
nodeany
Returns: any
Signature
buildMethodDoc(node: any): any
#buildMemberDoc
line 249
ParameterTypeOptionalDescription
nodeany
Returns: any
Signature
buildMemberDoc(node: any): any
#buildSingleVariableDoc
line 273
ParameterTypeOptionalDescription
declany
isConstany
Returns: any
Signature
buildSingleVariableDoc(decl: any, isConst: any): any
#buildVariableStatementDoc
line 290
ParameterTypeOptionalDescription
nodeany
isConstany
Returns: any
Signature
buildVariableStatementDoc(node: any, isConst: any): any
#buildInterfaceDoc
line 302
ParameterTypeOptionalDescription
nodeany
Returns: any
Signature
buildInterfaceDoc(node: any): any
#buildTypeAliasDoc
line 314
ParameterTypeOptionalDescription
nodeany
Returns: any
Signature
buildTypeAliasDoc(node: any): any
#buildEnumDoc
line 318
ParameterTypeOptionalDescription
nodeany
Returns: any
Signature
buildEnumDoc(node: any): any
#collectEdits
line 327
ParameterTypeOptionalDescription
sourceFileany
forceany
Returns: any
Signature
collectEdits(sourceFile: any, force: any): any
#addEdit
line 330
ParameterTypeOptionalDescription
nodeany
linesFnany
Signature
addEdit(node: any, linesFn: any)
ParameterTypeOptionalDescription
nodeany
Signature
visit(node: any)
#processFile
line 400
Process a single file. Returns the number of comment blocks added.
ParameterTypeOptionalDescription
filePathstring
options{ write?: boolean, force?: boolean, silent?: boolean }yes
Returns: number
Signature
processFile(filePath: any, options?: Object): any
#analyseFile
line 430
Returns documentation coverage stats for a file without modifying it.
ParameterTypeOptionalDescription
filePathstring- path to the file.
Returns: { documented: number, total: number, undocumented: number }
Signature
analyseFile(filePath: any): any
#collectFiles
line 451
Recursively collect all matching source files under a path. If `inputPath` is itself a file, returns it (if its extension matches).
ParameterTypeOptionalDescription
inputPathstring
extensionsstring[]yes
ignoreDirsSet<string>yes
ignorePatternsstring[]yes
Returns: string[]
Signature
collectFiles(inputPath: any, extensions?: any, ignoreDirs?: any, ignorePatterns?: Array): any
#matchesIgnore
line 452
ParameterTypeOptionalDescription
fullPathany
Returns: any
Signature
matchesIgnore(fullPath: any): any
ParameterTypeOptionalDescription
dirany
Signature
walk(dir: any)
Variables & Constants(79)
const fs: any
const
comment-block-generator — lib/index.js ---------------------------------------- A PURE, deterministic, AST-based JSDoc comment generator. No AI / LLM / external API is used anywhere — every comment line is derived mechanically from syntax: names, modifiers, type annotations, parameter lists, heritage clauses, enum members, etc. Works on plain JavaScript (.js/.jsx) AND TypeScript (.ts/.tsx) because both are parsed with the TypeScript compiler's parser, which is a superset parser for JS (it never type-checks, only parses syntax). This file exports plain functions so it can be: 1. Driven by bin/cli.js as a command-line tool, or 2. require()'d directly in another Node script / build pipeline: const { processFile } = require('jsdoc-scribe');
Signature
const fs: any
const path: any
const
Signature
const path: any
const ts: any
const
Signature
const ts: any
#{ inferFunctionDescription, inferParamDescription, inferClassDescription }
line 24
const { inferFunctionDescription, inferParamDescription, inferClassDescription }: any
const
Signature
const { inferFunctionDescription, inferParamDescription, inferClassDescription }: any
#DEFAULT_EXTENSIONS
line 26
const DEFAULT_EXTENSIONS: Array
const
Signature
const DEFAULT_EXTENSIONS: Array
#DEFAULT_IGNORE_DIRS
line 27
const DEFAULT_IGNORE_DIRS: Set
const
Signature
const DEFAULT_IGNORE_DIRS: Set
#ranges
line 58
const ranges: any
const
Signature
const ranges: any
const start: any
const
Signature
const start: any
const text: any
const
Signature
const text: any
let i: any
var
Signature
let i: any
const kinds: Set
const
Signature
const kinds: Set
let seen: Set
var
Signature
let seen: Set
#result
line 105
let result: Array
var
Signature
let result: Array
let expr: any
var
Signature
let expr: any
#typeName
line 109
let typeName: string
var
Signature
let typeName: string
let found: boolean
var
Signature
let found: boolean
#explicit
line 146
const explicit: any
const
Signature
const explicit: any
const body: any
const
Signature
const body: any
const name: any
const
Signature
const name: any
#optional
line 188
const optional: any
const
Signature
const optional: any
const type: any
const
Signature
const type: any
const label: any
const
Signature
const label: any
const desc: any
const
Signature
const desc: any
const desc: any
const
Signature
const desc: any
const lines: Array
const
Signature
const lines: Array
const name: any
const
Signature
const name: any
const mods: any
const
Signature
const mods: any
#heritage
line 213
const heritage: any
const
Signature
const heritage: any
const desc: any
const
Signature
const desc: any
const lines: Array
const
Signature
const lines: Array
const kw: any
const
Signature
const kw: any
const mods: any
const
Signature
const mods: any
const name: any
const
Signature
const name: any
#isGetter
line 228
const isGetter: any
const
Signature
const isGetter: any
#isSetter
line 229
const isSetter: any
const
Signature
const isSetter: any
const desc: any
const
Signature
const desc: any
const lines: Array
const
Signature
const lines: Array
#returnType
line 241
const returnType: any
const
Signature
const returnType: any
#bodyThrows
line 243
const bodyThrows: any
const
Signature
const bodyThrows: any
const lines: Array
const
Signature
const lines: Array
const mods: any
const
Signature
const mods: any
#visibility
line 261
const visibility: any
const
Signature
const visibility: any
const name: any
const
Signature
const name: any
const type: any
const
Signature
const type: any
const lines: Array
const
Signature
const lines: Array
const name: any
const
Signature
const name: any
const init: any
const
Signature
const init: any
const type: any
const
Signature
const type: any
const decls: any
const
Signature
const decls: any
const lines: Array
const
Signature
const lines: Array
const type: any
const
Signature
const type: any
const name: any
const
Signature
const name: any
const lines: Array
const
Signature
const lines: Array
#members
line 319
const members: any
const
Signature
const members: any
const edits: Array
const
Signature
const edits: Array
const lines: any
const
Signature
const lines: any
#{ pos, indent }
line 334
const { pos, indent }: any
const
Signature
const { pos, indent }: any
const text: any
const
Signature
const text: any
const init: any
const
Signature
const init: any
#isConst
line 374
const isConst: any
const
Signature
const isConst: any
#{ write = false, force = false, silent = false, dryRun = false }
line 401
const { write = false, force = false, silent = false, dryRun = false }: any
const
Signature
const { write = false, force = false, silent = false, dryRun = false }: any
#sourceText
line 402
const sourceText: any
const
Signature
const sourceText: any
#sourceFile
line 403
const sourceFile: any
const
Signature
const sourceFile: any
const edits: any
const
Signature
const edits: any
#output
line 409
let output: any
var
Signature
let output: any
const verb: any
const
Signature
const verb: any
#sourceText
line 431
const sourceText: any
const
Signature
const sourceText: any
#sourceFile
line 432
const sourceFile: any
const
Signature
const sourceFile: any
#undocumented
line 433
const undocumented: any
const
Signature
const undocumented: any
const total: any
const
Signature
const total: any
#normalised
line 453
const normalised: any
const
Signature
const normalised: any
const norm: any
const
Signature
const norm: any
#suffix
line 457
const suffix: any
const
Signature
const suffix: any
const re: RegExp
const
Signature
const re: RegExp
const re: RegExp
const
Signature
const re: RegExp
const stat: any
const
Signature
const stat: any
#results
line 473
const results: Array
const
Signature
const results: Array
const full: any
const
Signature
const full: any
const lower: any
const
Signature
const lower: any