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

Function generateObjectLiteralElements

test/fixtures/snapshot/typescript.js:64270–64314  ·  view source on GitHub ↗
(node)

Source from the content-addressed store, hash-verified

64268 }
64269 }
64270 function generateObjectLiteralElements(node) {
64271 var _i, _a, prop, type, _b;
64272 return __generator(this, function (_c) {
64273 switch (_c.label) {
64274 case 0:
64275 if (!ts.length(node.properties))
64276 return [2 /*return*/];
64277 _i = 0, _a = node.properties;
64278 _c.label = 1;
64279 case 1:
64280 if (!(_i < _a.length)) return [3 /*break*/, 8];
64281 prop = _a[_i];
64282 if (ts.isSpreadAssignment(prop))
64283 return [3 /*break*/, 7];
64284 type = getLiteralTypeFromProperty(getSymbolOfNode(prop), 8576 /* TypeFlags.StringOrNumberLiteralOrUnique */);
64285 if (!type || (type.flags & 131072 /* TypeFlags.Never */)) {
64286 return [3 /*break*/, 7];
64287 }
64288 _b = prop.kind;
64289 switch (_b) {
64290 case 173 /* SyntaxKind.SetAccessor */: return [3 /*break*/, 2];
64291 case 172 /* SyntaxKind.GetAccessor */: return [3 /*break*/, 2];
64292 case 169 /* SyntaxKind.MethodDeclaration */: return [3 /*break*/, 2];
64293 case 297 /* SyntaxKind.ShorthandPropertyAssignment */: return [3 /*break*/, 2];
64294 case 296 /* SyntaxKind.PropertyAssignment */: return [3 /*break*/, 4];
64295 }
64296 return [3 /*break*/, 6];
64297 case 2: return [4 /*yield*/, { errorNode: prop.name, innerExpression: undefined, nameType: type }];
64298 case 3:
64299 _c.sent();
64300 return [3 /*break*/, 7];
64301 case 4: return [4 /*yield*/, { errorNode: prop.name, innerExpression: prop.initializer, nameType: type, errorMessage: ts.isComputedNonLiteralName(prop.name) ? ts.Diagnostics.Type_of_computed_property_s_value_is_0_which_is_not_assignable_to_type_1 : undefined }];
64302 case 5:
64303 _c.sent();
64304 return [3 /*break*/, 7];
64305 case 6:
64306 ts.Debug.assertNever(prop);
64307 _c.label = 7;
64308 case 7:
64309 _i++;
64310 return [3 /*break*/, 1];
64311 case 8: return [2 /*return*/];
64312 }
64313 });
64314 }
64315 function elaborateObjectLiteral(node, source, target, relation, containingMessageChain, errorOutputContainer) {
64316 if (target.flags & 131068 /* TypeFlags.Primitive */)
64317 return false;

Callers 1

elaborateObjectLiteralFunction · 0.85

Calls 3

getSymbolOfNodeFunction · 0.85
lengthMethod · 0.45

Tested by

no test coverage detected