Skip to content
Snippets Groups Projects
method_sig.tmpl 1.05 KiB
Newer Older
  • Learn to ignore specific revisions
  • Laura Cappelli's avatar
    Laura Cappelli committed
    <?js
        var params = data.params,
    		funcname = data.name,
    		returns = data.returns,
    		args = "()",
    		ret = (data.kind === "class" ? "new" : "void");
    
    	if(returns){
            var returnTypes = [];
            returns.forEach(function(r) {
                if (r.type && r.type.names) {
                    if (! returnTypes.length) { returnTypes = r.type.names; }
                }
            });
            ret = (returnTypes.length ? '{' + returnTypes.join('|') + '}' : '');
    	}
    	if(params){
    		args = [];
    	    params.forEach(function(param) {
        	    if (!param) { return; }
            	var name = param.name;
    	        if (param.optional || param.nullable) {
        	        name = "<span class='optional'>" + name + "</span>";
            	}
    	        if (typeof param.defaultvalue !== 'undefined') {
        	        name = name + "=<span class='default'>" + param.defaultvalue + "</span>";
            	}
    	        args.push(name);
        	});
    		args = "(" + args.join(", ") + ")";
    	}
    ?>
    
    <span class="type-signature"><?js= ret ?></span>
    <span class="name"><?js= funcname ?></span><span class=""><?js= args ?></span>