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

Function propagateAssignmentPatternFlags

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

Source from the content-addressed store, hash-verified

24461 return node;
24462 }
24463 function propagateAssignmentPatternFlags(node) {
24464 if (node.transformFlags & 32768 /* TransformFlags.ContainsObjectRestOrSpread */)
24465 return 32768 /* TransformFlags.ContainsObjectRestOrSpread */;
24466 if (node.transformFlags & 128 /* TransformFlags.ContainsES2018 */) {
24467 // check for nested spread assignments, otherwise '{ x: { a, ...b } = foo } = c'
24468 // will not be correctly interpreted by the ES2018 transformer
24469 for (var _i = 0, _a = ts.getElementsOfBindingOrAssignmentPattern(node); _i < _a.length; _i++) {
24470 var element = _a[_i];
24471 var target = ts.getTargetOfBindingOrAssignmentElement(element);
24472 if (target && ts.isAssignmentPattern(target)) {
24473 if (target.transformFlags & 32768 /* TransformFlags.ContainsObjectRestOrSpread */) {
24474 return 32768 /* TransformFlags.ContainsObjectRestOrSpread */;
24475 }
24476 if (target.transformFlags & 128 /* TransformFlags.ContainsES2018 */) {
24477 var flags_1 = propagateAssignmentPatternFlags(target);
24478 if (flags_1)
24479 return flags_1;
24480 }
24481 }
24482 }
24483 }
24484 return 0 /* TransformFlags.None */;
24485 }
24486 // @api
24487 function updateBinaryExpression(node, left, operator, right) {
24488 return node.left !== left

Callers 1

createBinaryExpressionFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected