jsdoc-scribe API/packages/eslint-plugin-jsdoc-scribe/rules/utilsCurrent
Functions(21)
#getSourceCode
line 6
ESLint 9's `context.sourceCode` vs the older `context.getSourceCode()` — support both.
ParameterTypeOptionalDescription
contextany
Returns: any
Signature
getSourceCode(context: any): any
#getJSDocComment
line 15
Finds the JSDoc block comment immediately preceding `node`, if any. Mirrors lib/extractor.js's readJSDoc(): last leading comment, must start with a second asterisk (`/**`, not just `/*`).
ParameterTypeOptionalDescription
sourceCodeany
nodeany
Returns: any
Signature
getJSDocComment(sourceCode: any, node: any): any
#parseComment
line 29
Splits a JSDoc comment's inner text (comment.value, i.e. without the surrounding /* * /) into { description, tags }, where each tag is { tag, rest, raw }.
ParameterTypeOptionalDescription
commentValueany
Returns: any
Signature
parseComment(commentValue: any): any
#extractBraced
line 54
Extract a {type} prefix from a tag's `rest` string (same brace-depth walk as lib/extractor.js).
ParameterTypeOptionalDescription
strany
Returns: any
Signature
extractBraced(str: any): any
#extractParamTags
line 68
All @param tags as [{ name, type, description, optional }], preserving documented order.
ParameterTypeOptionalDescription
tagsany
Returns: any
Signature
extractParamTags(tags: any): any
#extractReturnsTag
line 84
The @returns/@return tag, if any, as { type, description }.
ParameterTypeOptionalDescription
tagsany
Returns: any
Signature
extractReturnsTag(tags: any): any
#paramNames
line 92
Every function parameter name, in declared order — best-effort for destructuring/rest.
ParameterTypeOptionalDescription
paramsany
Returns: any
Signature
paramNames(params: any): any
#inferTypeFromDefault
line 104
Best-effort, purely syntactic type guess from a default value — no semantics, no AI.
ParameterTypeOptionalDescription
nodeany
Returns: any
Signature
inferTypeFromDefault(node: any): any
#paramInfos
line 131
[{ name, type, optional }] for every real function parameter — used by the autofixers to know what to document for a parameter that has no existing own "any type" marker — unless a default value gives a syntactic hint), since plain ESTree carries no type annotations to read.
ParameterTypeOptionalDescription
paramsany
Returns: any
Signature
paramInfos(params: any): any
#hasReturnWithValue
line 147
True if the function body contains a `return <expr>;` at its own boundary (not inside a nested function).
ParameterTypeOptionalDescription
nodeany
Returns: any
Signature
hasReturnWithValue(node: any): any
#functionParams
line 171
MethodDefinition's actual function params/body live on node.value, not the node itself.
ParameterTypeOptionalDescription
nodeany
Returns: any
Signature
functionParams(node: any): any
#functionBodyNode
line 175
ParameterTypeOptionalDescription
nodeany
Returns: any
Signature
functionBodyNode(node: any): any
#visitFunctionLike
line 188
Shared visitor wiring for every rule that inspects function-like documentable nodes (function declarations, `const x = function/arrow`, and class methods — constructors included, getters/setters excluded, matching lib/lint.js's own scope). Calls `handler(node, jsdocComment)` once per candidate, where `node` is the reportable node (function decl, variable declarator, or method definition) and `jsdocComment` is the associated comment token or null.
ParameterTypeOptionalDescription
contextany
handlerany
Returns: any
Signature
visitFunctionLike(context: any, handler: any): any
#direct
line 191
ParameterTypeOptionalDescription
nodeany
Signature
direct(node: any)
#viaVariableDeclarator
line 195
ParameterTypeOptionalDescription
fnNodeany
Signature
viaVariableDeclarator(fnNode: any)
#reportNodeOf
line 213
The node ESLint should attach the report to — usually the node itself, unless it's a var-declared function.
ParameterTypeOptionalDescription
nodeany
Returns: any
Signature
reportNodeOf(node: any): any
#todoParamDescription
line 228
ParameterTypeOptionalDescription
nameany
Returns: any
Signature
todoParamDescription(name: any): any
#ensureSentence
line 232
ParameterTypeOptionalDescription
textany
Returns: any
Signature
ensureSentence(text: any): any
#indentOf
line 239
Exact indentation string of the line `pos` sits on in the source text.
ParameterTypeOptionalDescription
sourceCodeany
posany
Returns: any
Signature
indentOf(sourceCode: any, pos: any): any
#rebuildFunctionComment
line 262
Rebuilds an entire function-like JSDoc block from real AST truth (actual parameter names/order, whether the function really returns a value) merged with whatever valid prose already existed, returning the full replacement text (including the `/**`/`* /` delimiters) ready for `fixer.replaceText`. Mirrors lib/fix.js's rebuildFunctionBlock() — same placeholder templates, same "preserve what we can't safely interpret" rule for other tags, same mechanical drop of an unnecessary @returns.
ParameterTypeOptionalDescription
sourceCodeany
nodeany
jsdocCommentany
Returns: any
Signature
rebuildFunctionComment(sourceCode: any, node: any, jsdocComment: any): any
#lightFixComment
line 315
Line-level, non-destructive fix for a comment that isn't tied to a specific function context (empty-tags / no-multi-asterisks / no-blank-block-descriptions all scan every comment in the file, not just ones attached to a function). Returns the new full comment text, or null if this rule finds nothing to change. Mirrors lib/fix.js's lightFixGenericBlock().
ParameterTypeOptionalDescription
jsdocCommentany
ruleNameany
descriptionany
Returns: any
Signature
lightFixComment(jsdocComment: any, ruleName: any, description: any): any
Variables & Constants(51)
#{ KNOWN_TAGS, NO_DESC_TAGS }
line 3
const { KNOWN_TAGS, NO_DESC_TAGS }: any
const
Signature
const { KNOWN_TAGS, NO_DESC_TAGS }: any
#comments
line 16
const comments: any
const
Signature
const comments: any
const last: any
const
Signature
const last: any
#rawLines
line 30
const rawLines: any
const
Signature
const rawLines: any
#descLines
line 31
const descLines: Array
const
Signature
const descLines: Array
const tags: Array
const
Signature
const tags: Array
#current
line 33
let current: any
var
Signature
let current: any
const m: any
const
Signature
const m: any
let depth: number
var
Signature
let depth: number
#{ type, rest }
line 72
const { type, rest }: any
const
Signature
const { type, rest }: any
const m: any
const
Signature
const m: any
#rawName
line 75
const rawName: any
const
Signature
const rawName: any
#optional
line 76
const optional: any
const
Signature
const optional: any
const name: any
const
Signature
const name: any
const t: any
const
Signature
const t: any
#{ type, rest }
line 87
const { type, rest }: any
const
Signature
const { type, rest }: any
let found: boolean
var
Signature
let found: boolean
const value: any
const
Signature
const value: any
#sourceCode
line 189
const sourceCode: any
const
Signature
const sourceCode: any
#declarator
line 196
const declarator: any
const
Signature
const declarator: any
#declaration
line 197
const declaration: any
const
Signature
const declaration: any
#TODO_DESCRIPTION
line 226
const TODO_DESCRIPTION: string
const
Signature
const TODO_DESCRIPTION: string
#TODO_RETURNS_DESCRIPTION
line 227
const TODO_RETURNS_DESCRIPTION: string
const
Signature
const TODO_RETURNS_DESCRIPTION: string
const t: any
const
Signature
const t: any
const text: any
const
Signature
const text: any
let i: any
var
Signature
let i: any
#STRUCTURAL_TAGS
line 251
const STRUCTURAL_TAGS: Set
const
Signature
const STRUCTURAL_TAGS: Set
#{ description, tags }
line 263
const { description, tags }: any
const
Signature
const { description, tags }: any
#indent
line 264
const indent: any
const
Signature
const indent: any
const lines: Array
const
Signature
const lines: Array
#paramTags
line 269
const paramTags: any
const
Signature
const paramTags: any
#docByName
line 270
const docByName: Map
const
Signature
const docByName: Map
const infos: any
const
Signature
const infos: any
#existing
line 274
const existing: any
const
Signature
const existing: any
const type: any
const
Signature
const type: any
const desc: any
const
Signature
const desc: any
const label: any
const
Signature
const label: any
const label: any
const
Signature
const label: any
const desc: any
const
Signature
const desc: any
#returnsTag
line 289
const returnsTag: any
const
Signature
const returnsTag: any
#reallyReturnsAValue
line 290
const reallyReturnsAValue: any
const
Signature
const reallyReturnsAValue: any
const type: any
const
Signature
const type: any
const desc: any
const
Signature
const desc: any
let lines: any
var
Signature
let lines: any
#changed
line 317
let changed: boolean
var
Signature
let changed: boolean
#stripped
line 321
const stripped: any
const
Signature
const stripped: any
const m: any
const
Signature
const m: any
#closer
line 324
const closer: any
const
Signature
const closer: any
#trailing
line 325
const trailing: any
const
Signature
const trailing: any
#prefixMatch
line 328
const prefixMatch: any
const
Signature
const prefixMatch: any
#prefix
line 329
const prefix: any
const
Signature
const prefix: any