MCPcopy Index your code
hub / github.com/nodejs/node / serializeParameterTypesOfNode

Function serializeParameterTypesOfNode

test/fixtures/snapshot/typescript.js:92751–92775  ·  view source on GitHub ↗

* Serializes the types of the parameters of a node for use with decorator type metadata. * * @param node The node that should have its parameter types serialized.

(node, container)

Source from the content-addressed store, hash-verified

92749 * @param node The node that should have its parameter types serialized.
92750 */
92751 function serializeParameterTypesOfNode(node, container) {
92752 var valueDeclaration = ts.isClassLike(node)
92753 ? ts.getFirstConstructorWithBody(node)
92754 : ts.isFunctionLike(node) && ts.nodeIsPresent(node.body)
92755 ? node
92756 : undefined;
92757 var expressions = [];
92758 if (valueDeclaration) {
92759 var parameters = getParametersOfDecoratedDeclaration(valueDeclaration, container);
92760 var numParameters = parameters.length;
92761 for (var i = 0; i < numParameters; i++) {
92762 var parameter = parameters[i];
92763 if (i === 0 && ts.isIdentifier(parameter.name) && parameter.name.escapedText === "this") {
92764 continue;
92765 }
92766 if (parameter.dotDotDotToken) {
92767 expressions.push(serializeTypeNode(ts.getRestParameterElementType(parameter.type)));
92768 }
92769 else {
92770 expressions.push(serializeTypeOfNode(parameter));
92771 }
92772 }
92773 }
92774 return factory.createArrayLiteralExpression(expressions);
92775 }
92776 function getParametersOfDecoratedDeclaration(node, container) {
92777 if (container && node.kind === 172 /* SyntaxKind.GetAccessor */) {
92778 var setAccessor = ts.getAllAccessorDeclarations(container.members, node).setAccessor;

Callers 2

addOldTypeMetadataFunction · 0.85
addNewTypeMetadataFunction · 0.85

Calls 4

serializeTypeNodeFunction · 0.85
serializeTypeOfNodeFunction · 0.85
pushMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…