2017-07-17 11 views
0

http.ClientRequest型パラメータを使用する別のモジュールで記述された関数をドキュメント化したい。私はこのような何かをしたいが、それは動作しません:JSDoc(VSDでモジュールの型で関数をドキュメント化するため)

/** 
* @param {ClientRequest} req 
*/ 

function setToken(req) { 
} 

私も@param {http.ClientRequest}を試してみましたが、それは動作しませんでした。

更新: 基本的に私はimport http from "http";により、必要なモジュールをインポートすることで、その問題を解決しました。しかし、このモジュールはhttp moduleを使用せず、ヘルパー機能を提供しているので、インポートしたくありません。

答えて

0

JSDocがわからないカスタムタイプなので動作しません。 @typedefで独自の定義をセットアップする必要があります。

/** 
* A number, or a string containing a number. 
* @typedef {(number|string)} NumberLike 
*/ 

/** 
* Set the magic number. 
* @param {NumberLike} x - The magic number. 
*/ 
function setMagicNumber(x) { 
} 

JSDoc typedef tag definition examples

のフル例を参照してください私は、httpという名前のモジュールがあるJSDocのNodeJsで3.5.3

/** @typedef {ClientRequest} TestReq */ 

/** 
* @param {TestReq} req 
*/ 
function setToken(req) { 
} 

JSDoc output image

+0

と私のために働いた例を作りました。それはhttp.ClientRequestインターフェイスを持っています。 –

+0

私はあなたが何を意味するのか正確にはわかりませんが、JavaScriptの型定義(文字列、数値、オブジェクトなど)に応じた型は分かりません。したがって、JSDocがタイプ "http.ClientRequest"を知ることはできません。カスタム型定義が必要です。おそらく、@param {Object}を使用するときに回避策を講じることができますが、これは本当に一般的になります。 – Lukas

関連する問題