source: imaps-frontend/node_modules/@babel/generator/lib/generators/expressions.js

main
Last change on this file was 79a0317, checked in by stefan toskovski <stefantoska84@…>, 5 months ago

F4 Finalna Verzija

  • Property mode set to 100644
File size: 7.5 KB
Line 
1"use strict";
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6exports.LogicalExpression = exports.BinaryExpression = exports.AssignmentExpression = AssignmentExpression;
7exports.AssignmentPattern = AssignmentPattern;
8exports.AwaitExpression = AwaitExpression;
9exports.BindExpression = BindExpression;
10exports.CallExpression = CallExpression;
11exports.ConditionalExpression = ConditionalExpression;
12exports.Decorator = Decorator;
13exports.DoExpression = DoExpression;
14exports.EmptyStatement = EmptyStatement;
15exports.ExpressionStatement = ExpressionStatement;
16exports.Import = Import;
17exports.MemberExpression = MemberExpression;
18exports.MetaProperty = MetaProperty;
19exports.ModuleExpression = ModuleExpression;
20exports.NewExpression = NewExpression;
21exports.OptionalCallExpression = OptionalCallExpression;
22exports.OptionalMemberExpression = OptionalMemberExpression;
23exports.ParenthesizedExpression = ParenthesizedExpression;
24exports.PrivateName = PrivateName;
25exports.SequenceExpression = SequenceExpression;
26exports.Super = Super;
27exports.ThisExpression = ThisExpression;
28exports.UnaryExpression = UnaryExpression;
29exports.UpdateExpression = UpdateExpression;
30exports.V8IntrinsicIdentifier = V8IntrinsicIdentifier;
31exports.YieldExpression = YieldExpression;
32exports._shouldPrintDecoratorsBeforeExport = _shouldPrintDecoratorsBeforeExport;
33var _t = require("@babel/types");
34var _index = require("../node/index.js");
35const {
36 isCallExpression,
37 isLiteral,
38 isMemberExpression,
39 isNewExpression,
40 isPattern
41} = _t;
42function UnaryExpression(node) {
43 const {
44 operator
45 } = node;
46 if (operator === "void" || operator === "delete" || operator === "typeof" || operator === "throw") {
47 this.word(operator);
48 this.space();
49 } else {
50 this.token(operator);
51 }
52 this.print(node.argument);
53}
54function DoExpression(node) {
55 if (node.async) {
56 this.word("async", true);
57 this.space();
58 }
59 this.word("do");
60 this.space();
61 this.print(node.body);
62}
63function ParenthesizedExpression(node) {
64 this.tokenChar(40);
65 const exit = this.enterDelimited();
66 this.print(node.expression);
67 exit();
68 this.rightParens(node);
69}
70function UpdateExpression(node) {
71 if (node.prefix) {
72 this.token(node.operator);
73 this.print(node.argument);
74 } else {
75 this.print(node.argument, true);
76 this.token(node.operator);
77 }
78}
79function ConditionalExpression(node) {
80 this.print(node.test);
81 this.space();
82 this.tokenChar(63);
83 this.space();
84 this.print(node.consequent);
85 this.space();
86 this.tokenChar(58);
87 this.space();
88 this.print(node.alternate);
89}
90function NewExpression(node, parent) {
91 this.word("new");
92 this.space();
93 this.print(node.callee);
94 if (this.format.minified && node.arguments.length === 0 && !node.optional && !isCallExpression(parent, {
95 callee: node
96 }) && !isMemberExpression(parent) && !isNewExpression(parent)) {
97 return;
98 }
99 this.print(node.typeArguments);
100 {
101 this.print(node.typeParameters);
102 }
103 if (node.optional) {
104 this.token("?.");
105 }
106 if (node.arguments.length === 0 && this.tokenMap && !this.tokenMap.endMatches(node, ")")) {
107 return;
108 }
109 this.tokenChar(40);
110 const exit = this.enterDelimited();
111 this.printList(node.arguments, this.shouldPrintTrailingComma(")"));
112 exit();
113 this.rightParens(node);
114}
115function SequenceExpression(node) {
116 this.printList(node.expressions);
117}
118function ThisExpression() {
119 this.word("this");
120}
121function Super() {
122 this.word("super");
123}
124function _shouldPrintDecoratorsBeforeExport(node) {
125 if (typeof this.format.decoratorsBeforeExport === "boolean") {
126 return this.format.decoratorsBeforeExport;
127 }
128 return typeof node.start === "number" && node.start === node.declaration.start;
129}
130function Decorator(node) {
131 this.tokenChar(64);
132 this.print(node.expression);
133 this.newline();
134}
135function OptionalMemberExpression(node) {
136 let {
137 computed
138 } = node;
139 const {
140 optional,
141 property
142 } = node;
143 this.print(node.object);
144 if (!computed && isMemberExpression(property)) {
145 throw new TypeError("Got a MemberExpression for MemberExpression property");
146 }
147 if (isLiteral(property) && typeof property.value === "number") {
148 computed = true;
149 }
150 if (optional) {
151 this.token("?.");
152 }
153 if (computed) {
154 this.tokenChar(91);
155 this.print(property);
156 this.tokenChar(93);
157 } else {
158 if (!optional) {
159 this.tokenChar(46);
160 }
161 this.print(property);
162 }
163}
164function OptionalCallExpression(node) {
165 this.print(node.callee);
166 {
167 this.print(node.typeParameters);
168 }
169 if (node.optional) {
170 this.token("?.");
171 }
172 this.print(node.typeArguments);
173 this.tokenChar(40);
174 const exit = this.enterDelimited();
175 this.printList(node.arguments);
176 exit();
177 this.rightParens(node);
178}
179function CallExpression(node) {
180 this.print(node.callee);
181 this.print(node.typeArguments);
182 {
183 this.print(node.typeParameters);
184 }
185 this.tokenChar(40);
186 const exit = this.enterDelimited();
187 this.printList(node.arguments, this.shouldPrintTrailingComma(")"));
188 exit();
189 this.rightParens(node);
190}
191function Import() {
192 this.word("import");
193}
194function AwaitExpression(node) {
195 this.word("await");
196 if (node.argument) {
197 this.space();
198 this.printTerminatorless(node.argument);
199 }
200}
201function YieldExpression(node) {
202 this.word("yield", true);
203 if (node.delegate) {
204 this.tokenChar(42);
205 if (node.argument) {
206 this.space();
207 this.print(node.argument);
208 }
209 } else {
210 if (node.argument) {
211 this.space();
212 this.printTerminatorless(node.argument);
213 }
214 }
215}
216function EmptyStatement() {
217 this.semicolon(true);
218}
219function ExpressionStatement(node) {
220 this.tokenContext |= _index.TokenContext.expressionStatement;
221 this.print(node.expression);
222 this.semicolon();
223}
224function AssignmentPattern(node) {
225 this.print(node.left);
226 if (node.left.type === "Identifier" || isPattern(node.left)) {
227 if (node.left.optional) this.tokenChar(63);
228 this.print(node.left.typeAnnotation);
229 }
230 this.space();
231 this.tokenChar(61);
232 this.space();
233 this.print(node.right);
234}
235function AssignmentExpression(node) {
236 this.print(node.left);
237 this.space();
238 if (node.operator === "in" || node.operator === "instanceof") {
239 this.word(node.operator);
240 } else {
241 this.token(node.operator);
242 this._endsWithDiv = node.operator === "/";
243 }
244 this.space();
245 this.print(node.right);
246}
247function BindExpression(node) {
248 this.print(node.object);
249 this.token("::");
250 this.print(node.callee);
251}
252function MemberExpression(node) {
253 this.print(node.object);
254 if (!node.computed && isMemberExpression(node.property)) {
255 throw new TypeError("Got a MemberExpression for MemberExpression property");
256 }
257 let computed = node.computed;
258 if (isLiteral(node.property) && typeof node.property.value === "number") {
259 computed = true;
260 }
261 if (computed) {
262 const exit = this.enterDelimited();
263 this.tokenChar(91);
264 this.print(node.property);
265 this.tokenChar(93);
266 exit();
267 } else {
268 this.tokenChar(46);
269 this.print(node.property);
270 }
271}
272function MetaProperty(node) {
273 this.print(node.meta);
274 this.tokenChar(46);
275 this.print(node.property);
276}
277function PrivateName(node) {
278 this.tokenChar(35);
279 this.print(node.id);
280}
281function V8IntrinsicIdentifier(node) {
282 this.tokenChar(37);
283 this.word(node.name);
284}
285function ModuleExpression(node) {
286 this.word("module", true);
287 this.space();
288 this.tokenChar(123);
289 this.indent();
290 const {
291 body
292 } = node;
293 if (body.body.length || body.directives.length) {
294 this.newline();
295 }
296 this.print(body);
297 this.dedent();
298 this.rightBrace(node);
299}
300
301//# sourceMappingURL=expressions.js.map
Note: See TracBrowser for help on using the repository browser.