UNPKG

atom-nuclide

Version:

A unified developer experience for web and mobile development, built as a suite of features on top of Atom to provide hackability and the support of an active community.

1,078 lines (750 loc) 43 kB
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; /* * Copyright (c) 2015-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the license found in the LICENSE file in * the root directory of this source tree. */ 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 _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } var _optionsDefaultOptions2; function _optionsDefaultOptions() { return _optionsDefaultOptions2 = _interopRequireDefault(require('./options/DefaultOptions')); } var _immutable2; function _immutable() { return _immutable2 = _interopRequireDefault(require('immutable')); } var _babelCore2; function _babelCore() { return _babelCore2 = _interopRequireWildcard(require('babel-core')); } var _utilsFlatten2; function _utilsFlatten() { return _utilsFlatten2 = _interopRequireDefault(require('./utils/flatten')); } var _utilsGetInvalidLeadingComments2; function _utilsGetInvalidLeadingComments() { return _utilsGetInvalidLeadingComments2 = _interopRequireDefault(require('./utils/getInvalidLeadingComments')); } var _utilsGetInvalidTrailingComments2; function _utilsGetInvalidTrailingComments() { return _utilsGetInvalidTrailingComments2 = _interopRequireDefault(require('./utils/getInvalidTrailingComments')); } var _assert2; function _assert() { return _assert2 = _interopRequireDefault(require('assert')); } var _printersSimplePrintAnyTypeAnnotation2; function _printersSimplePrintAnyTypeAnnotation() { return _printersSimplePrintAnyTypeAnnotation2 = _interopRequireDefault(require('./printers/simple/printAnyTypeAnnotation')); } var _printersSimplePrintArrayExpression2; function _printersSimplePrintArrayExpression() { return _printersSimplePrintArrayExpression2 = _interopRequireDefault(require('./printers/simple/printArrayExpression')); } var _printersSimplePrintArrayPattern2; function _printersSimplePrintArrayPattern() { return _printersSimplePrintArrayPattern2 = _interopRequireDefault(require('./printers/simple/printArrayPattern')); } var _printersSimplePrintArrowFunctionExpression2; function _printersSimplePrintArrowFunctionExpression() { return _printersSimplePrintArrowFunctionExpression2 = _interopRequireDefault(require('./printers/simple/printArrowFunctionExpression')); } var _printersSimplePrintAssignmentExpression2; function _printersSimplePrintAssignmentExpression() { return _printersSimplePrintAssignmentExpression2 = _interopRequireDefault(require('./printers/simple/printAssignmentExpression')); } var _printersSimplePrintAssignmentPattern2; function _printersSimplePrintAssignmentPattern() { return _printersSimplePrintAssignmentPattern2 = _interopRequireDefault(require('./printers/simple/printAssignmentPattern')); } var _printersSimplePrintAwaitExpression2; function _printersSimplePrintAwaitExpression() { return _printersSimplePrintAwaitExpression2 = _interopRequireDefault(require('./printers/simple/printAwaitExpression')); } var _printersComplexPrintBinaryExpression2; function _printersComplexPrintBinaryExpression() { return _printersComplexPrintBinaryExpression2 = _interopRequireDefault(require('./printers/complex/printBinaryExpression')); } var _printersSimplePrintBlockStatement2; function _printersSimplePrintBlockStatement() { return _printersSimplePrintBlockStatement2 = _interopRequireDefault(require('./printers/simple/printBlockStatement')); } var _printersSimplePrintBooleanLiteralTypeAnnotation2; function _printersSimplePrintBooleanLiteralTypeAnnotation() { return _printersSimplePrintBooleanLiteralTypeAnnotation2 = _interopRequireDefault(require('./printers/simple/printBooleanLiteralTypeAnnotation')); } var _printersSimplePrintBooleanTypeAnnotation2; function _printersSimplePrintBooleanTypeAnnotation() { return _printersSimplePrintBooleanTypeAnnotation2 = _interopRequireDefault(require('./printers/simple/printBooleanTypeAnnotation')); } var _printersSimplePrintBreakStatement2; function _printersSimplePrintBreakStatement() { return _printersSimplePrintBreakStatement2 = _interopRequireDefault(require('./printers/simple/printBreakStatement')); } var _printersSimplePrintCallExpression2; function _printersSimplePrintCallExpression() { return _printersSimplePrintCallExpression2 = _interopRequireDefault(require('./printers/simple/printCallExpression')); } var _printersSimplePrintCatchClause2; function _printersSimplePrintCatchClause() { return _printersSimplePrintCatchClause2 = _interopRequireDefault(require('./printers/simple/printCatchClause')); } var _printersSimplePrintClassBody2; function _printersSimplePrintClassBody() { return _printersSimplePrintClassBody2 = _interopRequireDefault(require('./printers/simple/printClassBody')); } var _printersSimplePrintClassDeclaration2; function _printersSimplePrintClassDeclaration() { return _printersSimplePrintClassDeclaration2 = _interopRequireDefault(require('./printers/simple/printClassDeclaration')); } var _printersSimplePrintClassProperty2; function _printersSimplePrintClassProperty() { return _printersSimplePrintClassProperty2 = _interopRequireDefault(require('./printers/simple/printClassProperty')); } var _printersSimplePrintConditionalExpression2; function _printersSimplePrintConditionalExpression() { return _printersSimplePrintConditionalExpression2 = _interopRequireDefault(require('./printers/simple/printConditionalExpression')); } var _printersSimplePrintContinueStatement2; function _printersSimplePrintContinueStatement() { return _printersSimplePrintContinueStatement2 = _interopRequireDefault(require('./printers/simple/printContinueStatement')); } var _printersSimplePrintDebuggerStatement2; function _printersSimplePrintDebuggerStatement() { return _printersSimplePrintDebuggerStatement2 = _interopRequireDefault(require('./printers/simple/printDebuggerStatement')); } var _printersSimplePrintDoWhileStatement2; function _printersSimplePrintDoWhileStatement() { return _printersSimplePrintDoWhileStatement2 = _interopRequireDefault(require('./printers/simple/printDoWhileStatement')); } var _printersSimplePrintEmptyStatement2; function _printersSimplePrintEmptyStatement() { return _printersSimplePrintEmptyStatement2 = _interopRequireDefault(require('./printers/simple/printEmptyStatement')); } var _printersSimplePrintExportDefaultDeclaration2; function _printersSimplePrintExportDefaultDeclaration() { return _printersSimplePrintExportDefaultDeclaration2 = _interopRequireDefault(require('./printers/simple/printExportDefaultDeclaration')); } var _printersSimplePrintExportDefaultSpecifier2; function _printersSimplePrintExportDefaultSpecifier() { return _printersSimplePrintExportDefaultSpecifier2 = _interopRequireDefault(require('./printers/simple/printExportDefaultSpecifier')); } var _printersSimplePrintExportNamedDeclaration2; function _printersSimplePrintExportNamedDeclaration() { return _printersSimplePrintExportNamedDeclaration2 = _interopRequireDefault(require('./printers/simple/printExportNamedDeclaration')); } var _printersSimplePrintExportNamespaceSpecifier2; function _printersSimplePrintExportNamespaceSpecifier() { return _printersSimplePrintExportNamespaceSpecifier2 = _interopRequireDefault(require('./printers/simple/printExportNamespaceSpecifier')); } var _printersSimplePrintExportSpecifier2; function _printersSimplePrintExportSpecifier() { return _printersSimplePrintExportSpecifier2 = _interopRequireDefault(require('./printers/simple/printExportSpecifier')); } var _printersSimplePrintExpressionStatement2; function _printersSimplePrintExpressionStatement() { return _printersSimplePrintExpressionStatement2 = _interopRequireDefault(require('./printers/simple/printExpressionStatement')); } var _printersSimplePrintFile2; function _printersSimplePrintFile() { return _printersSimplePrintFile2 = _interopRequireDefault(require('./printers/simple/printFile')); } var _printersSimplePrintForInStatement2; function _printersSimplePrintForInStatement() { return _printersSimplePrintForInStatement2 = _interopRequireDefault(require('./printers/simple/printForInStatement')); } var _printersSimplePrintForOfStatement2; function _printersSimplePrintForOfStatement() { return _printersSimplePrintForOfStatement2 = _interopRequireDefault(require('./printers/simple/printForOfStatement')); } var _printersSimplePrintForStatement2; function _printersSimplePrintForStatement() { return _printersSimplePrintForStatement2 = _interopRequireDefault(require('./printers/simple/printForStatement')); } var _printersSimplePrintFunctionDeclaration2; function _printersSimplePrintFunctionDeclaration() { return _printersSimplePrintFunctionDeclaration2 = _interopRequireDefault(require('./printers/simple/printFunctionDeclaration')); } var _printersComplexPrintFunctionExpression2; function _printersComplexPrintFunctionExpression() { return _printersComplexPrintFunctionExpression2 = _interopRequireDefault(require('./printers/complex/printFunctionExpression')); } var _printersSimplePrintFunctionTypeAnnotation2; function _printersSimplePrintFunctionTypeAnnotation() { return _printersSimplePrintFunctionTypeAnnotation2 = _interopRequireDefault(require('./printers/simple/printFunctionTypeAnnotation')); } var _printersSimplePrintFunctionTypeParam2; function _printersSimplePrintFunctionTypeParam() { return _printersSimplePrintFunctionTypeParam2 = _interopRequireDefault(require('./printers/simple/printFunctionTypeParam')); } var _printersSimplePrintGenericTypeAnnotation2; function _printersSimplePrintGenericTypeAnnotation() { return _printersSimplePrintGenericTypeAnnotation2 = _interopRequireDefault(require('./printers/simple/printGenericTypeAnnotation')); } var _printersSimplePrintIdentifier2; function _printersSimplePrintIdentifier() { return _printersSimplePrintIdentifier2 = _interopRequireDefault(require('./printers/simple/printIdentifier')); } var _printersSimplePrintIfStatement2; function _printersSimplePrintIfStatement() { return _printersSimplePrintIfStatement2 = _interopRequireDefault(require('./printers/simple/printIfStatement')); } var _printersSimplePrintImportDeclaration2; function _printersSimplePrintImportDeclaration() { return _printersSimplePrintImportDeclaration2 = _interopRequireDefault(require('./printers/simple/printImportDeclaration')); } var _printersSimplePrintImportDefaultSpecifier2; function _printersSimplePrintImportDefaultSpecifier() { return _printersSimplePrintImportDefaultSpecifier2 = _interopRequireDefault(require('./printers/simple/printImportDefaultSpecifier')); } var _printersSimplePrintImportNamespaceSpecifier2; function _printersSimplePrintImportNamespaceSpecifier() { return _printersSimplePrintImportNamespaceSpecifier2 = _interopRequireDefault(require('./printers/simple/printImportNamespaceSpecifier')); } var _printersSimplePrintImportSpecifier2; function _printersSimplePrintImportSpecifier() { return _printersSimplePrintImportSpecifier2 = _interopRequireDefault(require('./printers/simple/printImportSpecifier')); } var _printersSimplePrintIntersectionTypeAnnotation2; function _printersSimplePrintIntersectionTypeAnnotation() { return _printersSimplePrintIntersectionTypeAnnotation2 = _interopRequireDefault(require('./printers/simple/printIntersectionTypeAnnotation')); } var _printersSimplePrintJSXAttribute2; function _printersSimplePrintJSXAttribute() { return _printersSimplePrintJSXAttribute2 = _interopRequireDefault(require('./printers/simple/printJSXAttribute')); } var _printersSimplePrintJSXClosingElement2; function _printersSimplePrintJSXClosingElement() { return _printersSimplePrintJSXClosingElement2 = _interopRequireDefault(require('./printers/simple/printJSXClosingElement')); } var _printersSimplePrintJSXElement2; function _printersSimplePrintJSXElement() { return _printersSimplePrintJSXElement2 = _interopRequireDefault(require('./printers/simple/printJSXElement')); } var _printersSimplePrintJSXExpressionContainer2; function _printersSimplePrintJSXExpressionContainer() { return _printersSimplePrintJSXExpressionContainer2 = _interopRequireDefault(require('./printers/simple/printJSXExpressionContainer')); } var _printersSimplePrintJSXIdentifier2; function _printersSimplePrintJSXIdentifier() { return _printersSimplePrintJSXIdentifier2 = _interopRequireDefault(require('./printers/simple/printJSXIdentifier')); } var _printersSimplePrintJSXMemberExpression2; function _printersSimplePrintJSXMemberExpression() { return _printersSimplePrintJSXMemberExpression2 = _interopRequireDefault(require('./printers/simple/printJSXMemberExpression')); } var _printersSimplePrintJSXOpeningElement2; function _printersSimplePrintJSXOpeningElement() { return _printersSimplePrintJSXOpeningElement2 = _interopRequireDefault(require('./printers/simple/printJSXOpeningElement')); } var _printersSimplePrintJSXSpreadAttribute2; function _printersSimplePrintJSXSpreadAttribute() { return _printersSimplePrintJSXSpreadAttribute2 = _interopRequireDefault(require('./printers/simple/printJSXSpreadAttribute')); } var _printersSimplePrintLabeledStatement2; function _printersSimplePrintLabeledStatement() { return _printersSimplePrintLabeledStatement2 = _interopRequireDefault(require('./printers/simple/printLabeledStatement')); } var _printersComplexPrintLiteral2; function _printersComplexPrintLiteral() { return _printersComplexPrintLiteral2 = _interopRequireDefault(require('./printers/complex/printLiteral')); } var _printersComplexPrintLogicalExpression2; function _printersComplexPrintLogicalExpression() { return _printersComplexPrintLogicalExpression2 = _interopRequireDefault(require('./printers/complex/printLogicalExpression')); } var _printersComplexPrintMemberExpression2; function _printersComplexPrintMemberExpression() { return _printersComplexPrintMemberExpression2 = _interopRequireDefault(require('./printers/complex/printMemberExpression')); } var _printersSimplePrintMethodDefinition2; function _printersSimplePrintMethodDefinition() { return _printersSimplePrintMethodDefinition2 = _interopRequireDefault(require('./printers/simple/printMethodDefinition')); } var _printersSimplePrintMixedTypeAnnotation2; function _printersSimplePrintMixedTypeAnnotation() { return _printersSimplePrintMixedTypeAnnotation2 = _interopRequireDefault(require('./printers/simple/printMixedTypeAnnotation')); } var _printersSimplePrintNewExpression2; function _printersSimplePrintNewExpression() { return _printersSimplePrintNewExpression2 = _interopRequireDefault(require('./printers/simple/printNewExpression')); } var _printersSimplePrintNullableTypeAnnotation2; function _printersSimplePrintNullableTypeAnnotation() { return _printersSimplePrintNullableTypeAnnotation2 = _interopRequireDefault(require('./printers/simple/printNullableTypeAnnotation')); } var _printersSimplePrintNumberLiteralTypeAnnotation2; function _printersSimplePrintNumberLiteralTypeAnnotation() { return _printersSimplePrintNumberLiteralTypeAnnotation2 = _interopRequireDefault(require('./printers/simple/printNumberLiteralTypeAnnotation')); } var _printersSimplePrintNumberTypeAnnotation2; function _printersSimplePrintNumberTypeAnnotation() { return _printersSimplePrintNumberTypeAnnotation2 = _interopRequireDefault(require('./printers/simple/printNumberTypeAnnotation')); } var _printersSimplePrintObjectExpression2; function _printersSimplePrintObjectExpression() { return _printersSimplePrintObjectExpression2 = _interopRequireDefault(require('./printers/simple/printObjectExpression')); } var _printersSimplePrintObjectPattern2; function _printersSimplePrintObjectPattern() { return _printersSimplePrintObjectPattern2 = _interopRequireDefault(require('./printers/simple/printObjectPattern')); } var _printersSimplePrintObjectTypeAnnotation2; function _printersSimplePrintObjectTypeAnnotation() { return _printersSimplePrintObjectTypeAnnotation2 = _interopRequireDefault(require('./printers/simple/printObjectTypeAnnotation')); } var _printersSimplePrintObjectTypeProperty2; function _printersSimplePrintObjectTypeProperty() { return _printersSimplePrintObjectTypeProperty2 = _interopRequireDefault(require('./printers/simple/printObjectTypeProperty')); } var _printersSimplePrintProgram2; function _printersSimplePrintProgram() { return _printersSimplePrintProgram2 = _interopRequireDefault(require('./printers/simple/printProgram')); } var _printersSimplePrintProperty2; function _printersSimplePrintProperty() { return _printersSimplePrintProperty2 = _interopRequireDefault(require('./printers/simple/printProperty')); } var _printersSimplePrintQualifiedTypeIdentifier2; function _printersSimplePrintQualifiedTypeIdentifier() { return _printersSimplePrintQualifiedTypeIdentifier2 = _interopRequireDefault(require('./printers/simple/printQualifiedTypeIdentifier')); } var _printersSimplePrintRestElement2; function _printersSimplePrintRestElement() { return _printersSimplePrintRestElement2 = _interopRequireDefault(require('./printers/simple/printRestElement')); } var _printersSimplePrintReturnStatement2; function _printersSimplePrintReturnStatement() { return _printersSimplePrintReturnStatement2 = _interopRequireDefault(require('./printers/simple/printReturnStatement')); } var _printersSimplePrintSpreadElement2; function _printersSimplePrintSpreadElement() { return _printersSimplePrintSpreadElement2 = _interopRequireDefault(require('./printers/simple/printSpreadElement')); } var _printersSimplePrintSpreadProperty2; function _printersSimplePrintSpreadProperty() { return _printersSimplePrintSpreadProperty2 = _interopRequireDefault(require('./printers/simple/printSpreadProperty')); } var _printersSimplePrintStringLiteralTypeAnnotation2; function _printersSimplePrintStringLiteralTypeAnnotation() { return _printersSimplePrintStringLiteralTypeAnnotation2 = _interopRequireDefault(require('./printers/simple/printStringLiteralTypeAnnotation')); } var _printersSimplePrintStringTypeAnnotation2; function _printersSimplePrintStringTypeAnnotation() { return _printersSimplePrintStringTypeAnnotation2 = _interopRequireDefault(require('./printers/simple/printStringTypeAnnotation')); } var _printersSimplePrintSuper2; function _printersSimplePrintSuper() { return _printersSimplePrintSuper2 = _interopRequireDefault(require('./printers/simple/printSuper')); } var _printersSimplePrintSwitchCase2; function _printersSimplePrintSwitchCase() { return _printersSimplePrintSwitchCase2 = _interopRequireDefault(require('./printers/simple/printSwitchCase')); } var _printersSimplePrintSwitchStatement2; function _printersSimplePrintSwitchStatement() { return _printersSimplePrintSwitchStatement2 = _interopRequireDefault(require('./printers/simple/printSwitchStatement')); } var _printersSimplePrintTaggedTemplateExpression2; function _printersSimplePrintTaggedTemplateExpression() { return _printersSimplePrintTaggedTemplateExpression2 = _interopRequireDefault(require('./printers/simple/printTaggedTemplateExpression')); } var _printersSimplePrintTemplateElement2; function _printersSimplePrintTemplateElement() { return _printersSimplePrintTemplateElement2 = _interopRequireDefault(require('./printers/simple/printTemplateElement')); } var _printersSimplePrintTemplateLiteral2; function _printersSimplePrintTemplateLiteral() { return _printersSimplePrintTemplateLiteral2 = _interopRequireDefault(require('./printers/simple/printTemplateLiteral')); } var _printersSimplePrintThisExpression2; function _printersSimplePrintThisExpression() { return _printersSimplePrintThisExpression2 = _interopRequireDefault(require('./printers/simple/printThisExpression')); } var _printersSimplePrintThrowStatement2; function _printersSimplePrintThrowStatement() { return _printersSimplePrintThrowStatement2 = _interopRequireDefault(require('./printers/simple/printThrowStatement')); } var _printersSimplePrintTryStatement2; function _printersSimplePrintTryStatement() { return _printersSimplePrintTryStatement2 = _interopRequireDefault(require('./printers/simple/printTryStatement')); } var _printersSimplePrintTupleTypeAnnotation2; function _printersSimplePrintTupleTypeAnnotation() { return _printersSimplePrintTupleTypeAnnotation2 = _interopRequireDefault(require('./printers/simple/printTupleTypeAnnotation')); } var _printersSimplePrintTypeAlias2; function _printersSimplePrintTypeAlias() { return _printersSimplePrintTypeAlias2 = _interopRequireDefault(require('./printers/simple/printTypeAlias')); } var _printersSimplePrintTypeAnnotation2; function _printersSimplePrintTypeAnnotation() { return _printersSimplePrintTypeAnnotation2 = _interopRequireDefault(require('./printers/simple/printTypeAnnotation')); } var _printersSimplePrintTypeofTypeAnnotation2; function _printersSimplePrintTypeofTypeAnnotation() { return _printersSimplePrintTypeofTypeAnnotation2 = _interopRequireDefault(require('./printers/simple/printTypeofTypeAnnotation')); } var _printersSimplePrintTypeParameterDeclaration2; function _printersSimplePrintTypeParameterDeclaration() { return _printersSimplePrintTypeParameterDeclaration2 = _interopRequireDefault(require('./printers/simple/printTypeParameterDeclaration')); } var _printersSimplePrintTypeParameterInstantiation2; function _printersSimplePrintTypeParameterInstantiation() { return _printersSimplePrintTypeParameterInstantiation2 = _interopRequireDefault(require('./printers/simple/printTypeParameterInstantiation')); } var _printersSimplePrintUnaryExpression2; function _printersSimplePrintUnaryExpression() { return _printersSimplePrintUnaryExpression2 = _interopRequireDefault(require('./printers/simple/printUnaryExpression')); } var _printersSimplePrintUnionTypeAnnotation2; function _printersSimplePrintUnionTypeAnnotation() { return _printersSimplePrintUnionTypeAnnotation2 = _interopRequireDefault(require('./printers/simple/printUnionTypeAnnotation')); } var _printersSimplePrintUpdateExpression2; function _printersSimplePrintUpdateExpression() { return _printersSimplePrintUpdateExpression2 = _interopRequireDefault(require('./printers/simple/printUpdateExpression')); } var _printersComplexPrintVariableDeclaration2; function _printersComplexPrintVariableDeclaration() { return _printersComplexPrintVariableDeclaration2 = _interopRequireDefault(require('./printers/complex/printVariableDeclaration')); } var _printersSimplePrintVariableDeclarator2; function _printersSimplePrintVariableDeclarator() { return _printersSimplePrintVariableDeclarator2 = _interopRequireDefault(require('./printers/simple/printVariableDeclarator')); } var _printersSimplePrintVoidTypeAnnotation2; function _printersSimplePrintVoidTypeAnnotation() { return _printersSimplePrintVoidTypeAnnotation2 = _interopRequireDefault(require('./printers/simple/printVoidTypeAnnotation')); } var _printersSimplePrintWhileStatement2; function _printersSimplePrintWhileStatement() { return _printersSimplePrintWhileStatement2 = _interopRequireDefault(require('./printers/simple/printWhileStatement')); } var _printersSimplePrintWithStatement2; function _printersSimplePrintWithStatement() { return _printersSimplePrintWithStatement2 = _interopRequireDefault(require('./printers/simple/printWithStatement')); } var _printersSimplePrintYieldExpression2; function _printersSimplePrintYieldExpression() { return _printersSimplePrintYieldExpression2 = _interopRequireDefault(require('./printers/simple/printYieldExpression')); } var _resolversResolveLines2; function _resolversResolveLines() { return _resolversResolveLines2 = _interopRequireDefault(require('./resolvers/resolveLines')); } var _wrappersComplexWrapWithComments2; function _wrappersComplexWrapWithComments() { return _wrappersComplexWrapWithComments2 = _interopRequireDefault(require('./wrappers/complex/wrapWithComments')); } /** * Entry point into reprint. Parses the source into an AST and then prints it * according to the given options. */ function reprint(source, nullableOptions) { var options = nullableOptions || (_optionsDefaultOptions2 || _optionsDefaultOptions()).default; var ast = (_babelCore2 || _babelCore()).parse(source); var lines = (0, (_utilsFlatten2 || _utilsFlatten()).default)(printWithWrappers(ast, { invalidLeadingComments: (0, (_utilsGetInvalidLeadingComments2 || _utilsGetInvalidLeadingComments()).default)(ast), invalidTrailingComments: (0, (_utilsGetInvalidTrailingComments2 || _utilsGetInvalidTrailingComments()).default)(ast), options: options, path: (_immutable2 || _immutable()).default.List() })); return (0, (_resolversResolveLines2 || _resolversResolveLines()).default)(lines, options); } /** * Helper to build a print function for the given node and context. */ function getPrintFn(node, context) { var nextContext = _extends({}, context, { path: context.path.push(node) }); return function (x) { return printWithWrappers(x, nextContext); }; } /** * Generic print function that will return an array of strings for the given * ast node. */ function printWithWrappers(node, context) { if (!node) { return []; } var print = getPrintFn(node, context); var lines = printWithoutWrappers(node, context); lines = (0, (_wrappersComplexWrapWithComments2 || _wrappersComplexWrapWithComments()).default)(print, node, context, lines); return lines; } /** * Prints the node ignoring comments. */ function printWithoutWrappers(node, context) { if (!node) { return []; } var print = getPrintFn(node, context); /** * Simple printers. */ switch (node.type) { case 'ArrayExpression': return (0, (_printersSimplePrintArrayExpression2 || _printersSimplePrintArrayExpression()).default)(print, node); case 'ArrayPattern': return (0, (_printersSimplePrintArrayPattern2 || _printersSimplePrintArrayPattern()).default)(print, node); case 'ArrowFunctionExpression': return (0, (_printersSimplePrintArrowFunctionExpression2 || _printersSimplePrintArrowFunctionExpression()).default)(print, node); case 'AssignmentExpression': return (0, (_printersSimplePrintAssignmentExpression2 || _printersSimplePrintAssignmentExpression()).default)(print, node); case 'AssignmentPattern': return (0, (_printersSimplePrintAssignmentPattern2 || _printersSimplePrintAssignmentPattern()).default)(print, node); case 'AwaitExpression': return (0, (_printersSimplePrintAwaitExpression2 || _printersSimplePrintAwaitExpression()).default)(print, node); case 'BlockStatement': return (0, (_printersSimplePrintBlockStatement2 || _printersSimplePrintBlockStatement()).default)(print, node); case 'BreakStatement': return (0, (_printersSimplePrintBreakStatement2 || _printersSimplePrintBreakStatement()).default)(print, node); case 'CallExpression': return (0, (_printersSimplePrintCallExpression2 || _printersSimplePrintCallExpression()).default)(print, node); case 'CatchClause': return (0, (_printersSimplePrintCatchClause2 || _printersSimplePrintCatchClause()).default)(print, node); case 'ClassBody': return (0, (_printersSimplePrintClassBody2 || _printersSimplePrintClassBody()).default)(print, node); case 'ClassDeclaration': return (0, (_printersSimplePrintClassDeclaration2 || _printersSimplePrintClassDeclaration()).default)(print, node); case 'ClassProperty': return (0, (_printersSimplePrintClassProperty2 || _printersSimplePrintClassProperty()).default)(print, node); case 'ConditionalExpression': return (0, (_printersSimplePrintConditionalExpression2 || _printersSimplePrintConditionalExpression()).default)(print, node); case 'ContinueStatement': return (0, (_printersSimplePrintContinueStatement2 || _printersSimplePrintContinueStatement()).default)(print, node); case 'DebuggerStatement': return (0, (_printersSimplePrintDebuggerStatement2 || _printersSimplePrintDebuggerStatement()).default)(print, node); case 'DoWhileStatement': return (0, (_printersSimplePrintDoWhileStatement2 || _printersSimplePrintDoWhileStatement()).default)(print, node); case 'EmptyStatement': return (0, (_printersSimplePrintEmptyStatement2 || _printersSimplePrintEmptyStatement()).default)(print, node); case 'ExportDefaultDeclaration': return (0, (_printersSimplePrintExportDefaultDeclaration2 || _printersSimplePrintExportDefaultDeclaration()).default)(print, node); case 'ExportDefaultSpecifier': return (0, (_printersSimplePrintExportDefaultSpecifier2 || _printersSimplePrintExportDefaultSpecifier()).default)(print, node); case 'ExportNamedDeclaration': return (0, (_printersSimplePrintExportNamedDeclaration2 || _printersSimplePrintExportNamedDeclaration()).default)(print, node); case 'ExportNamespaceSpecifier': return (0, (_printersSimplePrintExportNamespaceSpecifier2 || _printersSimplePrintExportNamespaceSpecifier()).default)(print, node); case 'ExportSpecifier': return (0, (_printersSimplePrintExportSpecifier2 || _printersSimplePrintExportSpecifier()).default)(print, node); case 'ExpressionStatement': return (0, (_printersSimplePrintExpressionStatement2 || _printersSimplePrintExpressionStatement()).default)(print, node); case 'File': return (0, (_printersSimplePrintFile2 || _printersSimplePrintFile()).default)(print, node); case 'ForInStatement': return (0, (_printersSimplePrintForInStatement2 || _printersSimplePrintForInStatement()).default)(print, node); case 'ForOfStatement': return (0, (_printersSimplePrintForOfStatement2 || _printersSimplePrintForOfStatement()).default)(print, node); case 'ForStatement': return (0, (_printersSimplePrintForStatement2 || _printersSimplePrintForStatement()).default)(print, node); case 'FunctionDeclaration': return (0, (_printersSimplePrintFunctionDeclaration2 || _printersSimplePrintFunctionDeclaration()).default)(print, node); case 'Identifier': return (0, (_printersSimplePrintIdentifier2 || _printersSimplePrintIdentifier()).default)(print, node); case 'IfStatement': return (0, (_printersSimplePrintIfStatement2 || _printersSimplePrintIfStatement()).default)(print, node); case 'ImportDeclaration': return (0, (_printersSimplePrintImportDeclaration2 || _printersSimplePrintImportDeclaration()).default)(print, node); case 'ImportDefaultSpecifier': return (0, (_printersSimplePrintImportDefaultSpecifier2 || _printersSimplePrintImportDefaultSpecifier()).default)(print, node); case 'ImportNamespaceSpecifier': return (0, (_printersSimplePrintImportNamespaceSpecifier2 || _printersSimplePrintImportNamespaceSpecifier()).default)(print, node); case 'ImportSpecifier': return (0, (_printersSimplePrintImportSpecifier2 || _printersSimplePrintImportSpecifier()).default)(print, node); case 'LabeledStatement': return (0, (_printersSimplePrintLabeledStatement2 || _printersSimplePrintLabeledStatement()).default)(print, node); case 'MethodDefinition': return (0, (_printersSimplePrintMethodDefinition2 || _printersSimplePrintMethodDefinition()).default)(print, node); case 'NewExpression': return (0, (_printersSimplePrintNewExpression2 || _printersSimplePrintNewExpression()).default)(print, node); case 'ObjectExpression': return (0, (_printersSimplePrintObjectExpression2 || _printersSimplePrintObjectExpression()).default)(print, node); case 'ObjectPattern': return (0, (_printersSimplePrintObjectPattern2 || _printersSimplePrintObjectPattern()).default)(print, node); case 'Program': return (0, (_printersSimplePrintProgram2 || _printersSimplePrintProgram()).default)(print, node); case 'Property': return (0, (_printersSimplePrintProperty2 || _printersSimplePrintProperty()).default)(print, node); case 'RestElement': return (0, (_printersSimplePrintRestElement2 || _printersSimplePrintRestElement()).default)(print, node); case 'ReturnStatement': return (0, (_printersSimplePrintReturnStatement2 || _printersSimplePrintReturnStatement()).default)(print, node); case 'SpreadElement': return (0, (_printersSimplePrintSpreadElement2 || _printersSimplePrintSpreadElement()).default)(print, node); case 'SpreadProperty': return (0, (_printersSimplePrintSpreadProperty2 || _printersSimplePrintSpreadProperty()).default)(print, node); case 'Super': return (0, (_printersSimplePrintSuper2 || _printersSimplePrintSuper()).default)(print, node); case 'SwitchCase': return (0, (_printersSimplePrintSwitchCase2 || _printersSimplePrintSwitchCase()).default)(print, node); case 'SwitchStatement': return (0, (_printersSimplePrintSwitchStatement2 || _printersSimplePrintSwitchStatement()).default)(print, node); case 'TaggedTemplateExpression': return (0, (_printersSimplePrintTaggedTemplateExpression2 || _printersSimplePrintTaggedTemplateExpression()).default)(print, node); case 'TemplateElement': return (0, (_printersSimplePrintTemplateElement2 || _printersSimplePrintTemplateElement()).default)(print, node); case 'TemplateLiteral': return (0, (_printersSimplePrintTemplateLiteral2 || _printersSimplePrintTemplateLiteral()).default)(print, node); case 'ThisExpression': return (0, (_printersSimplePrintThisExpression2 || _printersSimplePrintThisExpression()).default)(print, node); case 'ThrowStatement': return (0, (_printersSimplePrintThrowStatement2 || _printersSimplePrintThrowStatement()).default)(print, node); case 'TryStatement': return (0, (_printersSimplePrintTryStatement2 || _printersSimplePrintTryStatement()).default)(print, node); case 'UnaryExpression': return (0, (_printersSimplePrintUnaryExpression2 || _printersSimplePrintUnaryExpression()).default)(print, node); case 'UpdateExpression': return (0, (_printersSimplePrintUpdateExpression2 || _printersSimplePrintUpdateExpression()).default)(print, node); case 'VariableDeclarator': return (0, (_printersSimplePrintVariableDeclarator2 || _printersSimplePrintVariableDeclarator()).default)(print, node); case 'WhileStatement': return (0, (_printersSimplePrintWhileStatement2 || _printersSimplePrintWhileStatement()).default)(print, node); case 'WithStatement': return (0, (_printersSimplePrintWithStatement2 || _printersSimplePrintWithStatement()).default)(print, node); case 'YieldExpression': return (0, (_printersSimplePrintYieldExpression2 || _printersSimplePrintYieldExpression()).default)(print, node); } /** * Complex printers -- meaning they require context. */ switch (node.type) { case 'BinaryExpression': return (0, (_printersComplexPrintBinaryExpression2 || _printersComplexPrintBinaryExpression()).default)(print, node, context); case 'FunctionExpression': return (0, (_printersComplexPrintFunctionExpression2 || _printersComplexPrintFunctionExpression()).default)(print, node, context); case 'Literal': return (0, (_printersComplexPrintLiteral2 || _printersComplexPrintLiteral()).default)(print, node, context); case 'LogicalExpression': return (0, (_printersComplexPrintLogicalExpression2 || _printersComplexPrintLogicalExpression()).default)(print, node, context); case 'MemberExpression': return (0, (_printersComplexPrintMemberExpression2 || _printersComplexPrintMemberExpression()).default)(print, node, context); case 'VariableDeclaration': return (0, (_printersComplexPrintVariableDeclaration2 || _printersComplexPrintVariableDeclaration()).default)(print, node, context); } /** * JSX Nodes */ switch (node.type) { case 'JSXAttribute': return (0, (_printersSimplePrintJSXAttribute2 || _printersSimplePrintJSXAttribute()).default)(print, node); case 'JSXClosingElement': return (0, (_printersSimplePrintJSXClosingElement2 || _printersSimplePrintJSXClosingElement()).default)(print, node); case 'JSXElement': return (0, (_printersSimplePrintJSXElement2 || _printersSimplePrintJSXElement()).default)(print, node); case 'JSXExpressionContainer': return (0, (_printersSimplePrintJSXExpressionContainer2 || _printersSimplePrintJSXExpressionContainer()).default)(print, node); case 'JSXIdentifier': return (0, (_printersSimplePrintJSXIdentifier2 || _printersSimplePrintJSXIdentifier()).default)(print, node); case 'JSXMemberExpression': return (0, (_printersSimplePrintJSXMemberExpression2 || _printersSimplePrintJSXMemberExpression()).default)(print, node); case 'JSXOpeningElement': return (0, (_printersSimplePrintJSXOpeningElement2 || _printersSimplePrintJSXOpeningElement()).default)(print, node); case 'JSXSpreadAttribute': return (0, (_printersSimplePrintJSXSpreadAttribute2 || _printersSimplePrintJSXSpreadAttribute()).default)(print, node); } /** * Flow types. */ switch (node.type) { case 'AnyTypeAnnotation': return (0, (_printersSimplePrintAnyTypeAnnotation2 || _printersSimplePrintAnyTypeAnnotation()).default)(print, node); case 'BooleanLiteralTypeAnnotation': return (0, (_printersSimplePrintBooleanLiteralTypeAnnotation2 || _printersSimplePrintBooleanLiteralTypeAnnotation()).default)(print, node); case 'BooleanTypeAnnotation': return (0, (_printersSimplePrintBooleanTypeAnnotation2 || _printersSimplePrintBooleanTypeAnnotation()).default)(print, node); case 'FunctionTypeAnnotation': return (0, (_printersSimplePrintFunctionTypeAnnotation2 || _printersSimplePrintFunctionTypeAnnotation()).default)(print, node); case 'FunctionTypeParam': return (0, (_printersSimplePrintFunctionTypeParam2 || _printersSimplePrintFunctionTypeParam()).default)(print, node); case 'GenericTypeAnnotation': return (0, (_printersSimplePrintGenericTypeAnnotation2 || _printersSimplePrintGenericTypeAnnotation()).default)(print, node); case 'IntersectionTypeAnnotation': return (0, (_printersSimplePrintIntersectionTypeAnnotation2 || _printersSimplePrintIntersectionTypeAnnotation()).default)(print, node); case 'MixedTypeAnnotation': return (0, (_printersSimplePrintMixedTypeAnnotation2 || _printersSimplePrintMixedTypeAnnotation()).default)(print, node); case 'NullableTypeAnnotation': return (0, (_printersSimplePrintNullableTypeAnnotation2 || _printersSimplePrintNullableTypeAnnotation()).default)(print, node); case 'NumberLiteralTypeAnnotation': return (0, (_printersSimplePrintNumberLiteralTypeAnnotation2 || _printersSimplePrintNumberLiteralTypeAnnotation()).default)(print, node); case 'NumberTypeAnnotation': return (0, (_printersSimplePrintNumberTypeAnnotation2 || _printersSimplePrintNumberTypeAnnotation()).default)(print, node); case 'ObjectTypeAnnotation': return (0, (_printersSimplePrintObjectTypeAnnotation2 || _printersSimplePrintObjectTypeAnnotation()).default)(print, node); case 'ObjectTypeProperty': return (0, (_printersSimplePrintObjectTypeProperty2 || _printersSimplePrintObjectTypeProperty()).default)(print, node); case 'QualifiedTypeIdentifier': return (0, (_printersSimplePrintQualifiedTypeIdentifier2 || _printersSimplePrintQualifiedTypeIdentifier()).default)(print, node); case 'StringLiteralTypeAnnotation': return (0, (_printersSimplePrintStringLiteralTypeAnnotation2 || _printersSimplePrintStringLiteralTypeAnnotation()).default)(print, node); case 'StringTypeAnnotation': return (0, (_printersSimplePrintStringTypeAnnotation2 || _printersSimplePrintStringTypeAnnotation()).default)(print, node); case 'TupleTypeAnnotation': return (0, (_printersSimplePrintTupleTypeAnnotation2 || _printersSimplePrintTupleTypeAnnotation()).default)(print, node); case 'TypeAlias': return (0, (_printersSimplePrintTypeAlias2 || _printersSimplePrintTypeAlias()).default)(print, node); case 'TypeAnnotation': return (0, (_printersSimplePrintTypeAnnotation2 || _printersSimplePrintTypeAnnotation()).default)(print, node); case 'TypeofTypeAnnotation': return (0, (_printersSimplePrintTypeofTypeAnnotation2 || _printersSimplePrintTypeofTypeAnnotation()).default)(print, node); case 'TypeParameterDeclaration': return (0, (_printersSimplePrintTypeParameterDeclaration2 || _printersSimplePrintTypeParameterDeclaration()).default)(print, node); case 'TypeParameterInstantiation': return (0, (_printersSimplePrintTypeParameterInstantiation2 || _printersSimplePrintTypeParameterInstantiation()).default)(print, node); case 'UnionTypeAnnotation': return (0, (_printersSimplePrintUnionTypeAnnotation2 || _printersSimplePrintUnionTypeAnnotation()).default)(print, node); case 'VoidTypeAnnotation': return (0, (_printersSimplePrintVoidTypeAnnotation2 || _printersSimplePrintVoidTypeAnnotation()).default)(print, node); } /** * I'm not sure what these are. I need to figure that out and implement them! */ switch (node.type) { // Not sure how to create any of these. case 'ClassExpression': case 'ClassPropertyDefinition': case 'DeclareClass': case 'DeclareModule': case 'DeclareVariable': case 'InterfaceDeclaration': case 'InterfaceExtends': case 'JSXEmptyExpression': case 'JSXNamespacedName': case 'MemberTypeAnnotation': case 'ModuleSpecifier': case 'ObjectTypeCallProperty': case 'ObjectTypeIndexer': case 'TypeCaseExpression': // I believe this is now replaced with TupleTypeAnnotation: [string]. /* fallthrough */ case 'ArrayTypeAnnotation': // I think this is a literal within JSXElement's children for certain // parsers, but Babylon appears to just use Literal. /* fallthrough */ case 'JSXText': return []; } /** * What these nodes do is not well defined. They may be stage 0 proposals for * example. */ switch (node.type) { case 'ClassImplements': case 'ComprehensionBlock': case 'ComprehensionExpression': case 'GeneratorExpression': case 'SequenceExpression': return []; } (0, (_assert2 || _assert()).default)(false, 'Unknown node type: %s', node.type); } module.exports = reprint;