Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
function _parseDocType(typeString) {
var parser = new TypeParser();
var node;
try {
node = parser.parse(typeString);
node.valid = true;
} catch (e) {
node = {};
node.error = e.message;
node.valid = false;
}
return node;
}
exports.parseTagTypes = function(str, tag) {
if (!str) {
if(tag) {
tag.types = [];
tag.typesDescription = "";
tag.optional = tag.nullable = tag.nonNullable = tag.variable = false;
}
return [];
}
var Parser = require('jsdoctypeparser').Parser;
var Builder = require('jsdoctypeparser').Builder;
var result = new Parser().parse(str.substr(1, str.length - 2));
var types = (function transform(type) {
if(type instanceof Builder.TypeUnion) {
return type.types.map(transform);
} else if(type instanceof Builder.TypeName) {
return type.name;
} else if(type instanceof Builder.RecordType) {
return type.entries.reduce(function(obj, entry) {
obj[entry.name] = transform(entry.typeUnion);
return obj;
}, {});
} else {
return type.toString();
}
}(result));