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

Function createTypeNodesFromResolvedType

test/fixtures/snapshot/typescript.js:53024–53067  ·  view source on GitHub ↗
(resolvedType)

Source from the content-addressed store, hash-verified

53022 return ids;
53023 }
53024 function createTypeNodesFromResolvedType(resolvedType) {
53025 if (checkTruncationLength(context)) {
53026 return [ts.factory.createPropertySignature(/*modifiers*/ undefined, "...", /*questionToken*/ undefined, /*type*/ undefined)];
53027 }
53028 var typeElements = [];
53029 for (var _i = 0, _a = resolvedType.callSignatures; _i < _a.length; _i++) {
53030 var signature = _a[_i];
53031 typeElements.push(signatureToSignatureDeclarationHelper(signature, 174 /* SyntaxKind.CallSignature */, context));
53032 }
53033 for (var _b = 0, _c = resolvedType.constructSignatures; _b < _c.length; _b++) {
53034 var signature = _c[_b];
53035 if (signature.flags & 4 /* SignatureFlags.Abstract */)
53036 continue;
53037 typeElements.push(signatureToSignatureDeclarationHelper(signature, 175 /* SyntaxKind.ConstructSignature */, context));
53038 }
53039 for (var _d = 0, _e = resolvedType.indexInfos; _d < _e.length; _d++) {
53040 var info = _e[_d];
53041 typeElements.push(indexInfoToIndexSignatureDeclarationHelper(info, context, resolvedType.objectFlags & 1024 /* ObjectFlags.ReverseMapped */ ? createElidedInformationPlaceholder(context) : undefined));
53042 }
53043 var properties = resolvedType.properties;
53044 if (!properties) {
53045 return typeElements;
53046 }
53047 var i = 0;
53048 for (var _f = 0, properties_1 = properties; _f < properties_1.length; _f++) {
53049 var propertySymbol = properties_1[_f];
53050 i++;
53051 if (context.flags & 2048 /* NodeBuilderFlags.WriteClassExpressionAsTypeLiteral */) {
53052 if (propertySymbol.flags & 4194304 /* SymbolFlags.Prototype */) {
53053 continue;
53054 }
53055 if (ts.getDeclarationModifierFlagsFromSymbol(propertySymbol) & (8 /* ModifierFlags.Private */ | 16 /* ModifierFlags.Protected */) && context.tracker.reportPrivateInBaseOfClassExpression) {
53056 context.tracker.reportPrivateInBaseOfClassExpression(ts.unescapeLeadingUnderscores(propertySymbol.escapedName));
53057 }
53058 }
53059 if (checkTruncationLength(context) && (i + 2 < properties.length - 1)) {
53060 typeElements.push(ts.factory.createPropertySignature(/*modifiers*/ undefined, "... ".concat(properties.length - i, " more ..."), /*questionToken*/ undefined, /*type*/ undefined));
53061 addPropertyToElementList(properties[properties.length - 1], context, typeElements);
53062 break;
53063 }
53064 addPropertyToElementList(propertySymbol, context, typeElements);
53065 }
53066 return typeElements.length ? typeElements : undefined;
53067 }
53068 }
53069 function createElidedInformationPlaceholder(context) {
53070 context.approximateLength += 3;

Callers 1

Calls 7

checkTruncationLengthFunction · 0.85
addPropertyToElementListFunction · 0.85
concatMethod · 0.80
pushMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…