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

Function symbolToParameterDeclaration

test/fixtures/snapshot/typescript.js:53353–53396  ·  view source on GitHub ↗
(parameterSymbol, context, preserveModifierFlags, privateSymbolVisitor, bundledImports)

Source from the content-addressed store, hash-verified

53351 return typeParameterToDeclarationWithConstraint(type, context, constraintNode);
53352 }
53353 function symbolToParameterDeclaration(parameterSymbol, context, preserveModifierFlags, privateSymbolVisitor, bundledImports) {
53354 var parameterDeclaration = ts.getDeclarationOfKind(parameterSymbol, 164 /* SyntaxKind.Parameter */);
53355 if (!parameterDeclaration && !ts.isTransientSymbol(parameterSymbol)) {
53356 parameterDeclaration = ts.getDeclarationOfKind(parameterSymbol, 340 /* SyntaxKind.JSDocParameterTag */);
53357 }
53358 var parameterType = getTypeOfSymbol(parameterSymbol);
53359 if (parameterDeclaration && isRequiredInitializedParameter(parameterDeclaration)) {
53360 parameterType = getOptionalType(parameterType);
53361 }
53362 var parameterTypeNode = serializeTypeForDeclaration(context, parameterType, parameterSymbol, context.enclosingDeclaration, privateSymbolVisitor, bundledImports);
53363 var modifiers = !(context.flags & 8192 /* NodeBuilderFlags.OmitParameterModifiers */) && preserveModifierFlags && parameterDeclaration && parameterDeclaration.modifiers ? parameterDeclaration.modifiers.map(ts.factory.cloneNode) : undefined;
53364 var isRest = parameterDeclaration && ts.isRestParameter(parameterDeclaration) || ts.getCheckFlags(parameterSymbol) & 32768 /* CheckFlags.RestParameter */;
53365 var dotDotDotToken = isRest ? ts.factory.createToken(25 /* SyntaxKind.DotDotDotToken */) : undefined;
53366 var name = parameterDeclaration ? parameterDeclaration.name ?
53367 parameterDeclaration.name.kind === 79 /* SyntaxKind.Identifier */ ? ts.setEmitFlags(ts.factory.cloneNode(parameterDeclaration.name), 16777216 /* EmitFlags.NoAsciiEscaping */) :
53368 parameterDeclaration.name.kind === 161 /* SyntaxKind.QualifiedName */ ? ts.setEmitFlags(ts.factory.cloneNode(parameterDeclaration.name.right), 16777216 /* EmitFlags.NoAsciiEscaping */) :
53369 cloneBindingName(parameterDeclaration.name) :
53370 ts.symbolName(parameterSymbol) :
53371 ts.symbolName(parameterSymbol);
53372 var isOptional = parameterDeclaration && isOptionalParameter(parameterDeclaration) || ts.getCheckFlags(parameterSymbol) & 16384 /* CheckFlags.OptionalParameter */;
53373 var questionToken = isOptional ? ts.factory.createToken(57 /* SyntaxKind.QuestionToken */) : undefined;
53374 var parameterNode = ts.factory.createParameterDeclaration(
53375 /*decorators*/ undefined, modifiers, dotDotDotToken, name, questionToken, parameterTypeNode,
53376 /*initializer*/ undefined);
53377 context.approximateLength += ts.symbolName(parameterSymbol).length + 3;
53378 return parameterNode;
53379 function cloneBindingName(node) {
53380 return elideInitializerAndSetEmitFlags(node);
53381 function elideInitializerAndSetEmitFlags(node) {
53382 if (context.tracker.trackSymbol && ts.isComputedPropertyName(node) && isLateBindableName(node)) {
53383 trackComputedName(node.expression, context.enclosingDeclaration, context);
53384 }
53385 var visited = ts.visitEachChild(node, elideInitializerAndSetEmitFlags, ts.nullTransformationContext, /*nodesVisitor*/ undefined, elideInitializerAndSetEmitFlags);
53386 if (ts.isBindingElement(visited)) {
53387 visited = ts.factory.updateBindingElement(visited, visited.dotDotDotToken, visited.propertyName, visited.name,
53388 /*initializer*/ undefined);
53389 }
53390 if (!ts.nodeIsSynthesized(visited)) {
53391 visited = ts.factory.cloneNode(visited);
53392 }
53393 return ts.setEmitFlags(visited, 1 /* EmitFlags.SingleLine */ | 16777216 /* EmitFlags.NoAsciiEscaping */);
53394 }
53395 }
53396 }
53397 function trackComputedName(accessExpression, enclosingDeclaration, context) {
53398 if (!context.tracker.trackSymbol)
53399 return;

Callers 3

createNodeBuilderFunction · 0.85

Calls 7

getTypeOfSymbolFunction · 0.85
getOptionalTypeFunction · 0.85
cloneBindingNameFunction · 0.85
isOptionalParameterFunction · 0.85
mapMethod · 0.65

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…