@ttsc/factory 0.15.10 → 0.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -2
- package/lib/TsPrinter.d.ts +51 -11
- package/lib/TsPrinter.js +555 -70
- package/lib/TsPrinter.js.map +1 -1
- package/lib/TsPrinter.mjs +553 -70
- package/lib/TsPrinter.mjs.map +1 -1
- package/lib/comments.mjs.map +1 -1
- package/lib/factory/clauses/createHeritageClause.mjs.map +1 -1
- package/lib/factory/clauses/createParameterDeclaration.mjs.map +1 -1
- package/lib/factory/declarations/createClassDeclaration.mjs.map +1 -1
- package/lib/factory/declarations/createClassStaticBlockDeclaration.mjs.map +1 -1
- package/lib/factory/declarations/createConstructorDeclaration.mjs.map +1 -1
- package/lib/factory/declarations/createEnumDeclaration.mjs.map +1 -1
- package/lib/factory/declarations/createEnumMember.mjs.map +1 -1
- package/lib/factory/declarations/createExternalModuleReference.mjs.map +1 -1
- package/lib/factory/declarations/createFunctionDeclaration.mjs.map +1 -1
- package/lib/factory/declarations/createGetAccessorDeclaration.mjs.map +1 -1
- package/lib/factory/declarations/createImportEqualsDeclaration.mjs.map +1 -1
- package/lib/factory/declarations/createInterfaceDeclaration.mjs.map +1 -1
- package/lib/factory/declarations/createMethodDeclaration.mjs.map +1 -1
- package/lib/factory/declarations/createModuleBlock.mjs.map +1 -1
- package/lib/factory/declarations/createModuleDeclaration.mjs +2 -1
- package/lib/factory/declarations/createModuleDeclaration.mjs.map +1 -1
- package/lib/factory/declarations/createNamespaceExportDeclaration.mjs.map +1 -1
- package/lib/factory/declarations/createPropertyDeclaration.mjs.map +1 -1
- package/lib/factory/declarations/createSemicolonClassElement.mjs.map +1 -1
- package/lib/factory/declarations/createSetAccessorDeclaration.mjs.map +1 -1
- package/lib/factory/declarations/createTypeAliasDeclaration.mjs.map +1 -1
- package/lib/factory/expressions/createAdd.mjs +2 -1
- package/lib/factory/expressions/createAdd.mjs.map +1 -1
- package/lib/factory/expressions/createArrayBindingPattern.mjs.map +1 -1
- package/lib/factory/expressions/createArrayLiteralExpression.mjs.map +1 -1
- package/lib/factory/expressions/createArrowFunction.mjs.map +1 -1
- package/lib/factory/expressions/createAsExpression.mjs.map +1 -1
- package/lib/factory/expressions/createAssignment.mjs +2 -1
- package/lib/factory/expressions/createAssignment.mjs.map +1 -1
- package/lib/factory/expressions/createAwaitExpression.mjs.map +1 -1
- package/lib/factory/expressions/createBinaryExpression.mjs.map +1 -1
- package/lib/factory/expressions/createBindingElement.mjs.map +1 -1
- package/lib/factory/expressions/createBitwiseAnd.mjs +2 -1
- package/lib/factory/expressions/createBitwiseAnd.mjs.map +1 -1
- package/lib/factory/expressions/createBitwiseNot.mjs +2 -1
- package/lib/factory/expressions/createBitwiseNot.mjs.map +1 -1
- package/lib/factory/expressions/createBitwiseOr.mjs +2 -1
- package/lib/factory/expressions/createBitwiseOr.mjs.map +1 -1
- package/lib/factory/expressions/createBitwiseXor.mjs +2 -1
- package/lib/factory/expressions/createBitwiseXor.mjs.map +1 -1
- package/lib/factory/expressions/createCallChain.mjs.map +1 -1
- package/lib/factory/expressions/createCallExpression.mjs.map +1 -1
- package/lib/factory/expressions/createClassExpression.mjs.map +1 -1
- package/lib/factory/expressions/createComma.mjs +2 -1
- package/lib/factory/expressions/createComma.mjs.map +1 -1
- package/lib/factory/expressions/createCommaListExpression.mjs.map +1 -1
- package/lib/factory/expressions/createComputedPropertyName.mjs.map +1 -1
- package/lib/factory/expressions/createConditionalExpression.mjs.map +1 -1
- package/lib/factory/expressions/createDeleteExpression.mjs.map +1 -1
- package/lib/factory/expressions/createDivide.mjs +2 -1
- package/lib/factory/expressions/createDivide.mjs.map +1 -1
- package/lib/factory/expressions/createElementAccessChain.mjs.map +1 -1
- package/lib/factory/expressions/createElementAccessExpression.mjs.map +1 -1
- package/lib/factory/expressions/createEquality.mjs +2 -1
- package/lib/factory/expressions/createEquality.mjs.map +1 -1
- package/lib/factory/expressions/createExponent.mjs +2 -1
- package/lib/factory/expressions/createExponent.mjs.map +1 -1
- package/lib/factory/expressions/createFunctionExpression.mjs.map +1 -1
- package/lib/factory/expressions/createGreaterThan.mjs +2 -1
- package/lib/factory/expressions/createGreaterThan.mjs.map +1 -1
- package/lib/factory/expressions/createGreaterThanEquals.mjs +2 -1
- package/lib/factory/expressions/createGreaterThanEquals.mjs.map +1 -1
- package/lib/factory/expressions/createImmediatelyInvokedArrowFunction.mjs.map +1 -1
- package/lib/factory/expressions/createImmediatelyInvokedFunctionExpression.mjs.map +1 -1
- package/lib/factory/expressions/createInequality.mjs +2 -1
- package/lib/factory/expressions/createInequality.mjs.map +1 -1
- package/lib/factory/expressions/createLeftShift.mjs +2 -1
- package/lib/factory/expressions/createLeftShift.mjs.map +1 -1
- package/lib/factory/expressions/createLessThan.mjs +2 -1
- package/lib/factory/expressions/createLessThan.mjs.map +1 -1
- package/lib/factory/expressions/createLessThanEquals.mjs +2 -1
- package/lib/factory/expressions/createLessThanEquals.mjs.map +1 -1
- package/lib/factory/expressions/createLogicalAnd.mjs +2 -1
- package/lib/factory/expressions/createLogicalAnd.mjs.map +1 -1
- package/lib/factory/expressions/createLogicalNot.mjs +2 -1
- package/lib/factory/expressions/createLogicalNot.mjs.map +1 -1
- package/lib/factory/expressions/createLogicalOr.mjs +2 -1
- package/lib/factory/expressions/createLogicalOr.mjs.map +1 -1
- package/lib/factory/expressions/createMetaProperty.mjs.map +1 -1
- package/lib/factory/expressions/createModulo.mjs +2 -1
- package/lib/factory/expressions/createModulo.mjs.map +1 -1
- package/lib/factory/expressions/createMultiply.mjs +2 -1
- package/lib/factory/expressions/createMultiply.mjs.map +1 -1
- package/lib/factory/expressions/createNewExpression.mjs.map +1 -1
- package/lib/factory/expressions/createNonNullChain.mjs.map +1 -1
- package/lib/factory/expressions/createNonNullExpression.mjs.map +1 -1
- package/lib/factory/expressions/createObjectBindingPattern.mjs.map +1 -1
- package/lib/factory/expressions/createObjectLiteralExpression.mjs.map +1 -1
- package/lib/factory/expressions/createOmittedExpression.mjs.map +1 -1
- package/lib/factory/expressions/createParenthesizedExpression.mjs.map +1 -1
- package/lib/factory/expressions/createPartiallyEmittedExpression.mjs.map +1 -1
- package/lib/factory/expressions/createPostfixDecrement.mjs +2 -1
- package/lib/factory/expressions/createPostfixDecrement.mjs.map +1 -1
- package/lib/factory/expressions/createPostfixIncrement.mjs +2 -1
- package/lib/factory/expressions/createPostfixIncrement.mjs.map +1 -1
- package/lib/factory/expressions/createPostfixUnaryExpression.mjs.map +1 -1
- package/lib/factory/expressions/createPrefixDecrement.mjs +2 -1
- package/lib/factory/expressions/createPrefixDecrement.mjs.map +1 -1
- package/lib/factory/expressions/createPrefixIncrement.mjs +2 -1
- package/lib/factory/expressions/createPrefixIncrement.mjs.map +1 -1
- package/lib/factory/expressions/createPrefixMinus.mjs +2 -1
- package/lib/factory/expressions/createPrefixMinus.mjs.map +1 -1
- package/lib/factory/expressions/createPrefixPlus.mjs +2 -1
- package/lib/factory/expressions/createPrefixPlus.mjs.map +1 -1
- package/lib/factory/expressions/createPrefixUnaryExpression.mjs.map +1 -1
- package/lib/factory/expressions/createPropertyAccessChain.mjs.map +1 -1
- package/lib/factory/expressions/createPropertyAccessExpression.mjs.map +1 -1
- package/lib/factory/expressions/createPropertyAssignment.mjs.map +1 -1
- package/lib/factory/expressions/createRegularExpressionLiteral.mjs.map +1 -1
- package/lib/factory/expressions/createRightShift.mjs +2 -1
- package/lib/factory/expressions/createRightShift.mjs.map +1 -1
- package/lib/factory/expressions/createSatisfiesExpression.mjs.map +1 -1
- package/lib/factory/expressions/createShorthandPropertyAssignment.mjs.map +1 -1
- package/lib/factory/expressions/createSpreadAssignment.mjs.map +1 -1
- package/lib/factory/expressions/createSpreadElement.mjs.map +1 -1
- package/lib/factory/expressions/createStrictEquality.mjs +2 -1
- package/lib/factory/expressions/createStrictEquality.mjs.map +1 -1
- package/lib/factory/expressions/createStrictInequality.mjs +2 -1
- package/lib/factory/expressions/createStrictInequality.mjs.map +1 -1
- package/lib/factory/expressions/createSubtract.mjs +2 -1
- package/lib/factory/expressions/createSubtract.mjs.map +1 -1
- package/lib/factory/expressions/createTaggedTemplateExpression.mjs.map +1 -1
- package/lib/factory/expressions/createTemplateExpression.mjs.map +1 -1
- package/lib/factory/expressions/createTemplateSpan.mjs.map +1 -1
- package/lib/factory/expressions/createTypeAssertion.mjs.map +1 -1
- package/lib/factory/expressions/createTypeOfExpression.mjs.map +1 -1
- package/lib/factory/expressions/createUnsignedRightShift.mjs +2 -1
- package/lib/factory/expressions/createUnsignedRightShift.mjs.map +1 -1
- package/lib/factory/expressions/createVoidExpression.mjs.map +1 -1
- package/lib/factory/expressions/createVoidZero.mjs.map +1 -1
- package/lib/factory/expressions/createYieldExpression.mjs.map +1 -1
- package/lib/factory/file/createBundle.mjs.map +1 -1
- package/lib/factory/file/createNodeArray.mjs.map +1 -1
- package/lib/factory/file/createSourceFile.mjs.map +1 -1
- package/lib/factory/file/updateSourceFile.mjs.map +1 -1
- package/lib/factory/imports/createExportAssignment.mjs.map +1 -1
- package/lib/factory/imports/createExportDeclaration.mjs.map +1 -1
- package/lib/factory/imports/createExportDefault.mjs.map +1 -1
- package/lib/factory/imports/createExportSpecifier.mjs.map +1 -1
- package/lib/factory/imports/createExternalModuleExport.mjs.map +1 -1
- package/lib/factory/imports/createImportAttribute.mjs.map +1 -1
- package/lib/factory/imports/createImportAttributes.mjs.map +1 -1
- package/lib/factory/imports/createImportClause.mjs.map +1 -1
- package/lib/factory/imports/createImportDeclaration.mjs.map +1 -1
- package/lib/factory/imports/createImportSpecifier.mjs.map +1 -1
- package/lib/factory/imports/createNamedExports.mjs.map +1 -1
- package/lib/factory/imports/createNamedImports.mjs.map +1 -1
- package/lib/factory/imports/createNamespaceExport.mjs.map +1 -1
- package/lib/factory/imports/createNamespaceImport.mjs.map +1 -1
- package/lib/factory/index.mjs.map +1 -1
- package/lib/factory/internal/asEntityName.mjs.map +1 -1
- package/lib/factory/internal/asName.mjs.map +1 -1
- package/lib/factory/internal/asPropertyName.mjs.map +1 -1
- package/lib/factory/internal/make.mjs.map +1 -1
- package/lib/factory/jsdoc/createJSDocAllType.mjs.map +1 -1
- package/lib/factory/jsdoc/createJSDocAugmentsTag.mjs.map +1 -1
- package/lib/factory/jsdoc/createJSDocAuthorTag.mjs.map +1 -1
- package/lib/factory/jsdoc/createJSDocCallbackTag.mjs.map +1 -1
- package/lib/factory/jsdoc/createJSDocClassTag.mjs.map +1 -1
- package/lib/factory/jsdoc/createJSDocComment.mjs.map +1 -1
- package/lib/factory/jsdoc/createJSDocDeprecatedTag.mjs.map +1 -1
- package/lib/factory/jsdoc/createJSDocEnumTag.mjs.map +1 -1
- package/lib/factory/jsdoc/createJSDocFunctionType.mjs.map +1 -1
- package/lib/factory/jsdoc/createJSDocImplementsTag.mjs.map +1 -1
- package/lib/factory/jsdoc/createJSDocImportTag.mjs.map +1 -1
- package/lib/factory/jsdoc/createJSDocLink.mjs.map +1 -1
- package/lib/factory/jsdoc/createJSDocLinkCode.mjs.map +1 -1
- package/lib/factory/jsdoc/createJSDocLinkPlain.mjs.map +1 -1
- package/lib/factory/jsdoc/createJSDocMemberName.mjs.map +1 -1
- package/lib/factory/jsdoc/createJSDocNameReference.mjs.map +1 -1
- package/lib/factory/jsdoc/createJSDocNamepathType.mjs.map +1 -1
- package/lib/factory/jsdoc/createJSDocNonNullableType.mjs.map +1 -1
- package/lib/factory/jsdoc/createJSDocNullableType.mjs.map +1 -1
- package/lib/factory/jsdoc/createJSDocOptionalType.mjs.map +1 -1
- package/lib/factory/jsdoc/createJSDocOverloadTag.mjs.map +1 -1
- package/lib/factory/jsdoc/createJSDocOverrideTag.mjs.map +1 -1
- package/lib/factory/jsdoc/createJSDocParameterTag.mjs.map +1 -1
- package/lib/factory/jsdoc/createJSDocPrivateTag.mjs.map +1 -1
- package/lib/factory/jsdoc/createJSDocPropertyTag.mjs.map +1 -1
- package/lib/factory/jsdoc/createJSDocProtectedTag.mjs.map +1 -1
- package/lib/factory/jsdoc/createJSDocPublicTag.mjs.map +1 -1
- package/lib/factory/jsdoc/createJSDocReadonlyTag.mjs.map +1 -1
- package/lib/factory/jsdoc/createJSDocReturnTag.mjs.map +1 -1
- package/lib/factory/jsdoc/createJSDocSatisfiesTag.mjs.map +1 -1
- package/lib/factory/jsdoc/createJSDocSeeTag.mjs.map +1 -1
- package/lib/factory/jsdoc/createJSDocSignature.mjs.map +1 -1
- package/lib/factory/jsdoc/createJSDocTemplateTag.mjs.map +1 -1
- package/lib/factory/jsdoc/createJSDocText.mjs.map +1 -1
- package/lib/factory/jsdoc/createJSDocThisTag.mjs.map +1 -1
- package/lib/factory/jsdoc/createJSDocThrowsTag.mjs.map +1 -1
- package/lib/factory/jsdoc/createJSDocTypeExpression.mjs.map +1 -1
- package/lib/factory/jsdoc/createJSDocTypeLiteral.mjs.map +1 -1
- package/lib/factory/jsdoc/createJSDocTypeTag.mjs.map +1 -1
- package/lib/factory/jsdoc/createJSDocTypedefTag.mjs.map +1 -1
- package/lib/factory/jsdoc/createJSDocUnknownTag.mjs.map +1 -1
- package/lib/factory/jsdoc/createJSDocUnknownType.mjs.map +1 -1
- package/lib/factory/jsdoc/createJSDocVariadicType.mjs.map +1 -1
- package/lib/factory/jsx/createJsxAttribute.mjs.map +1 -1
- package/lib/factory/jsx/createJsxAttributes.mjs.map +1 -1
- package/lib/factory/jsx/createJsxClosingElement.mjs.map +1 -1
- package/lib/factory/jsx/createJsxElement.mjs.map +1 -1
- package/lib/factory/jsx/createJsxExpression.mjs.map +1 -1
- package/lib/factory/jsx/createJsxFragment.mjs.map +1 -1
- package/lib/factory/jsx/createJsxJsxClosingFragment.mjs.map +1 -1
- package/lib/factory/jsx/createJsxNamespacedName.mjs.map +1 -1
- package/lib/factory/jsx/createJsxOpeningElement.mjs.map +1 -1
- package/lib/factory/jsx/createJsxOpeningFragment.mjs.map +1 -1
- package/lib/factory/jsx/createJsxSelfClosingElement.mjs.map +1 -1
- package/lib/factory/jsx/createJsxSpreadAttribute.mjs.map +1 -1
- package/lib/factory/jsx/createJsxText.mjs.map +1 -1
- package/lib/factory/literals/createBigIntLiteral.mjs.map +1 -1
- package/lib/factory/literals/createNoSubstitutionTemplateLiteral.mjs.map +1 -1
- package/lib/factory/literals/createNumericLiteral.mjs.map +1 -1
- package/lib/factory/literals/createStringLiteral.mjs.map +1 -1
- package/lib/factory/literals/createStringLiteralFromNode.mjs.map +1 -1
- package/lib/factory/literals/createTemplateHead.mjs.map +1 -1
- package/lib/factory/literals/createTemplateMiddle.mjs.map +1 -1
- package/lib/factory/literals/createTemplateTail.mjs.map +1 -1
- package/lib/factory/names/createDecorator.mjs.map +1 -1
- package/lib/factory/names/createFalse.mjs +2 -1
- package/lib/factory/names/createFalse.mjs.map +1 -1
- package/lib/factory/names/createIdentifier.mjs.map +1 -1
- package/lib/factory/names/createLoopVariable.mjs.map +1 -1
- package/lib/factory/names/createModifier.mjs.map +1 -1
- package/lib/factory/names/createModifiersFromModifierFlags.mjs +2 -1
- package/lib/factory/names/createModifiersFromModifierFlags.mjs.map +1 -1
- package/lib/factory/names/createNull.mjs +2 -1
- package/lib/factory/names/createNull.mjs.map +1 -1
- package/lib/factory/names/createPrivateIdentifier.mjs.map +1 -1
- package/lib/factory/names/createQualifiedName.mjs.map +1 -1
- package/lib/factory/names/createSuper.mjs +2 -1
- package/lib/factory/names/createSuper.mjs.map +1 -1
- package/lib/factory/names/createTempVariable.mjs.map +1 -1
- package/lib/factory/names/createThis.mjs +2 -1
- package/lib/factory/names/createThis.mjs.map +1 -1
- package/lib/factory/names/createToken.mjs.map +1 -1
- package/lib/factory/names/createTrue.mjs +2 -1
- package/lib/factory/names/createTrue.mjs.map +1 -1
- package/lib/factory/names/createUniqueName.mjs.map +1 -1
- package/lib/factory/names/createUniquePrivateName.mjs.map +1 -1
- package/lib/factory/statements/createBlock.mjs.map +1 -1
- package/lib/factory/statements/createBreakStatement.mjs.map +1 -1
- package/lib/factory/statements/createCaseBlock.mjs.map +1 -1
- package/lib/factory/statements/createCaseClause.mjs.map +1 -1
- package/lib/factory/statements/createCatchClause.mjs.map +1 -1
- package/lib/factory/statements/createContinueStatement.mjs.map +1 -1
- package/lib/factory/statements/createDebuggerStatement.mjs.map +1 -1
- package/lib/factory/statements/createDefaultClause.mjs.map +1 -1
- package/lib/factory/statements/createDoStatement.mjs.map +1 -1
- package/lib/factory/statements/createEmptyStatement.mjs.map +1 -1
- package/lib/factory/statements/createExpressionStatement.mjs.map +1 -1
- package/lib/factory/statements/createForInStatement.mjs.map +1 -1
- package/lib/factory/statements/createForOfStatement.mjs.map +1 -1
- package/lib/factory/statements/createForStatement.mjs.map +1 -1
- package/lib/factory/statements/createIfStatement.mjs.map +1 -1
- package/lib/factory/statements/createLabeledStatement.mjs.map +1 -1
- package/lib/factory/statements/createNotEmittedStatement.mjs.map +1 -1
- package/lib/factory/statements/createReturnStatement.mjs.map +1 -1
- package/lib/factory/statements/createSwitchStatement.mjs.map +1 -1
- package/lib/factory/statements/createThrowStatement.mjs.map +1 -1
- package/lib/factory/statements/createTryStatement.mjs.map +1 -1
- package/lib/factory/statements/createVariableDeclaration.mjs.map +1 -1
- package/lib/factory/statements/createVariableDeclarationList.mjs +2 -1
- package/lib/factory/statements/createVariableDeclarationList.mjs.map +1 -1
- package/lib/factory/statements/createVariableStatement.mjs.map +1 -1
- package/lib/factory/statements/createWhileStatement.mjs.map +1 -1
- package/lib/factory/statements/createWithStatement.mjs.map +1 -1
- package/lib/factory/types/createArrayTypeNode.mjs.map +1 -1
- package/lib/factory/types/createCallSignature.mjs.map +1 -1
- package/lib/factory/types/createConditionalTypeNode.mjs.map +1 -1
- package/lib/factory/types/createConstructSignature.mjs.map +1 -1
- package/lib/factory/types/createConstructorTypeNode.mjs.map +1 -1
- package/lib/factory/types/createExpressionWithTypeArguments.mjs.map +1 -1
- package/lib/factory/types/createFunctionTypeNode.mjs.map +1 -1
- package/lib/factory/types/createImportTypeNode.mjs.map +1 -1
- package/lib/factory/types/createIndexSignature.mjs.map +1 -1
- package/lib/factory/types/createIndexedAccessTypeNode.mjs.map +1 -1
- package/lib/factory/types/createInferTypeNode.mjs.map +1 -1
- package/lib/factory/types/createIntersectionTypeNode.mjs.map +1 -1
- package/lib/factory/types/createKeywordTypeNode.mjs.map +1 -1
- package/lib/factory/types/createLiteralTypeNode.mjs.map +1 -1
- package/lib/factory/types/createMappedTypeNode.mjs.map +1 -1
- package/lib/factory/types/createMethodSignature.mjs.map +1 -1
- package/lib/factory/types/createNamedTupleMember.mjs.map +1 -1
- package/lib/factory/types/createNotEmittedTypeElement.mjs.map +1 -1
- package/lib/factory/types/createOptionalTypeNode.mjs.map +1 -1
- package/lib/factory/types/createParenthesizedType.mjs.map +1 -1
- package/lib/factory/types/createPropertySignature.mjs.map +1 -1
- package/lib/factory/types/createRestTypeNode.mjs.map +1 -1
- package/lib/factory/types/createTemplateLiteralType.mjs.map +1 -1
- package/lib/factory/types/createTemplateLiteralTypeSpan.mjs.map +1 -1
- package/lib/factory/types/createThisTypeNode.mjs.map +1 -1
- package/lib/factory/types/createTupleTypeNode.mjs.map +1 -1
- package/lib/factory/types/createTypeLiteralNode.mjs.map +1 -1
- package/lib/factory/types/createTypeOperatorNode.mjs.map +1 -1
- package/lib/factory/types/createTypeParameterDeclaration.mjs.map +1 -1
- package/lib/factory/types/createTypePredicateNode.mjs.map +1 -1
- package/lib/factory/types/createTypeQueryNode.mjs.map +1 -1
- package/lib/factory/types/createTypeReferenceNode.mjs.map +1 -1
- package/lib/factory/types/createUnionTypeNode.mjs.map +1 -1
- package/lib/index.d.ts +0 -1
- package/lib/index.js.map +1 -1
- package/lib/index.mjs +2 -2
- package/lib/internal/doc.mjs.map +1 -1
- package/lib/syntax/NodeFlags.mjs.map +1 -1
- package/lib/syntax/SyntaxKind.mjs.map +1 -1
- package/package.json +5 -10
- package/src/TsPrinter.ts +702 -88
- package/src/index.ts +0 -1
- package/lib/ast/Node.mjs +0 -2
- package/lib/ast/Node.mjs.map +0 -1
- package/lib/ast/clauses/HeritageClause.mjs +0 -2
- package/lib/ast/clauses/HeritageClause.mjs.map +0 -1
- package/lib/ast/clauses/ParameterDeclaration.mjs +0 -2
- package/lib/ast/clauses/ParameterDeclaration.mjs.map +0 -1
- package/lib/ast/declarations/ClassDeclaration.mjs +0 -2
- package/lib/ast/declarations/ClassDeclaration.mjs.map +0 -1
- package/lib/ast/declarations/ClassElement.mjs +0 -2
- package/lib/ast/declarations/ClassElement.mjs.map +0 -1
- package/lib/ast/declarations/ClassStaticBlockDeclaration.mjs +0 -2
- package/lib/ast/declarations/ClassStaticBlockDeclaration.mjs.map +0 -1
- package/lib/ast/declarations/ConstructorDeclaration.mjs +0 -2
- package/lib/ast/declarations/ConstructorDeclaration.mjs.map +0 -1
- package/lib/ast/declarations/EnumDeclaration.mjs +0 -2
- package/lib/ast/declarations/EnumDeclaration.mjs.map +0 -1
- package/lib/ast/declarations/EnumMember.mjs +0 -2
- package/lib/ast/declarations/EnumMember.mjs.map +0 -1
- package/lib/ast/declarations/ExternalModuleReference.mjs +0 -2
- package/lib/ast/declarations/ExternalModuleReference.mjs.map +0 -1
- package/lib/ast/declarations/FunctionDeclaration.mjs +0 -2
- package/lib/ast/declarations/FunctionDeclaration.mjs.map +0 -1
- package/lib/ast/declarations/GetAccessorDeclaration.mjs +0 -2
- package/lib/ast/declarations/GetAccessorDeclaration.mjs.map +0 -1
- package/lib/ast/declarations/ImportEqualsDeclaration.mjs +0 -2
- package/lib/ast/declarations/ImportEqualsDeclaration.mjs.map +0 -1
- package/lib/ast/declarations/InterfaceDeclaration.mjs +0 -2
- package/lib/ast/declarations/InterfaceDeclaration.mjs.map +0 -1
- package/lib/ast/declarations/MethodDeclaration.mjs +0 -2
- package/lib/ast/declarations/MethodDeclaration.mjs.map +0 -1
- package/lib/ast/declarations/ModuleBlock.mjs +0 -2
- package/lib/ast/declarations/ModuleBlock.mjs.map +0 -1
- package/lib/ast/declarations/ModuleBody.mjs +0 -2
- package/lib/ast/declarations/ModuleBody.mjs.map +0 -1
- package/lib/ast/declarations/ModuleDeclaration.mjs +0 -2
- package/lib/ast/declarations/ModuleDeclaration.mjs.map +0 -1
- package/lib/ast/declarations/ModuleName.mjs +0 -2
- package/lib/ast/declarations/ModuleName.mjs.map +0 -1
- package/lib/ast/declarations/ModuleReference.mjs +0 -2
- package/lib/ast/declarations/ModuleReference.mjs.map +0 -1
- package/lib/ast/declarations/NamespaceExportDeclaration.mjs +0 -2
- package/lib/ast/declarations/NamespaceExportDeclaration.mjs.map +0 -1
- package/lib/ast/declarations/PropertyDeclaration.mjs +0 -2
- package/lib/ast/declarations/PropertyDeclaration.mjs.map +0 -1
- package/lib/ast/declarations/SemicolonClassElement.mjs +0 -2
- package/lib/ast/declarations/SemicolonClassElement.mjs.map +0 -1
- package/lib/ast/declarations/SetAccessorDeclaration.mjs +0 -2
- package/lib/ast/declarations/SetAccessorDeclaration.mjs.map +0 -1
- package/lib/ast/declarations/TypeAliasDeclaration.mjs +0 -2
- package/lib/ast/declarations/TypeAliasDeclaration.mjs.map +0 -1
- package/lib/ast/expressions/ArrayBindingElement.mjs +0 -2
- package/lib/ast/expressions/ArrayBindingElement.mjs.map +0 -1
- package/lib/ast/expressions/ArrayBindingPattern.mjs +0 -2
- package/lib/ast/expressions/ArrayBindingPattern.mjs.map +0 -1
- package/lib/ast/expressions/ArrayLiteralExpression.mjs +0 -2
- package/lib/ast/expressions/ArrayLiteralExpression.mjs.map +0 -1
- package/lib/ast/expressions/ArrowFunction.mjs +0 -2
- package/lib/ast/expressions/ArrowFunction.mjs.map +0 -1
- package/lib/ast/expressions/AsExpression.mjs +0 -2
- package/lib/ast/expressions/AsExpression.mjs.map +0 -1
- package/lib/ast/expressions/AwaitExpression.mjs +0 -2
- package/lib/ast/expressions/AwaitExpression.mjs.map +0 -1
- package/lib/ast/expressions/BigIntLiteral.mjs +0 -2
- package/lib/ast/expressions/BigIntLiteral.mjs.map +0 -1
- package/lib/ast/expressions/BinaryExpression.mjs +0 -2
- package/lib/ast/expressions/BinaryExpression.mjs.map +0 -1
- package/lib/ast/expressions/BindingElement.mjs +0 -2
- package/lib/ast/expressions/BindingElement.mjs.map +0 -1
- package/lib/ast/expressions/BindingName.mjs +0 -2
- package/lib/ast/expressions/BindingName.mjs.map +0 -1
- package/lib/ast/expressions/CallChain.mjs +0 -2
- package/lib/ast/expressions/CallChain.mjs.map +0 -1
- package/lib/ast/expressions/CallExpression.mjs +0 -2
- package/lib/ast/expressions/CallExpression.mjs.map +0 -1
- package/lib/ast/expressions/ClassExpression.mjs +0 -2
- package/lib/ast/expressions/ClassExpression.mjs.map +0 -1
- package/lib/ast/expressions/CommaListExpression.mjs +0 -2
- package/lib/ast/expressions/CommaListExpression.mjs.map +0 -1
- package/lib/ast/expressions/ComputedPropertyName.mjs +0 -2
- package/lib/ast/expressions/ComputedPropertyName.mjs.map +0 -1
- package/lib/ast/expressions/ConditionalExpression.mjs +0 -2
- package/lib/ast/expressions/ConditionalExpression.mjs.map +0 -1
- package/lib/ast/expressions/DeleteExpression.mjs +0 -2
- package/lib/ast/expressions/DeleteExpression.mjs.map +0 -1
- package/lib/ast/expressions/ElementAccessChain.mjs +0 -2
- package/lib/ast/expressions/ElementAccessChain.mjs.map +0 -1
- package/lib/ast/expressions/ElementAccessExpression.mjs +0 -2
- package/lib/ast/expressions/ElementAccessExpression.mjs.map +0 -1
- package/lib/ast/expressions/Expression.mjs +0 -2
- package/lib/ast/expressions/Expression.mjs.map +0 -1
- package/lib/ast/expressions/FunctionExpression.mjs +0 -2
- package/lib/ast/expressions/FunctionExpression.mjs.map +0 -1
- package/lib/ast/expressions/MetaProperty.mjs +0 -2
- package/lib/ast/expressions/MetaProperty.mjs.map +0 -1
- package/lib/ast/expressions/NewExpression.mjs +0 -2
- package/lib/ast/expressions/NewExpression.mjs.map +0 -1
- package/lib/ast/expressions/NoSubstitutionTemplateLiteral.mjs +0 -2
- package/lib/ast/expressions/NoSubstitutionTemplateLiteral.mjs.map +0 -1
- package/lib/ast/expressions/NonNullChain.mjs +0 -2
- package/lib/ast/expressions/NonNullChain.mjs.map +0 -1
- package/lib/ast/expressions/NonNullExpression.mjs +0 -2
- package/lib/ast/expressions/NonNullExpression.mjs.map +0 -1
- package/lib/ast/expressions/NumericLiteral.mjs +0 -2
- package/lib/ast/expressions/NumericLiteral.mjs.map +0 -1
- package/lib/ast/expressions/ObjectBindingPattern.mjs +0 -2
- package/lib/ast/expressions/ObjectBindingPattern.mjs.map +0 -1
- package/lib/ast/expressions/ObjectLiteralElement.mjs +0 -2
- package/lib/ast/expressions/ObjectLiteralElement.mjs.map +0 -1
- package/lib/ast/expressions/ObjectLiteralExpression.mjs +0 -2
- package/lib/ast/expressions/ObjectLiteralExpression.mjs.map +0 -1
- package/lib/ast/expressions/OmittedExpression.mjs +0 -2
- package/lib/ast/expressions/OmittedExpression.mjs.map +0 -1
- package/lib/ast/expressions/ParenthesizedExpression.mjs +0 -2
- package/lib/ast/expressions/ParenthesizedExpression.mjs.map +0 -1
- package/lib/ast/expressions/PartiallyEmittedExpression.mjs +0 -2
- package/lib/ast/expressions/PartiallyEmittedExpression.mjs.map +0 -1
- package/lib/ast/expressions/PostfixUnaryExpression.mjs +0 -2
- package/lib/ast/expressions/PostfixUnaryExpression.mjs.map +0 -1
- package/lib/ast/expressions/PrefixUnaryExpression.mjs +0 -2
- package/lib/ast/expressions/PrefixUnaryExpression.mjs.map +0 -1
- package/lib/ast/expressions/PropertyAccessChain.mjs +0 -2
- package/lib/ast/expressions/PropertyAccessChain.mjs.map +0 -1
- package/lib/ast/expressions/PropertyAccessExpression.mjs +0 -2
- package/lib/ast/expressions/PropertyAccessExpression.mjs.map +0 -1
- package/lib/ast/expressions/PropertyAssignment.mjs +0 -2
- package/lib/ast/expressions/PropertyAssignment.mjs.map +0 -1
- package/lib/ast/expressions/RegularExpressionLiteral.mjs +0 -2
- package/lib/ast/expressions/RegularExpressionLiteral.mjs.map +0 -1
- package/lib/ast/expressions/SatisfiesExpression.mjs +0 -2
- package/lib/ast/expressions/SatisfiesExpression.mjs.map +0 -1
- package/lib/ast/expressions/ShorthandPropertyAssignment.mjs +0 -2
- package/lib/ast/expressions/ShorthandPropertyAssignment.mjs.map +0 -1
- package/lib/ast/expressions/SpreadAssignment.mjs +0 -2
- package/lib/ast/expressions/SpreadAssignment.mjs.map +0 -1
- package/lib/ast/expressions/SpreadElement.mjs +0 -2
- package/lib/ast/expressions/SpreadElement.mjs.map +0 -1
- package/lib/ast/expressions/StringLiteral.mjs +0 -2
- package/lib/ast/expressions/StringLiteral.mjs.map +0 -1
- package/lib/ast/expressions/TaggedTemplateExpression.mjs +0 -2
- package/lib/ast/expressions/TaggedTemplateExpression.mjs.map +0 -1
- package/lib/ast/expressions/TemplateExpression.mjs +0 -2
- package/lib/ast/expressions/TemplateExpression.mjs.map +0 -1
- package/lib/ast/expressions/TemplateHead.mjs +0 -2
- package/lib/ast/expressions/TemplateHead.mjs.map +0 -1
- package/lib/ast/expressions/TemplateLiteral.mjs +0 -2
- package/lib/ast/expressions/TemplateLiteral.mjs.map +0 -1
- package/lib/ast/expressions/TemplateMiddle.mjs +0 -2
- package/lib/ast/expressions/TemplateMiddle.mjs.map +0 -1
- package/lib/ast/expressions/TemplateSpan.mjs +0 -2
- package/lib/ast/expressions/TemplateSpan.mjs.map +0 -1
- package/lib/ast/expressions/TemplateTail.mjs +0 -2
- package/lib/ast/expressions/TemplateTail.mjs.map +0 -1
- package/lib/ast/expressions/TypeAssertion.mjs +0 -2
- package/lib/ast/expressions/TypeAssertion.mjs.map +0 -1
- package/lib/ast/expressions/TypeOfExpression.mjs +0 -2
- package/lib/ast/expressions/TypeOfExpression.mjs.map +0 -1
- package/lib/ast/expressions/VoidExpression.mjs +0 -2
- package/lib/ast/expressions/VoidExpression.mjs.map +0 -1
- package/lib/ast/expressions/YieldExpression.mjs +0 -2
- package/lib/ast/expressions/YieldExpression.mjs.map +0 -1
- package/lib/ast/file/Bundle.mjs +0 -2
- package/lib/ast/file/Bundle.mjs.map +0 -1
- package/lib/ast/file/SourceFile.mjs +0 -2
- package/lib/ast/file/SourceFile.mjs.map +0 -1
- package/lib/ast/imports/ExportAssignment.mjs +0 -2
- package/lib/ast/imports/ExportAssignment.mjs.map +0 -1
- package/lib/ast/imports/ExportDeclaration.mjs +0 -2
- package/lib/ast/imports/ExportDeclaration.mjs.map +0 -1
- package/lib/ast/imports/ExportSpecifier.mjs +0 -2
- package/lib/ast/imports/ExportSpecifier.mjs.map +0 -1
- package/lib/ast/imports/ImportAttribute.mjs +0 -2
- package/lib/ast/imports/ImportAttribute.mjs.map +0 -1
- package/lib/ast/imports/ImportAttributeName.mjs +0 -2
- package/lib/ast/imports/ImportAttributeName.mjs.map +0 -1
- package/lib/ast/imports/ImportAttributes.mjs +0 -2
- package/lib/ast/imports/ImportAttributes.mjs.map +0 -1
- package/lib/ast/imports/ImportClause.mjs +0 -2
- package/lib/ast/imports/ImportClause.mjs.map +0 -1
- package/lib/ast/imports/ImportDeclaration.mjs +0 -2
- package/lib/ast/imports/ImportDeclaration.mjs.map +0 -1
- package/lib/ast/imports/ImportSpecifier.mjs +0 -2
- package/lib/ast/imports/ImportSpecifier.mjs.map +0 -1
- package/lib/ast/imports/NamedExports.mjs +0 -2
- package/lib/ast/imports/NamedExports.mjs.map +0 -1
- package/lib/ast/imports/NamedImports.mjs +0 -2
- package/lib/ast/imports/NamedImports.mjs.map +0 -1
- package/lib/ast/imports/NamespaceExport.mjs +0 -2
- package/lib/ast/imports/NamespaceExport.mjs.map +0 -1
- package/lib/ast/imports/NamespaceImport.mjs +0 -2
- package/lib/ast/imports/NamespaceImport.mjs.map +0 -1
- package/lib/ast/index.mjs +0 -2
- package/lib/ast/index.mjs.map +0 -1
- package/lib/ast/jsdoc/JSDoc.mjs +0 -2
- package/lib/ast/jsdoc/JSDoc.mjs.map +0 -1
- package/lib/ast/jsdoc/JSDocAllType.mjs +0 -2
- package/lib/ast/jsdoc/JSDocAllType.mjs.map +0 -1
- package/lib/ast/jsdoc/JSDocAugmentsTag.mjs +0 -2
- package/lib/ast/jsdoc/JSDocAugmentsTag.mjs.map +0 -1
- package/lib/ast/jsdoc/JSDocAuthorTag.mjs +0 -2
- package/lib/ast/jsdoc/JSDocAuthorTag.mjs.map +0 -1
- package/lib/ast/jsdoc/JSDocCallbackTag.mjs +0 -2
- package/lib/ast/jsdoc/JSDocCallbackTag.mjs.map +0 -1
- package/lib/ast/jsdoc/JSDocClassTag.mjs +0 -2
- package/lib/ast/jsdoc/JSDocClassTag.mjs.map +0 -1
- package/lib/ast/jsdoc/JSDocComment.mjs +0 -2
- package/lib/ast/jsdoc/JSDocComment.mjs.map +0 -1
- package/lib/ast/jsdoc/JSDocDeprecatedTag.mjs +0 -2
- package/lib/ast/jsdoc/JSDocDeprecatedTag.mjs.map +0 -1
- package/lib/ast/jsdoc/JSDocEnumTag.mjs +0 -2
- package/lib/ast/jsdoc/JSDocEnumTag.mjs.map +0 -1
- package/lib/ast/jsdoc/JSDocFunctionType.mjs +0 -2
- package/lib/ast/jsdoc/JSDocFunctionType.mjs.map +0 -1
- package/lib/ast/jsdoc/JSDocImplementsTag.mjs +0 -2
- package/lib/ast/jsdoc/JSDocImplementsTag.mjs.map +0 -1
- package/lib/ast/jsdoc/JSDocImportTag.mjs +0 -2
- package/lib/ast/jsdoc/JSDocImportTag.mjs.map +0 -1
- package/lib/ast/jsdoc/JSDocLink.mjs +0 -2
- package/lib/ast/jsdoc/JSDocLink.mjs.map +0 -1
- package/lib/ast/jsdoc/JSDocLinkCode.mjs +0 -2
- package/lib/ast/jsdoc/JSDocLinkCode.mjs.map +0 -1
- package/lib/ast/jsdoc/JSDocLinkPlain.mjs +0 -2
- package/lib/ast/jsdoc/JSDocLinkPlain.mjs.map +0 -1
- package/lib/ast/jsdoc/JSDocMemberName.mjs +0 -2
- package/lib/ast/jsdoc/JSDocMemberName.mjs.map +0 -1
- package/lib/ast/jsdoc/JSDocNameReference.mjs +0 -2
- package/lib/ast/jsdoc/JSDocNameReference.mjs.map +0 -1
- package/lib/ast/jsdoc/JSDocNamepathType.mjs +0 -2
- package/lib/ast/jsdoc/JSDocNamepathType.mjs.map +0 -1
- package/lib/ast/jsdoc/JSDocNonNullableType.mjs +0 -2
- package/lib/ast/jsdoc/JSDocNonNullableType.mjs.map +0 -1
- package/lib/ast/jsdoc/JSDocNullableType.mjs +0 -2
- package/lib/ast/jsdoc/JSDocNullableType.mjs.map +0 -1
- package/lib/ast/jsdoc/JSDocOptionalType.mjs +0 -2
- package/lib/ast/jsdoc/JSDocOptionalType.mjs.map +0 -1
- package/lib/ast/jsdoc/JSDocOverloadTag.mjs +0 -2
- package/lib/ast/jsdoc/JSDocOverloadTag.mjs.map +0 -1
- package/lib/ast/jsdoc/JSDocOverrideTag.mjs +0 -2
- package/lib/ast/jsdoc/JSDocOverrideTag.mjs.map +0 -1
- package/lib/ast/jsdoc/JSDocParameterTag.mjs +0 -2
- package/lib/ast/jsdoc/JSDocParameterTag.mjs.map +0 -1
- package/lib/ast/jsdoc/JSDocPrivateTag.mjs +0 -2
- package/lib/ast/jsdoc/JSDocPrivateTag.mjs.map +0 -1
- package/lib/ast/jsdoc/JSDocPropertyTag.mjs +0 -2
- package/lib/ast/jsdoc/JSDocPropertyTag.mjs.map +0 -1
- package/lib/ast/jsdoc/JSDocProtectedTag.mjs +0 -2
- package/lib/ast/jsdoc/JSDocProtectedTag.mjs.map +0 -1
- package/lib/ast/jsdoc/JSDocPublicTag.mjs +0 -2
- package/lib/ast/jsdoc/JSDocPublicTag.mjs.map +0 -1
- package/lib/ast/jsdoc/JSDocReadonlyTag.mjs +0 -2
- package/lib/ast/jsdoc/JSDocReadonlyTag.mjs.map +0 -1
- package/lib/ast/jsdoc/JSDocReturnTag.mjs +0 -2
- package/lib/ast/jsdoc/JSDocReturnTag.mjs.map +0 -1
- package/lib/ast/jsdoc/JSDocSatisfiesTag.mjs +0 -2
- package/lib/ast/jsdoc/JSDocSatisfiesTag.mjs.map +0 -1
- package/lib/ast/jsdoc/JSDocSeeTag.mjs +0 -2
- package/lib/ast/jsdoc/JSDocSeeTag.mjs.map +0 -1
- package/lib/ast/jsdoc/JSDocSignature.mjs +0 -2
- package/lib/ast/jsdoc/JSDocSignature.mjs.map +0 -1
- package/lib/ast/jsdoc/JSDocTag.mjs +0 -2
- package/lib/ast/jsdoc/JSDocTag.mjs.map +0 -1
- package/lib/ast/jsdoc/JSDocTemplateTag.mjs +0 -2
- package/lib/ast/jsdoc/JSDocTemplateTag.mjs.map +0 -1
- package/lib/ast/jsdoc/JSDocText.mjs +0 -2
- package/lib/ast/jsdoc/JSDocText.mjs.map +0 -1
- package/lib/ast/jsdoc/JSDocThisTag.mjs +0 -2
- package/lib/ast/jsdoc/JSDocThisTag.mjs.map +0 -1
- package/lib/ast/jsdoc/JSDocThrowsTag.mjs +0 -2
- package/lib/ast/jsdoc/JSDocThrowsTag.mjs.map +0 -1
- package/lib/ast/jsdoc/JSDocTypeExpression.mjs +0 -2
- package/lib/ast/jsdoc/JSDocTypeExpression.mjs.map +0 -1
- package/lib/ast/jsdoc/JSDocTypeLiteral.mjs +0 -2
- package/lib/ast/jsdoc/JSDocTypeLiteral.mjs.map +0 -1
- package/lib/ast/jsdoc/JSDocTypeTag.mjs +0 -2
- package/lib/ast/jsdoc/JSDocTypeTag.mjs.map +0 -1
- package/lib/ast/jsdoc/JSDocTypedefTag.mjs +0 -2
- package/lib/ast/jsdoc/JSDocTypedefTag.mjs.map +0 -1
- package/lib/ast/jsdoc/JSDocUnknownTag.mjs +0 -2
- package/lib/ast/jsdoc/JSDocUnknownTag.mjs.map +0 -1
- package/lib/ast/jsdoc/JSDocUnknownType.mjs +0 -2
- package/lib/ast/jsdoc/JSDocUnknownType.mjs.map +0 -1
- package/lib/ast/jsdoc/JSDocVariadicType.mjs +0 -2
- package/lib/ast/jsdoc/JSDocVariadicType.mjs.map +0 -1
- package/lib/ast/jsx/JsxAttribute.mjs +0 -2
- package/lib/ast/jsx/JsxAttribute.mjs.map +0 -1
- package/lib/ast/jsx/JsxAttributeLike.mjs +0 -2
- package/lib/ast/jsx/JsxAttributeLike.mjs.map +0 -1
- package/lib/ast/jsx/JsxAttributeName.mjs +0 -2
- package/lib/ast/jsx/JsxAttributeName.mjs.map +0 -1
- package/lib/ast/jsx/JsxAttributeValue.mjs +0 -2
- package/lib/ast/jsx/JsxAttributeValue.mjs.map +0 -1
- package/lib/ast/jsx/JsxAttributes.mjs +0 -2
- package/lib/ast/jsx/JsxAttributes.mjs.map +0 -1
- package/lib/ast/jsx/JsxChild.mjs +0 -2
- package/lib/ast/jsx/JsxChild.mjs.map +0 -1
- package/lib/ast/jsx/JsxClosingElement.mjs +0 -2
- package/lib/ast/jsx/JsxClosingElement.mjs.map +0 -1
- package/lib/ast/jsx/JsxClosingFragment.mjs +0 -2
- package/lib/ast/jsx/JsxClosingFragment.mjs.map +0 -1
- package/lib/ast/jsx/JsxElement.mjs +0 -2
- package/lib/ast/jsx/JsxElement.mjs.map +0 -1
- package/lib/ast/jsx/JsxExpression.mjs +0 -2
- package/lib/ast/jsx/JsxExpression.mjs.map +0 -1
- package/lib/ast/jsx/JsxFragment.mjs +0 -2
- package/lib/ast/jsx/JsxFragment.mjs.map +0 -1
- package/lib/ast/jsx/JsxNamespacedName.mjs +0 -2
- package/lib/ast/jsx/JsxNamespacedName.mjs.map +0 -1
- package/lib/ast/jsx/JsxOpeningElement.mjs +0 -2
- package/lib/ast/jsx/JsxOpeningElement.mjs.map +0 -1
- package/lib/ast/jsx/JsxOpeningFragment.mjs +0 -2
- package/lib/ast/jsx/JsxOpeningFragment.mjs.map +0 -1
- package/lib/ast/jsx/JsxSelfClosingElement.mjs +0 -2
- package/lib/ast/jsx/JsxSelfClosingElement.mjs.map +0 -1
- package/lib/ast/jsx/JsxSpreadAttribute.mjs +0 -2
- package/lib/ast/jsx/JsxSpreadAttribute.mjs.map +0 -1
- package/lib/ast/jsx/JsxTagName.mjs +0 -2
- package/lib/ast/jsx/JsxTagName.mjs.map +0 -1
- package/lib/ast/jsx/JsxText.mjs +0 -2
- package/lib/ast/jsx/JsxText.mjs.map +0 -1
- package/lib/ast/names/Decorator.mjs +0 -2
- package/lib/ast/names/Decorator.mjs.map +0 -1
- package/lib/ast/names/EntityName.mjs +0 -2
- package/lib/ast/names/EntityName.mjs.map +0 -1
- package/lib/ast/names/Identifier.mjs +0 -2
- package/lib/ast/names/Identifier.mjs.map +0 -1
- package/lib/ast/names/Modifier.mjs +0 -2
- package/lib/ast/names/Modifier.mjs.map +0 -1
- package/lib/ast/names/ModifierLike.mjs +0 -2
- package/lib/ast/names/ModifierLike.mjs.map +0 -1
- package/lib/ast/names/PrivateIdentifier.mjs +0 -2
- package/lib/ast/names/PrivateIdentifier.mjs.map +0 -1
- package/lib/ast/names/PropertyName.mjs +0 -2
- package/lib/ast/names/PropertyName.mjs.map +0 -1
- package/lib/ast/names/QualifiedName.mjs +0 -2
- package/lib/ast/names/QualifiedName.mjs.map +0 -1
- package/lib/ast/names/Token.mjs +0 -2
- package/lib/ast/names/Token.mjs.map +0 -1
- package/lib/ast/statements/Block.mjs +0 -2
- package/lib/ast/statements/Block.mjs.map +0 -1
- package/lib/ast/statements/BreakStatement.mjs +0 -2
- package/lib/ast/statements/BreakStatement.mjs.map +0 -1
- package/lib/ast/statements/CaseBlock.mjs +0 -2
- package/lib/ast/statements/CaseBlock.mjs.map +0 -1
- package/lib/ast/statements/CaseClause.mjs +0 -2
- package/lib/ast/statements/CaseClause.mjs.map +0 -1
- package/lib/ast/statements/CaseOrDefaultClause.mjs +0 -2
- package/lib/ast/statements/CaseOrDefaultClause.mjs.map +0 -1
- package/lib/ast/statements/CatchClause.mjs +0 -2
- package/lib/ast/statements/CatchClause.mjs.map +0 -1
- package/lib/ast/statements/ContinueStatement.mjs +0 -2
- package/lib/ast/statements/ContinueStatement.mjs.map +0 -1
- package/lib/ast/statements/DebuggerStatement.mjs +0 -2
- package/lib/ast/statements/DebuggerStatement.mjs.map +0 -1
- package/lib/ast/statements/Declaration.mjs +0 -2
- package/lib/ast/statements/Declaration.mjs.map +0 -1
- package/lib/ast/statements/DefaultClause.mjs +0 -2
- package/lib/ast/statements/DefaultClause.mjs.map +0 -1
- package/lib/ast/statements/DoStatement.mjs +0 -2
- package/lib/ast/statements/DoStatement.mjs.map +0 -1
- package/lib/ast/statements/EmptyStatement.mjs +0 -2
- package/lib/ast/statements/EmptyStatement.mjs.map +0 -1
- package/lib/ast/statements/ExpressionStatement.mjs +0 -2
- package/lib/ast/statements/ExpressionStatement.mjs.map +0 -1
- package/lib/ast/statements/ForInStatement.mjs +0 -2
- package/lib/ast/statements/ForInStatement.mjs.map +0 -1
- package/lib/ast/statements/ForInitializer.mjs +0 -2
- package/lib/ast/statements/ForInitializer.mjs.map +0 -1
- package/lib/ast/statements/ForOfStatement.mjs +0 -2
- package/lib/ast/statements/ForOfStatement.mjs.map +0 -1
- package/lib/ast/statements/ForStatement.mjs +0 -2
- package/lib/ast/statements/ForStatement.mjs.map +0 -1
- package/lib/ast/statements/IfStatement.mjs +0 -2
- package/lib/ast/statements/IfStatement.mjs.map +0 -1
- package/lib/ast/statements/LabeledStatement.mjs +0 -2
- package/lib/ast/statements/LabeledStatement.mjs.map +0 -1
- package/lib/ast/statements/NotEmittedStatement.mjs +0 -2
- package/lib/ast/statements/NotEmittedStatement.mjs.map +0 -1
- package/lib/ast/statements/ReturnStatement.mjs +0 -2
- package/lib/ast/statements/ReturnStatement.mjs.map +0 -1
- package/lib/ast/statements/Statement.mjs +0 -2
- package/lib/ast/statements/Statement.mjs.map +0 -1
- package/lib/ast/statements/SwitchStatement.mjs +0 -2
- package/lib/ast/statements/SwitchStatement.mjs.map +0 -1
- package/lib/ast/statements/ThrowStatement.mjs +0 -2
- package/lib/ast/statements/ThrowStatement.mjs.map +0 -1
- package/lib/ast/statements/TryStatement.mjs +0 -2
- package/lib/ast/statements/TryStatement.mjs.map +0 -1
- package/lib/ast/statements/VariableDeclaration.mjs +0 -2
- package/lib/ast/statements/VariableDeclaration.mjs.map +0 -1
- package/lib/ast/statements/VariableDeclarationList.mjs +0 -2
- package/lib/ast/statements/VariableDeclarationList.mjs.map +0 -1
- package/lib/ast/statements/VariableStatement.mjs +0 -2
- package/lib/ast/statements/VariableStatement.mjs.map +0 -1
- package/lib/ast/statements/WhileStatement.mjs +0 -2
- package/lib/ast/statements/WhileStatement.mjs.map +0 -1
- package/lib/ast/statements/WithStatement.mjs +0 -2
- package/lib/ast/statements/WithStatement.mjs.map +0 -1
- package/lib/ast/types/ArrayTypeNode.mjs +0 -2
- package/lib/ast/types/ArrayTypeNode.mjs.map +0 -1
- package/lib/ast/types/CallSignatureDeclaration.mjs +0 -2
- package/lib/ast/types/CallSignatureDeclaration.mjs.map +0 -1
- package/lib/ast/types/ConditionalTypeNode.mjs +0 -2
- package/lib/ast/types/ConditionalTypeNode.mjs.map +0 -1
- package/lib/ast/types/ConstructSignatureDeclaration.mjs +0 -2
- package/lib/ast/types/ConstructSignatureDeclaration.mjs.map +0 -1
- package/lib/ast/types/ConstructorTypeNode.mjs +0 -2
- package/lib/ast/types/ConstructorTypeNode.mjs.map +0 -1
- package/lib/ast/types/ExpressionWithTypeArguments.mjs +0 -2
- package/lib/ast/types/ExpressionWithTypeArguments.mjs.map +0 -1
- package/lib/ast/types/FunctionTypeNode.mjs +0 -2
- package/lib/ast/types/FunctionTypeNode.mjs.map +0 -1
- package/lib/ast/types/ImportTypeNode.mjs +0 -2
- package/lib/ast/types/ImportTypeNode.mjs.map +0 -1
- package/lib/ast/types/IndexSignatureDeclaration.mjs +0 -2
- package/lib/ast/types/IndexSignatureDeclaration.mjs.map +0 -1
- package/lib/ast/types/IndexedAccessTypeNode.mjs +0 -2
- package/lib/ast/types/IndexedAccessTypeNode.mjs.map +0 -1
- package/lib/ast/types/InferTypeNode.mjs +0 -2
- package/lib/ast/types/InferTypeNode.mjs.map +0 -1
- package/lib/ast/types/IntersectionTypeNode.mjs +0 -2
- package/lib/ast/types/IntersectionTypeNode.mjs.map +0 -1
- package/lib/ast/types/KeywordTypeNode.mjs +0 -2
- package/lib/ast/types/KeywordTypeNode.mjs.map +0 -1
- package/lib/ast/types/LiteralTypeNode.mjs +0 -2
- package/lib/ast/types/LiteralTypeNode.mjs.map +0 -1
- package/lib/ast/types/MappedTypeNode.mjs +0 -2
- package/lib/ast/types/MappedTypeNode.mjs.map +0 -1
- package/lib/ast/types/MethodSignature.mjs +0 -2
- package/lib/ast/types/MethodSignature.mjs.map +0 -1
- package/lib/ast/types/NamedTupleMember.mjs +0 -2
- package/lib/ast/types/NamedTupleMember.mjs.map +0 -1
- package/lib/ast/types/NotEmittedTypeElement.mjs +0 -2
- package/lib/ast/types/NotEmittedTypeElement.mjs.map +0 -1
- package/lib/ast/types/OptionalTypeNode.mjs +0 -2
- package/lib/ast/types/OptionalTypeNode.mjs.map +0 -1
- package/lib/ast/types/ParenthesizedTypeNode.mjs +0 -2
- package/lib/ast/types/ParenthesizedTypeNode.mjs.map +0 -1
- package/lib/ast/types/PropertySignature.mjs +0 -2
- package/lib/ast/types/PropertySignature.mjs.map +0 -1
- package/lib/ast/types/RestTypeNode.mjs +0 -2
- package/lib/ast/types/RestTypeNode.mjs.map +0 -1
- package/lib/ast/types/TemplateLiteralTypeNode.mjs +0 -2
- package/lib/ast/types/TemplateLiteralTypeNode.mjs.map +0 -1
- package/lib/ast/types/TemplateLiteralTypeSpan.mjs +0 -2
- package/lib/ast/types/TemplateLiteralTypeSpan.mjs.map +0 -1
- package/lib/ast/types/ThisTypeNode.mjs +0 -2
- package/lib/ast/types/ThisTypeNode.mjs.map +0 -1
- package/lib/ast/types/TupleTypeNode.mjs +0 -2
- package/lib/ast/types/TupleTypeNode.mjs.map +0 -1
- package/lib/ast/types/TypeElement.mjs +0 -2
- package/lib/ast/types/TypeElement.mjs.map +0 -1
- package/lib/ast/types/TypeLiteralNode.mjs +0 -2
- package/lib/ast/types/TypeLiteralNode.mjs.map +0 -1
- package/lib/ast/types/TypeNode.mjs +0 -2
- package/lib/ast/types/TypeNode.mjs.map +0 -1
- package/lib/ast/types/TypeOperatorNode.mjs +0 -2
- package/lib/ast/types/TypeOperatorNode.mjs.map +0 -1
- package/lib/ast/types/TypeParameterDeclaration.mjs +0 -2
- package/lib/ast/types/TypeParameterDeclaration.mjs.map +0 -1
- package/lib/ast/types/TypePredicateNode.mjs +0 -2
- package/lib/ast/types/TypePredicateNode.mjs.map +0 -1
- package/lib/ast/types/TypeQueryNode.mjs +0 -2
- package/lib/ast/types/TypeQueryNode.mjs.map +0 -1
- package/lib/ast/types/TypeReferenceNode.mjs +0 -2
- package/lib/ast/types/TypeReferenceNode.mjs.map +0 -1
- package/lib/ast/types/UnionTypeNode.mjs +0 -2
- package/lib/ast/types/UnionTypeNode.mjs.map +0 -1
- package/lib/syntax/index.mjs +0 -3
- package/lib/syntax/index.mjs.map +0 -1
package/lib/TsPrinter.mjs
CHANGED
|
@@ -3,23 +3,13 @@ import { join, hardline, printDocToString, line, softline, group, concat, indent
|
|
|
3
3
|
import { SyntaxKind } from './syntax/SyntaxKind.mjs';
|
|
4
4
|
import { NodeFlags } from './syntax/NodeFlags.mjs';
|
|
5
5
|
|
|
6
|
-
const escapeString = (text, singleQuote) => {
|
|
7
|
-
const escaped = text
|
|
8
|
-
.replace(/\\/g, "\\\\")
|
|
9
|
-
.replace(/\n/g, "\\n")
|
|
10
|
-
.replace(/\r/g, "\\r")
|
|
11
|
-
.replace(/\t/g, "\\t");
|
|
12
|
-
return singleQuote === true
|
|
13
|
-
? `'${escaped.replace(/'/g, "\\'")}'`
|
|
14
|
-
: `"${escaped.replace(/"/g, '\\"')}"`;
|
|
15
|
-
};
|
|
16
6
|
/**
|
|
17
7
|
* Printer turning {@link factory} produced AST nodes into TypeScript source
|
|
18
8
|
* text.
|
|
19
9
|
*
|
|
20
10
|
* The printer is a width-aware pretty-printer: it builds a Prettier-style
|
|
21
11
|
* document for the {@link Node} discriminated union and lays it out against
|
|
22
|
-
* {@link
|
|
12
|
+
* {@link TsPrinter.IProps.printWidth}. Lists (arguments, parameters, generic
|
|
23
13
|
* arguments, array / object members, ...) print on one line when they fit and
|
|
24
14
|
* break onto indented lines — with trailing commas — when they do not. Every
|
|
25
15
|
* `node.kind` narrows to its concrete type, so the walk is fully type-checked;
|
|
@@ -148,6 +138,11 @@ class TsPrinter {
|
|
|
148
138
|
trailingComma: true,
|
|
149
139
|
});
|
|
150
140
|
}
|
|
141
|
+
args(args) {
|
|
142
|
+
return this.delim("(", args.map((a) => this.expressionForDisallowedComma(a)), ")", {
|
|
143
|
+
trailingComma: true,
|
|
144
|
+
});
|
|
145
|
+
}
|
|
151
146
|
modifiers(mods, decoratorsOnNewLine) {
|
|
152
147
|
if (!mods || mods.length === 0)
|
|
153
148
|
return "";
|
|
@@ -232,7 +227,7 @@ class TsPrinter {
|
|
|
232
227
|
case "Token":
|
|
233
228
|
return node.token;
|
|
234
229
|
case "Decorator":
|
|
235
|
-
return concat(["@", this.
|
|
230
|
+
return concat(["@", this.leftSideExpression(node.expression)]);
|
|
236
231
|
/* literals */
|
|
237
232
|
case "StringLiteral":
|
|
238
233
|
return escapeString(node.text, node.singleQuote);
|
|
@@ -242,7 +237,7 @@ class TsPrinter {
|
|
|
242
237
|
return node.text;
|
|
243
238
|
/* expressions */
|
|
244
239
|
case "ArrayLiteralExpression":
|
|
245
|
-
return this.delim("[", node.elements.map((e) => this.
|
|
240
|
+
return this.delim("[", node.elements.map((e) => this.expressionForDisallowedComma(e)), "]", { trailingComma: true, forceBreak: node.multiLine === true });
|
|
246
241
|
case "ObjectLiteralExpression":
|
|
247
242
|
return this.delim("{", node.properties.map((p) => this.emit(p)), "}", {
|
|
248
243
|
space: true,
|
|
@@ -253,62 +248,78 @@ class TsPrinter {
|
|
|
253
248
|
return concat([
|
|
254
249
|
this.emit(node.name),
|
|
255
250
|
": ",
|
|
256
|
-
this.
|
|
251
|
+
this.expressionForDisallowedComma(node.initializer),
|
|
257
252
|
]);
|
|
258
253
|
case "ShorthandPropertyAssignment":
|
|
259
254
|
return concat([
|
|
260
255
|
this.emit(node.name),
|
|
261
256
|
node.objectAssignmentInitializer
|
|
262
|
-
? concat([
|
|
257
|
+
? concat([
|
|
258
|
+
" = ",
|
|
259
|
+
this.expressionForDisallowedComma(node.objectAssignmentInitializer),
|
|
260
|
+
])
|
|
263
261
|
: "",
|
|
264
262
|
]);
|
|
265
263
|
case "SpreadAssignment":
|
|
266
|
-
return concat([
|
|
264
|
+
return concat([
|
|
265
|
+
"...",
|
|
266
|
+
this.expressionForDisallowedComma(node.expression),
|
|
267
|
+
]);
|
|
267
268
|
case "PropertyAccessExpression":
|
|
268
|
-
return concat([
|
|
269
|
+
return concat([
|
|
270
|
+
this.leftSideExpression(node.expression),
|
|
271
|
+
".",
|
|
272
|
+
this.emit(node.name),
|
|
273
|
+
]);
|
|
269
274
|
case "ElementAccessExpression":
|
|
270
275
|
return concat([
|
|
271
|
-
this.
|
|
276
|
+
this.leftSideExpression(node.expression),
|
|
272
277
|
"[",
|
|
273
|
-
this.
|
|
278
|
+
this.expressionForDisallowedComma(node.argumentExpression),
|
|
274
279
|
"]",
|
|
275
280
|
]);
|
|
276
281
|
case "CallExpression":
|
|
277
282
|
return concat([
|
|
278
|
-
this.
|
|
283
|
+
this.leftSideExpression(node.expression),
|
|
279
284
|
this.typeArguments(node.typeArguments),
|
|
280
|
-
this.
|
|
285
|
+
this.args(node.arguments),
|
|
281
286
|
]);
|
|
282
287
|
case "NewExpression":
|
|
283
288
|
return concat([
|
|
284
289
|
"new ",
|
|
285
|
-
this.
|
|
290
|
+
this.newExpressionTarget(node.expression),
|
|
286
291
|
this.typeArguments(node.typeArguments),
|
|
287
|
-
this.
|
|
292
|
+
this.args(node.arguments ?? []),
|
|
288
293
|
]);
|
|
289
294
|
case "ParenthesizedExpression":
|
|
290
295
|
return concat(["(", this.emit(node.expression), ")"]);
|
|
291
296
|
case "BinaryExpression":
|
|
292
297
|
return group(concat([
|
|
293
|
-
this.
|
|
298
|
+
this.binaryOperand(node.operator, node.left, true),
|
|
294
299
|
" ",
|
|
295
300
|
node.operator,
|
|
296
|
-
indent(concat([
|
|
301
|
+
indent(concat([
|
|
302
|
+
line,
|
|
303
|
+
this.binaryOperand(node.operator, node.right, false, node.left),
|
|
304
|
+
])),
|
|
297
305
|
]));
|
|
298
306
|
case "PrefixUnaryExpression":
|
|
299
|
-
return concat([
|
|
307
|
+
return concat([
|
|
308
|
+
node.operator,
|
|
309
|
+
this.prefixUnaryOperand(node.operand, node.operator),
|
|
310
|
+
]);
|
|
300
311
|
case "PostfixUnaryExpression":
|
|
301
|
-
return concat([this.
|
|
312
|
+
return concat([this.postfixUnaryOperand(node.operand), node.operator]);
|
|
302
313
|
case "ConditionalExpression":
|
|
303
314
|
return group(concat([
|
|
304
|
-
this.
|
|
315
|
+
this.conditionalCondition(node.condition),
|
|
305
316
|
indent(concat([
|
|
306
317
|
line,
|
|
307
318
|
"? ",
|
|
308
|
-
this.
|
|
319
|
+
this.conditionalBranch(node.whenTrue),
|
|
309
320
|
line,
|
|
310
321
|
": ",
|
|
311
|
-
this.
|
|
322
|
+
this.conditionalBranch(node.whenFalse),
|
|
312
323
|
])),
|
|
313
324
|
]));
|
|
314
325
|
case "ArrowFunction":
|
|
@@ -318,7 +329,7 @@ class TsPrinter {
|
|
|
318
329
|
this.params(node.parameters),
|
|
319
330
|
this.optType(node.type),
|
|
320
331
|
" => ",
|
|
321
|
-
this.
|
|
332
|
+
this.arrowFunctionBody(node.body),
|
|
322
333
|
]);
|
|
323
334
|
case "FunctionExpression":
|
|
324
335
|
return concat([
|
|
@@ -334,24 +345,27 @@ class TsPrinter {
|
|
|
334
345
|
]);
|
|
335
346
|
case "AsExpression":
|
|
336
347
|
return concat([
|
|
337
|
-
this.
|
|
348
|
+
this.assertionExpressionOperand(node.expression),
|
|
338
349
|
" as ",
|
|
339
350
|
this.emit(node.type),
|
|
340
351
|
]);
|
|
341
352
|
case "SatisfiesExpression":
|
|
342
353
|
return concat([
|
|
343
|
-
this.
|
|
354
|
+
this.assertionExpressionOperand(node.expression),
|
|
344
355
|
" satisfies ",
|
|
345
356
|
this.emit(node.type),
|
|
346
357
|
]);
|
|
347
358
|
case "NonNullExpression":
|
|
348
|
-
return concat([this.
|
|
359
|
+
return concat([this.leftSideExpression(node.expression), "!"]);
|
|
349
360
|
case "SpreadElement":
|
|
350
|
-
return concat([
|
|
361
|
+
return concat([
|
|
362
|
+
"...",
|
|
363
|
+
this.expressionForDisallowedComma(node.expression),
|
|
364
|
+
]);
|
|
351
365
|
case "AwaitExpression":
|
|
352
|
-
return concat(["await ", this.
|
|
366
|
+
return concat(["await ", this.prefixUnaryOperand(node.expression)]);
|
|
353
367
|
case "TypeOfExpression":
|
|
354
|
-
return concat(["typeof ", this.
|
|
368
|
+
return concat(["typeof ", this.prefixUnaryOperand(node.expression)]);
|
|
355
369
|
/* types */
|
|
356
370
|
case "KeywordTypeNode":
|
|
357
371
|
return node.keyword;
|
|
@@ -363,9 +377,9 @@ class TsPrinter {
|
|
|
363
377
|
case "ArrayTypeNode":
|
|
364
378
|
return concat([this.postfixTypeOperand(node.elementType), "[]"]);
|
|
365
379
|
case "UnionTypeNode":
|
|
366
|
-
return this.binaryType("|", node.types
|
|
380
|
+
return this.binaryType("|", node.types);
|
|
367
381
|
case "IntersectionTypeNode":
|
|
368
|
-
return this.binaryType("&", node.types
|
|
382
|
+
return this.binaryType("&", node.types);
|
|
369
383
|
case "LiteralTypeNode":
|
|
370
384
|
return this.emit(node.literal);
|
|
371
385
|
case "TypeLiteralNode":
|
|
@@ -384,7 +398,11 @@ class TsPrinter {
|
|
|
384
398
|
case "ParenthesizedTypeNode":
|
|
385
399
|
return concat(["(", this.emit(node.type), ")"]);
|
|
386
400
|
case "TypeOperatorNode":
|
|
387
|
-
return concat([
|
|
401
|
+
return concat([
|
|
402
|
+
node.operator,
|
|
403
|
+
" ",
|
|
404
|
+
this.typeOperatorOperand(node.type, node.operator),
|
|
405
|
+
]);
|
|
388
406
|
case "IndexedAccessTypeNode":
|
|
389
407
|
return concat([
|
|
390
408
|
this.postfixTypeOperand(node.objectType),
|
|
@@ -440,7 +458,12 @@ class TsPrinter {
|
|
|
440
458
|
this.emit(node.name),
|
|
441
459
|
node.questionToken ? "?" : "",
|
|
442
460
|
this.optType(node.type),
|
|
443
|
-
node.initializer
|
|
461
|
+
node.initializer
|
|
462
|
+
? concat([
|
|
463
|
+
" = ",
|
|
464
|
+
this.expressionForDisallowedComma(node.initializer),
|
|
465
|
+
])
|
|
466
|
+
: "",
|
|
444
467
|
]);
|
|
445
468
|
case "HeritageClause":
|
|
446
469
|
return concat([
|
|
@@ -472,10 +495,18 @@ class TsPrinter {
|
|
|
472
495
|
this.emit(node.name),
|
|
473
496
|
node.exclamationToken ? "!" : "",
|
|
474
497
|
this.optType(node.type),
|
|
475
|
-
node.initializer
|
|
498
|
+
node.initializer
|
|
499
|
+
? concat([
|
|
500
|
+
" = ",
|
|
501
|
+
this.expressionForDisallowedComma(node.initializer),
|
|
502
|
+
])
|
|
503
|
+
: "",
|
|
476
504
|
]);
|
|
477
505
|
case "ExpressionStatement":
|
|
478
|
-
return concat([
|
|
506
|
+
return concat([
|
|
507
|
+
this.expressionStatementExpression(node.expression),
|
|
508
|
+
";",
|
|
509
|
+
]);
|
|
479
510
|
case "ReturnStatement":
|
|
480
511
|
return node.expression
|
|
481
512
|
? concat(["return ", this.emit(node.expression), ";"])
|
|
@@ -525,7 +556,12 @@ class TsPrinter {
|
|
|
525
556
|
? this.emit(node.questionOrExclamationToken)
|
|
526
557
|
: "",
|
|
527
558
|
this.optType(node.type),
|
|
528
|
-
node.initializer
|
|
559
|
+
node.initializer
|
|
560
|
+
? concat([
|
|
561
|
+
" = ",
|
|
562
|
+
this.expressionForDisallowedComma(node.initializer),
|
|
563
|
+
])
|
|
564
|
+
: "",
|
|
529
565
|
";",
|
|
530
566
|
]);
|
|
531
567
|
case "MethodDeclaration":
|
|
@@ -605,7 +641,12 @@ class TsPrinter {
|
|
|
605
641
|
case "EnumMember":
|
|
606
642
|
return concat([
|
|
607
643
|
this.emit(node.name),
|
|
608
|
-
node.initializer
|
|
644
|
+
node.initializer
|
|
645
|
+
? concat([
|
|
646
|
+
" = ",
|
|
647
|
+
this.expressionForDisallowedComma(node.initializer),
|
|
648
|
+
])
|
|
649
|
+
: "",
|
|
609
650
|
]);
|
|
610
651
|
/* imports & exports */
|
|
611
652
|
case "ImportDeclaration":
|
|
@@ -663,7 +704,7 @@ class TsPrinter {
|
|
|
663
704
|
return concat([
|
|
664
705
|
this.modifiers(node.modifiers, false),
|
|
665
706
|
node.isExportEquals ? "export = " : "export default ",
|
|
666
|
-
this.
|
|
707
|
+
this.exportAssignmentExpression(node.expression, node.isExportEquals === true),
|
|
667
708
|
";",
|
|
668
709
|
]);
|
|
669
710
|
/* source file */
|
|
@@ -849,9 +890,9 @@ class TsPrinter {
|
|
|
849
890
|
]);
|
|
850
891
|
case "ConditionalTypeNode":
|
|
851
892
|
return concat([
|
|
852
|
-
this.
|
|
893
|
+
this.conditionalTypeCheckOperand(node.checkType),
|
|
853
894
|
" extends ",
|
|
854
|
-
this.
|
|
895
|
+
this.conditionalTypeExtendsOperand(node.extendsType),
|
|
855
896
|
" ? ",
|
|
856
897
|
this.emit(node.trueType),
|
|
857
898
|
" : ",
|
|
@@ -902,9 +943,9 @@ class TsPrinter {
|
|
|
902
943
|
this.emit(node.type),
|
|
903
944
|
]);
|
|
904
945
|
case "OptionalTypeNode":
|
|
905
|
-
return concat([this.
|
|
946
|
+
return concat([this.postfixTypeOperand(node.type), "?"]);
|
|
906
947
|
case "RestTypeNode":
|
|
907
|
-
return concat(["...", this.
|
|
948
|
+
return concat(["...", this.postfixTypeOperand(node.type)]);
|
|
908
949
|
case "ImportTypeNode":
|
|
909
950
|
return concat([
|
|
910
951
|
node.isTypeOf ? "typeof " : "",
|
|
@@ -943,10 +984,13 @@ class TsPrinter {
|
|
|
943
984
|
concat(node.templateSpans.map((s) => this.emit(s))),
|
|
944
985
|
]);
|
|
945
986
|
case "TemplateSpan":
|
|
946
|
-
return concat([
|
|
987
|
+
return concat([
|
|
988
|
+
this.expressionForDisallowedComma(node.expression),
|
|
989
|
+
this.emit(node.literal),
|
|
990
|
+
]);
|
|
947
991
|
case "TaggedTemplateExpression":
|
|
948
992
|
return concat([
|
|
949
|
-
this.
|
|
993
|
+
this.leftSideExpression(node.tag),
|
|
950
994
|
this.typeArguments(node.typeArguments),
|
|
951
995
|
this.emit(node.template),
|
|
952
996
|
]);
|
|
@@ -954,12 +998,14 @@ class TsPrinter {
|
|
|
954
998
|
return concat([
|
|
955
999
|
"yield",
|
|
956
1000
|
node.asteriskToken ? "*" : "",
|
|
957
|
-
node.expression
|
|
1001
|
+
node.expression
|
|
1002
|
+
? concat([" ", this.expressionForDisallowedComma(node.expression)])
|
|
1003
|
+
: "",
|
|
958
1004
|
]);
|
|
959
1005
|
case "DeleteExpression":
|
|
960
|
-
return concat(["delete ", this.
|
|
1006
|
+
return concat(["delete ", this.prefixUnaryOperand(node.expression)]);
|
|
961
1007
|
case "VoidExpression":
|
|
962
|
-
return concat(["void ", this.
|
|
1008
|
+
return concat(["void ", this.prefixUnaryOperand(node.expression)]);
|
|
963
1009
|
case "RegularExpressionLiteral":
|
|
964
1010
|
return node.text;
|
|
965
1011
|
case "ClassExpression":
|
|
@@ -977,7 +1023,11 @@ class TsPrinter {
|
|
|
977
1023
|
case "CommaListExpression":
|
|
978
1024
|
return join(", ", node.elements.map((e) => this.emit(e)));
|
|
979
1025
|
case "ComputedPropertyName":
|
|
980
|
-
return concat([
|
|
1026
|
+
return concat([
|
|
1027
|
+
"[",
|
|
1028
|
+
this.expressionForDisallowedComma(node.expression),
|
|
1029
|
+
"]",
|
|
1030
|
+
]);
|
|
981
1031
|
case "OmittedExpression":
|
|
982
1032
|
return "";
|
|
983
1033
|
case "BindingElement":
|
|
@@ -985,7 +1035,12 @@ class TsPrinter {
|
|
|
985
1035
|
node.dotDotDotToken ? "..." : "",
|
|
986
1036
|
node.propertyName ? concat([this.emit(node.propertyName), ": "]) : "",
|
|
987
1037
|
this.emit(node.name),
|
|
988
|
-
node.initializer
|
|
1038
|
+
node.initializer
|
|
1039
|
+
? concat([
|
|
1040
|
+
" = ",
|
|
1041
|
+
this.expressionForDisallowedComma(node.initializer),
|
|
1042
|
+
])
|
|
1043
|
+
: "",
|
|
989
1044
|
]);
|
|
990
1045
|
case "ObjectBindingPattern":
|
|
991
1046
|
return this.delim("{", node.elements.map((e) => this.emit(e)), "}", { space: true, trailingComma: true });
|
|
@@ -996,31 +1051,31 @@ class TsPrinter {
|
|
|
996
1051
|
"<",
|
|
997
1052
|
this.emit(node.type),
|
|
998
1053
|
">",
|
|
999
|
-
this.
|
|
1054
|
+
this.prefixUnaryOperand(node.expression),
|
|
1000
1055
|
]);
|
|
1001
1056
|
case "PropertyAccessChain":
|
|
1002
1057
|
return concat([
|
|
1003
|
-
this.
|
|
1058
|
+
this.leftSideExpression(node.expression),
|
|
1004
1059
|
node.questionDotToken ? "?." : ".",
|
|
1005
1060
|
this.emit(node.name),
|
|
1006
1061
|
]);
|
|
1007
1062
|
case "ElementAccessChain":
|
|
1008
1063
|
return concat([
|
|
1009
|
-
this.
|
|
1064
|
+
this.leftSideExpression(node.expression),
|
|
1010
1065
|
node.questionDotToken ? "?." : "",
|
|
1011
1066
|
"[",
|
|
1012
|
-
this.
|
|
1067
|
+
this.expressionForDisallowedComma(node.argumentExpression),
|
|
1013
1068
|
"]",
|
|
1014
1069
|
]);
|
|
1015
1070
|
case "CallChain":
|
|
1016
1071
|
return concat([
|
|
1017
|
-
this.
|
|
1072
|
+
this.leftSideExpression(node.expression),
|
|
1018
1073
|
node.questionDotToken ? "?." : "",
|
|
1019
1074
|
this.typeArguments(node.typeArguments),
|
|
1020
|
-
this.
|
|
1075
|
+
this.args(node.arguments),
|
|
1021
1076
|
]);
|
|
1022
1077
|
case "NonNullChain":
|
|
1023
|
-
return concat([this.
|
|
1078
|
+
return concat([this.leftSideExpression(node.expression), "!"]);
|
|
1024
1079
|
/* jsx */
|
|
1025
1080
|
case "JsxElement":
|
|
1026
1081
|
return group(concat([
|
|
@@ -1306,15 +1361,382 @@ class TsPrinter {
|
|
|
1306
1361
|
* parenthesizing the lower-precedence type forms that would otherwise
|
|
1307
1362
|
* re-associate — matching the legacy printer's parenthesizer rules.
|
|
1308
1363
|
*/
|
|
1309
|
-
|
|
1310
|
-
|
|
1364
|
+
parenthesizedExpression(expression) {
|
|
1365
|
+
return expression.kind === "ParenthesizedExpression"
|
|
1366
|
+
? this.emit(expression)
|
|
1367
|
+
: concat(["(", this.emit(expression), ")"]);
|
|
1368
|
+
}
|
|
1369
|
+
expressionForDisallowedComma(expression) {
|
|
1370
|
+
return this.expressionPrecedence(expression) > ExpressionPrecedence.Comma
|
|
1371
|
+
? this.emit(expression)
|
|
1372
|
+
: this.parenthesizedExpression(expression);
|
|
1373
|
+
}
|
|
1374
|
+
leftSideExpression(expression) {
|
|
1375
|
+
return this.isLeftHandSideExpression(expression)
|
|
1376
|
+
? this.emit(expression)
|
|
1377
|
+
: this.parenthesizedExpression(expression);
|
|
1378
|
+
}
|
|
1379
|
+
newExpressionTarget(expression) {
|
|
1380
|
+
return expression.kind !== "CallExpression" &&
|
|
1381
|
+
expression.kind !== "CallChain" &&
|
|
1382
|
+
(expression.kind !== "NewExpression" ||
|
|
1383
|
+
expression.arguments !== undefined) &&
|
|
1384
|
+
this.isLeftHandSideExpression(expression)
|
|
1385
|
+
? this.emit(expression)
|
|
1386
|
+
: this.parenthesizedExpression(expression);
|
|
1387
|
+
}
|
|
1388
|
+
prefixUnaryOperand(operand, operator) {
|
|
1389
|
+
const body = this.isUnaryExpression(operand)
|
|
1390
|
+
? this.emit(operand)
|
|
1391
|
+
: this.parenthesizedExpression(operand);
|
|
1392
|
+
return this.needsPrefixUnaryGap(operator, operand)
|
|
1393
|
+
? concat([" ", body])
|
|
1394
|
+
: body;
|
|
1395
|
+
}
|
|
1396
|
+
postfixUnaryOperand(operand) {
|
|
1397
|
+
return this.isLeftHandSideExpression(operand)
|
|
1398
|
+
? this.emit(operand)
|
|
1399
|
+
: this.parenthesizedExpression(operand);
|
|
1400
|
+
}
|
|
1401
|
+
conditionalCondition(condition) {
|
|
1402
|
+
return this.expressionPrecedence(condition) >
|
|
1403
|
+
ExpressionPrecedence.Conditional
|
|
1404
|
+
? this.emit(condition)
|
|
1405
|
+
: this.parenthesizedExpression(condition);
|
|
1406
|
+
}
|
|
1407
|
+
conditionalBranch(branch) {
|
|
1408
|
+
return this.expressionForDisallowedComma(branch);
|
|
1409
|
+
}
|
|
1410
|
+
arrowFunctionBody(body) {
|
|
1411
|
+
return body.kind === "Block"
|
|
1412
|
+
? this.emit(body)
|
|
1413
|
+
: this.expressionNeedsConciseBodyParentheses(body)
|
|
1414
|
+
? this.parenthesizedExpression(body)
|
|
1415
|
+
: this.emit(body);
|
|
1416
|
+
}
|
|
1417
|
+
expressionStatementExpression(expression) {
|
|
1418
|
+
return this.expressionNeedsStatementParentheses(expression)
|
|
1419
|
+
? this.parenthesizedExpression(expression)
|
|
1420
|
+
: this.emit(expression);
|
|
1421
|
+
}
|
|
1422
|
+
exportAssignmentExpression(expression, isExportEquals) {
|
|
1423
|
+
return isExportEquals
|
|
1424
|
+
? this.expressionForDisallowedComma(expression)
|
|
1425
|
+
: this.expressionNeedsExportDefaultParentheses(expression)
|
|
1426
|
+
? this.parenthesizedExpression(expression)
|
|
1427
|
+
: this.emit(expression);
|
|
1428
|
+
}
|
|
1429
|
+
assertionExpressionOperand(expression) {
|
|
1430
|
+
return this.expressionPrecedence(expression) >=
|
|
1431
|
+
ExpressionPrecedence.Relational
|
|
1432
|
+
? this.expressionForDisallowedComma(expression)
|
|
1433
|
+
: this.parenthesizedExpression(expression);
|
|
1434
|
+
}
|
|
1435
|
+
binaryOperand(operator, operand, isLeftSide, leftOperand) {
|
|
1436
|
+
return this.binaryOperandNeedsParentheses(operator, operand, isLeftSide, leftOperand)
|
|
1437
|
+
? this.parenthesizedExpression(operand)
|
|
1438
|
+
: this.emit(operand);
|
|
1439
|
+
}
|
|
1440
|
+
binaryOperandNeedsParentheses(operator, operand, isLeftSide, leftOperand) {
|
|
1441
|
+
if (operand.kind === "ParenthesizedExpression")
|
|
1442
|
+
return false;
|
|
1443
|
+
if (operator === SyntaxKind.AsteriskAsteriskToken &&
|
|
1444
|
+
isLeftSide &&
|
|
1445
|
+
this.expressionPrecedence(operand) === ExpressionPrecedence.Unary)
|
|
1446
|
+
return true;
|
|
1447
|
+
if (operand.kind === "BinaryExpression" &&
|
|
1448
|
+
this.mixingBinaryOperatorsRequiresParentheses(operator, operand.operator))
|
|
1449
|
+
return true;
|
|
1450
|
+
const operatorPrecedence = this.binaryOperatorPrecedence(operator);
|
|
1451
|
+
const operandPrecedence = this.expressionPrecedence(operand);
|
|
1452
|
+
if (!isLeftSide &&
|
|
1453
|
+
operand.kind === "ArrowFunction" &&
|
|
1454
|
+
operatorPrecedence > ExpressionPrecedence.Assignment)
|
|
1455
|
+
return true;
|
|
1456
|
+
if (operandPrecedence < operatorPrecedence)
|
|
1457
|
+
return true;
|
|
1458
|
+
if (operandPrecedence > operatorPrecedence)
|
|
1459
|
+
return false;
|
|
1460
|
+
if (isLeftSide)
|
|
1461
|
+
return this.binaryOperatorAssociativity(operator) === Associativity.Right;
|
|
1462
|
+
if (operand.kind === "BinaryExpression" && operand.operator === operator) {
|
|
1463
|
+
if (this.operatorHasAssociativeProperty(operator))
|
|
1464
|
+
return false;
|
|
1465
|
+
if (operator === SyntaxKind.PlusToken &&
|
|
1466
|
+
leftOperand !== undefined &&
|
|
1467
|
+
this.literalKindOfBinaryPlusOperand(leftOperand) !== undefined &&
|
|
1468
|
+
this.literalKindOfBinaryPlusOperand(leftOperand) ===
|
|
1469
|
+
this.literalKindOfBinaryPlusOperand(operand))
|
|
1470
|
+
return false;
|
|
1471
|
+
}
|
|
1472
|
+
return this.expressionAssociativity(operand) === Associativity.Left;
|
|
1473
|
+
}
|
|
1474
|
+
expressionPrecedence(expression) {
|
|
1475
|
+
switch (expression.kind) {
|
|
1476
|
+
case "CommaListExpression":
|
|
1477
|
+
return ExpressionPrecedence.Comma;
|
|
1478
|
+
case "YieldExpression":
|
|
1479
|
+
return ExpressionPrecedence.Yield;
|
|
1480
|
+
case "ConditionalExpression":
|
|
1481
|
+
return ExpressionPrecedence.Conditional;
|
|
1482
|
+
case "BinaryExpression":
|
|
1483
|
+
return this.binaryOperatorPrecedence(expression.operator);
|
|
1484
|
+
case "AsExpression":
|
|
1485
|
+
case "SatisfiesExpression":
|
|
1486
|
+
return ExpressionPrecedence.Relational;
|
|
1487
|
+
case "TypeAssertion":
|
|
1488
|
+
case "PrefixUnaryExpression":
|
|
1489
|
+
case "TypeOfExpression":
|
|
1490
|
+
case "VoidExpression":
|
|
1491
|
+
case "DeleteExpression":
|
|
1492
|
+
case "AwaitExpression":
|
|
1493
|
+
case "NonNullExpression":
|
|
1494
|
+
case "NonNullChain":
|
|
1495
|
+
return ExpressionPrecedence.Unary;
|
|
1496
|
+
case "PostfixUnaryExpression":
|
|
1497
|
+
return ExpressionPrecedence.Update;
|
|
1498
|
+
case "CallExpression":
|
|
1499
|
+
case "CallChain":
|
|
1500
|
+
return ExpressionPrecedence.LeftHandSide;
|
|
1501
|
+
case "NewExpression":
|
|
1502
|
+
case "TaggedTemplateExpression":
|
|
1503
|
+
case "PropertyAccessExpression":
|
|
1504
|
+
case "PropertyAccessChain":
|
|
1505
|
+
case "ElementAccessExpression":
|
|
1506
|
+
case "ElementAccessChain":
|
|
1507
|
+
case "MetaProperty":
|
|
1508
|
+
return ExpressionPrecedence.Member;
|
|
1509
|
+
default:
|
|
1510
|
+
return ExpressionPrecedence.Primary;
|
|
1511
|
+
}
|
|
1512
|
+
}
|
|
1513
|
+
expressionAssociativity(expression) {
|
|
1514
|
+
switch (expression.kind) {
|
|
1515
|
+
case "NewExpression":
|
|
1516
|
+
return expression.arguments === undefined
|
|
1517
|
+
? Associativity.Right
|
|
1518
|
+
: Associativity.Left;
|
|
1519
|
+
case "PrefixUnaryExpression":
|
|
1520
|
+
case "TypeOfExpression":
|
|
1521
|
+
case "VoidExpression":
|
|
1522
|
+
case "DeleteExpression":
|
|
1523
|
+
case "AwaitExpression":
|
|
1524
|
+
case "ConditionalExpression":
|
|
1525
|
+
case "YieldExpression":
|
|
1526
|
+
return Associativity.Right;
|
|
1527
|
+
case "BinaryExpression":
|
|
1528
|
+
return this.binaryOperatorAssociativity(expression.operator);
|
|
1529
|
+
default:
|
|
1530
|
+
return Associativity.Left;
|
|
1531
|
+
}
|
|
1532
|
+
}
|
|
1533
|
+
binaryOperatorPrecedence(operator) {
|
|
1534
|
+
switch (operator) {
|
|
1535
|
+
case SyntaxKind.CommaToken:
|
|
1536
|
+
return ExpressionPrecedence.Comma;
|
|
1537
|
+
case SyntaxKind.EqualsToken:
|
|
1538
|
+
case SyntaxKind.PlusEqualsToken:
|
|
1539
|
+
case SyntaxKind.MinusEqualsToken:
|
|
1540
|
+
case SyntaxKind.AsteriskEqualsToken:
|
|
1541
|
+
case SyntaxKind.SlashEqualsToken:
|
|
1542
|
+
case SyntaxKind.QuestionQuestionEqualsToken:
|
|
1543
|
+
return ExpressionPrecedence.Assignment;
|
|
1544
|
+
case SyntaxKind.QuestionQuestionToken:
|
|
1545
|
+
case SyntaxKind.BarBarToken:
|
|
1546
|
+
return ExpressionPrecedence.LogicalOR;
|
|
1547
|
+
case SyntaxKind.AmpersandAmpersandToken:
|
|
1548
|
+
return ExpressionPrecedence.LogicalAND;
|
|
1549
|
+
case SyntaxKind.BarToken:
|
|
1550
|
+
return ExpressionPrecedence.BitwiseOR;
|
|
1551
|
+
case SyntaxKind.CaretToken:
|
|
1552
|
+
return ExpressionPrecedence.BitwiseXOR;
|
|
1553
|
+
case SyntaxKind.AmpersandToken:
|
|
1554
|
+
return ExpressionPrecedence.BitwiseAND;
|
|
1555
|
+
case SyntaxKind.EqualsEqualsToken:
|
|
1556
|
+
case SyntaxKind.ExclamationEqualsToken:
|
|
1557
|
+
case SyntaxKind.EqualsEqualsEqualsToken:
|
|
1558
|
+
case SyntaxKind.ExclamationEqualsEqualsToken:
|
|
1559
|
+
return ExpressionPrecedence.Equality;
|
|
1560
|
+
case SyntaxKind.LessThanToken:
|
|
1561
|
+
case SyntaxKind.LessThanEqualsToken:
|
|
1562
|
+
case SyntaxKind.GreaterThanToken:
|
|
1563
|
+
case SyntaxKind.GreaterThanEqualsToken:
|
|
1564
|
+
case SyntaxKind.InstanceOfKeyword:
|
|
1565
|
+
case SyntaxKind.InKeyword:
|
|
1566
|
+
case SyntaxKind.AsKeyword:
|
|
1567
|
+
case SyntaxKind.SatisfiesKeyword:
|
|
1568
|
+
return ExpressionPrecedence.Relational;
|
|
1569
|
+
case SyntaxKind.LessThanLessThanToken:
|
|
1570
|
+
case SyntaxKind.GreaterThanGreaterThanToken:
|
|
1571
|
+
case SyntaxKind.GreaterThanGreaterThanGreaterThanToken:
|
|
1572
|
+
return ExpressionPrecedence.Shift;
|
|
1573
|
+
case SyntaxKind.PlusToken:
|
|
1574
|
+
case SyntaxKind.MinusToken:
|
|
1575
|
+
return ExpressionPrecedence.Additive;
|
|
1576
|
+
case SyntaxKind.AsteriskToken:
|
|
1577
|
+
case SyntaxKind.SlashToken:
|
|
1578
|
+
case SyntaxKind.PercentToken:
|
|
1579
|
+
return ExpressionPrecedence.Multiplicative;
|
|
1580
|
+
case SyntaxKind.AsteriskAsteriskToken:
|
|
1581
|
+
return ExpressionPrecedence.Exponentiation;
|
|
1582
|
+
default:
|
|
1583
|
+
return ExpressionPrecedence.Invalid;
|
|
1584
|
+
}
|
|
1585
|
+
}
|
|
1586
|
+
binaryOperatorAssociativity(operator) {
|
|
1587
|
+
switch (operator) {
|
|
1588
|
+
case SyntaxKind.AsteriskAsteriskToken:
|
|
1589
|
+
case SyntaxKind.EqualsToken:
|
|
1590
|
+
case SyntaxKind.PlusEqualsToken:
|
|
1591
|
+
case SyntaxKind.MinusEqualsToken:
|
|
1592
|
+
case SyntaxKind.AsteriskEqualsToken:
|
|
1593
|
+
case SyntaxKind.SlashEqualsToken:
|
|
1594
|
+
case SyntaxKind.QuestionQuestionEqualsToken:
|
|
1595
|
+
return Associativity.Right;
|
|
1596
|
+
default:
|
|
1597
|
+
return Associativity.Left;
|
|
1598
|
+
}
|
|
1599
|
+
}
|
|
1600
|
+
mixingBinaryOperatorsRequiresParentheses(left, right) {
|
|
1601
|
+
return ((left === SyntaxKind.QuestionQuestionToken &&
|
|
1602
|
+
(right === SyntaxKind.AmpersandAmpersandToken ||
|
|
1603
|
+
right === SyntaxKind.BarBarToken)) ||
|
|
1604
|
+
(right === SyntaxKind.QuestionQuestionToken &&
|
|
1605
|
+
(left === SyntaxKind.AmpersandAmpersandToken ||
|
|
1606
|
+
left === SyntaxKind.BarBarToken)));
|
|
1607
|
+
}
|
|
1608
|
+
operatorHasAssociativeProperty(operator) {
|
|
1609
|
+
return (operator === SyntaxKind.AsteriskToken ||
|
|
1610
|
+
operator === SyntaxKind.BarToken ||
|
|
1611
|
+
operator === SyntaxKind.AmpersandToken ||
|
|
1612
|
+
operator === SyntaxKind.CaretToken ||
|
|
1613
|
+
operator === SyntaxKind.CommaToken);
|
|
1614
|
+
}
|
|
1615
|
+
literalKindOfBinaryPlusOperand(expression) {
|
|
1616
|
+
switch (expression.kind) {
|
|
1617
|
+
case "StringLiteral":
|
|
1618
|
+
case "NumericLiteral":
|
|
1619
|
+
case "BigIntLiteral":
|
|
1620
|
+
return expression.kind;
|
|
1621
|
+
case "BinaryExpression": {
|
|
1622
|
+
if (expression.operator !== SyntaxKind.PlusToken)
|
|
1623
|
+
return undefined;
|
|
1624
|
+
const left = this.literalKindOfBinaryPlusOperand(expression.left);
|
|
1625
|
+
return left !== undefined &&
|
|
1626
|
+
left === this.literalKindOfBinaryPlusOperand(expression.right)
|
|
1627
|
+
? left
|
|
1628
|
+
: undefined;
|
|
1629
|
+
}
|
|
1630
|
+
default:
|
|
1631
|
+
return undefined;
|
|
1632
|
+
}
|
|
1633
|
+
}
|
|
1634
|
+
isUnaryExpression(expression) {
|
|
1635
|
+
return this.expressionPrecedence(expression) >= ExpressionPrecedence.Unary;
|
|
1636
|
+
}
|
|
1637
|
+
isLeftHandSideExpression(expression) {
|
|
1638
|
+
switch (expression.kind) {
|
|
1639
|
+
case "ArrowFunction":
|
|
1640
|
+
case "ClassExpression":
|
|
1641
|
+
case "FunctionExpression":
|
|
1642
|
+
case "NumericLiteral":
|
|
1643
|
+
case "ObjectLiteralExpression":
|
|
1644
|
+
return false;
|
|
1645
|
+
}
|
|
1646
|
+
return (this.expressionPrecedence(expression) >=
|
|
1647
|
+
ExpressionPrecedence.LeftHandSide ||
|
|
1648
|
+
expression.kind === "NonNullExpression" ||
|
|
1649
|
+
expression.kind === "NonNullChain");
|
|
1650
|
+
}
|
|
1651
|
+
expressionNeedsStatementParentheses(expression) {
|
|
1652
|
+
const leftmost = this.leftmostExpression(expression);
|
|
1653
|
+
return (leftmost.kind === "FunctionExpression" ||
|
|
1654
|
+
leftmost.kind === "ObjectLiteralExpression");
|
|
1655
|
+
}
|
|
1656
|
+
expressionNeedsConciseBodyParentheses(expression) {
|
|
1657
|
+
return (this.expressionPrecedence(expression) <= ExpressionPrecedence.Comma ||
|
|
1658
|
+
this.leftmostExpression(expression).kind === "ObjectLiteralExpression");
|
|
1659
|
+
}
|
|
1660
|
+
expressionNeedsExportDefaultParentheses(expression) {
|
|
1661
|
+
const leftmost = this.leftmostExpression(expression);
|
|
1662
|
+
return (this.expressionPrecedence(expression) <= ExpressionPrecedence.Comma ||
|
|
1663
|
+
leftmost.kind === "ClassExpression" ||
|
|
1664
|
+
leftmost.kind === "FunctionExpression");
|
|
1665
|
+
}
|
|
1666
|
+
leftmostExpression(expression) {
|
|
1667
|
+
switch (expression.kind) {
|
|
1668
|
+
case "AsExpression":
|
|
1669
|
+
case "CallExpression":
|
|
1670
|
+
case "CallChain":
|
|
1671
|
+
case "ElementAccessExpression":
|
|
1672
|
+
case "ElementAccessChain":
|
|
1673
|
+
case "NonNullExpression":
|
|
1674
|
+
case "NonNullChain":
|
|
1675
|
+
case "PropertyAccessExpression":
|
|
1676
|
+
case "PropertyAccessChain":
|
|
1677
|
+
case "SatisfiesExpression":
|
|
1678
|
+
return this.leftmostExpression(expression.expression);
|
|
1679
|
+
case "BinaryExpression":
|
|
1680
|
+
return this.leftmostExpression(expression.left);
|
|
1681
|
+
case "ConditionalExpression":
|
|
1682
|
+
return this.leftmostExpression(expression.condition);
|
|
1683
|
+
case "TaggedTemplateExpression":
|
|
1684
|
+
return this.leftmostExpression(expression.tag);
|
|
1685
|
+
default:
|
|
1686
|
+
return expression;
|
|
1687
|
+
}
|
|
1688
|
+
}
|
|
1689
|
+
needsPrefixUnaryGap(operator, operand) {
|
|
1690
|
+
if (operator === undefined || operand.kind !== "PrefixUnaryExpression")
|
|
1691
|
+
return false;
|
|
1692
|
+
return ((operator === SyntaxKind.PlusToken &&
|
|
1693
|
+
(operand.operator === SyntaxKind.PlusToken ||
|
|
1694
|
+
operand.operator === SyntaxKind.PlusPlusToken)) ||
|
|
1695
|
+
(operator === SyntaxKind.MinusToken &&
|
|
1696
|
+
(operand.operator === SyntaxKind.MinusToken ||
|
|
1697
|
+
operand.operator === SyntaxKind.MinusMinusToken)));
|
|
1698
|
+
}
|
|
1699
|
+
parenthesizedType(type) {
|
|
1700
|
+
return type.kind === "ParenthesizedTypeNode"
|
|
1701
|
+
? this.emit(type)
|
|
1702
|
+
: concat(["(", this.emit(type), ")"]);
|
|
1703
|
+
}
|
|
1704
|
+
conditionalTypeCheckOperand(type) {
|
|
1705
|
+
return type.kind === "FunctionTypeNode" ||
|
|
1706
|
+
type.kind === "ConstructorTypeNode" ||
|
|
1707
|
+
type.kind === "ConditionalTypeNode"
|
|
1708
|
+
? this.parenthesizedType(type)
|
|
1709
|
+
: this.emit(type);
|
|
1710
|
+
}
|
|
1711
|
+
conditionalTypeExtendsOperand(type) {
|
|
1712
|
+
return type.kind === "ConditionalTypeNode"
|
|
1713
|
+
? this.parenthesizedType(type)
|
|
1714
|
+
: this.emit(type);
|
|
1715
|
+
}
|
|
1716
|
+
typeOperatorOperand(type, operator) {
|
|
1717
|
+
return this.typeOperatorOperandNeedsParentheses(type, operator)
|
|
1718
|
+
? this.parenthesizedType(type)
|
|
1719
|
+
: this.emit(type);
|
|
1720
|
+
}
|
|
1721
|
+
typeOperatorOperandNeedsParentheses(type, operator) {
|
|
1722
|
+
return (type.kind === "UnionTypeNode" ||
|
|
1311
1723
|
type.kind === "IntersectionTypeNode" ||
|
|
1312
1724
|
type.kind === "FunctionTypeNode" ||
|
|
1313
1725
|
type.kind === "ConstructorTypeNode" ||
|
|
1314
1726
|
type.kind === "ConditionalTypeNode" ||
|
|
1315
|
-
|
|
1316
|
-
|
|
1317
|
-
|
|
1727
|
+
(operator === SyntaxKind.ReadonlyKeyword &&
|
|
1728
|
+
type.kind === "TypeOperatorNode"));
|
|
1729
|
+
}
|
|
1730
|
+
postfixTypeOperand(type) {
|
|
1731
|
+
return this.postfixTypeOperandNeedsParentheses(type)
|
|
1732
|
+
? this.parenthesizedType(type)
|
|
1733
|
+
: this.emit(type);
|
|
1734
|
+
}
|
|
1735
|
+
postfixTypeOperandNeedsParentheses(type) {
|
|
1736
|
+
return (type.kind === "InferTypeNode" ||
|
|
1737
|
+
type.kind === "TypeOperatorNode" ||
|
|
1738
|
+
type.kind === "TypeQueryNode" ||
|
|
1739
|
+
this.typeOperatorOperandNeedsParentheses(type));
|
|
1318
1740
|
}
|
|
1319
1741
|
/** Render a JSDoc tag's trailing comment, prefixed with a space when present. */
|
|
1320
1742
|
jsDocComment(comment) {
|
|
@@ -1327,7 +1749,8 @@ class TsPrinter {
|
|
|
1327
1749
|
: "";
|
|
1328
1750
|
}
|
|
1329
1751
|
/** Width-aware `|` / `&` type list with leading-operator breaks. */
|
|
1330
|
-
binaryType(operator,
|
|
1752
|
+
binaryType(operator, types) {
|
|
1753
|
+
const parts = this.flattenBinaryTypes(operator, types).map((type) => this.binaryTypeOperand(operator, type));
|
|
1331
1754
|
if (parts.length === 1)
|
|
1332
1755
|
return parts[0];
|
|
1333
1756
|
return group(indent(concat([
|
|
@@ -1335,10 +1758,70 @@ class TsPrinter {
|
|
|
1335
1758
|
join(concat([line, operator, " "]), parts),
|
|
1336
1759
|
])));
|
|
1337
1760
|
}
|
|
1761
|
+
flattenBinaryTypes(operator, types) {
|
|
1762
|
+
const flattened = [];
|
|
1763
|
+
for (const type of types)
|
|
1764
|
+
if (operator === "|" && type.kind === "UnionTypeNode")
|
|
1765
|
+
flattened.push(...this.flattenBinaryTypes(operator, type.types));
|
|
1766
|
+
else if (operator === "&" && type.kind === "IntersectionTypeNode")
|
|
1767
|
+
flattened.push(...this.flattenBinaryTypes(operator, type.types));
|
|
1768
|
+
else
|
|
1769
|
+
flattened.push(type);
|
|
1770
|
+
return flattened;
|
|
1771
|
+
}
|
|
1772
|
+
binaryTypeOperand(operator, type) {
|
|
1773
|
+
return this.binaryTypeOperandNeedsParentheses(operator, type)
|
|
1774
|
+
? this.parenthesizedType(type)
|
|
1775
|
+
: this.emit(type);
|
|
1776
|
+
}
|
|
1777
|
+
binaryTypeOperandNeedsParentheses(operator, type) {
|
|
1778
|
+
return (type.kind === "FunctionTypeNode" ||
|
|
1779
|
+
type.kind === "ConstructorTypeNode" ||
|
|
1780
|
+
type.kind === "ConditionalTypeNode" ||
|
|
1781
|
+
type.kind === "UnionTypeNode" ||
|
|
1782
|
+
(operator === "|" && type.kind === "IntersectionTypeNode"));
|
|
1783
|
+
}
|
|
1338
1784
|
unsupported(node) {
|
|
1339
1785
|
throw new Error(`@ttsc/factory: TsPrinter cannot print node of kind "${node.kind}".`);
|
|
1340
1786
|
}
|
|
1341
1787
|
}
|
|
1788
|
+
const escapeString = (text, singleQuote) => {
|
|
1789
|
+
const escaped = text
|
|
1790
|
+
.replace(/\\/g, "\\\\")
|
|
1791
|
+
.replace(/\n/g, "\\n")
|
|
1792
|
+
.replace(/\r/g, "\\r")
|
|
1793
|
+
.replace(/\t/g, "\\t");
|
|
1794
|
+
return singleQuote === true
|
|
1795
|
+
? `'${escaped.replace(/'/g, "\\'")}'`
|
|
1796
|
+
: `"${escaped.replace(/"/g, '\\"')}"`;
|
|
1797
|
+
};
|
|
1798
|
+
const ExpressionPrecedence = {
|
|
1799
|
+
Comma: 0,
|
|
1800
|
+
Yield: 2,
|
|
1801
|
+
Assignment: 3,
|
|
1802
|
+
Conditional: 4,
|
|
1803
|
+
LogicalOR: 5,
|
|
1804
|
+
LogicalAND: 6,
|
|
1805
|
+
BitwiseOR: 7,
|
|
1806
|
+
BitwiseXOR: 8,
|
|
1807
|
+
BitwiseAND: 9,
|
|
1808
|
+
Equality: 10,
|
|
1809
|
+
Relational: 11,
|
|
1810
|
+
Shift: 12,
|
|
1811
|
+
Additive: 13,
|
|
1812
|
+
Multiplicative: 14,
|
|
1813
|
+
Exponentiation: 15,
|
|
1814
|
+
Unary: 16,
|
|
1815
|
+
Update: 17,
|
|
1816
|
+
LeftHandSide: 18,
|
|
1817
|
+
Member: 19,
|
|
1818
|
+
Primary: 20,
|
|
1819
|
+
Invalid: -1,
|
|
1820
|
+
};
|
|
1821
|
+
const Associativity = {
|
|
1822
|
+
Left: "left",
|
|
1823
|
+
Right: "right",
|
|
1824
|
+
};
|
|
1342
1825
|
|
|
1343
1826
|
export { TsPrinter };
|
|
1344
1827
|
//# sourceMappingURL=TsPrinter.mjs.map
|