ngrx-uml
Version:
NGRX to Plant UML diagram
27 lines (26 loc) • 1.37 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.CallExpressionConverter = void 0;
const call_expression_model_1 = require("../../../core/converters/models/converted-items/call-expression.model");
const type_argument_model_1 = require("../../../core/converters/models/converted-items/type-argument.model");
const node_converter_1 = require("../../../core/converters/node.converter");
const tsutils_1 = require("../../../utils/tsutils");
class CallExpressionConverter extends node_converter_1.NodeConverter {
convert(context, node) {
const callExpressionName = tsutils_1.getCallExpressionName(node);
return new call_expression_model_1.CallExpression(callExpressionName, this.extractTypeArguments(context, node));
}
extractTypeArguments(context, callExpression) {
const typeArguments = [];
if (callExpression.typeArguments) {
for (const typeArgument of callExpression.typeArguments) {
const convertedTypeArgument = context.converter.convertNode(context, typeArgument, true);
if (convertedTypeArgument instanceof type_argument_model_1.TypeArgument) {
typeArguments.push(convertedTypeArgument);
}
}
}
return typeArguments;
}
}
exports.CallExpressionConverter = CallExpressionConverter;