@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":"createInferTypeNode.mjs","sources":["../../../src/factory/types/createInferTypeNode.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAGA;;;;;;;;;;;;;;;;;AAiBG;AACI,MAAM,mBAAmB,GAAG,CACjC,aAAuC,KACrB,IAAI,CAAC,eAAe,EAAE,EAAE,aAAa,EAAE;;;;"}
@@ -0,0 +1,24 @@
1
+ import { make } from '../internal/make.mjs';
2
+
3
+ /**
4
+ * Create an {@link IntersectionTypeNode}: an `A & B` type.
5
+ *
6
+ * The constituents are joined with `&`. The printer is width-aware: when the
7
+ * whole intersection fits on one line it stays inline as `A & B`, and when it
8
+ * has to break it indents and puts each constituent on its own line with a
9
+ * leading `&`, including a leading `&` before the first member.
10
+ *
11
+ * Given the constituents `A` and `B`, the printer renders:
12
+ *
13
+ * ```ts
14
+ * A & B;
15
+ * ```
16
+ *
17
+ * @author Jeongho Nam - https://github.com/samchon
18
+ * @param types The constituent types.
19
+ * @returns The created {@link IntersectionTypeNode}.
20
+ */
21
+ const createIntersectionTypeNode = (types) => make("IntersectionTypeNode", { types });
22
+
23
+ export { createIntersectionTypeNode };
24
+ //# sourceMappingURL=createIntersectionTypeNode.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createIntersectionTypeNode.mjs","sources":["../../../src/factory/types/createIntersectionTypeNode.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAGA;;;;;;;;;;;;;;;;;AAiBG;AACI,MAAM,0BAA0B,GAAG,CACxC,KAA0B,KACD,IAAI,CAAC,sBAAsB,EAAE,EAAE,KAAK,EAAE;;;;"}
@@ -0,0 +1,25 @@
1
+ import { make } from '../internal/make.mjs';
2
+
3
+ /**
4
+ * Create a {@link KeywordTypeNode}: a built-in keyword type such as `string` or
5
+ * `number`.
6
+ *
7
+ * The kind is a keyword {@link SyntaxKind} like `StringKeyword`,
8
+ * `NumberKeyword`, `BooleanKeyword`, `VoidKeyword`, `AnyKeyword`, or
9
+ * `UnknownKeyword`. The printer emits the keyword's own source text directly,
10
+ * so the node renders as that single word with no surrounding tokens.
11
+ *
12
+ * Given the `StringKeyword` kind, the printer renders:
13
+ *
14
+ * ```ts
15
+ * string;
16
+ * ```
17
+ *
18
+ * @author Jeongho Nam - https://github.com/samchon
19
+ * @param kind The token kind.
20
+ * @returns The created {@link KeywordTypeNode}.
21
+ */
22
+ const createKeywordTypeNode = (kind) => make("KeywordTypeNode", { keyword: kind });
23
+
24
+ export { createKeywordTypeNode };
25
+ //# sourceMappingURL=createKeywordTypeNode.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createKeywordTypeNode.mjs","sources":["../../../src/factory/types/createKeywordTypeNode.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAIA;;;;;;;;;;;;;;;;;;AAkBG;AACI,MAAM,qBAAqB,GAAG,CAAC,IAAgB,KACpD,IAAI,CAAC,iBAAiB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;;;;"}
@@ -0,0 +1,26 @@
1
+ import { make } from '../internal/make.mjs';
2
+
3
+ /**
4
+ * Create a {@link LiteralTypeNode}: a literal used in type position such as
5
+ * `"foo"`, `42`, `true`, or `null`.
6
+ *
7
+ * The printer emits the wrapped literal directly, so the rendered text is
8
+ * exactly that literal's own source. A {@link PrefixUnaryExpression} covers
9
+ * negative numeric literals such as `-1`, and a {@link Token} covers keyword
10
+ * literals such as `true`, `false`, and `null`.
11
+ *
12
+ * Given a `"foo"` string literal, the printer renders:
13
+ *
14
+ * ```ts
15
+ * "foo";
16
+ * ```
17
+ *
18
+ * @author Jeongho Nam - https://github.com/samchon
19
+ * @param literal The literal; a {@link PrefixUnaryExpression} covers negative
20
+ * numeric literals such as `-1`.
21
+ * @returns The created {@link LiteralTypeNode}.
22
+ */
23
+ const createLiteralTypeNode = (literal) => make("LiteralTypeNode", { literal });
24
+
25
+ export { createLiteralTypeNode };
26
+ //# sourceMappingURL=createLiteralTypeNode.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createLiteralTypeNode.mjs","sources":["../../../src/factory/types/createLiteralTypeNode.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAUA;;;;;;;;;;;;;;;;;;;AAmBG;AACI,MAAM,qBAAqB,GAAG,CACnC,OAKS,KACW,IAAI,CAAC,iBAAiB,EAAE,EAAE,OAAO,EAAE;;;;"}
@@ -0,0 +1,44 @@
1
+ import { make } from '../internal/make.mjs';
2
+
3
+ /**
4
+ * Create a {@link MappedTypeNode}: a `{ [K in keyof T]: T[K] }` mapped type.
5
+ *
6
+ * The type parameter supplies the key variable and its `in` constraint. When
7
+ * `nameType` is present it adds an `as` key remap, and when `type` is present
8
+ * it adds the `: ValueType` value. The whole thing renders inside `{ ... }` on
9
+ * one line.
10
+ *
11
+ * The `readonlyToken` and `questionToken` carry optional modifier polarity. A
12
+ * plain `readonly` or `?` token prints as `readonly ` and `?`; a `+` or `-`
13
+ * token prefixes the modifier, so it prints as `+readonly`/`-readonly` and
14
+ * `+?`/`-?`.
15
+ *
16
+ * Given a `K in keyof T` parameter and a `T[K]` value with no modifiers, the
17
+ * printer renders:
18
+ *
19
+ * ```ts
20
+ * { [K in keyof T]: T[K] }
21
+ * ```
22
+ *
23
+ * @author Jeongho Nam - https://github.com/samchon
24
+ * @param readonlyToken The `readonly` modifier with optional `+`/`-` polarity,
25
+ * if any.
26
+ * @param typeParameter The key type parameter holding the `in` constraint.
27
+ * @param nameType The `as` key remap type, if any.
28
+ * @param questionToken The optional-marker `?` with optional `+`/`-` polarity,
29
+ * if any.
30
+ * @param type The mapped value type, if any.
31
+ * @param members The members, if any.
32
+ * @returns The created {@link MappedTypeNode}.
33
+ */
34
+ const createMappedTypeNode = (readonlyToken, typeParameter, nameType, questionToken, type, members) => make("MappedTypeNode", {
35
+ readonlyToken,
36
+ typeParameter,
37
+ nameType,
38
+ questionToken,
39
+ type,
40
+ members,
41
+ });
42
+
43
+ export { createMappedTypeNode };
44
+ //# sourceMappingURL=createMappedTypeNode.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createMappedTypeNode.mjs","sources":["../../../src/factory/types/createMappedTypeNode.ts"],"sourcesContent":[null],"names":[],"mappings":";;AASA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8BG;MACU,oBAAoB,GAAG,CAClC,aAAgC,EAChC,aAAuC,EACvC,QAA8B,EAC9B,aAAgC,EAChC,IAA0B,EAC1B,OAA2C,KAE3C,IAAI,CAAC,gBAAgB,EAAE;IACrB,aAAa;IACb,aAAa;IACb,QAAQ;IACR,aAAa;IACb,IAAI;IACJ,OAAO;AACR,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 MethodSignature}: a `name(params): T` method signature for an
6
+ * interface or type literal.
7
+ *
8
+ * Any modifiers print first, then the name, then a `?` when the question token
9
+ * is present, then optional type parameters as `<...>`, the parameter list, and
10
+ * the return type as `: Type` when present. A string name is normalized to a
11
+ * property name node.
12
+ *
13
+ * Given the name `greet`, one `name: string` parameter, and a `void` return
14
+ * type, the printer renders:
15
+ *
16
+ * ```ts
17
+ * greet(name: string): void
18
+ * ```
19
+ *
20
+ * @author Jeongho Nam - https://github.com/samchon
21
+ * @param modifiers The leading modifiers and decorators, if any.
22
+ * @param name The method name.
23
+ * @param questionToken The optional marker (`?`), if any.
24
+ * @param typeParameters The generic type parameters, if any.
25
+ * @param parameters The parameters.
26
+ * @param type The return type, if any.
27
+ * @returns The created {@link MethodSignature}.
28
+ */
29
+ const createMethodSignature = (modifiers, name, questionToken, typeParameters, parameters, type) => make("MethodSignature", {
30
+ modifiers,
31
+ name: asPropertyName(name),
32
+ questionToken,
33
+ typeParameters,
34
+ parameters,
35
+ type,
36
+ });
37
+
38
+ export { createMethodSignature };
39
+ //# sourceMappingURL=createMethodSignature.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createMethodSignature.mjs","sources":["../../../src/factory/types/createMethodSignature.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAYA;;;;;;;;;;;;;;;;;;;;;;;;AAwBG;MACU,qBAAqB,GAAG,CACnC,SAA8C,EAC9C,IAA2B,EAC3B,aAAgC,EAChC,cAA+D,EAC/D,UAA2C,EAC3C,IAA0B,KAE1B,IAAI,CAAC,iBAAiB,EAAE;IACtB,SAAS;AACT,IAAA,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC;IAC1B,aAAa;IACb,cAAc;IACd,UAAU;IACV,IAAI;AACL,CAAA;;;;"}
@@ -0,0 +1,33 @@
1
+ import { asName } from '../internal/asName.mjs';
2
+ import { make } from '../internal/make.mjs';
3
+
4
+ /**
5
+ * Create a {@link NamedTupleMember}: a labeled tuple element such as `name:
6
+ * string`.
7
+ *
8
+ * A leading `...` prints when the rest token is present, then the label, then a
9
+ * `?` when the question token is present, then `: ` followed by the type. A
10
+ * string name is normalized to an identifier.
11
+ *
12
+ * Given the label `name` and a `string` type, the printer renders:
13
+ *
14
+ * ```ts
15
+ * name: string;
16
+ * ```
17
+ *
18
+ * @author Jeongho Nam - https://github.com/samchon
19
+ * @param dotDotDotToken The rest marker (`...`), if any.
20
+ * @param name The element label.
21
+ * @param questionToken The optional marker (`?`), if any.
22
+ * @param type The element type.
23
+ * @returns The created {@link NamedTupleMember}.
24
+ */
25
+ const createNamedTupleMember = (dotDotDotToken, name, questionToken, type) => make("NamedTupleMember", {
26
+ dotDotDotToken,
27
+ name: asName(name),
28
+ questionToken,
29
+ type,
30
+ });
31
+
32
+ export { createNamedTupleMember };
33
+ //# sourceMappingURL=createNamedTupleMember.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createNamedTupleMember.mjs","sources":["../../../src/factory/types/createNamedTupleMember.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAIA;;;;;;;;;;;;;;;;;;;;AAoBG;AACI,MAAM,sBAAsB,GAAG,CACpC,cAAiC,EACjC,IAAyB,EACzB,aAAgC,EAChC,IAAc,KAEd,IAAI,CAAC,kBAAkB,EAAE;IACvB,cAAc;AACd,IAAA,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC;IAClB,aAAa;IACb,IAAI;AACL,CAAA;;;;"}
@@ -0,0 +1,17 @@
1
+ import { make } from '../internal/make.mjs';
2
+
3
+ /**
4
+ * Create a {@link NotEmittedTypeElement}: a placeholder type-element that
5
+ * carries no syntax of its own.
6
+ *
7
+ * It exists to hold position and attached comments inside a member list without
8
+ * contributing any text. The printer emits the empty string for it, so the
9
+ * rendered output is empty:
10
+ *
11
+ * @author Jeongho Nam - https://github.com/samchon
12
+ * @returns The created {@link NotEmittedTypeElement}.
13
+ */
14
+ const createNotEmittedTypeElement = () => make("NotEmittedTypeElement", {});
15
+
16
+ export { createNotEmittedTypeElement };
17
+ //# sourceMappingURL=createNotEmittedTypeElement.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createNotEmittedTypeElement.mjs","sources":["../../../src/factory/types/createNotEmittedTypeElement.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAGA;;;;;;;;;;AAUG;AACI,MAAM,2BAA2B,GAAG,MACzC,IAAI,CAAC,uBAAuB,EAAE,EAAE;;;;"}
@@ -0,0 +1,23 @@
1
+ import { make } from '../internal/make.mjs';
2
+
3
+ /**
4
+ * Create an {@link OptionalTypeNode}: a `T?` optional element inside a tuple
5
+ * type.
6
+ *
7
+ * The element type prints first, immediately followed by a `?`. This form is
8
+ * only valid in tuple element position, for example `[string, number?]`.
9
+ *
10
+ * Given a `string` element type, the printer renders:
11
+ *
12
+ * ```ts
13
+ * string?
14
+ * ```
15
+ *
16
+ * @author Jeongho Nam - https://github.com/samchon
17
+ * @param type The element type.
18
+ * @returns The created {@link OptionalTypeNode}.
19
+ */
20
+ const createOptionalTypeNode = (type) => make("OptionalTypeNode", { type });
21
+
22
+ export { createOptionalTypeNode };
23
+ //# sourceMappingURL=createOptionalTypeNode.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createOptionalTypeNode.mjs","sources":["../../../src/factory/types/createOptionalTypeNode.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAGA;;;;;;;;;;;;;;;;AAgBG;AACI,MAAM,sBAAsB,GAAG,CAAC,IAAc,KACnD,IAAI,CAAC,kBAAkB,EAAE,EAAE,IAAI,EAAE;;;;"}
@@ -0,0 +1,23 @@
1
+ import { make } from '../internal/make.mjs';
2
+
3
+ /**
4
+ * Create a {@link ParenthesizedTypeNode}: a `(T)` explicitly parenthesized type.
5
+ *
6
+ * The printer always wraps the inner type in literal parentheses, so this is
7
+ * the way to force grouping the surrounding printer would not add on its own,
8
+ * for example to disambiguate a union inside a larger type.
9
+ *
10
+ * Given an `A | B` inner type, the printer renders:
11
+ *
12
+ * ```ts
13
+ * A | B;
14
+ * ```
15
+ *
16
+ * @author Jeongho Nam - https://github.com/samchon
17
+ * @param type The inner type to parenthesize.
18
+ * @returns The created {@link ParenthesizedTypeNode}.
19
+ */
20
+ const createParenthesizedType = (type) => make("ParenthesizedTypeNode", { type });
21
+
22
+ export { createParenthesizedType };
23
+ //# sourceMappingURL=createParenthesizedType.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createParenthesizedType.mjs","sources":["../../../src/factory/types/createParenthesizedType.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAGA;;;;;;;;;;;;;;;;AAgBG;AACI,MAAM,uBAAuB,GAAG,CACrC,IAAc,KACY,IAAI,CAAC,uBAAuB,EAAE,EAAE,IAAI,EAAE;;;;"}
@@ -0,0 +1,34 @@
1
+ import { asPropertyName } from '../internal/asPropertyName.mjs';
2
+ import { make } from '../internal/make.mjs';
3
+
4
+ /**
5
+ * Create a {@link PropertySignature}: a `name?: T` property in an interface or
6
+ * type literal.
7
+ *
8
+ * Any modifiers print first (for example `readonly`), then the name, then a `?`
9
+ * when the question token is present, then `: ` followed by the type when
10
+ * present. A string name is normalized to a property name node.
11
+ *
12
+ * Given the name `name`, a present question token, and a `string` type, the
13
+ * printer renders:
14
+ *
15
+ * ```ts
16
+ * name?: string
17
+ * ```
18
+ *
19
+ * @author Jeongho Nam - https://github.com/samchon
20
+ * @param modifiers The leading modifiers and decorators, if any.
21
+ * @param name The property name.
22
+ * @param questionToken The optional marker (`?`), if any.
23
+ * @param type The property type, if any.
24
+ * @returns The created {@link PropertySignature}.
25
+ */
26
+ const createPropertySignature = (modifiers, name, questionToken, type) => make("PropertySignature", {
27
+ modifiers,
28
+ name: asPropertyName(name),
29
+ questionToken,
30
+ type,
31
+ });
32
+
33
+ export { createPropertySignature };
34
+ //# sourceMappingURL=createPropertySignature.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createPropertySignature.mjs","sources":["../../../src/factory/types/createPropertySignature.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAUA;;;;;;;;;;;;;;;;;;;;;AAqBG;AACI,MAAM,uBAAuB,GAAG,CACrC,SAA8C,EAC9C,IAA2B,EAC3B,aAAgC,EAChC,IAA0B,KAE1B,IAAI,CAAC,mBAAmB,EAAE;IACxB,SAAS;AACT,IAAA,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC;IAC1B,aAAa;IACb,IAAI;AACL,CAAA;;;;"}
@@ -0,0 +1,22 @@
1
+ import { make } from '../internal/make.mjs';
2
+
3
+ /**
4
+ * Create a {@link RestTypeNode}: a `...T` rest element inside a tuple type.
5
+ *
6
+ * A leading `...` prints in front of the type. This form is only valid in tuple
7
+ * element position, for example `[string, ...number[]]`.
8
+ *
9
+ * Given a `string[]` element type, the printer renders:
10
+ *
11
+ * ```ts
12
+ * ...string[]
13
+ * ```
14
+ *
15
+ * @author Jeongho Nam - https://github.com/samchon
16
+ * @param type The rest element type.
17
+ * @returns The created {@link RestTypeNode}.
18
+ */
19
+ const createRestTypeNode = (type) => make("RestTypeNode", { type });
20
+
21
+ export { createRestTypeNode };
22
+ //# sourceMappingURL=createRestTypeNode.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createRestTypeNode.mjs","sources":["../../../src/factory/types/createRestTypeNode.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAGA;;;;;;;;;;;;;;;AAeG;AACI,MAAM,kBAAkB,GAAG,CAAC,IAAc,KAC/C,IAAI,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE;;;;"}
@@ -0,0 +1,27 @@
1
+ import { make } from '../internal/make.mjs';
2
+
3
+ /**
4
+ * Create a {@link TemplateLiteralTypeNode}: a ``id-${string}`` template literal
5
+ * type.
6
+ *
7
+ * The head supplies the leading text up to the first `${`, then each span
8
+ * contributes an interpolated type followed by the literal text up to the next
9
+ * `${` or the closing backtick. The spans print back to back, so the whole
10
+ * thing reads as one template string.
11
+ *
12
+ * Given the head text `id-` and a single span of `string` ending the template,
13
+ * the printer renders:
14
+ *
15
+ * ```ts
16
+ * `id-${string}`;
17
+ * ```
18
+ *
19
+ * @author Jeongho Nam - https://github.com/samchon
20
+ * @param head The leading text up to the first interpolation.
21
+ * @param templateSpans The interpolated spans.
22
+ * @returns The created {@link TemplateLiteralTypeNode}.
23
+ */
24
+ const createTemplateLiteralType = (head, templateSpans) => make("TemplateLiteralType", { head, templateSpans });
25
+
26
+ export { createTemplateLiteralType };
27
+ //# sourceMappingURL=createTemplateLiteralType.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createTemplateLiteralType.mjs","sources":["../../../src/factory/types/createTemplateLiteralType.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAOA;;;;;;;;;;;;;;;;;;;;AAoBG;MACU,yBAAyB,GAAG,CACvC,IAAkB,EAClB,aAAiD,KAEjD,IAAI,CAAC,qBAAqB,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE;;;;"}
@@ -0,0 +1,27 @@
1
+ import { make } from '../internal/make.mjs';
2
+
3
+ /**
4
+ * Create a {@link TemplateLiteralTypeSpan}: one interpolation of a template
5
+ * literal type, an interpolated type plus the literal text that follows it.
6
+ *
7
+ * The type prints first, then the trailing literal. The literal is a
8
+ * {@link TemplateMiddle} when another span follows and a {@link TemplateTail}
9
+ * when it closes the template. A span only renders meaningfully inside a
10
+ * template literal type; on its own it is just a fragment.
11
+ *
12
+ * Given a `number` type and a `px` tail inside a ``width:${...}`` template, the
13
+ * printer renders:
14
+ *
15
+ * ```ts
16
+ * `width:${number}px`;
17
+ * ```
18
+ *
19
+ * @author Jeongho Nam - https://github.com/samchon
20
+ * @param type The interpolated type.
21
+ * @param literal The trailing middle or tail literal.
22
+ * @returns The created {@link TemplateLiteralTypeSpan}.
23
+ */
24
+ const createTemplateLiteralTypeSpan = (type, literal) => make("TemplateLiteralTypeSpan", { type, literal });
25
+
26
+ export { createTemplateLiteralTypeSpan };
27
+ //# sourceMappingURL=createTemplateLiteralTypeSpan.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createTemplateLiteralTypeSpan.mjs","sources":["../../../src/factory/types/createTemplateLiteralTypeSpan.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAQA;;;;;;;;;;;;;;;;;;;;AAoBG;MACU,6BAA6B,GAAG,CAC3C,IAAc,EACd,OAAsC,KAEtC,IAAI,CAAC,yBAAyB,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;;;;"}
@@ -0,0 +1,22 @@
1
+ import { make } from '../internal/make.mjs';
2
+
3
+ /**
4
+ * Create a {@link ThisTypeNode}: the `this` type.
5
+ *
6
+ * It takes no inputs and the printer always emits the single keyword `this`,
7
+ * the polymorphic this-type used in fluent method return positions and type
8
+ * predicates.
9
+ *
10
+ * The printer renders:
11
+ *
12
+ * ```ts
13
+ * this;
14
+ * ```
15
+ *
16
+ * @author Jeongho Nam - https://github.com/samchon
17
+ * @returns The created {@link ThisTypeNode}.
18
+ */
19
+ const createThisTypeNode = () => make("ThisTypeNode", {});
20
+
21
+ export { createThisTypeNode };
22
+ //# sourceMappingURL=createThisTypeNode.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createThisTypeNode.mjs","sources":["../../../src/factory/types/createThisTypeNode.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAGA;;;;;;;;;;;;;;;AAeG;AACI,MAAM,kBAAkB,GAAG,MAAoB,IAAI,CAAC,cAAc,EAAE,EAAE;;;;"}
@@ -0,0 +1,24 @@
1
+ import { make } from '../internal/make.mjs';
2
+
3
+ /**
4
+ * Create a {@link TupleTypeNode}: a `[A, B]` tuple type.
5
+ *
6
+ * The elements print inside `[...]`, comma separated. The list is width-aware:
7
+ * inline it stays on one line with no trailing comma, and when it breaks each
8
+ * element goes on its own line with a trailing comma after the last. Elements
9
+ * may include named, optional, and rest members.
10
+ *
11
+ * Given the elements `string` and `number`, the printer renders:
12
+ *
13
+ * ```ts
14
+ * [string, number];
15
+ * ```
16
+ *
17
+ * @author Jeongho Nam - https://github.com/samchon
18
+ * @param elements The tuple element types.
19
+ * @returns The created {@link TupleTypeNode}.
20
+ */
21
+ const createTupleTypeNode = (elements) => make("TupleTypeNode", { elements });
22
+
23
+ export { createTupleTypeNode };
24
+ //# sourceMappingURL=createTupleTypeNode.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createTupleTypeNode.mjs","sources":["../../../src/factory/types/createTupleTypeNode.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAGA;;;;;;;;;;;;;;;;;AAiBG;AACI,MAAM,mBAAmB,GAAG,CACjC,QAA6B,KACX,IAAI,CAAC,eAAe,EAAE,EAAE,QAAQ,EAAE;;;;"}
@@ -0,0 +1,25 @@
1
+ import { make } from '../internal/make.mjs';
2
+
3
+ /**
4
+ * Create a {@link TypeLiteralNode}: an inline object type such as `{ name:
5
+ * string }`.
6
+ *
7
+ * The members print inside `{ ... }` and may be any type element: property and
8
+ * method signatures, index and call signatures, and so on. The member block is
9
+ * width-aware, staying inline when it fits and breaking onto separate lines
10
+ * when it does not. The member list defaults to empty, which renders as `{}`.
11
+ *
12
+ * Given a single `name: string` property, the printer renders:
13
+ *
14
+ * ```ts
15
+ * { name: string }
16
+ * ```
17
+ *
18
+ * @author Jeongho Nam - https://github.com/samchon
19
+ * @param members The type members.
20
+ * @returns The created {@link TypeLiteralNode}.
21
+ */
22
+ const createTypeLiteralNode = (members = []) => make("TypeLiteralNode", { members });
23
+
24
+ export { createTypeLiteralNode };
25
+ //# sourceMappingURL=createTypeLiteralNode.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createTypeLiteralNode.mjs","sources":["../../../src/factory/types/createTypeLiteralNode.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAGA;;;;;;;;;;;;;;;;;;AAkBG;AACI,MAAM,qBAAqB,GAAG,CACnC,OAAA,GAAkC,EAAE,KAChB,IAAI,CAAC,iBAAiB,EAAE,EAAE,OAAO,EAAE;;;;"}
@@ -0,0 +1,26 @@
1
+ import { make } from '../internal/make.mjs';
2
+
3
+ /**
4
+ * Create a {@link TypeOperatorNode}: a prefix type operator such as `keyof T`,
5
+ * `typeof x`, `readonly T[]`, or `unique symbol`.
6
+ *
7
+ * The operator keyword prints first, then a space, then the operand type. In
8
+ * postfix and array positions the surrounding printer wraps the operator type
9
+ * in parentheses so the operator does not bind to the postfix instead of the
10
+ * operand.
11
+ *
12
+ * Given the `KeyOfKeyword` operator and a `T` operand, the printer renders:
13
+ *
14
+ * ```ts
15
+ * keyof T
16
+ * ```
17
+ *
18
+ * @author Jeongho Nam - https://github.com/samchon
19
+ * @param operator The operator token.
20
+ * @param type The operand type.
21
+ * @returns The created {@link TypeOperatorNode}.
22
+ */
23
+ const createTypeOperatorNode = (operator, type) => make("TypeOperatorNode", { operator, type });
24
+
25
+ export { createTypeOperatorNode };
26
+ //# sourceMappingURL=createTypeOperatorNode.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createTypeOperatorNode.mjs","sources":["../../../src/factory/types/createTypeOperatorNode.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAIA;;;;;;;;;;;;;;;;;;;AAmBG;MACU,sBAAsB,GAAG,CACpC,QAAoB,EACpB,IAAc,KACO,IAAI,CAAC,kBAAkB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;;;;"}
@@ -0,0 +1,34 @@
1
+ import { asName } from '../internal/asName.mjs';
2
+ import { make } from '../internal/make.mjs';
3
+
4
+ /**
5
+ * Create a {@link TypeParameterDeclaration}: a generic parameter such as `T
6
+ * extends string = number`.
7
+ *
8
+ * Any modifiers print first (for example `const`, `in`, `out`), then the name.
9
+ * A constraint adds ` extends Type` and a default adds ` = Type`, each only
10
+ * when present. A string name is normalized to an identifier.
11
+ *
12
+ * Given the name `T`, a `string` constraint, and a `number` default, the
13
+ * printer renders:
14
+ *
15
+ * ```ts
16
+ * T extends string = number
17
+ * ```
18
+ *
19
+ * @author Jeongho Nam - https://github.com/samchon
20
+ * @param modifiers The leading modifiers and decorators, if any.
21
+ * @param name The parameter name.
22
+ * @param constraint The `extends` constraint, if any.
23
+ * @param defaultType The default type, if any.
24
+ * @returns The created {@link TypeParameterDeclaration}.
25
+ */
26
+ const createTypeParameterDeclaration = (modifiers, name, constraint, defaultType) => make("TypeParameterDeclaration", {
27
+ modifiers,
28
+ name: asName(name),
29
+ constraint,
30
+ default: defaultType,
31
+ });
32
+
33
+ export { createTypeParameterDeclaration };
34
+ //# sourceMappingURL=createTypeParameterDeclaration.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createTypeParameterDeclaration.mjs","sources":["../../../src/factory/types/createTypeParameterDeclaration.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AASA;;;;;;;;;;;;;;;;;;;;;AAqBG;AACI,MAAM,8BAA8B,GAAG,CAC5C,SAA8C,EAC9C,IAAyB,EACzB,UAAqB,EACrB,WAAsB,KAEtB,IAAI,CAAC,0BAA0B,EAAE;IAC/B,SAAS;AACT,IAAA,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC;IAClB,UAAU;AACV,IAAA,OAAO,EAAE,WAAW;AACrB,CAAA;;;;"}
@@ -0,0 +1,35 @@
1
+ import { make } from '../internal/make.mjs';
2
+ import { createIdentifier } from '../names/createIdentifier.mjs';
3
+
4
+ /**
5
+ * Create a {@link TypePredicateNode}: a `x is T` type guard return type, or an
6
+ * `asserts x is T` / `asserts x` assertion form.
7
+ *
8
+ * A leading `asserts ` prints when the asserts modifier is present, then the
9
+ * parameter name, then ` is Type` when a type is present. The assertion form
10
+ * with no type (just `asserts x`) is produced by passing the modifier and
11
+ * omitting the type. A string parameter name is normalized to an identifier.
12
+ *
13
+ * Given no asserts modifier, parameter `x`, and a `string` type, the printer
14
+ * renders:
15
+ *
16
+ * ```ts
17
+ * x is string
18
+ * ```
19
+ *
20
+ * @author Jeongho Nam - https://github.com/samchon
21
+ * @param assertsModifier The `asserts` modifier, if any.
22
+ * @param parameterName The guarded parameter name, or `this`.
23
+ * @param type The narrowed type, if any.
24
+ * @returns The created {@link TypePredicateNode}.
25
+ */
26
+ const createTypePredicateNode = (assertsModifier, parameterName, type) => make("TypePredicateNode", {
27
+ assertsModifier,
28
+ parameterName: typeof parameterName === "string"
29
+ ? createIdentifier(parameterName)
30
+ : parameterName,
31
+ type,
32
+ });
33
+
34
+ export { createTypePredicateNode };
35
+ //# sourceMappingURL=createTypePredicateNode.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createTypePredicateNode.mjs","sources":["../../../src/factory/types/createTypePredicateNode.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAUA;;;;;;;;;;;;;;;;;;;;;AAqBG;AACI,MAAM,uBAAuB,GAAG,CACrC,eAAkC,EAClC,aAAiD,EACjD,IAA0B,KAE1B,IAAI,CAAC,mBAAmB,EAAE;IACxB,eAAe;AACf,IAAA,aAAa,EACX,OAAO,aAAa,KAAK;AACvB,UAAE,gBAAgB,CAAC,aAAa;AAChC,UAAE,aAAa;IACnB,IAAI;AACL,CAAA;;;;"}