Inline object literals from olx.js
This commit is contained in:
committed by
Tim Schaub
parent
cdd1922350
commit
29b643c7b0
@@ -2,7 +2,26 @@
|
|||||||
* Converts olx.js @type annotations into properties of the previous @typedef.
|
* Converts olx.js @type annotations into properties of the previous @typedef.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
var olxTypedef = null;
|
var lastOlxTypedef = null;
|
||||||
|
var olxTypes = {};
|
||||||
|
|
||||||
|
function addSubparams(params) {
|
||||||
|
for (var j = 0, jj = params.length; j < jj; ++j) {
|
||||||
|
var param = params[j];
|
||||||
|
var types = param.type.names;
|
||||||
|
for (var k = 0, kk = types.length; k < kk; ++k) {
|
||||||
|
var name = types[k];
|
||||||
|
if (name in olxTypes) {
|
||||||
|
param.subparams = olxTypes[name];
|
||||||
|
addSubparams(param.subparams);
|
||||||
|
types[k] = 'Object';
|
||||||
|
// TODO Do we need to support multiple object literal types per
|
||||||
|
// param?
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
exports.handlers = {
|
exports.handlers = {
|
||||||
|
|
||||||
@@ -10,12 +29,25 @@ exports.handlers = {
|
|||||||
var doclet = e.doclet;
|
var doclet = e.doclet;
|
||||||
if (doclet.meta.filename == 'olx.js') {
|
if (doclet.meta.filename == 'olx.js') {
|
||||||
if (doclet.kind == 'typedef') {
|
if (doclet.kind == 'typedef') {
|
||||||
olxTypedef = doclet;
|
lastOlxTypedef = doclet;
|
||||||
|
olxTypes[doclet.longname] = [];
|
||||||
doclet.properties = [];
|
doclet.properties = [];
|
||||||
} else if (olxTypedef && doclet.memberof == olxTypedef.longname) {
|
} else if (lastOlxTypedef && doclet.memberof == lastOlxTypedef.longname) {
|
||||||
olxTypedef.properties.push(doclet);
|
lastOlxTypedef.properties.push(doclet);
|
||||||
|
olxTypes[lastOlxTypedef.longname].push(doclet);
|
||||||
} else {
|
} else {
|
||||||
olxTypedef = null;
|
lastOlxTypedef = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
parseComplete: function(e) {
|
||||||
|
var doclets = e.doclets;
|
||||||
|
for (var i = doclets.length - 1; i >= 0; --i) {
|
||||||
|
var doclet = doclets[i];
|
||||||
|
var params = doclet.params;
|
||||||
|
if (params) {
|
||||||
|
addSubparams(params);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,43 +0,0 @@
|
|||||||
/**
|
|
||||||
* @namespace olx
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @namespace olx.animation
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @namespace olx.control
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @namespace olx.format
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @namespace olx.interaction
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @namespace olx.layer
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @namespace olx.parser
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @namespace olx.render
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @namespace olx.source
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @namespace olx.style
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @namespace olx.tilegrid
|
|
||||||
*/
|
|
||||||
Reference in New Issue
Block a user