@rightcapital/phpdoc-parser
Version:
TypeScript version of PHPDoc parser with support for intersection types and generics
25 lines (24 loc) • 830 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.CallableTypeNode = void 0;
const type_node_1 = require("./type-node");
class CallableTypeNode extends type_node_1.TypeNode {
constructor(identifier, parameters, returnType) {
super();
this.identifier = identifier;
this.parameters = parameters;
this.returnType = returnType;
}
toString() {
let { returnType } = this;
if (returnType instanceof CallableTypeNode) {
returnType = `(${returnType.toString()})`;
}
const parameters = this.parameters.join(', ');
return `${this.identifier.toString()}(${parameters}): ${returnType.toString()}`;
}
getNodeType() {
return 'CallableTypeNode';
}
}
exports.CallableTypeNode = CallableTypeNode;