mirror of
https://github.com/jsdoc/jsdoc.git
synced 2025-12-08 19:46:11 +00:00
35 lines
1.0 KiB
JavaScript
35 lines
1.0 KiB
JavaScript
var hasOwnProperty = Object.prototype.hasOwnProperty;
|
|
|
|
exports.getDocSetFromFile = function(filename, parser) {
|
|
var sourceCode = readFile(env.dirname + '/' + filename),
|
|
testParser = parser || new (require('jsdoc/src/parser')).Parser(),
|
|
doclets;
|
|
|
|
require('jsdoc/src/handlers').attachTo(testParser);
|
|
|
|
doclets = testParser.parse('javascript:' + sourceCode);
|
|
exports.indexAll(doclets);
|
|
|
|
require('jsdoc/augment').addInherited(doclets);
|
|
|
|
// test assume borrows have not yet been resolved
|
|
// require('jsdoc/borrow').resolveBorrows(doclets);
|
|
|
|
return {
|
|
doclets: doclets,
|
|
getByLongname: function(longname) {
|
|
return doclets.filter(function(doclet) {
|
|
return (doclet.longname || doclet.name) === longname;
|
|
});
|
|
}
|
|
};
|
|
};
|
|
|
|
exports.indexAll = function(docs) {
|
|
var index = {};
|
|
docs.forEach(function(doc) {
|
|
if (!hasOwnProperty.call(index, doc.longname)){index[doc.longname] = [];}
|
|
index[doc.longname].push(doc);
|
|
});
|
|
docs.index = index;
|
|
}; |