| | |
| | '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; |
| | } |
| | }); |
| | }; |