使用 Google Closure Compiler 记录回调参数
Documenting callback parameters using Google Closure Compiler
如何使用 Google Closure 编译器记录回调参数的名称和描述?
阅读 this answer on documenting callbacks with JSDoc 后,我尝试使用 @callback
和 @typedef
以及 @name
标签,但是 运行 每个标签都有问题。
使用 @callback
,闭包给出 "illegal use of unknown JSDoc tag" 警告:
/**
* @callback EndDrawCallback
* @param {string} action - either "keep", "discard", or "cancel"
* @param {boolean} saveChanges - whether to mark changes as saved
**/
与@typedef
,它给出"type annotation incompatible with other annotations":
/**
* @typedef {function(string,boolean)}
* @param {string} action ...
* @param {boolean} saveChanges ...
**/
var EndDrawCallback;
使用 @name
,它在尝试使用回调名称作为类型时给出警告 "Unknown type EndDrawCallback":
/**
* @name EndDrawCallback
* @function
* @param {string} action ...
* @param {boolean} saveChanges ...
**/
我能看到的唯一选择是
(a) 在不使用标签的情况下放弃并在回调参数之后编写文档,或者
(b) 重组代码以将单个对象传递到回调中,具有命名属性。
至少在这种情况下,(b) 不是一个选项。有没有办法做到这一点?如果可以,怎么做?
使用 --extra_annotation_name
标志指定编译器无法识别的 JSDoc 标记。由于编译器识别并使用 @typedef
,因此您需要使用 @callback
或 @name
注释。
如何使用 Google Closure 编译器记录回调参数的名称和描述?
阅读 this answer on documenting callbacks with JSDoc 后,我尝试使用 @callback
和 @typedef
以及 @name
标签,但是 运行 每个标签都有问题。
使用 @callback
,闭包给出 "illegal use of unknown JSDoc tag" 警告:
/**
* @callback EndDrawCallback
* @param {string} action - either "keep", "discard", or "cancel"
* @param {boolean} saveChanges - whether to mark changes as saved
**/
与@typedef
,它给出"type annotation incompatible with other annotations":
/**
* @typedef {function(string,boolean)}
* @param {string} action ...
* @param {boolean} saveChanges ...
**/
var EndDrawCallback;
使用 @name
,它在尝试使用回调名称作为类型时给出警告 "Unknown type EndDrawCallback":
/**
* @name EndDrawCallback
* @function
* @param {string} action ...
* @param {boolean} saveChanges ...
**/
我能看到的唯一选择是
(a) 在不使用标签的情况下放弃并在回调参数之后编写文档,或者 (b) 重组代码以将单个对象传递到回调中,具有命名属性。
至少在这种情况下,(b) 不是一个选项。有没有办法做到这一点?如果可以,怎么做?
使用 --extra_annotation_name
标志指定编译器无法识别的 JSDoc 标记。由于编译器识别并使用 @typedef
,因此您需要使用 @callback
或 @name
注释。