"use strict"; exports.__esModule = true; exports.ArrayPattern = exports.ObjectPattern = exports.RestProperty = exports.SpreadProperty = exports.SpreadElement = undefined; exports.Identifier = Identifier; exports.RestElement = RestElement; exports.ObjectExpression = ObjectExpression; exports.ObjectMethod = ObjectMethod; exports.ObjectProperty = ObjectProperty; exports.ArrayExpression = ArrayExpression; exports.RegExpLiteral = RegExpLiteral; exports.BooleanLiteral = BooleanLiteral; exports.NullLiteral = NullLiteral; exports.NumericLiteral = NumericLiteral; exports.StringLiteral = StringLiteral; var _babelTypes = require("babel-types"); var t = _interopRequireWildcard(_babelTypes); var _jsesc = require("jsesc"); var _jsesc2 = _interopRequireDefault(_jsesc); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } function Identifier(node) { if (node.variance) { if (node.variance === "plus") { this.token("+"); } else if (node.variance === "minus") { this.token("-"); } } this.word(node.name); } function RestElement(node) { this.token("..."); this.print(node.argument, node); } exports.SpreadElement = RestElement; exports.SpreadProperty = RestElement; exports.RestProperty = RestElement; function ObjectExpression(node) { var props = node.properties; this.token("{"); this.printInnerComments(node); if (props.length) { this.space(); this.printList(props, node, { indent: true, statement: true }); this.space(); } this.token("}"); } exports.ObjectPattern = ObjectExpression; function ObjectMethod(node) { this.printJoin(node.decorators, node); this._method(node); } function ObjectProperty(node) { this.printJoin(node.decorators, node); if (node.computed) { this.token("["); this.print(node.key, node); this.token("]"); } else { if (t.isAssignmentPattern(node.value) && t.isIdentifier(node.key) && node.key.name === node.value.left.name) { this.print(node.value, node); return; } this.print(node.key, node); if (node.shorthand && t.isIdentifier(node.key) && t.isIdentifier(node.value) && node.key.name === node.value.name) { return; } } this.token(":"); this.space(); this.print(node.value, node); } function ArrayExpression(node) { var elems = node.elements; var len = elems.length; this.token("["); this.printInnerComments(node); for (var i = 0; i < elems.length; i++) { var elem = elems[i]; if (elem) { if (i > 0) this.space(); this.print(elem, node); if (i < len - 1) this.token(","); } else { this.token(","); } } this.token("]"); } exports.ArrayPattern = ArrayExpression; function RegExpLiteral(node) { this.word("/" + node.pattern + "/" + node.flags); } function BooleanLiteral(node) { this.word(node.value ? "true" : "false"); } function NullLiteral() { this.word("null"); } function NumericLiteral(node) { var raw = this.getPossibleRaw(node); var value = node.value + ""; if (raw == null) { this.number(value); } else if (this.format.minified) { this.number(raw.length < value.length ? raw : value); } else { this.number(raw); } } function StringLiteral(node, parent) { var raw = this.getPossibleRaw(node); if (!this.format.minified && raw != null) { this.token(raw); return; } var opts = { quotes: t.isJSX(parent) ? "double" : this.format.quotes, wrap: true }; if (this.format.jsonCompatibleStrings) { opts.json = true; } var val = (0, _jsesc2.default)(node.value, opts); return this.token(val); }