| |
| 'use strict'; |
|
|
| function createAlias(doclet, alias) { |
| var clone = {}; |
|
|
| Object.keys(doclet).forEach(function(key) { |
| clone[key] = doclet[key]; |
| }); |
|
|
| if (alias.indexOf('#') !== -1) { |
| clone.longname = alias; |
| clone.memberof = alias.split('#')[0]; |
| clone.name = alias.split('#')[1]; |
| } else { |
| clone.longname = clone.memberof + '#' + alias; |
| clone.name = alias; |
| } |
|
|
| delete clone.returns; |
| delete clone.examples; |
| delete clone.meta; |
| delete clone.aliases; |
|
|
| clone.isAlias = true; |
| clone.description = 'Alias for <a href="#' + doclet.name + '">' + doclet.longname + '</a>'; |
|
|
| return clone; |
| } |
|
|
| exports.handlers = { |
| parseComplete: function(e) { |
| var doclets = e.doclets.slice(); |
|
|
| doclets.forEach(function(doclet) { |
| |
| if (doclet.aliases) { |
| doclet.aliases.forEach(function(alias) { |
| e.doclets.push(createAlias(doclet, alias)); |
| }); |
| } |
| }); |
| } |
| }; |
|
|
| exports.defineTags = function(dict) { |
| dict.defineTag('aliases', { |
| onTagged: function(doclet, tag) { |
| doclet.aliases = tag.text.split(','); |
| } |
| }); |
|
|
| dict.defineTag('category', { |
| onTagged: function(doclet, tag) { |
| doclet.category = tag.text; |
| } |
| }); |
| }; |