MCPcopy Create free account
hub / github.com/nodejs/node / generateLimitedTupleElements

Function generateLimitedTupleElements

test/fixtures/snapshot/typescript.js:64218–64247  ·  view source on GitHub ↗
(node, target)

Source from the content-addressed store, hash-verified

64216 }
64217 }
64218 function generateLimitedTupleElements(node, target) {
64219 var len, i, elem, nameType;
64220 return __generator(this, function (_a) {
64221 switch (_a.label) {
64222 case 0:
64223 len = ts.length(node.elements);
64224 if (!len)
64225 return [2 /*return*/];
64226 i = 0;
64227 _a.label = 1;
64228 case 1:
64229 if (!(i < len)) return [3 /*break*/, 4];
64230 // Skip elements which do not exist in the target - a length error on the tuple overall is likely better than an error on a mismatched index signature
64231 if (isTupleLikeType(target) && !getPropertyOfType(target, ("" + i)))
64232 return [3 /*break*/, 3];
64233 elem = node.elements[i];
64234 if (ts.isOmittedExpression(elem))
64235 return [3 /*break*/, 3];
64236 nameType = getNumberLiteralType(i);
64237 return [4 /*yield*/, { errorNode: elem, innerExpression: elem, nameType: nameType }];
64238 case 2:
64239 _a.sent();
64240 _a.label = 3;
64241 case 3:
64242 i++;
64243 return [3 /*break*/, 1];
64244 case 4: return [2 /*return*/];
64245 }
64246 });
64247 }
64248 function elaborateArrayLiteral(node, source, target, relation, containingMessageChain, errorOutputContainer) {
64249 if (target.flags & 131068 /* TypeFlags.Primitive */)
64250 return false;

Callers 1

elaborateArrayLiteralFunction · 0.85

Calls 4

isTupleLikeTypeFunction · 0.85
getPropertyOfTypeFunction · 0.85
getNumberLiteralTypeFunction · 0.85
lengthMethod · 0.45

Tested by

no test coverage detected