MCPcopy Index your code
hub / github.com/freshframework/fresh / assertFunctionDocs

Function assertFunctionDocs

tools/check_docs_lib.ts:200–234  ·  view source on GitHub ↗
(
  document: DocNodeWithJsDoc<DocNodeFunction | ClassMethodDef>,
)

Source from the content-addressed store, hash-verified

198}
199
200function assertFunctionDocs(
201 document: DocNodeWithJsDoc<DocNodeFunction | ClassMethodDef>,
202) {
203 for (const param of document.functionDef.params) {
204 if (param.kind === "identifier") {
205 assertHasParamTag(document, param.name);
206 }
207 if (param.kind === "rest" && param.arg.kind === "identifier") {
208 assertHasParamTag(document, param.arg.name);
209 }
210 if (param.kind === "assign" && param.left.kind === "identifier") {
211 assertHasParamTag(document, param.left.name);
212 }
213 }
214
215 const documentedParams = document.jsDoc.tags?.filter((
216 tag,
217 ): tag is JsDocTagParam => tag.kind === "param" && !tag.name.includes(".")) ??
218 [];
219 for (const param of documentedParams) {
220 assertHasParamDefinition(document, param);
221 }
222
223 for (const typeParam of document.functionDef.typeParams) {
224 assertHasTypeParamTags(document, typeParam.name);
225 }
226 if (
227 document.functionDef.returnType !== undefined &&
228 !isVoidOrPromiseVoid(document.functionDef.returnType) &&
229 !isTypeAsserts(document.functionDef.returnType)
230 ) {
231 assertHasReturnTag(document);
232 }
233 assertHasExampleTag(document);
234}
235
236function assertClassDocs(document: DocNodeWithJsDoc<DocNodeClass>) {
237 for (const typeParam of document.classDef.typeParams) {

Callers 2

assertClassDocsFunction · 0.85
assertDocsFunction · 0.85

Calls 7

assertHasParamTagFunction · 0.85
assertHasParamDefinitionFunction · 0.85
assertHasTypeParamTagsFunction · 0.85
isVoidOrPromiseVoidFunction · 0.85
isTypeAssertsFunction · 0.85
assertHasReturnTagFunction · 0.85
assertHasExampleTagFunction · 0.85

Tested by

no test coverage detected