You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					96 lines
				
				2.7 KiB
			
		
		
			
		
	
	
					96 lines
				
				2.7 KiB
			| 
								 
											3 years ago
										 
									 | 
							
								"use strict";
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Object.defineProperty(exports, "__esModule", {
							 | 
						||
| 
								 | 
							
								  value: true
							 | 
						||
| 
								 | 
							
								});
							 | 
						||
| 
								 | 
							
								exports.BlockStatement = BlockStatement;
							 | 
						||
| 
								 | 
							
								exports.Directive = Directive;
							 | 
						||
| 
								 | 
							
								exports.DirectiveLiteral = DirectiveLiteral;
							 | 
						||
| 
								 | 
							
								exports.File = File;
							 | 
						||
| 
								 | 
							
								exports.InterpreterDirective = InterpreterDirective;
							 | 
						||
| 
								 | 
							
								exports.Placeholder = Placeholder;
							 | 
						||
| 
								 | 
							
								exports.Program = Program;
							 | 
						||
| 
								 | 
							
								function File(node) {
							 | 
						||
| 
								 | 
							
								  if (node.program) {
							 | 
						||
| 
								 | 
							
								    this.print(node.program.interpreter, node);
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								  this.print(node.program, node);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								function Program(node) {
							 | 
						||
| 
								 | 
							
								  var _node$directives;
							 | 
						||
| 
								 | 
							
								  this.noIndentInnerCommentsHere();
							 | 
						||
| 
								 | 
							
								  this.printInnerComments();
							 | 
						||
| 
								 | 
							
								  const directivesLen = (_node$directives = node.directives) == null ? void 0 : _node$directives.length;
							 | 
						||
| 
								 | 
							
								  if (directivesLen) {
							 | 
						||
| 
								 | 
							
								    var _node$directives$trai;
							 | 
						||
| 
								 | 
							
								    const newline = node.body.length ? 2 : 1;
							 | 
						||
| 
								 | 
							
								    this.printSequence(node.directives, node, {
							 | 
						||
| 
								 | 
							
								      trailingCommentsLineOffset: newline
							 | 
						||
| 
								 | 
							
								    });
							 | 
						||
| 
								 | 
							
								    if (!((_node$directives$trai = node.directives[directivesLen - 1].trailingComments) != null && _node$directives$trai.length)) {
							 | 
						||
| 
								 | 
							
								      this.newline(newline);
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								  this.printSequence(node.body, node);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								function BlockStatement(node) {
							 | 
						||
| 
								 | 
							
								  var _node$directives2;
							 | 
						||
| 
								 | 
							
								  this.tokenChar(123);
							 | 
						||
| 
								 | 
							
								  const directivesLen = (_node$directives2 = node.directives) == null ? void 0 : _node$directives2.length;
							 | 
						||
| 
								 | 
							
								  if (directivesLen) {
							 | 
						||
| 
								 | 
							
								    var _node$directives$trai2;
							 | 
						||
| 
								 | 
							
								    const newline = node.body.length ? 2 : 1;
							 | 
						||
| 
								 | 
							
								    this.printSequence(node.directives, node, {
							 | 
						||
| 
								 | 
							
								      indent: true,
							 | 
						||
| 
								 | 
							
								      trailingCommentsLineOffset: newline
							 | 
						||
| 
								 | 
							
								    });
							 | 
						||
| 
								 | 
							
								    if (!((_node$directives$trai2 = node.directives[directivesLen - 1].trailingComments) != null && _node$directives$trai2.length)) {
							 | 
						||
| 
								 | 
							
								      this.newline(newline);
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								  this.printSequence(node.body, node, {
							 | 
						||
| 
								 | 
							
								    indent: true
							 | 
						||
| 
								 | 
							
								  });
							 | 
						||
| 
								 | 
							
								  this.sourceWithOffset("end", node.loc, 0, -1);
							 | 
						||
| 
								 | 
							
								  this.rightBrace();
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								function Directive(node) {
							 | 
						||
| 
								 | 
							
								  this.print(node.value, node);
							 | 
						||
| 
								 | 
							
								  this.semicolon();
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								const unescapedSingleQuoteRE = /(?:^|[^\\])(?:\\\\)*'/;
							 | 
						||
| 
								 | 
							
								const unescapedDoubleQuoteRE = /(?:^|[^\\])(?:\\\\)*"/;
							 | 
						||
| 
								 | 
							
								function DirectiveLiteral(node) {
							 | 
						||
| 
								 | 
							
								  const raw = this.getPossibleRaw(node);
							 | 
						||
| 
								 | 
							
								  if (!this.format.minified && raw !== undefined) {
							 | 
						||
| 
								 | 
							
								    this.token(raw);
							 | 
						||
| 
								 | 
							
								    return;
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								  const {
							 | 
						||
| 
								 | 
							
								    value
							 | 
						||
| 
								 | 
							
								  } = node;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  if (!unescapedDoubleQuoteRE.test(value)) {
							 | 
						||
| 
								 | 
							
								    this.token(`"${value}"`);
							 | 
						||
| 
								 | 
							
								  } else if (!unescapedSingleQuoteRE.test(value)) {
							 | 
						||
| 
								 | 
							
								    this.token(`'${value}'`);
							 | 
						||
| 
								 | 
							
								  } else {
							 | 
						||
| 
								 | 
							
								    throw new Error("Malformed AST: it is not possible to print a directive containing" + " both unescaped single and double quotes.");
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								function InterpreterDirective(node) {
							 | 
						||
| 
								 | 
							
								  this.token(`#!${node.value}`);
							 | 
						||
| 
								 | 
							
								  this.newline(1, true);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								function Placeholder(node) {
							 | 
						||
| 
								 | 
							
								  this.token("%%");
							 | 
						||
| 
								 | 
							
								  this.print(node.name);
							 | 
						||
| 
								 | 
							
								  this.token("%%");
							 | 
						||
| 
								 | 
							
								  if (node.expectedNode === "Statement") {
							 | 
						||
| 
								 | 
							
								    this.semicolon();
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								//# sourceMappingURL=base.js.map
							 |