UNPKG

ngrx-uml

Version:
27 lines (26 loc) 1.37 kB
"use strict"; 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;