@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,35 @@
1
+ import { asName } from '../internal/asName.mjs';
2
+ import { make } from '../internal/make.mjs';
3
+
4
+ /**
5
+ * Create an {@link ImportEqualsDeclaration}: an `import x = ...` statement.
6
+ *
7
+ * The `modifiers` precede the `import` keyword, so an `export` modifier prints
8
+ * `export import`. When `isTypeOnly` is true the printer inserts the `type`
9
+ * keyword to make it a type-only import. The `name` is the local binding, and
10
+ * `moduleReference` is the right-hand side, either an external module reference
11
+ * such as `require("...")` or an entity name for an aliased namespace.
12
+ *
13
+ * Given an `export` modifier, `isTypeOnly` of false, the name `app`, and a
14
+ * `require("./app")` module reference, the printed statement is:
15
+ *
16
+ * ```ts
17
+ * export import app = require("./app");
18
+ * ```
19
+ *
20
+ * @author Jeongho Nam - https://github.com/samchon
21
+ * @param modifiers The leading modifiers, if any.
22
+ * @param isTypeOnly Whether the import is type-only (`import type`).
23
+ * @param name The local binding name.
24
+ * @param moduleReference The right-hand side module or entity reference.
25
+ * @returns The created {@link ImportEqualsDeclaration}.
26
+ */
27
+ const createImportEqualsDeclaration = (modifiers, isTypeOnly, name, moduleReference) => make("ImportEqualsDeclaration", {
28
+ modifiers,
29
+ isTypeOnly,
30
+ name: asName(name),
31
+ moduleReference,
32
+ });
33
+
34
+ export { createImportEqualsDeclaration };
35
+ //# sourceMappingURL=createImportEqualsDeclaration.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createImportEqualsDeclaration.mjs","sources":["../../../src/factory/declarations/createImportEqualsDeclaration.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AASA;;;;;;;;;;;;;;;;;;;;;;AAsBG;AACI,MAAM,6BAA6B,GAAG,CAC3C,SAA8C,EAC9C,UAAmB,EACnB,IAAyB,EACzB,eAAgC,KAEhC,IAAI,CAAC,yBAAyB,EAAE;IAC9B,SAAS;IACT,UAAU;AACV,IAAA,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC;IAClB,eAAe;AAChB,CAAA;;;;"}
@@ -0,0 +1,40 @@
1
+ import { asName } from '../internal/asName.mjs';
2
+ import { make } from '../internal/make.mjs';
3
+
4
+ /**
5
+ * Create an {@link InterfaceDeclaration}: an `interface X { ... }`.
6
+ *
7
+ * The `modifiers` are printed in front of the `interface` keyword, so passing
8
+ * an `export` modifier yields `export interface`. The `name` accepts a plain
9
+ * string or a prebuilt identifier, and `typeParameters` add the `<...>` generic
10
+ * list when present. The `heritageClauses` carry the `extends` clauses, while
11
+ * `members` become the body. The printer wraps the members in a brace block,
12
+ * one member per line, and emits an empty `{}` when there are none.
13
+ *
14
+ * Given an `export` modifier, the name `IBox`, and a single `value: number`
15
+ * member, the printed declaration is:
16
+ *
17
+ * ```ts
18
+ * export interface IBox {
19
+ * value: number;
20
+ * }
21
+ * ```
22
+ *
23
+ * @author Jeongho Nam - https://github.com/samchon
24
+ * @param modifiers The leading modifiers and decorators, if any.
25
+ * @param name The name.
26
+ * @param typeParameters The generic type parameters, if any.
27
+ * @param heritageClauses The `extends` / `implements` clauses, if any.
28
+ * @param members The members.
29
+ * @returns The created {@link InterfaceDeclaration}.
30
+ */
31
+ const createInterfaceDeclaration = (modifiers, name, typeParameters, heritageClauses, members) => make("InterfaceDeclaration", {
32
+ modifiers,
33
+ name: asName(name),
34
+ typeParameters,
35
+ heritageClauses,
36
+ members,
37
+ });
38
+
39
+ export { createInterfaceDeclaration };
40
+ //# sourceMappingURL=createInterfaceDeclaration.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createInterfaceDeclaration.mjs","sources":["../../../src/factory/declarations/createInterfaceDeclaration.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAWA;;;;;;;;;;;;;;;;;;;;;;;;;;AA0BG;MACU,0BAA0B,GAAG,CACxC,SAA8C,EAC9C,IAAyB,EACzB,cAA+D,EAC/D,eAAsD,EACtD,OAA+B,KAE/B,IAAI,CAAC,sBAAsB,EAAE;IAC3B,SAAS;AACT,IAAA,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC;IAClB,cAAc;IACd,eAAe;IACf,OAAO;AACR,CAAA;;;;"}
@@ -0,0 +1,50 @@
1
+ import { asPropertyName } from '../internal/asPropertyName.mjs';
2
+ import { make } from '../internal/make.mjs';
3
+
4
+ /**
5
+ * Create a {@link MethodDeclaration}: a class method `m(...) { ... }`.
6
+ *
7
+ * The `modifiers` precede the method name, so a `public` modifier prints
8
+ * `public m`, and `static` or `async` print likewise. Any decorators among the
9
+ * modifiers are hoisted onto their own lines above the method. The
10
+ * `asteriskToken` marks a generator method (`*m`), and the `questionToken`
11
+ * marks an optional method (`m?`). The `name` is the method key, and
12
+ * `typeParameters` add the generic `<...>` list.
13
+ *
14
+ * The `parameters` print inside the parentheses, the optional return `type`
15
+ * follows after a colon, and the `body` block holds the statements, indented
16
+ * one per line.
17
+ *
18
+ * Given a `public` modifier, the name `greet`, a `name: string` parameter, a
19
+ * `string` return type, and a body returning `name`, the printed method is:
20
+ *
21
+ * ```ts
22
+ * public greet(name: string): string {
23
+ * return name;
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 questionToken The optional marker (`?`), if any.
32
+ * @param typeParameters The generic type parameters, if any.
33
+ * @param parameters The parameters.
34
+ * @param type The type.
35
+ * @param body The body.
36
+ * @returns The created {@link MethodDeclaration}.
37
+ */
38
+ const createMethodDeclaration = (modifiers, asteriskToken, name, questionToken, typeParameters, parameters, type, body) => make("MethodDeclaration", {
39
+ modifiers,
40
+ asteriskToken,
41
+ name: asPropertyName(name),
42
+ questionToken,
43
+ typeParameters,
44
+ parameters,
45
+ type,
46
+ body,
47
+ });
48
+
49
+ export { createMethodDeclaration };
50
+ //# sourceMappingURL=createMethodDeclaration.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createMethodDeclaration.mjs","sources":["../../../src/factory/declarations/createMethodDeclaration.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAaA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiCG;AACI,MAAM,uBAAuB,GAAG,CACrC,SAA8C,EAC9C,aAAgC,EAChC,IAA2B,EAC3B,aAAgC,EAChC,cAA+D,EAC/D,UAA2C,EAC3C,IAA0B,EAC1B,IAAuB,KAEvB,IAAI,CAAC,mBAAmB,EAAE;IACxB,SAAS;IACT,aAAa;AACb,IAAA,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC;IAC1B,aAAa;IACb,cAAc;IACd,UAAU;IACV,IAAI;IACJ,IAAI;AACL,CAAA;;;;"}
@@ -0,0 +1,25 @@
1
+ import { make } from '../internal/make.mjs';
2
+
3
+ /**
4
+ * Create a {@link ModuleBlock}: the `{ ... }` body of a namespace or module.
5
+ *
6
+ * This is the body that a {@link ModuleDeclaration} wraps in braces. The
7
+ * `statements` become its contents, which the printer indents one per line
8
+ * inside the braces.
9
+ *
10
+ * Given a single `export type ID = string;` statement, the printed block is:
11
+ *
12
+ * ```ts
13
+ * {
14
+ * export type ID = string;
15
+ * }
16
+ * ```
17
+ *
18
+ * @author Jeongho Nam - https://github.com/samchon
19
+ * @param statements The statements.
20
+ * @returns The created {@link ModuleBlock}.
21
+ */
22
+ const createModuleBlock = (statements) => make("ModuleBlock", { statements });
23
+
24
+ export { createModuleBlock };
25
+ //# sourceMappingURL=createModuleBlock.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createModuleBlock.mjs","sources":["../../../src/factory/declarations/createModuleBlock.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAGA;;;;;;;;;;;;;;;;;;AAkBG;AACI,MAAM,iBAAiB,GAAG,CAC/B,UAAgC,KAChB,IAAI,CAAC,aAAa,EAAE,EAAE,UAAU,EAAE;;;;"}
@@ -0,0 +1,43 @@
1
+ import '../../syntax/SyntaxKind.mjs';
2
+ import { NodeFlags } from '../../syntax/NodeFlags.mjs';
3
+ import { make } from '../internal/make.mjs';
4
+ import { createIdentifier } from '../names/createIdentifier.mjs';
5
+
6
+ /**
7
+ * Create a {@link ModuleDeclaration}: a `namespace X { ... }` or `module X { ...
8
+ * }`.
9
+ *
10
+ * The `modifiers` precede the keyword, so an `export` modifier prints `export
11
+ * namespace`. The `name` accepts a string, which is wrapped in an identifier,
12
+ * or a prebuilt module name. The `body` is the brace block, normally a
13
+ * {@link ModuleBlock}, whose statements the printer indents one per line.
14
+ *
15
+ * The `flags` decide the keyword the printer emits: the `Namespace` flag prints
16
+ * `namespace`, while the default prints `module`. This is the one input that
17
+ * does not show up as text directly but changes the rendered keyword.
18
+ *
19
+ * Given an `export` modifier, the name `app`, a body holding `export type ID =
20
+ * string;`, and the `Namespace` flag, the printed declaration is:
21
+ *
22
+ * ```ts
23
+ * export namespace app {
24
+ * export type ID = string;
25
+ * }
26
+ * ```
27
+ *
28
+ * @author Jeongho Nam - https://github.com/samchon
29
+ * @param modifiers The leading modifiers, if any.
30
+ * @param name The name.
31
+ * @param body The body.
32
+ * @param flags The node flags that select the `namespace` or `module` keyword.
33
+ * @returns The created {@link ModuleDeclaration}.
34
+ */
35
+ const createModuleDeclaration = (modifiers, name, body, flags = NodeFlags.None) => make("ModuleDeclaration", {
36
+ modifiers,
37
+ name: typeof name === "string" ? createIdentifier(name) : name,
38
+ body,
39
+ flags,
40
+ });
41
+
42
+ export { createModuleDeclaration };
43
+ //# sourceMappingURL=createModuleDeclaration.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createModuleDeclaration.mjs","sources":["../../../src/factory/declarations/createModuleDeclaration.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAUA;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4BG;MACU,uBAAuB,GAAG,CACrC,SAA8C,EAC9C,IAAyB,EACzB,IAA4B,EAC5B,KAAA,GAAmB,SAAS,CAAC,IAAI,KAEjC,IAAI,CAAC,mBAAmB,EAAE;IACxB,SAAS;AACT,IAAA,IAAI,EAAE,OAAO,IAAI,KAAK,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC,GAAG,IAAI;IAC9D,IAAI;IACJ,KAAK;AACN,CAAA;;;;"}
@@ -0,0 +1,24 @@
1
+ import { asName } from '../internal/asName.mjs';
2
+ import { make } from '../internal/make.mjs';
3
+
4
+ /**
5
+ * Create a {@link NamespaceExportDeclaration}: an `export as namespace X;`.
6
+ *
7
+ * This is the UMD global declaration used in `.d.ts` files to state the global
8
+ * variable name under which the module is exposed in a script context. The
9
+ * `name` is that global identifier.
10
+ *
11
+ * Given the name `App`, the printed declaration is:
12
+ *
13
+ * ```ts
14
+ * export as namespace App;
15
+ * ```
16
+ *
17
+ * @author Jeongho Nam - https://github.com/samchon
18
+ * @param name The name.
19
+ * @returns The created {@link NamespaceExportDeclaration}.
20
+ */
21
+ const createNamespaceExportDeclaration = (name) => make("NamespaceExportDeclaration", { name: asName(name) });
22
+
23
+ export { createNamespaceExportDeclaration };
24
+ //# sourceMappingURL=createNamespaceExportDeclaration.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createNamespaceExportDeclaration.mjs","sources":["../../../src/factory/declarations/createNamespaceExportDeclaration.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAIA;;;;;;;;;;;;;;;;AAgBG;MACU,gCAAgC,GAAG,CAC9C,IAAyB,KAEzB,IAAI,CAAC,4BAA4B,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE;;;;"}
@@ -0,0 +1,41 @@
1
+ import { asPropertyName } from '../internal/asPropertyName.mjs';
2
+ import { make } from '../internal/make.mjs';
3
+
4
+ /**
5
+ * Create a {@link PropertyDeclaration}: a class field such as `x: number;`.
6
+ *
7
+ * The `modifiers` precede the property name, so `public readonly` prints in
8
+ * that order. Any decorators among the modifiers are hoisted onto their own
9
+ * lines above the property. The `name` is the field key, and the
10
+ * `questionOrExclamationToken` appends either the optional marker (`?`) or the
11
+ * definite-assignment marker (`!`) after the name.
12
+ *
13
+ * The optional `type` prints after a colon, and the optional `initializer`
14
+ * prints after an `=`. The printer terminates the field with a semicolon.
15
+ *
16
+ * Given `public readonly` modifiers, the name `id`, a `string` type, and a
17
+ * string-literal initializer of `"x"`, the printed field is:
18
+ *
19
+ * ```ts
20
+ * public readonly id: string = "x";
21
+ * ```
22
+ *
23
+ * @author Jeongho Nam - https://github.com/samchon
24
+ * @param modifiers The leading modifiers and decorators, if any.
25
+ * @param name The name.
26
+ * @param questionOrExclamationToken The optional (`?`) or definite-assignment
27
+ * (`!`) marker, if any.
28
+ * @param type The type.
29
+ * @param initializer The initializer, if any.
30
+ * @returns The created {@link PropertyDeclaration}.
31
+ */
32
+ const createPropertyDeclaration = (modifiers, name, questionOrExclamationToken, type, initializer) => make("PropertyDeclaration", {
33
+ modifiers,
34
+ name: asPropertyName(name),
35
+ questionOrExclamationToken,
36
+ type,
37
+ initializer,
38
+ });
39
+
40
+ export { createPropertyDeclaration };
41
+ //# sourceMappingURL=createPropertyDeclaration.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createPropertyDeclaration.mjs","sources":["../../../src/factory/declarations/createPropertyDeclaration.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAWA;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BG;MACU,yBAAyB,GAAG,CACvC,SAA8C,EAC9C,IAA2B,EAC3B,0BAA6C,EAC7C,IAA0B,EAC1B,WAAmC,KAEnC,IAAI,CAAC,qBAAqB,EAAE;IAC1B,SAAS;AACT,IAAA,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC;IAC1B,0BAA0B;IAC1B,IAAI;IACJ,WAAW;AACZ,CAAA;;;;"}
@@ -0,0 +1,20 @@
1
+ import { make } from '../internal/make.mjs';
2
+
3
+ /**
4
+ * Create a {@link SemicolonClassElement}: a stray `;` in a class body.
5
+ *
6
+ * This is an empty class member, a lone semicolon that TypeScript permits
7
+ * between real members. It carries no name or body. Placed inside a class, the
8
+ * printer emits it as a single semicolon on its own line:
9
+ *
10
+ * ```ts
11
+ * class C {}
12
+ * ```
13
+ *
14
+ * @author Jeongho Nam - https://github.com/samchon
15
+ * @returns The created {@link SemicolonClassElement}.
16
+ */
17
+ const createSemicolonClassElement = () => make("SemicolonClassElement", {});
18
+
19
+ export { createSemicolonClassElement };
20
+ //# sourceMappingURL=createSemicolonClassElement.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createSemicolonClassElement.mjs","sources":["../../../src/factory/declarations/createSemicolonClassElement.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAGA;;;;;;;;;;;;;AAaG;AACI,MAAM,2BAA2B,GAAG,MACzC,IAAI,CAAC,uBAAuB,EAAE,EAAE;;;;"}
@@ -0,0 +1,37 @@
1
+ import { asPropertyName } from '../internal/asPropertyName.mjs';
2
+ import { make } from '../internal/make.mjs';
3
+
4
+ /**
5
+ * Create a {@link SetAccessorDeclaration}: a `set x(value) { ... }` accessor.
6
+ *
7
+ * The `modifiers` precede the `set` keyword, so a `public` modifier prints
8
+ * `public set`. The `name` is the accessor key. A setter takes exactly one
9
+ * value parameter, supplied through `parameters`, and has no return type. The
10
+ * `body` block holds the statements, indented one per line.
11
+ *
12
+ * Given a `public` modifier, the name `value`, a single `value: number`
13
+ * parameter, and a body assigning `this._value = value`, the printed accessor
14
+ * is:
15
+ *
16
+ * ```ts
17
+ * public set value(value: number) {
18
+ * this._value = 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 body The body.
27
+ * @returns The created {@link SetAccessorDeclaration}.
28
+ */
29
+ const createSetAccessorDeclaration = (modifiers, name, parameters, body) => make("SetAccessorDeclaration", {
30
+ modifiers,
31
+ name: asPropertyName(name),
32
+ parameters,
33
+ body,
34
+ });
35
+
36
+ export { createSetAccessorDeclaration };
37
+ //# sourceMappingURL=createSetAccessorDeclaration.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createSetAccessorDeclaration.mjs","sources":["../../../src/factory/declarations/createSetAccessorDeclaration.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAUA;;;;;;;;;;;;;;;;;;;;;;;;AAwBG;AACI,MAAM,4BAA4B,GAAG,CAC1C,SAA8C,EAC9C,IAA2B,EAC3B,UAA2C,EAC3C,IAAuB,KAEvB,IAAI,CAAC,wBAAwB,EAAE;IAC7B,SAAS;AACT,IAAA,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC;IAC1B,UAAU;IACV,IAAI;AACL,CAAA;;;;"}
@@ -0,0 +1,35 @@
1
+ import { asName } from '../internal/asName.mjs';
2
+ import { make } from '../internal/make.mjs';
3
+
4
+ /**
5
+ * Create a {@link TypeAliasDeclaration}: a `type X = ...;`.
6
+ *
7
+ * The `modifiers` precede the `type` keyword, so an `export` modifier prints
8
+ * `export type`. The `name` accepts a string or identifier, and
9
+ * `typeParameters` add the generic `<...>` list when present. The `type` is the
10
+ * aliased type printed after the `=`, and the printer terminates the statement
11
+ * with a semicolon.
12
+ *
13
+ * Given an `export` modifier, the name `ID`, and a `string` type, the printed
14
+ * declaration is:
15
+ *
16
+ * ```ts
17
+ * export type ID = string;
18
+ * ```
19
+ *
20
+ * @author Jeongho Nam - https://github.com/samchon
21
+ * @param modifiers The leading modifiers and decorators, if any.
22
+ * @param name The name.
23
+ * @param typeParameters The generic type parameters, if any.
24
+ * @param type The type.
25
+ * @returns The created {@link TypeAliasDeclaration}.
26
+ */
27
+ const createTypeAliasDeclaration = (modifiers, name, typeParameters, type) => make("TypeAliasDeclaration", {
28
+ modifiers,
29
+ name: asName(name),
30
+ typeParameters,
31
+ type,
32
+ });
33
+
34
+ export { createTypeAliasDeclaration };
35
+ //# sourceMappingURL=createTypeAliasDeclaration.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createTypeAliasDeclaration.mjs","sources":["../../../src/factory/declarations/createTypeAliasDeclaration.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAUA;;;;;;;;;;;;;;;;;;;;;;AAsBG;AACI,MAAM,0BAA0B,GAAG,CACxC,SAA8C,EAC9C,IAAyB,EACzB,cAA+D,EAC/D,IAAc,KAEd,IAAI,CAAC,sBAAsB,EAAE;IAC3B,SAAS;AACT,IAAA,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC;IAClB,cAAc;IACd,IAAI;AACL,CAAA;;;;"}
@@ -0,0 +1,26 @@
1
+ import { SyntaxKind } from '../../syntax/SyntaxKind.mjs';
2
+ import '../../syntax/NodeFlags.mjs';
3
+ import { createBinaryExpression } from './createBinaryExpression.mjs';
4
+
5
+ /**
6
+ * Create a {@link BinaryExpression} with the `+` operator: addition or string
7
+ * concatenation.
8
+ *
9
+ * Shorthand for {@link createBinaryExpression} with the `PlusToken` operator.
10
+ * The printer surrounds the operator with a single space on each side.
11
+ *
12
+ * Given operands `a` and `b`, the printer emits:
13
+ *
14
+ * ```ts
15
+ * a + b;
16
+ * ```
17
+ *
18
+ * @author Jeongho Nam - https://github.com/samchon
19
+ * @param left The left-hand operand.
20
+ * @param right The right-hand operand.
21
+ * @returns The created {@link BinaryExpression}.
22
+ */
23
+ const createAdd = (left, right) => createBinaryExpression(left, SyntaxKind.PlusToken, right);
24
+
25
+ export { createAdd };
26
+ //# sourceMappingURL=createAdd.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createAdd.mjs","sources":["../../../src/factory/expressions/createAdd.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAIA;;;;;;;;;;;;;;;;;AAiBG;MACU,SAAS,GAAG,CACvB,IAAgB,EAChB,KAAiB,KAEjB,sBAAsB,CAAC,IAAI,EAAE,UAAU,CAAC,SAAS,EAAE,KAAK;;;;"}
@@ -0,0 +1,23 @@
1
+ import { make } from '../internal/make.mjs';
2
+
3
+ /**
4
+ * Create an {@link ArrayBindingPattern}: the `[a, b]` binding used in array
5
+ * destructuring.
6
+ *
7
+ * The elements are {@link BindingElement} nodes or omitted-element holes. The
8
+ * printer wraps them in square brackets, separated by a comma and a space.
9
+ *
10
+ * Given two binding elements named `a` and `b`, the printer emits:
11
+ *
12
+ * ```ts
13
+ * [a, b];
14
+ * ```
15
+ *
16
+ * @author Jeongho Nam - https://github.com/samchon
17
+ * @param elements The binding elements.
18
+ * @returns The created {@link ArrayBindingPattern}.
19
+ */
20
+ const createArrayBindingPattern = (elements) => make("ArrayBindingPattern", { elements });
21
+
22
+ export { createArrayBindingPattern };
23
+ //# sourceMappingURL=createArrayBindingPattern.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createArrayBindingPattern.mjs","sources":["../../../src/factory/expressions/createArrayBindingPattern.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAGA;;;;;;;;;;;;;;;;AAgBG;AACI,MAAM,yBAAyB,GAAG,CACvC,QAAwC,KAChB,IAAI,CAAC,qBAAqB,EAAE,EAAE,QAAQ,EAAE;;;;"}
@@ -0,0 +1,25 @@
1
+ import { make } from '../internal/make.mjs';
2
+
3
+ /**
4
+ * Create an {@link ArrayLiteralExpression}: an `[...]` array literal.
5
+ *
6
+ * The elements may include {@link SpreadElement} and omitted holes. When
7
+ * `multiLine` is `false` (the default) the printer keeps the array on one line
8
+ * with comma-and-space separators. When `multiLine` is `true` it places each
9
+ * element on its own indented line and appends a trailing comma.
10
+ *
11
+ * Given elements `1`, `2`, `3` on a single line, the printer emits:
12
+ *
13
+ * ```ts
14
+ * [1, 2, 3];
15
+ * ```
16
+ *
17
+ * @author Jeongho Nam - https://github.com/samchon
18
+ * @param elements The element expressions.
19
+ * @param multiLine When `true`, print one entry per line.
20
+ * @returns The created {@link ArrayLiteralExpression}.
21
+ */
22
+ const createArrayLiteralExpression = (elements = [], multiLine) => make("ArrayLiteralExpression", { elements, multiLine });
23
+
24
+ export { createArrayLiteralExpression };
25
+ //# sourceMappingURL=createArrayLiteralExpression.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createArrayLiteralExpression.mjs","sources":["../../../src/factory/expressions/createArrayLiteralExpression.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAGA;;;;;;;;;;;;;;;;;;AAkBG;MACU,4BAA4B,GAAG,CAC1C,QAAA,GAAkC,EAAE,EACpC,SAAmB,KAEnB,IAAI,CAAC,wBAAwB,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE;;;;"}
@@ -0,0 +1,32 @@
1
+ import { make } from '../internal/make.mjs';
2
+
3
+ /**
4
+ * Create an {@link ArrowFunction}: a `(params) => body` arrow function.
5
+ *
6
+ * The `body` is either a {@link Block} for a statement body or an
7
+ * {@link Expression} for a concise body. The optional `modifiers`,
8
+ * `typeParameters` and return `type` are printed when present. The
9
+ * `_equalsGreaterThanToken` parameter exists only for signature parity with the
10
+ * legacy factory and is ignored: the printer always emits `=>` between the
11
+ * parameter list and the body.
12
+ *
13
+ * Given one parameter `x` and a concise body of `x`, the printer emits:
14
+ *
15
+ * ```ts
16
+ * (x) => x;
17
+ * ```
18
+ *
19
+ * @author Jeongho Nam - https://github.com/samchon
20
+ * @param modifiers The leading modifiers and decorators, if any.
21
+ * @param typeParameters The generic type parameters, if any.
22
+ * @param parameters The parameters.
23
+ * @param type The return type, if any.
24
+ * @param _equalsGreaterThanToken Ignored; present only to mirror the legacy
25
+ * signature.
26
+ * @param body The block or expression body.
27
+ * @returns The created {@link ArrowFunction}.
28
+ */
29
+ const createArrowFunction = (modifiers, typeParameters, parameters, type, _equalsGreaterThanToken, body) => make("ArrowFunction", { modifiers, typeParameters, parameters, type, body });
30
+
31
+ export { createArrowFunction };
32
+ //# sourceMappingURL=createArrowFunction.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createArrowFunction.mjs","sources":["../../../src/factory/expressions/createArrowFunction.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAYA;;;;;;;;;;;;;;;;;;;;;;;;;AAyBG;AACI,MAAM,mBAAmB,GAAG,CACjC,SAA8C,EAC9C,cAA+D,EAC/D,UAA2C,EAC3C,IAA0B,EAC1B,uBAA0C,EAC1C,IAAwB,KAExB,IAAI,CAAC,eAAe,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;;;;"}
@@ -0,0 +1,23 @@
1
+ import { make } from '../internal/make.mjs';
2
+
3
+ /**
4
+ * Create an {@link AsExpression}: a TypeScript `expression as type` assertion.
5
+ *
6
+ * The printer writes the expression, the `as` keyword and the target type, each
7
+ * separated by a single space.
8
+ *
9
+ * Given expression `value` and type `string`, the printer emits:
10
+ *
11
+ * ```ts
12
+ * value as string;
13
+ * ```
14
+ *
15
+ * @author Jeongho Nam - https://github.com/samchon
16
+ * @param expression The expression being asserted.
17
+ * @param type The target type.
18
+ * @returns The created {@link AsExpression}.
19
+ */
20
+ const createAsExpression = (expression, type) => make("AsExpression", { expression, type });
21
+
22
+ export { createAsExpression };
23
+ //# sourceMappingURL=createAsExpression.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createAsExpression.mjs","sources":["../../../src/factory/expressions/createAsExpression.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAGA;;;;;;;;;;;;;;;;AAgBG;MACU,kBAAkB,GAAG,CAChC,UAAsB,EACtB,IAAc,KACG,IAAI,CAAC,cAAc,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE;;;;"}
@@ -0,0 +1,26 @@
1
+ import { SyntaxKind } from '../../syntax/SyntaxKind.mjs';
2
+ import '../../syntax/NodeFlags.mjs';
3
+ import { createBinaryExpression } from './createBinaryExpression.mjs';
4
+
5
+ /**
6
+ * Create a {@link BinaryExpression} with the `=` operator: a simple assignment.
7
+ *
8
+ * Shorthand for {@link createBinaryExpression} with the `EqualsToken` operator.
9
+ * The left operand is the assignment target and the right operand is the value.
10
+ * The printer surrounds the operator with a single space on each side.
11
+ *
12
+ * Given operands `a` and `b`, the printer emits:
13
+ *
14
+ * ```ts
15
+ * a = b;
16
+ * ```
17
+ *
18
+ * @author Jeongho Nam - https://github.com/samchon
19
+ * @param left The assignment target.
20
+ * @param right The value to assign.
21
+ * @returns The created {@link BinaryExpression}.
22
+ */
23
+ const createAssignment = (left, right) => createBinaryExpression(left, SyntaxKind.EqualsToken, right);
24
+
25
+ export { createAssignment };
26
+ //# sourceMappingURL=createAssignment.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createAssignment.mjs","sources":["../../../src/factory/expressions/createAssignment.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAIA;;;;;;;;;;;;;;;;;AAiBG;MACU,gBAAgB,GAAG,CAC9B,IAAgB,EAChB,KAAiB,KAEjB,sBAAsB,CAAC,IAAI,EAAE,UAAU,CAAC,WAAW,EAAE,KAAK;;;;"}
@@ -0,0 +1,22 @@
1
+ import { make } from '../internal/make.mjs';
2
+
3
+ /**
4
+ * Create an {@link AwaitExpression}: an `await` of an operand.
5
+ *
6
+ * The printer writes the `await` keyword followed by a single space and the
7
+ * operand expression.
8
+ *
9
+ * Given operand `promise`, the printer emits:
10
+ *
11
+ * ```ts
12
+ * await promise;
13
+ * ```
14
+ *
15
+ * @author Jeongho Nam - https://github.com/samchon
16
+ * @param expression The awaited expression.
17
+ * @returns The created {@link AwaitExpression}.
18
+ */
19
+ const createAwaitExpression = (expression) => make("AwaitExpression", { expression });
20
+
21
+ export { createAwaitExpression };
22
+ //# sourceMappingURL=createAwaitExpression.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createAwaitExpression.mjs","sources":["../../../src/factory/expressions/createAwaitExpression.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAGA;;;;;;;;;;;;;;;AAeG;AACI,MAAM,qBAAqB,GAAG,CACnC,UAAsB,KACF,IAAI,CAAC,iBAAiB,EAAE,EAAE,UAAU,EAAE;;;;"}
@@ -0,0 +1,33 @@
1
+ import { make } from '../internal/make.mjs';
2
+
3
+ /**
4
+ * Create a {@link BinaryExpression}: two operands joined by an infix operator.
5
+ *
6
+ * The operator may be given as a `SyntaxKind` string (e.g. `"+"`, `"==="`,
7
+ * `"&&"`) or as an operator {@link Token}, in which case its `token` value is
8
+ * used. This is the base builder behind the operator-specific shorthands such
9
+ * as {@link createAdd}, {@link createStrictEquality} and
10
+ * {@link createLogicalAnd}.
11
+ *
12
+ * The printer surrounds the operator with a single space on each side.
13
+ *
14
+ * Given operands `a`, `b` and the `+` operator, the printer emits:
15
+ *
16
+ * ```ts
17
+ * a + b;
18
+ * ```
19
+ *
20
+ * @author Jeongho Nam - https://github.com/samchon
21
+ * @param left The left-hand operand.
22
+ * @param operator The operator token or its `SyntaxKind`.
23
+ * @param right The right-hand operand.
24
+ * @returns The created {@link BinaryExpression}.
25
+ */
26
+ const createBinaryExpression = (left, operator, right) => make("BinaryExpression", {
27
+ left,
28
+ operator: typeof operator === "object" ? operator.token : operator,
29
+ right,
30
+ });
31
+
32
+ export { createBinaryExpression };
33
+ //# sourceMappingURL=createBinaryExpression.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createBinaryExpression.mjs","sources":["../../../src/factory/expressions/createBinaryExpression.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAIA;;;;;;;;;;;;;;;;;;;;;;AAsBG;AACI,MAAM,sBAAsB,GAAG,CACpC,IAAgB,EAChB,QAA4B,EAC5B,KAAiB,KAEjB,IAAI,CAAC,kBAAkB,EAAE;IACvB,IAAI;AACJ,IAAA,QAAQ,EAAE,OAAO,QAAQ,KAAK,QAAQ,GAAI,QAAgB,CAAC,KAAK,GAAG,QAAQ;IAC3E,KAAK;AACN,CAAA;;;;"}