MCPcopy Create free account
hub / github.com/denoland/std / assertHasParamDefinition

Function assertHasParamDefinition

_tools/check_docs.ts:96–118  ·  view source on GitHub ↗

* Asserts that a @param tag has a corresponding function definition.

(
  document: DocNodeWithJsDoc<DocNodeFunction | ClassMethodDef>,
  param: JsDocTagParam,
)

Source from the content-addressed store, hash-verified

94 * Asserts that a @param tag has a corresponding function definition.
95 */
96function assertHasParamDefinition(
97 document: DocNodeWithJsDoc<DocNodeFunction | ClassMethodDef>,
98 param: JsDocTagParam,
99) {
100 const paramDoc = document.functionDef.params.find((paramDoc) => {
101 if (paramDoc.kind === "identifier") {
102 return paramDoc.name === param.name;
103 } else if (paramDoc.kind === "rest" && paramDoc.arg.kind === "identifier") {
104 return paramDoc.arg.name === param.name;
105 } else if (
106 paramDoc.kind === "assign" && paramDoc.left.kind === "identifier"
107 ) {
108 return paramDoc.left.name === param.name;
109 }
110 return false;
111 });
112
113 assert(
114 paramDoc !== undefined,
115 `@param ${param.name} must have a corresponding function parameter definition.`,
116 document,
117 );
118}
119
120function assertHasParamTag(
121 document: { jsDoc: JsDoc; location: Location },

Callers 1

assertFunctionDocsFunction · 0.85

Calls 2

assertFunction · 0.70
findMethod · 0.45

Tested by

no test coverage detected