source: frontend/node_modules/@babel/generator/lib/node/index.js

Last change on this file was 9af201e, checked in by MBK <marija.karapandzova@…>, 2 weeks ago

Fix frontend appearance

  • Property mode set to 100644
File size: 2.1 KB
Line 
1"use strict";
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6exports.TokenContext = void 0;
7exports.isLastChild = isLastChild;
8exports.parentNeedsParens = parentNeedsParens;
9var parens = require("./parentheses.js");
10var _t = require("@babel/types");
11var _nodes = require("../nodes.js");
12const {
13 VISITOR_KEYS
14} = _t;
15const TokenContext = exports.TokenContext = {
16 normal: 0,
17 expressionStatement: 1,
18 arrowBody: 2,
19 exportDefault: 4,
20 arrowFlowReturnType: 8,
21 forInitHead: 16,
22 forInHead: 32,
23 forOfHead: 64,
24 forInOrInitHeadAccumulate: 128,
25 forInOrInitHeadAccumulatePassThroughMask: 128
26};
27for (const type of Object.keys(parens)) {
28 const func = parens[type];
29 if (_nodes.generatorInfosMap.has(type)) {
30 _nodes.generatorInfosMap.get(type)[2] = func;
31 }
32}
33function isOrHasCallExpression(node) {
34 switch (node.type) {
35 case "CallExpression":
36 return true;
37 case "MemberExpression":
38 return isOrHasCallExpression(node.object);
39 }
40 return false;
41}
42function parentNeedsParens(node, parent, parentId) {
43 switch (parentId) {
44 case 112:
45 if (parent.callee === node) {
46 if (isOrHasCallExpression(node)) return true;
47 }
48 break;
49 case 42:
50 return !isDecoratorMemberExpression(node) && !(node.type === "CallExpression" && isDecoratorMemberExpression(node.callee)) && node.type !== "ParenthesizedExpression";
51 }
52 return false;
53}
54function isDecoratorMemberExpression(node) {
55 switch (node.type) {
56 case "Identifier":
57 return true;
58 case "MemberExpression":
59 return !node.computed && node.property.type === "Identifier" && isDecoratorMemberExpression(node.object);
60 default:
61 return false;
62 }
63}
64function isLastChild(parent, child) {
65 const visitorKeys = VISITOR_KEYS[parent.type];
66 for (let i = visitorKeys.length - 1; i >= 0; i--) {
67 const val = parent[visitorKeys[i]];
68 if (val === child) {
69 return true;
70 } else if (Array.isArray(val)) {
71 let j = val.length - 1;
72 while (j >= 0 && val[j] === null) j--;
73 return j >= 0 && val[j] === child;
74 } else if (val) {
75 return false;
76 }
77 }
78 return false;
79}
80
81//# sourceMappingURL=index.js.map
Note: See TracBrowser for help on using the repository browser.