フォーム入力を検証する AngularJS サービスを作成していますが、JSDoc3 を使用して合理的なドキュメントを作成する方法を一生理解できません。
理想的には、バリデータ サービスのドキュメントと、各バリデータ (内部オブジェクト) のドキュメントをエクスポートする必要があります。
少しグーグルで調べた後、名前空間を少しハッキングすることでそれを機能させることができましたが、これを行う正しい方法があるかどうか疑問に思っています。私のサービスが含まれている場合、他の誰かの JSDoc を台無しにしない方法。
例:
angular.module('services.utility')
.factory('validator', [function () {
var validators = {
/**
* Requires a field to have something in it.
* @param {String|Boolean} val The value to be checked.
* @return {Object}
*/
'required': function(val){
// check against validator
return {'valid': true, 'msg': 'passed!'};
},
/**
* Requires a field to be less than a number.
* @param {Number} val The value to be checked.
* @param {Number} check The value to be checked against.
* @return {Object}
*/
'lessThan': function(val){
// check against validator
return {'valid': true, 'msg': 'passed!'};
}
};
return {
/**
* This is the main validation routine.
* @param {Object} vObjs An object to be processed.
* @return {Boolean}
*/
'validate': function(thingsToValidate){
// run some validations from the validators
// and return a bool.
}
};
}]);
完璧な世界では、上記の変更により、ユーザーがバリデーター全体の使用方法について読んだり、それぞれに渡される必要があるものを調べたりできる、優れた非グローバルな JSDoc 階層を生成できます。検証の種類。
あなたが与えることができるどんな助けにも感謝します!