@ttsc/factory 0.15.9 → 0.15.11

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.
Files changed (541) hide show
  1. package/README.md +3 -2
  2. package/lib/TsPrinter.d.ts +51 -11
  3. package/lib/TsPrinter.js +555 -70
  4. package/lib/TsPrinter.js.map +1 -1
  5. package/lib/TsPrinter.mjs +1827 -0
  6. package/lib/TsPrinter.mjs.map +1 -0
  7. package/lib/comments.mjs +76 -0
  8. package/lib/comments.mjs.map +1 -0
  9. package/lib/factory/clauses/createHeritageClause.mjs +26 -0
  10. package/lib/factory/clauses/createHeritageClause.mjs.map +1 -0
  11. package/lib/factory/clauses/createParameterDeclaration.mjs +43 -0
  12. package/lib/factory/clauses/createParameterDeclaration.mjs.map +1 -0
  13. package/lib/factory/declarations/createClassDeclaration.mjs +44 -0
  14. package/lib/factory/declarations/createClassDeclaration.mjs.map +1 -0
  15. package/lib/factory/declarations/createClassStaticBlockDeclaration.mjs +25 -0
  16. package/lib/factory/declarations/createClassStaticBlockDeclaration.mjs.map +1 -0
  17. package/lib/factory/declarations/createConstructorDeclaration.mjs +28 -0
  18. package/lib/factory/declarations/createConstructorDeclaration.mjs.map +1 -0
  19. package/lib/factory/declarations/createEnumDeclaration.mjs +31 -0
  20. package/lib/factory/declarations/createEnumDeclaration.mjs.map +1 -0
  21. package/lib/factory/declarations/createEnumMember.mjs +26 -0
  22. package/lib/factory/declarations/createEnumMember.mjs.map +1 -0
  23. package/lib/factory/declarations/createExternalModuleReference.mjs +23 -0
  24. package/lib/factory/declarations/createExternalModuleReference.mjs.map +1 -0
  25. package/lib/factory/declarations/createFunctionDeclaration.mjs +48 -0
  26. package/lib/factory/declarations/createFunctionDeclaration.mjs.map +1 -0
  27. package/lib/factory/declarations/createGetAccessorDeclaration.mjs +39 -0
  28. package/lib/factory/declarations/createGetAccessorDeclaration.mjs.map +1 -0
  29. package/lib/factory/declarations/createImportEqualsDeclaration.mjs +35 -0
  30. package/lib/factory/declarations/createImportEqualsDeclaration.mjs.map +1 -0
  31. package/lib/factory/declarations/createInterfaceDeclaration.mjs +40 -0
  32. package/lib/factory/declarations/createInterfaceDeclaration.mjs.map +1 -0
  33. package/lib/factory/declarations/createMethodDeclaration.mjs +50 -0
  34. package/lib/factory/declarations/createMethodDeclaration.mjs.map +1 -0
  35. package/lib/factory/declarations/createModuleBlock.mjs +25 -0
  36. package/lib/factory/declarations/createModuleBlock.mjs.map +1 -0
  37. package/lib/factory/declarations/createModuleDeclaration.mjs +43 -0
  38. package/lib/factory/declarations/createModuleDeclaration.mjs.map +1 -0
  39. package/lib/factory/declarations/createNamespaceExportDeclaration.mjs +24 -0
  40. package/lib/factory/declarations/createNamespaceExportDeclaration.mjs.map +1 -0
  41. package/lib/factory/declarations/createPropertyDeclaration.mjs +41 -0
  42. package/lib/factory/declarations/createPropertyDeclaration.mjs.map +1 -0
  43. package/lib/factory/declarations/createSemicolonClassElement.mjs +20 -0
  44. package/lib/factory/declarations/createSemicolonClassElement.mjs.map +1 -0
  45. package/lib/factory/declarations/createSetAccessorDeclaration.mjs +37 -0
  46. package/lib/factory/declarations/createSetAccessorDeclaration.mjs.map +1 -0
  47. package/lib/factory/declarations/createTypeAliasDeclaration.mjs +35 -0
  48. package/lib/factory/declarations/createTypeAliasDeclaration.mjs.map +1 -0
  49. package/lib/factory/expressions/createAdd.mjs +26 -0
  50. package/lib/factory/expressions/createAdd.mjs.map +1 -0
  51. package/lib/factory/expressions/createArrayBindingPattern.mjs +23 -0
  52. package/lib/factory/expressions/createArrayBindingPattern.mjs.map +1 -0
  53. package/lib/factory/expressions/createArrayLiteralExpression.mjs +25 -0
  54. package/lib/factory/expressions/createArrayLiteralExpression.mjs.map +1 -0
  55. package/lib/factory/expressions/createArrowFunction.mjs +32 -0
  56. package/lib/factory/expressions/createArrowFunction.mjs.map +1 -0
  57. package/lib/factory/expressions/createAsExpression.mjs +23 -0
  58. package/lib/factory/expressions/createAsExpression.mjs.map +1 -0
  59. package/lib/factory/expressions/createAssignment.mjs +26 -0
  60. package/lib/factory/expressions/createAssignment.mjs.map +1 -0
  61. package/lib/factory/expressions/createAwaitExpression.mjs +22 -0
  62. package/lib/factory/expressions/createAwaitExpression.mjs.map +1 -0
  63. package/lib/factory/expressions/createBinaryExpression.mjs +33 -0
  64. package/lib/factory/expressions/createBinaryExpression.mjs.map +1 -0
  65. package/lib/factory/expressions/createBindingElement.mjs +39 -0
  66. package/lib/factory/expressions/createBindingElement.mjs.map +1 -0
  67. package/lib/factory/expressions/createBitwiseAnd.mjs +26 -0
  68. package/lib/factory/expressions/createBitwiseAnd.mjs.map +1 -0
  69. package/lib/factory/expressions/createBitwiseNot.mjs +25 -0
  70. package/lib/factory/expressions/createBitwiseNot.mjs.map +1 -0
  71. package/lib/factory/expressions/createBitwiseOr.mjs +25 -0
  72. package/lib/factory/expressions/createBitwiseOr.mjs.map +1 -0
  73. package/lib/factory/expressions/createBitwiseXor.mjs +25 -0
  74. package/lib/factory/expressions/createBitwiseXor.mjs.map +1 -0
  75. package/lib/factory/expressions/createCallChain.mjs +35 -0
  76. package/lib/factory/expressions/createCallChain.mjs.map +1 -0
  77. package/lib/factory/expressions/createCallExpression.mjs +29 -0
  78. package/lib/factory/expressions/createCallExpression.mjs.map +1 -0
  79. package/lib/factory/expressions/createClassExpression.mjs +34 -0
  80. package/lib/factory/expressions/createClassExpression.mjs.map +1 -0
  81. package/lib/factory/expressions/createComma.mjs +28 -0
  82. package/lib/factory/expressions/createComma.mjs.map +1 -0
  83. package/lib/factory/expressions/createCommaListExpression.mjs +23 -0
  84. package/lib/factory/expressions/createCommaListExpression.mjs.map +1 -0
  85. package/lib/factory/expressions/createComputedPropertyName.mjs +23 -0
  86. package/lib/factory/expressions/createComputedPropertyName.mjs.map +1 -0
  87. package/lib/factory/expressions/createConditionalExpression.mjs +28 -0
  88. package/lib/factory/expressions/createConditionalExpression.mjs.map +1 -0
  89. package/lib/factory/expressions/createDeleteExpression.mjs +22 -0
  90. package/lib/factory/expressions/createDeleteExpression.mjs.map +1 -0
  91. package/lib/factory/expressions/createDivide.mjs +25 -0
  92. package/lib/factory/expressions/createDivide.mjs.map +1 -0
  93. package/lib/factory/expressions/createElementAccessChain.mjs +32 -0
  94. package/lib/factory/expressions/createElementAccessChain.mjs.map +1 -0
  95. package/lib/factory/expressions/createElementAccessExpression.mjs +28 -0
  96. package/lib/factory/expressions/createElementAccessExpression.mjs.map +1 -0
  97. package/lib/factory/expressions/createEquality.mjs +27 -0
  98. package/lib/factory/expressions/createEquality.mjs.map +1 -0
  99. package/lib/factory/expressions/createExponent.mjs +26 -0
  100. package/lib/factory/expressions/createExponent.mjs.map +1 -0
  101. package/lib/factory/expressions/createFunctionExpression.mjs +38 -0
  102. package/lib/factory/expressions/createFunctionExpression.mjs.map +1 -0
  103. package/lib/factory/expressions/createGreaterThan.mjs +27 -0
  104. package/lib/factory/expressions/createGreaterThan.mjs.map +1 -0
  105. package/lib/factory/expressions/createGreaterThanEquals.mjs +27 -0
  106. package/lib/factory/expressions/createGreaterThanEquals.mjs.map +1 -0
  107. package/lib/factory/expressions/createImmediatelyInvokedArrowFunction.mjs +29 -0
  108. package/lib/factory/expressions/createImmediatelyInvokedArrowFunction.mjs.map +1 -0
  109. package/lib/factory/expressions/createImmediatelyInvokedFunctionExpression.mjs +29 -0
  110. package/lib/factory/expressions/createImmediatelyInvokedFunctionExpression.mjs.map +1 -0
  111. package/lib/factory/expressions/createInequality.mjs +27 -0
  112. package/lib/factory/expressions/createInequality.mjs.map +1 -0
  113. package/lib/factory/expressions/createLeftShift.mjs +26 -0
  114. package/lib/factory/expressions/createLeftShift.mjs.map +1 -0
  115. package/lib/factory/expressions/createLessThan.mjs +26 -0
  116. package/lib/factory/expressions/createLessThan.mjs.map +1 -0
  117. package/lib/factory/expressions/createLessThanEquals.mjs +27 -0
  118. package/lib/factory/expressions/createLessThanEquals.mjs.map +1 -0
  119. package/lib/factory/expressions/createLogicalAnd.mjs +27 -0
  120. package/lib/factory/expressions/createLogicalAnd.mjs.map +1 -0
  121. package/lib/factory/expressions/createLogicalNot.mjs +25 -0
  122. package/lib/factory/expressions/createLogicalNot.mjs.map +1 -0
  123. package/lib/factory/expressions/createLogicalOr.mjs +26 -0
  124. package/lib/factory/expressions/createLogicalOr.mjs.map +1 -0
  125. package/lib/factory/expressions/createMetaProperty.mjs +29 -0
  126. package/lib/factory/expressions/createMetaProperty.mjs.map +1 -0
  127. package/lib/factory/expressions/createModulo.mjs +24 -0
  128. package/lib/factory/expressions/createModulo.mjs.map +1 -0
  129. package/lib/factory/expressions/createMultiply.mjs +24 -0
  130. package/lib/factory/expressions/createMultiply.mjs.map +1 -0
  131. package/lib/factory/expressions/createNewExpression.mjs +30 -0
  132. package/lib/factory/expressions/createNewExpression.mjs.map +1 -0
  133. package/lib/factory/expressions/createNonNullChain.mjs +24 -0
  134. package/lib/factory/expressions/createNonNullChain.mjs.map +1 -0
  135. package/lib/factory/expressions/createNonNullExpression.mjs +24 -0
  136. package/lib/factory/expressions/createNonNullExpression.mjs.map +1 -0
  137. package/lib/factory/expressions/createObjectBindingPattern.mjs +24 -0
  138. package/lib/factory/expressions/createObjectBindingPattern.mjs.map +1 -0
  139. package/lib/factory/expressions/createObjectLiteralExpression.mjs +27 -0
  140. package/lib/factory/expressions/createObjectLiteralExpression.mjs.map +1 -0
  141. package/lib/factory/expressions/createOmittedExpression.mjs +23 -0
  142. package/lib/factory/expressions/createOmittedExpression.mjs.map +1 -0
  143. package/lib/factory/expressions/createParenthesizedExpression.mjs +24 -0
  144. package/lib/factory/expressions/createParenthesizedExpression.mjs.map +1 -0
  145. package/lib/factory/expressions/createPartiallyEmittedExpression.mjs +26 -0
  146. package/lib/factory/expressions/createPartiallyEmittedExpression.mjs.map +1 -0
  147. package/lib/factory/expressions/createPostfixDecrement.mjs +23 -0
  148. package/lib/factory/expressions/createPostfixDecrement.mjs.map +1 -0
  149. package/lib/factory/expressions/createPostfixIncrement.mjs +23 -0
  150. package/lib/factory/expressions/createPostfixIncrement.mjs.map +1 -0
  151. package/lib/factory/expressions/createPostfixUnaryExpression.mjs +25 -0
  152. package/lib/factory/expressions/createPostfixUnaryExpression.mjs.map +1 -0
  153. package/lib/factory/expressions/createPrefixDecrement.mjs +23 -0
  154. package/lib/factory/expressions/createPrefixDecrement.mjs.map +1 -0
  155. package/lib/factory/expressions/createPrefixIncrement.mjs +23 -0
  156. package/lib/factory/expressions/createPrefixIncrement.mjs.map +1 -0
  157. package/lib/factory/expressions/createPrefixMinus.mjs +23 -0
  158. package/lib/factory/expressions/createPrefixMinus.mjs.map +1 -0
  159. package/lib/factory/expressions/createPrefixPlus.mjs +23 -0
  160. package/lib/factory/expressions/createPrefixPlus.mjs.map +1 -0
  161. package/lib/factory/expressions/createPrefixUnaryExpression.mjs +25 -0
  162. package/lib/factory/expressions/createPrefixUnaryExpression.mjs.map +1 -0
  163. package/lib/factory/expressions/createPropertyAccessChain.mjs +32 -0
  164. package/lib/factory/expressions/createPropertyAccessChain.mjs.map +1 -0
  165. package/lib/factory/expressions/createPropertyAccessExpression.mjs +28 -0
  166. package/lib/factory/expressions/createPropertyAccessExpression.mjs.map +1 -0
  167. package/lib/factory/expressions/createPropertyAssignment.mjs +26 -0
  168. package/lib/factory/expressions/createPropertyAssignment.mjs.map +1 -0
  169. package/lib/factory/expressions/createRegularExpressionLiteral.mjs +23 -0
  170. package/lib/factory/expressions/createRegularExpressionLiteral.mjs.map +1 -0
  171. package/lib/factory/expressions/createRightShift.mjs +24 -0
  172. package/lib/factory/expressions/createRightShift.mjs.map +1 -0
  173. package/lib/factory/expressions/createSatisfiesExpression.mjs +25 -0
  174. package/lib/factory/expressions/createSatisfiesExpression.mjs.map +1 -0
  175. package/lib/factory/expressions/createShorthandPropertyAssignment.mjs +31 -0
  176. package/lib/factory/expressions/createShorthandPropertyAssignment.mjs.map +1 -0
  177. package/lib/factory/expressions/createSpreadAssignment.mjs +23 -0
  178. package/lib/factory/expressions/createSpreadAssignment.mjs.map +1 -0
  179. package/lib/factory/expressions/createSpreadElement.mjs +23 -0
  180. package/lib/factory/expressions/createSpreadElement.mjs.map +1 -0
  181. package/lib/factory/expressions/createStrictEquality.mjs +24 -0
  182. package/lib/factory/expressions/createStrictEquality.mjs.map +1 -0
  183. package/lib/factory/expressions/createStrictInequality.mjs +24 -0
  184. package/lib/factory/expressions/createStrictInequality.mjs.map +1 -0
  185. package/lib/factory/expressions/createSubtract.mjs +24 -0
  186. package/lib/factory/expressions/createSubtract.mjs.map +1 -0
  187. package/lib/factory/expressions/createTaggedTemplateExpression.mjs +27 -0
  188. package/lib/factory/expressions/createTaggedTemplateExpression.mjs.map +1 -0
  189. package/lib/factory/expressions/createTemplateExpression.mjs +27 -0
  190. package/lib/factory/expressions/createTemplateExpression.mjs.map +1 -0
  191. package/lib/factory/expressions/createTemplateSpan.mjs +28 -0
  192. package/lib/factory/expressions/createTemplateSpan.mjs.map +1 -0
  193. package/lib/factory/expressions/createTypeAssertion.mjs +25 -0
  194. package/lib/factory/expressions/createTypeAssertion.mjs.map +1 -0
  195. package/lib/factory/expressions/createTypeOfExpression.mjs +22 -0
  196. package/lib/factory/expressions/createTypeOfExpression.mjs.map +1 -0
  197. package/lib/factory/expressions/createUnsignedRightShift.mjs +24 -0
  198. package/lib/factory/expressions/createUnsignedRightShift.mjs.map +1 -0
  199. package/lib/factory/expressions/createVoidExpression.mjs +23 -0
  200. package/lib/factory/expressions/createVoidExpression.mjs.map +1 -0
  201. package/lib/factory/expressions/createVoidZero.mjs +22 -0
  202. package/lib/factory/expressions/createVoidZero.mjs.map +1 -0
  203. package/lib/factory/expressions/createYieldExpression.mjs +26 -0
  204. package/lib/factory/expressions/createYieldExpression.mjs.map +1 -0
  205. package/lib/factory/file/createBundle.mjs +29 -0
  206. package/lib/factory/file/createBundle.mjs.map +1 -0
  207. package/lib/factory/file/createNodeArray.mjs +24 -0
  208. package/lib/factory/file/createNodeArray.mjs.map +1 -0
  209. package/lib/factory/file/createSourceFile.mjs +24 -0
  210. package/lib/factory/file/createSourceFile.mjs.map +1 -0
  211. package/lib/factory/file/updateSourceFile.mjs +14 -0
  212. package/lib/factory/file/updateSourceFile.mjs.map +1 -0
  213. package/lib/factory/imports/createExportAssignment.mjs +27 -0
  214. package/lib/factory/imports/createExportAssignment.mjs.map +1 -0
  215. package/lib/factory/imports/createExportDeclaration.mjs +38 -0
  216. package/lib/factory/imports/createExportDeclaration.mjs.map +1 -0
  217. package/lib/factory/imports/createExportDefault.mjs +23 -0
  218. package/lib/factory/imports/createExportDefault.mjs.map +1 -0
  219. package/lib/factory/imports/createExportSpecifier.mjs +32 -0
  220. package/lib/factory/imports/createExportSpecifier.mjs.map +1 -0
  221. package/lib/factory/imports/createExternalModuleExport.mjs +26 -0
  222. package/lib/factory/imports/createExternalModuleExport.mjs.map +1 -0
  223. package/lib/factory/imports/createImportAttribute.mjs +25 -0
  224. package/lib/factory/imports/createImportAttribute.mjs.map +1 -0
  225. package/lib/factory/imports/createImportAttributes.mjs +30 -0
  226. package/lib/factory/imports/createImportAttributes.mjs.map +1 -0
  227. package/lib/factory/imports/createImportClause.mjs +27 -0
  228. package/lib/factory/imports/createImportClause.mjs.map +1 -0
  229. package/lib/factory/imports/createImportDeclaration.mjs +34 -0
  230. package/lib/factory/imports/createImportDeclaration.mjs.map +1 -0
  231. package/lib/factory/imports/createImportSpecifier.mjs +28 -0
  232. package/lib/factory/imports/createImportSpecifier.mjs.map +1 -0
  233. package/lib/factory/imports/createNamedExports.mjs +25 -0
  234. package/lib/factory/imports/createNamedExports.mjs.map +1 -0
  235. package/lib/factory/imports/createNamedImports.mjs +25 -0
  236. package/lib/factory/imports/createNamedImports.mjs.map +1 -0
  237. package/lib/factory/imports/createNamespaceExport.mjs +25 -0
  238. package/lib/factory/imports/createNamespaceExport.mjs.map +1 -0
  239. package/lib/factory/imports/createNamespaceImport.mjs +24 -0
  240. package/lib/factory/imports/createNamespaceImport.mjs.map +1 -0
  241. package/lib/factory/index.mjs +268 -0
  242. package/lib/factory/index.mjs.map +1 -0
  243. package/lib/factory/internal/asEntityName.mjs +7 -0
  244. package/lib/factory/internal/asEntityName.mjs.map +1 -0
  245. package/lib/factory/internal/asName.mjs +11 -0
  246. package/lib/factory/internal/asName.mjs.map +1 -0
  247. package/lib/factory/internal/asPropertyName.mjs +7 -0
  248. package/lib/factory/internal/asPropertyName.mjs.map +1 -0
  249. package/lib/factory/internal/make.mjs +14 -0
  250. package/lib/factory/internal/make.mjs.map +1 -0
  251. package/lib/factory/jsdoc/createJSDocAllType.mjs +21 -0
  252. package/lib/factory/jsdoc/createJSDocAllType.mjs.map +1 -0
  253. package/lib/factory/jsdoc/createJSDocAugmentsTag.mjs +30 -0
  254. package/lib/factory/jsdoc/createJSDocAugmentsTag.mjs.map +1 -0
  255. package/lib/factory/jsdoc/createJSDocAuthorTag.mjs +27 -0
  256. package/lib/factory/jsdoc/createJSDocAuthorTag.mjs.map +1 -0
  257. package/lib/factory/jsdoc/createJSDocCallbackTag.mjs +37 -0
  258. package/lib/factory/jsdoc/createJSDocCallbackTag.mjs.map +1 -0
  259. package/lib/factory/jsdoc/createJSDocClassTag.mjs +27 -0
  260. package/lib/factory/jsdoc/createJSDocClassTag.mjs.map +1 -0
  261. package/lib/factory/jsdoc/createJSDocComment.mjs +29 -0
  262. package/lib/factory/jsdoc/createJSDocComment.mjs.map +1 -0
  263. package/lib/factory/jsdoc/createJSDocDeprecatedTag.mjs +27 -0
  264. package/lib/factory/jsdoc/createJSDocDeprecatedTag.mjs.map +1 -0
  265. package/lib/factory/jsdoc/createJSDocEnumTag.mjs +31 -0
  266. package/lib/factory/jsdoc/createJSDocEnumTag.mjs.map +1 -0
  267. package/lib/factory/jsdoc/createJSDocFunctionType.mjs +26 -0
  268. package/lib/factory/jsdoc/createJSDocFunctionType.mjs.map +1 -0
  269. package/lib/factory/jsdoc/createJSDocImplementsTag.mjs +30 -0
  270. package/lib/factory/jsdoc/createJSDocImplementsTag.mjs.map +1 -0
  271. package/lib/factory/jsdoc/createJSDocImportTag.mjs +34 -0
  272. package/lib/factory/jsdoc/createJSDocImportTag.mjs.map +1 -0
  273. package/lib/factory/jsdoc/createJSDocLink.mjs +29 -0
  274. package/lib/factory/jsdoc/createJSDocLink.mjs.map +1 -0
  275. package/lib/factory/jsdoc/createJSDocLinkCode.mjs +29 -0
  276. package/lib/factory/jsdoc/createJSDocLinkCode.mjs.map +1 -0
  277. package/lib/factory/jsdoc/createJSDocLinkPlain.mjs +29 -0
  278. package/lib/factory/jsdoc/createJSDocLinkPlain.mjs.map +1 -0
  279. package/lib/factory/jsdoc/createJSDocMemberName.mjs +26 -0
  280. package/lib/factory/jsdoc/createJSDocMemberName.mjs.map +1 -0
  281. package/lib/factory/jsdoc/createJSDocNameReference.mjs +25 -0
  282. package/lib/factory/jsdoc/createJSDocNameReference.mjs.map +1 -0
  283. package/lib/factory/jsdoc/createJSDocNamepathType.mjs +25 -0
  284. package/lib/factory/jsdoc/createJSDocNamepathType.mjs.map +1 -0
  285. package/lib/factory/jsdoc/createJSDocNonNullableType.mjs +33 -0
  286. package/lib/factory/jsdoc/createJSDocNonNullableType.mjs.map +1 -0
  287. package/lib/factory/jsdoc/createJSDocNullableType.mjs +33 -0
  288. package/lib/factory/jsdoc/createJSDocNullableType.mjs.map +1 -0
  289. package/lib/factory/jsdoc/createJSDocOptionalType.mjs +23 -0
  290. package/lib/factory/jsdoc/createJSDocOptionalType.mjs.map +1 -0
  291. package/lib/factory/jsdoc/createJSDocOverloadTag.mjs +35 -0
  292. package/lib/factory/jsdoc/createJSDocOverloadTag.mjs.map +1 -0
  293. package/lib/factory/jsdoc/createJSDocOverrideTag.mjs +27 -0
  294. package/lib/factory/jsdoc/createJSDocOverrideTag.mjs.map +1 -0
  295. package/lib/factory/jsdoc/createJSDocParameterTag.mjs +46 -0
  296. package/lib/factory/jsdoc/createJSDocParameterTag.mjs.map +1 -0
  297. package/lib/factory/jsdoc/createJSDocPrivateTag.mjs +27 -0
  298. package/lib/factory/jsdoc/createJSDocPrivateTag.mjs.map +1 -0
  299. package/lib/factory/jsdoc/createJSDocPropertyTag.mjs +40 -0
  300. package/lib/factory/jsdoc/createJSDocPropertyTag.mjs.map +1 -0
  301. package/lib/factory/jsdoc/createJSDocProtectedTag.mjs +27 -0
  302. package/lib/factory/jsdoc/createJSDocProtectedTag.mjs.map +1 -0
  303. package/lib/factory/jsdoc/createJSDocPublicTag.mjs +27 -0
  304. package/lib/factory/jsdoc/createJSDocPublicTag.mjs.map +1 -0
  305. package/lib/factory/jsdoc/createJSDocReadonlyTag.mjs +27 -0
  306. package/lib/factory/jsdoc/createJSDocReadonlyTag.mjs.map +1 -0
  307. package/lib/factory/jsdoc/createJSDocReturnTag.mjs +32 -0
  308. package/lib/factory/jsdoc/createJSDocReturnTag.mjs.map +1 -0
  309. package/lib/factory/jsdoc/createJSDocSatisfiesTag.mjs +31 -0
  310. package/lib/factory/jsdoc/createJSDocSatisfiesTag.mjs.map +1 -0
  311. package/lib/factory/jsdoc/createJSDocSeeTag.mjs +31 -0
  312. package/lib/factory/jsdoc/createJSDocSeeTag.mjs.map +1 -0
  313. package/lib/factory/jsdoc/createJSDocSignature.mjs +32 -0
  314. package/lib/factory/jsdoc/createJSDocSignature.mjs.map +1 -0
  315. package/lib/factory/jsdoc/createJSDocTemplateTag.mjs +34 -0
  316. package/lib/factory/jsdoc/createJSDocTemplateTag.mjs.map +1 -0
  317. package/lib/factory/jsdoc/createJSDocText.mjs +25 -0
  318. package/lib/factory/jsdoc/createJSDocText.mjs.map +1 -0
  319. package/lib/factory/jsdoc/createJSDocThisTag.mjs +30 -0
  320. package/lib/factory/jsdoc/createJSDocThisTag.mjs.map +1 -0
  321. package/lib/factory/jsdoc/createJSDocThrowsTag.mjs +30 -0
  322. package/lib/factory/jsdoc/createJSDocThrowsTag.mjs.map +1 -0
  323. package/lib/factory/jsdoc/createJSDocTypeExpression.mjs +24 -0
  324. package/lib/factory/jsdoc/createJSDocTypeExpression.mjs.map +1 -0
  325. package/lib/factory/jsdoc/createJSDocTypeLiteral.mjs +29 -0
  326. package/lib/factory/jsdoc/createJSDocTypeLiteral.mjs.map +1 -0
  327. package/lib/factory/jsdoc/createJSDocTypeTag.mjs +31 -0
  328. package/lib/factory/jsdoc/createJSDocTypeTag.mjs.map +1 -0
  329. package/lib/factory/jsdoc/createJSDocTypedefTag.mjs +34 -0
  330. package/lib/factory/jsdoc/createJSDocTypedefTag.mjs.map +1 -0
  331. package/lib/factory/jsdoc/createJSDocUnknownTag.mjs +27 -0
  332. package/lib/factory/jsdoc/createJSDocUnknownTag.mjs.map +1 -0
  333. package/lib/factory/jsdoc/createJSDocUnknownType.mjs +21 -0
  334. package/lib/factory/jsdoc/createJSDocUnknownType.mjs.map +1 -0
  335. package/lib/factory/jsdoc/createJSDocVariadicType.mjs +24 -0
  336. package/lib/factory/jsdoc/createJSDocVariadicType.mjs.map +1 -0
  337. package/lib/factory/jsx/createJsxAttribute.mjs +29 -0
  338. package/lib/factory/jsx/createJsxAttribute.mjs.map +1 -0
  339. package/lib/factory/jsx/createJsxAttributes.mjs +27 -0
  340. package/lib/factory/jsx/createJsxAttributes.mjs.map +1 -0
  341. package/lib/factory/jsx/createJsxClosingElement.mjs +24 -0
  342. package/lib/factory/jsx/createJsxClosingElement.mjs.map +1 -0
  343. package/lib/factory/jsx/createJsxElement.mjs +32 -0
  344. package/lib/factory/jsx/createJsxElement.mjs.map +1 -0
  345. package/lib/factory/jsx/createJsxExpression.mjs +29 -0
  346. package/lib/factory/jsx/createJsxExpression.mjs.map +1 -0
  347. package/lib/factory/jsx/createJsxFragment.mjs +32 -0
  348. package/lib/factory/jsx/createJsxFragment.mjs.map +1 -0
  349. package/lib/factory/jsx/createJsxJsxClosingFragment.mjs +23 -0
  350. package/lib/factory/jsx/createJsxJsxClosingFragment.mjs.map +1 -0
  351. package/lib/factory/jsx/createJsxNamespacedName.mjs +28 -0
  352. package/lib/factory/jsx/createJsxNamespacedName.mjs.map +1 -0
  353. package/lib/factory/jsx/createJsxOpeningElement.mjs +32 -0
  354. package/lib/factory/jsx/createJsxOpeningElement.mjs.map +1 -0
  355. package/lib/factory/jsx/createJsxOpeningFragment.mjs +22 -0
  356. package/lib/factory/jsx/createJsxOpeningFragment.mjs.map +1 -0
  357. package/lib/factory/jsx/createJsxSelfClosingElement.mjs +31 -0
  358. package/lib/factory/jsx/createJsxSelfClosingElement.mjs.map +1 -0
  359. package/lib/factory/jsx/createJsxSpreadAttribute.mjs +24 -0
  360. package/lib/factory/jsx/createJsxSpreadAttribute.mjs.map +1 -0
  361. package/lib/factory/jsx/createJsxText.mjs +31 -0
  362. package/lib/factory/jsx/createJsxText.mjs.map +1 -0
  363. package/lib/factory/literals/createBigIntLiteral.mjs +23 -0
  364. package/lib/factory/literals/createBigIntLiteral.mjs.map +1 -0
  365. package/lib/factory/literals/createNoSubstitutionTemplateLiteral.mjs +24 -0
  366. package/lib/factory/literals/createNoSubstitutionTemplateLiteral.mjs.map +1 -0
  367. package/lib/factory/literals/createNumericLiteral.mjs +23 -0
  368. package/lib/factory/literals/createNumericLiteral.mjs.map +1 -0
  369. package/lib/factory/literals/createStringLiteral.mjs +29 -0
  370. package/lib/factory/literals/createStringLiteral.mjs.map +1 -0
  371. package/lib/factory/literals/createStringLiteralFromNode.mjs +25 -0
  372. package/lib/factory/literals/createStringLiteralFromNode.mjs.map +1 -0
  373. package/lib/factory/literals/createTemplateHead.mjs +27 -0
  374. package/lib/factory/literals/createTemplateHead.mjs.map +1 -0
  375. package/lib/factory/literals/createTemplateMiddle.mjs +25 -0
  376. package/lib/factory/literals/createTemplateMiddle.mjs.map +1 -0
  377. package/lib/factory/literals/createTemplateTail.mjs +25 -0
  378. package/lib/factory/literals/createTemplateTail.mjs.map +1 -0
  379. package/lib/factory/names/createDecorator.mjs +23 -0
  380. package/lib/factory/names/createDecorator.mjs.map +1 -0
  381. package/lib/factory/names/createFalse.mjs +23 -0
  382. package/lib/factory/names/createFalse.mjs.map +1 -0
  383. package/lib/factory/names/createIdentifier.mjs +23 -0
  384. package/lib/factory/names/createIdentifier.mjs.map +1 -0
  385. package/lib/factory/names/createLoopVariable.mjs +28 -0
  386. package/lib/factory/names/createLoopVariable.mjs.map +1 -0
  387. package/lib/factory/names/createModifier.mjs +25 -0
  388. package/lib/factory/names/createModifier.mjs.map +1 -0
  389. package/lib/factory/names/createModifiersFromModifierFlags.mjs +82 -0
  390. package/lib/factory/names/createModifiersFromModifierFlags.mjs.map +1 -0
  391. package/lib/factory/names/createNull.mjs +23 -0
  392. package/lib/factory/names/createNull.mjs.map +1 -0
  393. package/lib/factory/names/createPrivateIdentifier.mjs +23 -0
  394. package/lib/factory/names/createPrivateIdentifier.mjs.map +1 -0
  395. package/lib/factory/names/createQualifiedName.mjs +28 -0
  396. package/lib/factory/names/createQualifiedName.mjs.map +1 -0
  397. package/lib/factory/names/createSuper.mjs +23 -0
  398. package/lib/factory/names/createSuper.mjs.map +1 -0
  399. package/lib/factory/names/createTempVariable.mjs +33 -0
  400. package/lib/factory/names/createTempVariable.mjs.map +1 -0
  401. package/lib/factory/names/createThis.mjs +23 -0
  402. package/lib/factory/names/createThis.mjs.map +1 -0
  403. package/lib/factory/names/createToken.mjs +24 -0
  404. package/lib/factory/names/createToken.mjs.map +1 -0
  405. package/lib/factory/names/createTrue.mjs +23 -0
  406. package/lib/factory/names/createTrue.mjs.map +1 -0
  407. package/lib/factory/names/createUniqueName.mjs +32 -0
  408. package/lib/factory/names/createUniqueName.mjs.map +1 -0
  409. package/lib/factory/names/createUniquePrivateName.mjs +29 -0
  410. package/lib/factory/names/createUniquePrivateName.mjs.map +1 -0
  411. package/lib/factory/statements/createBlock.mjs +29 -0
  412. package/lib/factory/statements/createBlock.mjs.map +1 -0
  413. package/lib/factory/statements/createBreakStatement.mjs +31 -0
  414. package/lib/factory/statements/createBreakStatement.mjs.map +1 -0
  415. package/lib/factory/statements/createCaseBlock.mjs +30 -0
  416. package/lib/factory/statements/createCaseBlock.mjs.map +1 -0
  417. package/lib/factory/statements/createCaseClause.mjs +28 -0
  418. package/lib/factory/statements/createCaseClause.mjs.map +1 -0
  419. package/lib/factory/statements/createCatchClause.mjs +35 -0
  420. package/lib/factory/statements/createCatchClause.mjs.map +1 -0
  421. package/lib/factory/statements/createContinueStatement.mjs +31 -0
  422. package/lib/factory/statements/createContinueStatement.mjs.map +1 -0
  423. package/lib/factory/statements/createDebuggerStatement.mjs +21 -0
  424. package/lib/factory/statements/createDebuggerStatement.mjs.map +1 -0
  425. package/lib/factory/statements/createDefaultClause.mjs +24 -0
  426. package/lib/factory/statements/createDefaultClause.mjs.map +1 -0
  427. package/lib/factory/statements/createDoStatement.mjs +27 -0
  428. package/lib/factory/statements/createDoStatement.mjs.map +1 -0
  429. package/lib/factory/statements/createEmptyStatement.mjs +21 -0
  430. package/lib/factory/statements/createEmptyStatement.mjs.map +1 -0
  431. package/lib/factory/statements/createExpressionStatement.mjs +23 -0
  432. package/lib/factory/statements/createExpressionStatement.mjs.map +1 -0
  433. package/lib/factory/statements/createForInStatement.mjs +29 -0
  434. package/lib/factory/statements/createForInStatement.mjs.map +1 -0
  435. package/lib/factory/statements/createForOfStatement.mjs +39 -0
  436. package/lib/factory/statements/createForOfStatement.mjs.map +1 -0
  437. package/lib/factory/statements/createForStatement.mjs +32 -0
  438. package/lib/factory/statements/createForStatement.mjs.map +1 -0
  439. package/lib/factory/statements/createIfStatement.mjs +31 -0
  440. package/lib/factory/statements/createIfStatement.mjs.map +1 -0
  441. package/lib/factory/statements/createLabeledStatement.mjs +28 -0
  442. package/lib/factory/statements/createLabeledStatement.mjs.map +1 -0
  443. package/lib/factory/statements/createNotEmittedStatement.mjs +20 -0
  444. package/lib/factory/statements/createNotEmittedStatement.mjs.map +1 -0
  445. package/lib/factory/statements/createReturnStatement.mjs +28 -0
  446. package/lib/factory/statements/createReturnStatement.mjs.map +1 -0
  447. package/lib/factory/statements/createSwitchStatement.mjs +31 -0
  448. package/lib/factory/statements/createSwitchStatement.mjs.map +1 -0
  449. package/lib/factory/statements/createThrowStatement.mjs +22 -0
  450. package/lib/factory/statements/createThrowStatement.mjs.map +1 -0
  451. package/lib/factory/statements/createTryStatement.mjs +34 -0
  452. package/lib/factory/statements/createTryStatement.mjs.map +1 -0
  453. package/lib/factory/statements/createVariableDeclaration.mjs +38 -0
  454. package/lib/factory/statements/createVariableDeclaration.mjs.map +1 -0
  455. package/lib/factory/statements/createVariableDeclarationList.mjs +28 -0
  456. package/lib/factory/statements/createVariableDeclarationList.mjs.map +1 -0
  457. package/lib/factory/statements/createVariableStatement.mjs +33 -0
  458. package/lib/factory/statements/createVariableStatement.mjs.map +1 -0
  459. package/lib/factory/statements/createWhileStatement.mjs +27 -0
  460. package/lib/factory/statements/createWhileStatement.mjs.map +1 -0
  461. package/lib/factory/statements/createWithStatement.mjs +27 -0
  462. package/lib/factory/statements/createWithStatement.mjs.map +1 -0
  463. package/lib/factory/types/createArrayTypeNode.mjs +25 -0
  464. package/lib/factory/types/createArrayTypeNode.mjs.map +1 -0
  465. package/lib/factory/types/createCallSignature.mjs +26 -0
  466. package/lib/factory/types/createCallSignature.mjs.map +1 -0
  467. package/lib/factory/types/createConditionalTypeNode.mjs +28 -0
  468. package/lib/factory/types/createConditionalTypeNode.mjs.map +1 -0
  469. package/lib/factory/types/createConstructSignature.mjs +25 -0
  470. package/lib/factory/types/createConstructSignature.mjs.map +1 -0
  471. package/lib/factory/types/createConstructorTypeNode.mjs +27 -0
  472. package/lib/factory/types/createConstructorTypeNode.mjs.map +1 -0
  473. package/lib/factory/types/createExpressionWithTypeArguments.mjs +25 -0
  474. package/lib/factory/types/createExpressionWithTypeArguments.mjs.map +1 -0
  475. package/lib/factory/types/createFunctionTypeNode.mjs +27 -0
  476. package/lib/factory/types/createFunctionTypeNode.mjs.map +1 -0
  477. package/lib/factory/types/createImportTypeNode.mjs +27 -0
  478. package/lib/factory/types/createImportTypeNode.mjs.map +1 -0
  479. package/lib/factory/types/createIndexSignature.mjs +25 -0
  480. package/lib/factory/types/createIndexSignature.mjs.map +1 -0
  481. package/lib/factory/types/createIndexedAccessTypeNode.mjs +25 -0
  482. package/lib/factory/types/createIndexedAccessTypeNode.mjs.map +1 -0
  483. package/lib/factory/types/createInferTypeNode.mjs +24 -0
  484. package/lib/factory/types/createInferTypeNode.mjs.map +1 -0
  485. package/lib/factory/types/createIntersectionTypeNode.mjs +24 -0
  486. package/lib/factory/types/createIntersectionTypeNode.mjs.map +1 -0
  487. package/lib/factory/types/createKeywordTypeNode.mjs +25 -0
  488. package/lib/factory/types/createKeywordTypeNode.mjs.map +1 -0
  489. package/lib/factory/types/createLiteralTypeNode.mjs +26 -0
  490. package/lib/factory/types/createLiteralTypeNode.mjs.map +1 -0
  491. package/lib/factory/types/createMappedTypeNode.mjs +44 -0
  492. package/lib/factory/types/createMappedTypeNode.mjs.map +1 -0
  493. package/lib/factory/types/createMethodSignature.mjs +39 -0
  494. package/lib/factory/types/createMethodSignature.mjs.map +1 -0
  495. package/lib/factory/types/createNamedTupleMember.mjs +33 -0
  496. package/lib/factory/types/createNamedTupleMember.mjs.map +1 -0
  497. package/lib/factory/types/createNotEmittedTypeElement.mjs +17 -0
  498. package/lib/factory/types/createNotEmittedTypeElement.mjs.map +1 -0
  499. package/lib/factory/types/createOptionalTypeNode.mjs +23 -0
  500. package/lib/factory/types/createOptionalTypeNode.mjs.map +1 -0
  501. package/lib/factory/types/createParenthesizedType.mjs +23 -0
  502. package/lib/factory/types/createParenthesizedType.mjs.map +1 -0
  503. package/lib/factory/types/createPropertySignature.mjs +34 -0
  504. package/lib/factory/types/createPropertySignature.mjs.map +1 -0
  505. package/lib/factory/types/createRestTypeNode.mjs +22 -0
  506. package/lib/factory/types/createRestTypeNode.mjs.map +1 -0
  507. package/lib/factory/types/createTemplateLiteralType.mjs +27 -0
  508. package/lib/factory/types/createTemplateLiteralType.mjs.map +1 -0
  509. package/lib/factory/types/createTemplateLiteralTypeSpan.mjs +27 -0
  510. package/lib/factory/types/createTemplateLiteralTypeSpan.mjs.map +1 -0
  511. package/lib/factory/types/createThisTypeNode.mjs +22 -0
  512. package/lib/factory/types/createThisTypeNode.mjs.map +1 -0
  513. package/lib/factory/types/createTupleTypeNode.mjs +24 -0
  514. package/lib/factory/types/createTupleTypeNode.mjs.map +1 -0
  515. package/lib/factory/types/createTypeLiteralNode.mjs +25 -0
  516. package/lib/factory/types/createTypeLiteralNode.mjs.map +1 -0
  517. package/lib/factory/types/createTypeOperatorNode.mjs +26 -0
  518. package/lib/factory/types/createTypeOperatorNode.mjs.map +1 -0
  519. package/lib/factory/types/createTypeParameterDeclaration.mjs +34 -0
  520. package/lib/factory/types/createTypeParameterDeclaration.mjs.map +1 -0
  521. package/lib/factory/types/createTypePredicateNode.mjs +35 -0
  522. package/lib/factory/types/createTypePredicateNode.mjs.map +1 -0
  523. package/lib/factory/types/createTypeQueryNode.mjs +23 -0
  524. package/lib/factory/types/createTypeQueryNode.mjs.map +1 -0
  525. package/lib/factory/types/createTypeReferenceNode.mjs +30 -0
  526. package/lib/factory/types/createTypeReferenceNode.mjs.map +1 -0
  527. package/lib/factory/types/createUnionTypeNode.mjs +24 -0
  528. package/lib/factory/types/createUnionTypeNode.mjs.map +1 -0
  529. package/lib/index.d.ts +0 -1
  530. package/lib/index.js.map +1 -1
  531. package/lib/index.mjs +10 -0
  532. package/lib/index.mjs.map +1 -0
  533. package/lib/internal/doc.mjs +171 -0
  534. package/lib/internal/doc.mjs.map +1 -0
  535. package/lib/syntax/NodeFlags.mjs +23 -0
  536. package/lib/syntax/NodeFlags.mjs.map +1 -0
  537. package/lib/syntax/SyntaxKind.mjs +110 -0
  538. package/lib/syntax/SyntaxKind.mjs.map +1 -0
  539. package/package.json +6 -9
  540. package/src/TsPrinter.ts +702 -88
  541. package/src/index.ts +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TsPrinter.mjs","sources":["../src/TsPrinter.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -0,0 +1,76 @@
1
+ const leadingStore = new WeakMap();
2
+ const trailingStore = new WeakMap();
3
+ const append = (store, node, comment) => {
4
+ const list = store.get(node);
5
+ if (list !== undefined)
6
+ list.push(comment);
7
+ else
8
+ store.set(node, [comment]);
9
+ };
10
+ /**
11
+ * Attach a synthesized leading comment to a node.
12
+ *
13
+ * Drop-in replacement for the legacy `ts.addSyntheticLeadingComment`. The
14
+ * comment is rendered by {@link TsPrinter} immediately before the node. The node
15
+ * is returned for call chaining.
16
+ *
17
+ * @param node The target node.
18
+ * @param kind Single-line (`//`) or multi-line (`/* *\/`) comment.
19
+ * @param text The raw comment body, excluding the delimiters.
20
+ * @param hasTrailingNewLine Whether to break the line after the comment.
21
+ * @returns The same `node`.
22
+ */
23
+ const addSyntheticLeadingComment = (node, kind, text, hasTrailingNewLine) => {
24
+ append(leadingStore, node, { kind, text, hasTrailingNewLine });
25
+ return node;
26
+ };
27
+ /**
28
+ * Attach a synthesized trailing comment to a node.
29
+ *
30
+ * Drop-in replacement for the legacy `ts.addSyntheticTrailingComment`. The
31
+ * comment is rendered by {@link TsPrinter} immediately after the node. The node
32
+ * is returned for call chaining.
33
+ *
34
+ * @param node The target node.
35
+ * @param kind Single-line (`//`) or multi-line (`/* *\/`) comment.
36
+ * @param text The raw comment body, excluding the delimiters.
37
+ * @param hasTrailingNewLine Whether to break the line after the comment.
38
+ * @returns The same `node`.
39
+ */
40
+ const addSyntheticTrailingComment = (node, kind, text, hasTrailingNewLine) => {
41
+ append(trailingStore, node, { kind, text, hasTrailingNewLine });
42
+ return node;
43
+ };
44
+ /** Read the synthesized leading comments attached to `node`, if any. */
45
+ const getSyntheticLeadingComments = (node) => leadingStore.get(node);
46
+ /** Read the synthesized trailing comments attached to `node`, if any. */
47
+ const getSyntheticTrailingComments = (node) => trailingStore.get(node);
48
+ /**
49
+ * Replace the synthesized leading comments of `node`.
50
+ *
51
+ * Passing `undefined` (or an empty list) clears them. The node is returned for
52
+ * call chaining.
53
+ */
54
+ const setSyntheticLeadingComments = (node, comments) => {
55
+ if (comments !== undefined && comments.length !== 0)
56
+ leadingStore.set(node, comments.slice());
57
+ else
58
+ leadingStore.delete(node);
59
+ return node;
60
+ };
61
+ /**
62
+ * Replace the synthesized trailing comments of `node`.
63
+ *
64
+ * Passing `undefined` (or an empty list) clears them. The node is returned for
65
+ * call chaining.
66
+ */
67
+ const setSyntheticTrailingComments = (node, comments) => {
68
+ if (comments !== undefined && comments.length !== 0)
69
+ trailingStore.set(node, comments.slice());
70
+ else
71
+ trailingStore.delete(node);
72
+ return node;
73
+ };
74
+
75
+ export { addSyntheticLeadingComment, addSyntheticTrailingComment, getSyntheticLeadingComments, getSyntheticTrailingComments, setSyntheticLeadingComments, setSyntheticTrailingComments };
76
+ //# sourceMappingURL=comments.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"comments.mjs","sources":["../src/comments.ts"],"sourcesContent":[null],"names":[],"mappings":"AA2DA,MAAM,YAAY,GAAG,IAAI,OAAO,EAAgC;AAChE,MAAM,aAAa,GAAG,IAAI,OAAO,EAAgC;AAEjE,MAAM,MAAM,GAAG,CACb,KAA4C,EAC5C,IAAY,EACZ,OAA2B,KACnB;IACR,MAAM,IAAI,GAAqC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;IAC9D,IAAI,IAAI,KAAK,SAAS;AAAE,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;;QACrC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC;AACjC,CAAC;AAED;;;;;;;;;;;;AAYG;AACI,MAAM,0BAA0B,GAAG,CACxC,IAAO,EACP,IAAgC,EAChC,IAAY,EACZ,kBAA4B,KACvB;AACL,IAAA,MAAM,CAAC,YAAY,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC;AAC9D,IAAA,OAAO,IAAI;AACb;AAEA;;;;;;;;;;;;AAYG;AACI,MAAM,2BAA2B,GAAG,CACzC,IAAO,EACP,IAAgC,EAChC,IAAY,EACZ,kBAA4B,KACvB;AACL,IAAA,MAAM,CAAC,aAAa,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC;AAC/D,IAAA,OAAO,IAAI;AACb;AAEA;AACO,MAAM,2BAA2B,GAAG,CACzC,IAAU,KAC2B,YAAY,CAAC,GAAG,CAAC,IAAI;AAE5D;AACO,MAAM,4BAA4B,GAAG,CAC1C,IAAU,KAC2B,aAAa,CAAC,GAAG,CAAC,IAAI;AAE7D;;;;;AAKG;MACU,2BAA2B,GAAG,CACzC,IAAO,EACP,QAAmD,KAC9C;IACL,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QACjD,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC;;AACrC,QAAA,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC;AAC9B,IAAA,OAAO,IAAI;AACb;AAEA;;;;;AAKG;MACU,4BAA4B,GAAG,CAC1C,IAAO,EACP,QAAmD,KAC9C;IACL,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QACjD,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC;;AACtC,QAAA,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC;AAC/B,IAAA,OAAO,IAAI;AACb;;;;"}
@@ -0,0 +1,26 @@
1
+ import { make } from '../internal/make.mjs';
2
+
3
+ /**
4
+ * Create a {@link HeritageClause}: an `extends` or `implements` clause.
5
+ *
6
+ * This is the supertype list attached to a class or interface header. The
7
+ * `token` selects the keyword the printer emits, either the `extends` or the
8
+ * `implements` syntax kind. The `types` are the referenced supertypes, printed
9
+ * after the keyword and separated by commas.
10
+ *
11
+ * Given the `implements` token and the types `IAnimal` and `ISerializable`, the
12
+ * printed clause is:
13
+ *
14
+ * ```ts
15
+ * implements IAnimal, ISerializable
16
+ * ```
17
+ *
18
+ * @author Jeongho Nam - https://github.com/samchon
19
+ * @param token The `extends` or `implements` keyword.
20
+ * @param types The constituent types.
21
+ * @returns The created {@link HeritageClause}.
22
+ */
23
+ const createHeritageClause = (token, types) => make("HeritageClause", { token, types });
24
+
25
+ export { createHeritageClause };
26
+ //# sourceMappingURL=createHeritageClause.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createHeritageClause.mjs","sources":["../../../src/factory/clauses/createHeritageClause.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAIA;;;;;;;;;;;;;;;;;;;AAmBG;MACU,oBAAoB,GAAG,CAClC,KAAiB,EACjB,KAA6C,KAC1B,IAAI,CAAC,gBAAgB,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;;;;"}
@@ -0,0 +1,43 @@
1
+ import { asName } from '../internal/asName.mjs';
2
+ import { make } from '../internal/make.mjs';
3
+
4
+ /**
5
+ * Create a {@link ParameterDeclaration}: a single function or method parameter.
6
+ *
7
+ * The `modifiers` precede the parameter name. On a constructor these are the
8
+ * accessibility keywords such as `public` or `readonly` that turn it into a
9
+ * parameter property; any decorators among them stay inline, in front of the
10
+ * name, rather than moving to their own line. The `dotDotDotToken` marks a rest
11
+ * parameter (`...args`), and the `questionToken` marks it optional (`name?`).
12
+ *
13
+ * The `name` accepts a string or a binding pattern. The optional `type` prints
14
+ * after a colon, and the optional `initializer` supplies a default value after
15
+ * an `=`.
16
+ *
17
+ * Given a `readonly` modifier, the name `value`, and a `number` type, the
18
+ * printed parameter is:
19
+ *
20
+ * ```ts
21
+ * readonly value: number
22
+ * ```
23
+ *
24
+ * @author Jeongho Nam - https://github.com/samchon
25
+ * @param modifiers The leading modifiers and decorators, if any.
26
+ * @param dotDotDotToken The rest marker (`...`), if any.
27
+ * @param name The name.
28
+ * @param questionToken The optional marker (`?`), if any.
29
+ * @param type The type.
30
+ * @param initializer The initializer, if any.
31
+ * @returns The created {@link ParameterDeclaration}.
32
+ */
33
+ const createParameterDeclaration = (modifiers, dotDotDotToken, name, questionToken, type, initializer) => make("ParameterDeclaration", {
34
+ modifiers,
35
+ dotDotDotToken,
36
+ name: asName(name),
37
+ questionToken,
38
+ type,
39
+ initializer,
40
+ });
41
+
42
+ export { createParameterDeclaration };
43
+ //# sourceMappingURL=createParameterDeclaration.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createParameterDeclaration.mjs","sources":["../../../src/factory/clauses/createParameterDeclaration.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAWA;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4BG;MACU,0BAA0B,GAAG,CACxC,SAA8C,EAC9C,cAAiC,EACjC,IAAyB,EACzB,aAAqB,EACrB,IAAe,EACf,WAAwB,KAExB,IAAI,CAAC,sBAAsB,EAAE;IAC3B,SAAS;IACT,cAAc;AACd,IAAA,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC;IAClB,aAAa;IACb,IAAI;IACJ,WAAW;AACZ,CAAA;;;;"}
@@ -0,0 +1,44 @@
1
+ import { asName } from '../internal/asName.mjs';
2
+ import { make } from '../internal/make.mjs';
3
+
4
+ /**
5
+ * Create a {@link ClassDeclaration}: a `class X { ... }`.
6
+ *
7
+ * The `modifiers` precede the `class` keyword, so an `export` modifier prints
8
+ * `export class`. Any decorators among the modifiers are hoisted onto their own
9
+ * lines above the declaration. The `name` may be omitted for an anonymous class
10
+ * (as in `export default class`), and `typeParameters` add the generic `<...>`
11
+ * list.
12
+ *
13
+ * The `heritageClauses` supply the `extends` and `implements` clauses, printed
14
+ * in that order on the header line. The `members` form the body, one per line
15
+ * inside a brace block, collapsing to `{}` when empty.
16
+ *
17
+ * Given an `export` modifier, the name `Circle`, an `extends Base` clause, an
18
+ * `implements IShape` clause, and an `r: number` property, the printed
19
+ * declaration is:
20
+ *
21
+ * ```ts
22
+ * export class Circle extends Base implements IShape {
23
+ * r: number;
24
+ * }
25
+ * ```
26
+ *
27
+ * @author Jeongho Nam - https://github.com/samchon
28
+ * @param modifiers The leading modifiers and decorators, if any.
29
+ * @param name The name.
30
+ * @param typeParameters The generic type parameters, if any.
31
+ * @param heritageClauses The `extends` / `implements` clauses, if any.
32
+ * @param members The members.
33
+ * @returns The created {@link ClassDeclaration}.
34
+ */
35
+ const createClassDeclaration = (modifiers, name, typeParameters, heritageClauses, members) => make("ClassDeclaration", {
36
+ modifiers,
37
+ name: name === undefined ? undefined : asName(name),
38
+ typeParameters,
39
+ heritageClauses,
40
+ members,
41
+ });
42
+
43
+ export { createClassDeclaration };
44
+ //# sourceMappingURL=createClassDeclaration.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createClassDeclaration.mjs","sources":["../../../src/factory/declarations/createClassDeclaration.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAWA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8BG;MACU,sBAAsB,GAAG,CACpC,SAA8C,EAC9C,IAAqC,EACrC,cAA+D,EAC/D,eAAsD,EACtD,OAAgC,KAEhC,IAAI,CAAC,kBAAkB,EAAE;IACvB,SAAS;AACT,IAAA,IAAI,EAAE,IAAI,KAAK,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC;IACnD,cAAc;IACd,eAAe;IACf,OAAO;AACR,CAAA;;;;"}
@@ -0,0 +1,25 @@
1
+ import { make } from '../internal/make.mjs';
2
+
3
+ /**
4
+ * Create a {@link ClassStaticBlockDeclaration}: a `static { ... }` block.
5
+ *
6
+ * This is a class member that runs initialization code when the class is
7
+ * evaluated. The `body` block holds the statements, which the printer indents
8
+ * one per line after the `static` keyword.
9
+ *
10
+ * Given a body that assigns `count = 0`, the printed member is:
11
+ *
12
+ * ```ts
13
+ * static {
14
+ * count = 0;
15
+ * }
16
+ * ```
17
+ *
18
+ * @author Jeongho Nam - https://github.com/samchon
19
+ * @param body The body.
20
+ * @returns The created {@link ClassStaticBlockDeclaration}.
21
+ */
22
+ const createClassStaticBlockDeclaration = (body) => make("ClassStaticBlockDeclaration", { body });
23
+
24
+ export { createClassStaticBlockDeclaration };
25
+ //# sourceMappingURL=createClassStaticBlockDeclaration.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createClassStaticBlockDeclaration.mjs","sources":["../../../src/factory/declarations/createClassStaticBlockDeclaration.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAGA;;;;;;;;;;;;;;;;;;AAkBG;AACI,MAAM,iCAAiC,GAAG,CAC/C,IAAW,KACqB,IAAI,CAAC,6BAA6B,EAAE,EAAE,IAAI,EAAE;;;;"}
@@ -0,0 +1,28 @@
1
+ import { make } from '../internal/make.mjs';
2
+
3
+ /**
4
+ * Create a {@link ConstructorDeclaration}: a class `constructor(...) { ... }`.
5
+ *
6
+ * The `modifiers` precede the `constructor` keyword. The `parameters` print
7
+ * inside the parentheses, and a parameter that carries accessibility modifiers
8
+ * such as `private readonly` becomes a parameter property. The `body` block is
9
+ * the constructor body; when it holds no statements the printer collapses it to
10
+ * `{}` on the same line.
11
+ *
12
+ * Given a single `private readonly value: number` parameter and an empty body,
13
+ * the printed constructor is:
14
+ *
15
+ * ```ts
16
+ * constructor(private readonly value: number) {}
17
+ * ```
18
+ *
19
+ * @author Jeongho Nam - https://github.com/samchon
20
+ * @param modifiers The leading modifiers and decorators, if any.
21
+ * @param parameters The parameters.
22
+ * @param body The body.
23
+ * @returns The created {@link ConstructorDeclaration}.
24
+ */
25
+ const createConstructorDeclaration = (modifiers, parameters, body) => make("ConstructorDeclaration", { modifiers, parameters, body });
26
+
27
+ export { createConstructorDeclaration };
28
+ //# sourceMappingURL=createConstructorDeclaration.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createConstructorDeclaration.mjs","sources":["../../../src/factory/declarations/createConstructorDeclaration.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAQA;;;;;;;;;;;;;;;;;;;;;AAqBG;AACI,MAAM,4BAA4B,GAAG,CAC1C,SAA8C,EAC9C,UAA2C,EAC3C,IAAuB,KAEvB,IAAI,CAAC,wBAAwB,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE;;;;"}
@@ -0,0 +1,31 @@
1
+ import { asName } from '../internal/asName.mjs';
2
+ import { make } from '../internal/make.mjs';
3
+
4
+ /**
5
+ * Create an {@link EnumDeclaration}: an `enum X { ... }`.
6
+ *
7
+ * The `modifiers` precede the `enum` keyword, so an `export` modifier prints
8
+ * `export enum`, and a `const` modifier prints `const enum`. The `name` accepts
9
+ * a string or identifier. The `members` form the body, printed one per line and
10
+ * each terminated with a trailing comma.
11
+ *
12
+ * Given an `export` modifier, the name `Color`, and the members `Red` and
13
+ * `Green`, the printed declaration is:
14
+ *
15
+ * ```ts
16
+ * export enum Color {
17
+ * Red,
18
+ * Green,
19
+ * }
20
+ * ```
21
+ *
22
+ * @author Jeongho Nam - https://github.com/samchon
23
+ * @param modifiers The leading modifiers and decorators, if any.
24
+ * @param name The name.
25
+ * @param members The members.
26
+ * @returns The created {@link EnumDeclaration}.
27
+ */
28
+ const createEnumDeclaration = (modifiers, name, members) => make("EnumDeclaration", { modifiers, name: asName(name), members });
29
+
30
+ export { createEnumDeclaration };
31
+ //# sourceMappingURL=createEnumDeclaration.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createEnumDeclaration.mjs","sources":["../../../src/factory/declarations/createEnumDeclaration.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AASA;;;;;;;;;;;;;;;;;;;;;;;AAuBG;AACI,MAAM,qBAAqB,GAAG,CACnC,SAA8C,EAC9C,IAAyB,EACzB,OAA8B,KAE9B,IAAI,CAAC,iBAAiB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE;;;;"}
@@ -0,0 +1,26 @@
1
+ import { asPropertyName } from '../internal/asPropertyName.mjs';
2
+ import { make } from '../internal/make.mjs';
3
+
4
+ /**
5
+ * Create an {@link EnumMember}: a single member of an `enum` body.
6
+ *
7
+ * The `name` is the member key and accepts a string or property name. The
8
+ * optional `initializer` assigns an explicit value; when present the printer
9
+ * emits it after an `=`, and when omitted the member prints as the bare name
10
+ * and TypeScript assigns the value implicitly.
11
+ *
12
+ * Given the name `Red` and a numeric initializer of `1`, the printed member is:
13
+ *
14
+ * ```ts
15
+ * Red = 1;
16
+ * ```
17
+ *
18
+ * @author Jeongho Nam - https://github.com/samchon
19
+ * @param name The name.
20
+ * @param initializer The initializer, if any.
21
+ * @returns The created {@link EnumMember}.
22
+ */
23
+ const createEnumMember = (name, initializer) => make("EnumMember", { name: asPropertyName(name), initializer });
24
+
25
+ export { createEnumMember };
26
+ //# sourceMappingURL=createEnumMember.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createEnumMember.mjs","sources":["../../../src/factory/declarations/createEnumMember.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAIA;;;;;;;;;;;;;;;;;;AAkBG;AACI,MAAM,gBAAgB,GAAG,CAC9B,IAA2B,EAC3B,WAAwB,KAExB,IAAI,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE;;;;"}
@@ -0,0 +1,23 @@
1
+ import { make } from '../internal/make.mjs';
2
+
3
+ /**
4
+ * Create an {@link ExternalModuleReference}: a `require("...")` reference.
5
+ *
6
+ * This is the right-hand side of an `import x = require(...)` statement. The
7
+ * `expression` is the module specifier, normally a string literal, which the
8
+ * printer wraps in `require(...)`.
9
+ *
10
+ * Given a string literal of `"./app"`, the printed reference is:
11
+ *
12
+ * ```ts
13
+ * require("./app");
14
+ * ```
15
+ *
16
+ * @author Jeongho Nam - https://github.com/samchon
17
+ * @param expression The expression.
18
+ * @returns The created {@link ExternalModuleReference}.
19
+ */
20
+ const createExternalModuleReference = (expression) => make("ExternalModuleReference", { expression });
21
+
22
+ export { createExternalModuleReference };
23
+ //# sourceMappingURL=createExternalModuleReference.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createExternalModuleReference.mjs","sources":["../../../src/factory/declarations/createExternalModuleReference.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAGA;;;;;;;;;;;;;;;;AAgBG;AACI,MAAM,6BAA6B,GAAG,CAC3C,UAAsB,KACM,IAAI,CAAC,yBAAyB,EAAE,EAAE,UAAU,EAAE;;;;"}
@@ -0,0 +1,48 @@
1
+ import { asName } from '../internal/asName.mjs';
2
+ import { make } from '../internal/make.mjs';
3
+
4
+ /**
5
+ * Create a {@link FunctionDeclaration}: a `function f(...) { ... }`.
6
+ *
7
+ * The `modifiers` precede the `function` keyword, so an `export` modifier
8
+ * prints `export function` and an `async` modifier prints `async function`. The
9
+ * `asteriskToken`, when present, marks the function as a generator
10
+ * (`function*`). The `name` may be omitted for the anonymous form used by
11
+ * `export default`, and `typeParameters` add the generic `<...>` list.
12
+ *
13
+ * The `parameters` print inside the parentheses, the optional return `type`
14
+ * follows after a colon, and the `body` block holds the statements, indented
15
+ * one per line.
16
+ *
17
+ * Given an `export` modifier, the name `add`, two `number` parameters `a` and
18
+ * `b`, a `number` return type, and a body returning `a + b`, the printed
19
+ * declaration is:
20
+ *
21
+ * ```ts
22
+ * export function add(a: number, b: number): number {
23
+ * return a + b;
24
+ * }
25
+ * ```
26
+ *
27
+ * @author Jeongho Nam - https://github.com/samchon
28
+ * @param modifiers The leading modifiers and decorators, if any.
29
+ * @param asteriskToken The generator marker (`*`), if any.
30
+ * @param name The name.
31
+ * @param typeParameters The generic type parameters, if any.
32
+ * @param parameters The parameters.
33
+ * @param type The type.
34
+ * @param body The body.
35
+ * @returns The created {@link FunctionDeclaration}.
36
+ */
37
+ const createFunctionDeclaration = (modifiers, asteriskToken, name, typeParameters, parameters, type, body) => make("FunctionDeclaration", {
38
+ modifiers,
39
+ asteriskToken,
40
+ name: name === undefined ? undefined : asName(name),
41
+ typeParameters,
42
+ parameters,
43
+ type,
44
+ body,
45
+ });
46
+
47
+ export { createFunctionDeclaration };
48
+ //# sourceMappingURL=createFunctionDeclaration.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createFunctionDeclaration.mjs","sources":["../../../src/factory/declarations/createFunctionDeclaration.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAaA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgCG;AACI,MAAM,yBAAyB,GAAG,CACvC,SAA8C,EAC9C,aAAgC,EAChC,IAAqC,EACrC,cAA+D,EAC/D,UAA2C,EAC3C,IAA0B,EAC1B,IAAuB,KAEvB,IAAI,CAAC,qBAAqB,EAAE;IAC1B,SAAS;IACT,aAAa;AACb,IAAA,IAAI,EAAE,IAAI,KAAK,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC;IACnD,cAAc;IACd,UAAU;IACV,IAAI;IACJ,IAAI;AACL,CAAA;;;;"}
@@ -0,0 +1,39 @@
1
+ import { asPropertyName } from '../internal/asPropertyName.mjs';
2
+ import { make } from '../internal/make.mjs';
3
+
4
+ /**
5
+ * Create a {@link GetAccessorDeclaration}: a `get x() { ... }` accessor.
6
+ *
7
+ * The `modifiers` precede the `get` keyword, so a `public` modifier prints
8
+ * `public get`. The `name` is the accessor key. A getter takes no value
9
+ * parameter, so `parameters` is normally empty; the optional `type` is the
10
+ * return type printed after the colon, and the `body` block holds the
11
+ * statements, indented one per line.
12
+ *
13
+ * Given a `public` modifier, the name `value`, a `number` return type, and a
14
+ * body returning `this._value`, the printed accessor is:
15
+ *
16
+ * ```ts
17
+ * public get value(): number {
18
+ * return this._value;
19
+ * }
20
+ * ```
21
+ *
22
+ * @author Jeongho Nam - https://github.com/samchon
23
+ * @param modifiers The leading modifiers and decorators, if any.
24
+ * @param name The name.
25
+ * @param parameters The parameters.
26
+ * @param type The type.
27
+ * @param body The body.
28
+ * @returns The created {@link GetAccessorDeclaration}.
29
+ */
30
+ const createGetAccessorDeclaration = (modifiers, name, parameters, type, body) => make("GetAccessorDeclaration", {
31
+ modifiers,
32
+ name: asPropertyName(name),
33
+ parameters,
34
+ type,
35
+ body,
36
+ });
37
+
38
+ export { createGetAccessorDeclaration };
39
+ //# sourceMappingURL=createGetAccessorDeclaration.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createGetAccessorDeclaration.mjs","sources":["../../../src/factory/declarations/createGetAccessorDeclaration.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAWA;;;;;;;;;;;;;;;;;;;;;;;;;AAyBG;MACU,4BAA4B,GAAG,CAC1C,SAA8C,EAC9C,IAA2B,EAC3B,UAA2C,EAC3C,IAA0B,EAC1B,IAAuB,KAEvB,IAAI,CAAC,wBAAwB,EAAE;IAC7B,SAAS;AACT,IAAA,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC;IAC1B,UAAU;IACV,IAAI;IACJ,IAAI;AACL,CAAA;;;;"}