@ttsc/factory 0.15.6 → 0.15.8

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 (2169) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +129 -96
  3. package/lib/TsPrinter.d.ts +23 -1
  4. package/lib/TsPrinter.js +398 -30
  5. package/lib/TsPrinter.js.map +1 -1
  6. package/lib/TsPrinter.mjs +398 -30
  7. package/lib/TsPrinter.mjs.map +1 -1
  8. package/lib/ast/Node.d.ts +63 -1
  9. package/lib/ast/expressions/ObjectLiteralElement.d.ts +4 -1
  10. package/lib/ast/expressions/PartiallyEmittedExpression.d.ts +18 -0
  11. package/lib/ast/expressions/PartiallyEmittedExpression.js +3 -0
  12. package/lib/ast/expressions/PartiallyEmittedExpression.js.map +1 -0
  13. package/lib/ast/expressions/PartiallyEmittedExpression.mjs +2 -0
  14. package/lib/ast/expressions/PartiallyEmittedExpression.mjs.map +1 -0
  15. package/lib/ast/file/Bundle.d.ts +14 -0
  16. package/lib/ast/file/Bundle.js +3 -0
  17. package/lib/ast/file/Bundle.js.map +1 -0
  18. package/lib/ast/file/Bundle.mjs +2 -0
  19. package/lib/ast/file/Bundle.mjs.map +1 -0
  20. package/lib/ast/imports/ImportAttribute.d.ts +17 -0
  21. package/lib/ast/imports/ImportAttribute.js +3 -0
  22. package/lib/ast/imports/ImportAttribute.js.map +1 -0
  23. package/lib/ast/imports/ImportAttribute.mjs +2 -0
  24. package/lib/ast/imports/ImportAttribute.mjs.map +1 -0
  25. package/lib/ast/imports/ImportAttributeName.d.ts +9 -0
  26. package/lib/ast/imports/ImportAttributeName.js +3 -0
  27. package/lib/ast/imports/ImportAttributeName.js.map +1 -0
  28. package/lib/ast/imports/ImportAttributeName.mjs +2 -0
  29. package/lib/ast/imports/ImportAttributeName.mjs.map +1 -0
  30. package/lib/ast/imports/ImportAttributes.d.ts +18 -0
  31. package/lib/ast/imports/ImportAttributes.js +3 -0
  32. package/lib/ast/imports/ImportAttributes.js.map +1 -0
  33. package/lib/ast/imports/ImportAttributes.mjs +2 -0
  34. package/lib/ast/imports/ImportAttributes.mjs.map +1 -0
  35. package/lib/ast/index.d.ts +70 -0
  36. package/lib/ast/jsdoc/JSDoc.d.ts +17 -0
  37. package/lib/ast/jsdoc/JSDoc.js +3 -0
  38. package/lib/ast/jsdoc/JSDoc.js.map +1 -0
  39. package/lib/ast/jsdoc/JSDoc.mjs +2 -0
  40. package/lib/ast/jsdoc/JSDoc.mjs.map +1 -0
  41. package/lib/ast/jsdoc/JSDocAllType.d.ts +11 -0
  42. package/lib/ast/jsdoc/JSDocAllType.js +3 -0
  43. package/lib/ast/jsdoc/JSDocAllType.js.map +1 -0
  44. package/lib/ast/jsdoc/JSDocAllType.mjs +2 -0
  45. package/lib/ast/jsdoc/JSDocAllType.mjs.map +1 -0
  46. package/lib/ast/jsdoc/JSDocAugmentsTag.d.ts +20 -0
  47. package/lib/ast/jsdoc/JSDocAugmentsTag.js +3 -0
  48. package/lib/ast/jsdoc/JSDocAugmentsTag.js.map +1 -0
  49. package/lib/ast/jsdoc/JSDocAugmentsTag.mjs +2 -0
  50. package/lib/ast/jsdoc/JSDocAugmentsTag.mjs.map +1 -0
  51. package/lib/ast/jsdoc/JSDocAuthorTag.d.ts +17 -0
  52. package/lib/ast/jsdoc/JSDocAuthorTag.js +3 -0
  53. package/lib/ast/jsdoc/JSDocAuthorTag.js.map +1 -0
  54. package/lib/ast/jsdoc/JSDocAuthorTag.mjs +2 -0
  55. package/lib/ast/jsdoc/JSDocAuthorTag.mjs.map +1 -0
  56. package/lib/ast/jsdoc/JSDocCallbackTag.d.ts +22 -0
  57. package/lib/ast/jsdoc/JSDocCallbackTag.js +3 -0
  58. package/lib/ast/jsdoc/JSDocCallbackTag.js.map +1 -0
  59. package/lib/ast/jsdoc/JSDocCallbackTag.mjs +2 -0
  60. package/lib/ast/jsdoc/JSDocCallbackTag.mjs.map +1 -0
  61. package/lib/ast/jsdoc/JSDocClassTag.d.ts +17 -0
  62. package/lib/ast/jsdoc/JSDocClassTag.js +3 -0
  63. package/lib/ast/jsdoc/JSDocClassTag.js.map +1 -0
  64. package/lib/ast/jsdoc/JSDocClassTag.mjs +2 -0
  65. package/lib/ast/jsdoc/JSDocClassTag.mjs.map +1 -0
  66. package/lib/ast/jsdoc/JSDocComment.d.ts +11 -0
  67. package/lib/ast/jsdoc/JSDocComment.js +3 -0
  68. package/lib/ast/jsdoc/JSDocComment.js.map +1 -0
  69. package/lib/ast/jsdoc/JSDocComment.mjs +2 -0
  70. package/lib/ast/jsdoc/JSDocComment.mjs.map +1 -0
  71. package/lib/ast/jsdoc/JSDocDeprecatedTag.d.ts +17 -0
  72. package/lib/ast/jsdoc/JSDocDeprecatedTag.js +3 -0
  73. package/lib/ast/jsdoc/JSDocDeprecatedTag.js.map +1 -0
  74. package/lib/ast/jsdoc/JSDocDeprecatedTag.mjs +2 -0
  75. package/lib/ast/jsdoc/JSDocDeprecatedTag.mjs.map +1 -0
  76. package/lib/ast/jsdoc/JSDocEnumTag.d.ts +20 -0
  77. package/lib/ast/jsdoc/JSDocEnumTag.js +3 -0
  78. package/lib/ast/jsdoc/JSDocEnumTag.js.map +1 -0
  79. package/lib/ast/jsdoc/JSDocEnumTag.mjs +2 -0
  80. package/lib/ast/jsdoc/JSDocEnumTag.mjs.map +1 -0
  81. package/lib/ast/jsdoc/JSDocFunctionType.d.ts +17 -0
  82. package/lib/ast/jsdoc/JSDocFunctionType.js +3 -0
  83. package/lib/ast/jsdoc/JSDocFunctionType.js.map +1 -0
  84. package/lib/ast/jsdoc/JSDocFunctionType.mjs +2 -0
  85. package/lib/ast/jsdoc/JSDocFunctionType.mjs.map +1 -0
  86. package/lib/ast/jsdoc/JSDocImplementsTag.d.ts +20 -0
  87. package/lib/ast/jsdoc/JSDocImplementsTag.js +3 -0
  88. package/lib/ast/jsdoc/JSDocImplementsTag.js.map +1 -0
  89. package/lib/ast/jsdoc/JSDocImplementsTag.mjs +2 -0
  90. package/lib/ast/jsdoc/JSDocImplementsTag.mjs.map +1 -0
  91. package/lib/ast/jsdoc/JSDocImportTag.d.ts +23 -0
  92. package/lib/ast/jsdoc/JSDocImportTag.js +3 -0
  93. package/lib/ast/jsdoc/JSDocImportTag.js.map +1 -0
  94. package/lib/ast/jsdoc/JSDocImportTag.mjs +2 -0
  95. package/lib/ast/jsdoc/JSDocImportTag.mjs.map +1 -0
  96. package/lib/ast/jsdoc/JSDocLink.d.ts +17 -0
  97. package/lib/ast/jsdoc/JSDocLink.js +3 -0
  98. package/lib/ast/jsdoc/JSDocLink.js.map +1 -0
  99. package/lib/ast/jsdoc/JSDocLink.mjs +2 -0
  100. package/lib/ast/jsdoc/JSDocLink.mjs.map +1 -0
  101. package/lib/ast/jsdoc/JSDocLinkCode.d.ts +17 -0
  102. package/lib/ast/jsdoc/JSDocLinkCode.js +3 -0
  103. package/lib/ast/jsdoc/JSDocLinkCode.js.map +1 -0
  104. package/lib/ast/jsdoc/JSDocLinkCode.mjs +2 -0
  105. package/lib/ast/jsdoc/JSDocLinkCode.mjs.map +1 -0
  106. package/lib/ast/jsdoc/JSDocLinkPlain.d.ts +17 -0
  107. package/lib/ast/jsdoc/JSDocLinkPlain.js +3 -0
  108. package/lib/ast/jsdoc/JSDocLinkPlain.js.map +1 -0
  109. package/lib/ast/jsdoc/JSDocLinkPlain.mjs +2 -0
  110. package/lib/ast/jsdoc/JSDocLinkPlain.mjs.map +1 -0
  111. package/lib/ast/jsdoc/JSDocMemberName.d.ts +17 -0
  112. package/lib/ast/jsdoc/JSDocMemberName.js +3 -0
  113. package/lib/ast/jsdoc/JSDocMemberName.js.map +1 -0
  114. package/lib/ast/jsdoc/JSDocMemberName.mjs +2 -0
  115. package/lib/ast/jsdoc/JSDocMemberName.mjs.map +1 -0
  116. package/lib/ast/jsdoc/JSDocNameReference.d.ts +15 -0
  117. package/lib/ast/jsdoc/JSDocNameReference.js +3 -0
  118. package/lib/ast/jsdoc/JSDocNameReference.js.map +1 -0
  119. package/lib/ast/jsdoc/JSDocNameReference.mjs +2 -0
  120. package/lib/ast/jsdoc/JSDocNameReference.mjs.map +1 -0
  121. package/lib/ast/jsdoc/JSDocNamepathType.d.ts +14 -0
  122. package/lib/ast/jsdoc/JSDocNamepathType.js +3 -0
  123. package/lib/ast/jsdoc/JSDocNamepathType.js.map +1 -0
  124. package/lib/ast/jsdoc/JSDocNamepathType.mjs +2 -0
  125. package/lib/ast/jsdoc/JSDocNamepathType.mjs.map +1 -0
  126. package/lib/ast/jsdoc/JSDocNonNullableType.d.ts +16 -0
  127. package/lib/ast/jsdoc/JSDocNonNullableType.js +3 -0
  128. package/lib/ast/jsdoc/JSDocNonNullableType.js.map +1 -0
  129. package/lib/ast/jsdoc/JSDocNonNullableType.mjs +2 -0
  130. package/lib/ast/jsdoc/JSDocNonNullableType.mjs.map +1 -0
  131. package/lib/ast/jsdoc/JSDocNullableType.d.ts +16 -0
  132. package/lib/ast/jsdoc/JSDocNullableType.js +3 -0
  133. package/lib/ast/jsdoc/JSDocNullableType.js.map +1 -0
  134. package/lib/ast/jsdoc/JSDocNullableType.mjs +2 -0
  135. package/lib/ast/jsdoc/JSDocNullableType.mjs.map +1 -0
  136. package/lib/ast/jsdoc/JSDocOptionalType.d.ts +14 -0
  137. package/lib/ast/jsdoc/JSDocOptionalType.js +3 -0
  138. package/lib/ast/jsdoc/JSDocOptionalType.js.map +1 -0
  139. package/lib/ast/jsdoc/JSDocOptionalType.mjs +2 -0
  140. package/lib/ast/jsdoc/JSDocOptionalType.mjs.map +1 -0
  141. package/lib/ast/jsdoc/JSDocOverloadTag.d.ts +20 -0
  142. package/lib/ast/jsdoc/JSDocOverloadTag.js +3 -0
  143. package/lib/ast/jsdoc/JSDocOverloadTag.js.map +1 -0
  144. package/lib/ast/jsdoc/JSDocOverloadTag.mjs +2 -0
  145. package/lib/ast/jsdoc/JSDocOverloadTag.mjs.map +1 -0
  146. package/lib/ast/jsdoc/JSDocOverrideTag.d.ts +17 -0
  147. package/lib/ast/jsdoc/JSDocOverrideTag.js +3 -0
  148. package/lib/ast/jsdoc/JSDocOverrideTag.js.map +1 -0
  149. package/lib/ast/jsdoc/JSDocOverrideTag.mjs +2 -0
  150. package/lib/ast/jsdoc/JSDocOverrideTag.mjs.map +1 -0
  151. package/lib/ast/jsdoc/JSDocParameterTag.d.ts +27 -0
  152. package/lib/ast/jsdoc/JSDocParameterTag.js +3 -0
  153. package/lib/ast/jsdoc/JSDocParameterTag.js.map +1 -0
  154. package/lib/ast/jsdoc/JSDocParameterTag.mjs +2 -0
  155. package/lib/ast/jsdoc/JSDocParameterTag.mjs.map +1 -0
  156. package/lib/ast/jsdoc/JSDocPrivateTag.d.ts +17 -0
  157. package/lib/ast/jsdoc/JSDocPrivateTag.js +3 -0
  158. package/lib/ast/jsdoc/JSDocPrivateTag.js.map +1 -0
  159. package/lib/ast/jsdoc/JSDocPrivateTag.mjs +2 -0
  160. package/lib/ast/jsdoc/JSDocPrivateTag.mjs.map +1 -0
  161. package/lib/ast/jsdoc/JSDocPropertyTag.d.ts +27 -0
  162. package/lib/ast/jsdoc/JSDocPropertyTag.js +3 -0
  163. package/lib/ast/jsdoc/JSDocPropertyTag.js.map +1 -0
  164. package/lib/ast/jsdoc/JSDocPropertyTag.mjs +2 -0
  165. package/lib/ast/jsdoc/JSDocPropertyTag.mjs.map +1 -0
  166. package/lib/ast/jsdoc/JSDocProtectedTag.d.ts +17 -0
  167. package/lib/ast/jsdoc/JSDocProtectedTag.js +3 -0
  168. package/lib/ast/jsdoc/JSDocProtectedTag.js.map +1 -0
  169. package/lib/ast/jsdoc/JSDocProtectedTag.mjs +2 -0
  170. package/lib/ast/jsdoc/JSDocProtectedTag.mjs.map +1 -0
  171. package/lib/ast/jsdoc/JSDocPublicTag.d.ts +17 -0
  172. package/lib/ast/jsdoc/JSDocPublicTag.js +3 -0
  173. package/lib/ast/jsdoc/JSDocPublicTag.js.map +1 -0
  174. package/lib/ast/jsdoc/JSDocPublicTag.mjs +2 -0
  175. package/lib/ast/jsdoc/JSDocPublicTag.mjs.map +1 -0
  176. package/lib/ast/jsdoc/JSDocReadonlyTag.d.ts +17 -0
  177. package/lib/ast/jsdoc/JSDocReadonlyTag.js +3 -0
  178. package/lib/ast/jsdoc/JSDocReadonlyTag.js.map +1 -0
  179. package/lib/ast/jsdoc/JSDocReadonlyTag.mjs +2 -0
  180. package/lib/ast/jsdoc/JSDocReadonlyTag.mjs.map +1 -0
  181. package/lib/ast/jsdoc/JSDocReturnTag.d.ts +20 -0
  182. package/lib/ast/jsdoc/JSDocReturnTag.js +3 -0
  183. package/lib/ast/jsdoc/JSDocReturnTag.js.map +1 -0
  184. package/lib/ast/jsdoc/JSDocReturnTag.mjs +2 -0
  185. package/lib/ast/jsdoc/JSDocReturnTag.mjs.map +1 -0
  186. package/lib/ast/jsdoc/JSDocSatisfiesTag.d.ts +20 -0
  187. package/lib/ast/jsdoc/JSDocSatisfiesTag.js +3 -0
  188. package/lib/ast/jsdoc/JSDocSatisfiesTag.js.map +1 -0
  189. package/lib/ast/jsdoc/JSDocSatisfiesTag.mjs +2 -0
  190. package/lib/ast/jsdoc/JSDocSatisfiesTag.mjs.map +1 -0
  191. package/lib/ast/jsdoc/JSDocSeeTag.d.ts +20 -0
  192. package/lib/ast/jsdoc/JSDocSeeTag.js +3 -0
  193. package/lib/ast/jsdoc/JSDocSeeTag.js.map +1 -0
  194. package/lib/ast/jsdoc/JSDocSeeTag.mjs +2 -0
  195. package/lib/ast/jsdoc/JSDocSeeTag.mjs.map +1 -0
  196. package/lib/ast/jsdoc/JSDocSignature.d.ts +20 -0
  197. package/lib/ast/jsdoc/JSDocSignature.js +3 -0
  198. package/lib/ast/jsdoc/JSDocSignature.js.map +1 -0
  199. package/lib/ast/jsdoc/JSDocSignature.mjs +2 -0
  200. package/lib/ast/jsdoc/JSDocSignature.mjs.map +1 -0
  201. package/lib/ast/jsdoc/JSDocTag.d.ts +31 -0
  202. package/lib/ast/jsdoc/JSDocTag.js +3 -0
  203. package/lib/ast/jsdoc/JSDocTag.js.map +1 -0
  204. package/lib/ast/jsdoc/JSDocTag.mjs +2 -0
  205. package/lib/ast/jsdoc/JSDocTag.mjs.map +1 -0
  206. package/lib/ast/jsdoc/JSDocTemplateTag.d.ts +23 -0
  207. package/lib/ast/jsdoc/JSDocTemplateTag.js +3 -0
  208. package/lib/ast/jsdoc/JSDocTemplateTag.js.map +1 -0
  209. package/lib/ast/jsdoc/JSDocTemplateTag.mjs +2 -0
  210. package/lib/ast/jsdoc/JSDocTemplateTag.mjs.map +1 -0
  211. package/lib/ast/jsdoc/JSDocText.d.ts +13 -0
  212. package/lib/ast/jsdoc/JSDocText.js +3 -0
  213. package/lib/ast/jsdoc/JSDocText.js.map +1 -0
  214. package/lib/ast/jsdoc/JSDocText.mjs +2 -0
  215. package/lib/ast/jsdoc/JSDocText.mjs.map +1 -0
  216. package/lib/ast/jsdoc/JSDocThisTag.d.ts +20 -0
  217. package/lib/ast/jsdoc/JSDocThisTag.js +3 -0
  218. package/lib/ast/jsdoc/JSDocThisTag.js.map +1 -0
  219. package/lib/ast/jsdoc/JSDocThisTag.mjs +2 -0
  220. package/lib/ast/jsdoc/JSDocThisTag.mjs.map +1 -0
  221. package/lib/ast/jsdoc/JSDocThrowsTag.d.ts +20 -0
  222. package/lib/ast/jsdoc/JSDocThrowsTag.js +3 -0
  223. package/lib/ast/jsdoc/JSDocThrowsTag.js.map +1 -0
  224. package/lib/ast/jsdoc/JSDocThrowsTag.mjs +2 -0
  225. package/lib/ast/jsdoc/JSDocThrowsTag.mjs.map +1 -0
  226. package/lib/ast/jsdoc/JSDocTypeExpression.d.ts +14 -0
  227. package/lib/ast/jsdoc/JSDocTypeExpression.js +3 -0
  228. package/lib/ast/jsdoc/JSDocTypeExpression.js.map +1 -0
  229. package/lib/ast/jsdoc/JSDocTypeExpression.mjs +2 -0
  230. package/lib/ast/jsdoc/JSDocTypeExpression.mjs.map +1 -0
  231. package/lib/ast/jsdoc/JSDocTypeLiteral.d.ts +16 -0
  232. package/lib/ast/jsdoc/JSDocTypeLiteral.js +3 -0
  233. package/lib/ast/jsdoc/JSDocTypeLiteral.js.map +1 -0
  234. package/lib/ast/jsdoc/JSDocTypeLiteral.mjs +2 -0
  235. package/lib/ast/jsdoc/JSDocTypeLiteral.mjs.map +1 -0
  236. package/lib/ast/jsdoc/JSDocTypeTag.d.ts +20 -0
  237. package/lib/ast/jsdoc/JSDocTypeTag.js +3 -0
  238. package/lib/ast/jsdoc/JSDocTypeTag.js.map +1 -0
  239. package/lib/ast/jsdoc/JSDocTypeTag.mjs +2 -0
  240. package/lib/ast/jsdoc/JSDocTypeTag.mjs.map +1 -0
  241. package/lib/ast/jsdoc/JSDocTypedefTag.d.ts +23 -0
  242. package/lib/ast/jsdoc/JSDocTypedefTag.js +3 -0
  243. package/lib/ast/jsdoc/JSDocTypedefTag.js.map +1 -0
  244. package/lib/ast/jsdoc/JSDocTypedefTag.mjs +2 -0
  245. package/lib/ast/jsdoc/JSDocTypedefTag.mjs.map +1 -0
  246. package/lib/ast/jsdoc/JSDocUnknownTag.d.ts +17 -0
  247. package/lib/ast/jsdoc/JSDocUnknownTag.js +3 -0
  248. package/lib/ast/jsdoc/JSDocUnknownTag.js.map +1 -0
  249. package/lib/ast/jsdoc/JSDocUnknownTag.mjs +2 -0
  250. package/lib/ast/jsdoc/JSDocUnknownTag.mjs.map +1 -0
  251. package/lib/ast/jsdoc/JSDocUnknownType.d.ts +11 -0
  252. package/lib/ast/jsdoc/JSDocUnknownType.js +3 -0
  253. package/lib/ast/jsdoc/JSDocUnknownType.js.map +1 -0
  254. package/lib/ast/jsdoc/JSDocUnknownType.mjs +2 -0
  255. package/lib/ast/jsdoc/JSDocUnknownType.mjs.map +1 -0
  256. package/lib/ast/jsdoc/JSDocVariadicType.d.ts +14 -0
  257. package/lib/ast/jsdoc/JSDocVariadicType.js +3 -0
  258. package/lib/ast/jsdoc/JSDocVariadicType.js.map +1 -0
  259. package/lib/ast/jsdoc/JSDocVariadicType.mjs +2 -0
  260. package/lib/ast/jsdoc/JSDocVariadicType.mjs.map +1 -0
  261. package/lib/ast/jsx/JsxAttribute.d.ts +17 -0
  262. package/lib/ast/jsx/JsxAttribute.js +3 -0
  263. package/lib/ast/jsx/JsxAttribute.js.map +1 -0
  264. package/lib/ast/jsx/JsxAttribute.mjs +2 -0
  265. package/lib/ast/jsx/JsxAttribute.mjs.map +1 -0
  266. package/lib/ast/jsx/JsxAttributeLike.d.ts +9 -0
  267. package/lib/ast/jsx/JsxAttributeLike.js +3 -0
  268. package/lib/ast/jsx/JsxAttributeLike.js.map +1 -0
  269. package/lib/ast/jsx/JsxAttributeLike.mjs +2 -0
  270. package/lib/ast/jsx/JsxAttributeLike.mjs.map +1 -0
  271. package/lib/ast/jsx/JsxAttributeName.d.ts +9 -0
  272. package/lib/ast/jsx/JsxAttributeName.js +3 -0
  273. package/lib/ast/jsx/JsxAttributeName.js.map +1 -0
  274. package/lib/ast/jsx/JsxAttributeName.mjs +2 -0
  275. package/lib/ast/jsx/JsxAttributeName.mjs.map +1 -0
  276. package/lib/ast/jsx/JsxAttributeValue.d.ts +12 -0
  277. package/lib/ast/jsx/JsxAttributeValue.js +3 -0
  278. package/lib/ast/jsx/JsxAttributeValue.js.map +1 -0
  279. package/lib/ast/jsx/JsxAttributeValue.mjs +2 -0
  280. package/lib/ast/jsx/JsxAttributeValue.mjs.map +1 -0
  281. package/lib/ast/jsx/JsxAttributes.d.ts +14 -0
  282. package/lib/ast/jsx/JsxAttributes.js +3 -0
  283. package/lib/ast/jsx/JsxAttributes.js.map +1 -0
  284. package/lib/ast/jsx/JsxAttributes.mjs +2 -0
  285. package/lib/ast/jsx/JsxAttributes.mjs.map +1 -0
  286. package/lib/ast/jsx/JsxChild.d.ts +12 -0
  287. package/lib/ast/jsx/JsxChild.js +3 -0
  288. package/lib/ast/jsx/JsxChild.js.map +1 -0
  289. package/lib/ast/jsx/JsxChild.mjs +2 -0
  290. package/lib/ast/jsx/JsxChild.mjs.map +1 -0
  291. package/lib/ast/jsx/JsxClosingElement.d.ts +14 -0
  292. package/lib/ast/jsx/JsxClosingElement.js +3 -0
  293. package/lib/ast/jsx/JsxClosingElement.js.map +1 -0
  294. package/lib/ast/jsx/JsxClosingElement.mjs +2 -0
  295. package/lib/ast/jsx/JsxClosingElement.mjs.map +1 -0
  296. package/lib/ast/jsx/JsxClosingFragment.d.ts +11 -0
  297. package/lib/ast/jsx/JsxClosingFragment.js +3 -0
  298. package/lib/ast/jsx/JsxClosingFragment.js.map +1 -0
  299. package/lib/ast/jsx/JsxClosingFragment.mjs +2 -0
  300. package/lib/ast/jsx/JsxClosingFragment.mjs.map +1 -0
  301. package/lib/ast/jsx/JsxElement.d.ts +20 -0
  302. package/lib/ast/jsx/JsxElement.js +3 -0
  303. package/lib/ast/jsx/JsxElement.js.map +1 -0
  304. package/lib/ast/jsx/JsxElement.mjs +2 -0
  305. package/lib/ast/jsx/JsxElement.mjs.map +1 -0
  306. package/lib/ast/jsx/JsxExpression.d.ts +17 -0
  307. package/lib/ast/jsx/JsxExpression.js +3 -0
  308. package/lib/ast/jsx/JsxExpression.js.map +1 -0
  309. package/lib/ast/jsx/JsxExpression.mjs +2 -0
  310. package/lib/ast/jsx/JsxExpression.mjs.map +1 -0
  311. package/lib/ast/jsx/JsxFragment.d.ts +20 -0
  312. package/lib/ast/jsx/JsxFragment.js +3 -0
  313. package/lib/ast/jsx/JsxFragment.js.map +1 -0
  314. package/lib/ast/jsx/JsxFragment.mjs +2 -0
  315. package/lib/ast/jsx/JsxFragment.mjs.map +1 -0
  316. package/lib/ast/jsx/JsxNamespacedName.d.ts +16 -0
  317. package/lib/ast/jsx/JsxNamespacedName.js +3 -0
  318. package/lib/ast/jsx/JsxNamespacedName.js.map +1 -0
  319. package/lib/ast/jsx/JsxNamespacedName.mjs +2 -0
  320. package/lib/ast/jsx/JsxNamespacedName.mjs.map +1 -0
  321. package/lib/ast/jsx/JsxOpeningElement.d.ts +20 -0
  322. package/lib/ast/jsx/JsxOpeningElement.js +3 -0
  323. package/lib/ast/jsx/JsxOpeningElement.js.map +1 -0
  324. package/lib/ast/jsx/JsxOpeningElement.mjs +2 -0
  325. package/lib/ast/jsx/JsxOpeningElement.mjs.map +1 -0
  326. package/lib/ast/jsx/JsxOpeningFragment.d.ts +11 -0
  327. package/lib/ast/jsx/JsxOpeningFragment.js +3 -0
  328. package/lib/ast/jsx/JsxOpeningFragment.js.map +1 -0
  329. package/lib/ast/jsx/JsxOpeningFragment.mjs +2 -0
  330. package/lib/ast/jsx/JsxOpeningFragment.mjs.map +1 -0
  331. package/lib/ast/jsx/JsxSelfClosingElement.d.ts +20 -0
  332. package/lib/ast/jsx/JsxSelfClosingElement.js +3 -0
  333. package/lib/ast/jsx/JsxSelfClosingElement.js.map +1 -0
  334. package/lib/ast/jsx/JsxSelfClosingElement.mjs +2 -0
  335. package/lib/ast/jsx/JsxSelfClosingElement.mjs.map +1 -0
  336. package/lib/ast/jsx/JsxSpreadAttribute.d.ts +14 -0
  337. package/lib/ast/jsx/JsxSpreadAttribute.js +3 -0
  338. package/lib/ast/jsx/JsxSpreadAttribute.js.map +1 -0
  339. package/lib/ast/jsx/JsxSpreadAttribute.mjs +2 -0
  340. package/lib/ast/jsx/JsxSpreadAttribute.mjs.map +1 -0
  341. package/lib/ast/jsx/JsxTagName.d.ts +12 -0
  342. package/lib/ast/jsx/JsxTagName.js +3 -0
  343. package/lib/ast/jsx/JsxTagName.js.map +1 -0
  344. package/lib/ast/jsx/JsxTagName.mjs +2 -0
  345. package/lib/ast/jsx/JsxTagName.mjs.map +1 -0
  346. package/lib/ast/jsx/JsxText.d.ts +16 -0
  347. package/lib/ast/jsx/JsxText.js +3 -0
  348. package/lib/ast/jsx/JsxText.js.map +1 -0
  349. package/lib/ast/jsx/JsxText.mjs +2 -0
  350. package/lib/ast/jsx/JsxText.mjs.map +1 -0
  351. package/lib/ast/statements/NotEmittedStatement.d.ts +14 -0
  352. package/lib/ast/statements/NotEmittedStatement.js +3 -0
  353. package/lib/ast/statements/NotEmittedStatement.js.map +1 -0
  354. package/lib/ast/statements/NotEmittedStatement.mjs +2 -0
  355. package/lib/ast/statements/NotEmittedStatement.mjs.map +1 -0
  356. package/lib/ast/statements/VariableDeclaration.d.ts +3 -3
  357. package/lib/ast/types/LiteralTypeNode.d.ts +4 -3
  358. package/lib/ast/types/NotEmittedTypeElement.d.ts +12 -0
  359. package/lib/ast/types/NotEmittedTypeElement.js +3 -0
  360. package/lib/ast/types/NotEmittedTypeElement.js.map +1 -0
  361. package/lib/ast/types/NotEmittedTypeElement.mjs +2 -0
  362. package/lib/ast/types/NotEmittedTypeElement.mjs.map +1 -0
  363. package/lib/comments.d.ts +103 -0
  364. package/lib/comments.js +83 -0
  365. package/lib/comments.js.map +1 -0
  366. package/lib/comments.mjs +82 -0
  367. package/lib/comments.mjs.map +1 -0
  368. package/lib/factory/clauses/createHeritageClause.d.ts +14 -2
  369. package/lib/factory/clauses/createHeritageClause.js +14 -2
  370. package/lib/factory/clauses/createHeritageClause.js.map +1 -1
  371. package/lib/factory/clauses/createHeritageClause.mjs +14 -2
  372. package/lib/factory/clauses/createHeritageClause.mjs.map +1 -1
  373. package/lib/factory/clauses/createParameterDeclaration.d.ts +18 -1
  374. package/lib/factory/clauses/createParameterDeclaration.js +18 -1
  375. package/lib/factory/clauses/createParameterDeclaration.js.map +1 -1
  376. package/lib/factory/clauses/createParameterDeclaration.mjs +18 -1
  377. package/lib/factory/clauses/createParameterDeclaration.mjs.map +1 -1
  378. package/lib/factory/declarations/createClassDeclaration.d.ts +21 -1
  379. package/lib/factory/declarations/createClassDeclaration.js +21 -1
  380. package/lib/factory/declarations/createClassDeclaration.js.map +1 -1
  381. package/lib/factory/declarations/createClassDeclaration.mjs +21 -1
  382. package/lib/factory/declarations/createClassDeclaration.mjs.map +1 -1
  383. package/lib/factory/declarations/createClassStaticBlockDeclaration.d.ts +13 -1
  384. package/lib/factory/declarations/createClassStaticBlockDeclaration.js +13 -1
  385. package/lib/factory/declarations/createClassStaticBlockDeclaration.js.map +1 -1
  386. package/lib/factory/declarations/createClassStaticBlockDeclaration.mjs +13 -1
  387. package/lib/factory/declarations/createClassStaticBlockDeclaration.mjs.map +1 -1
  388. package/lib/factory/declarations/createConstructorDeclaration.d.ts +14 -1
  389. package/lib/factory/declarations/createConstructorDeclaration.js +14 -1
  390. package/lib/factory/declarations/createConstructorDeclaration.js.map +1 -1
  391. package/lib/factory/declarations/createConstructorDeclaration.mjs +14 -1
  392. package/lib/factory/declarations/createConstructorDeclaration.mjs.map +1 -1
  393. package/lib/factory/declarations/createEnumDeclaration.d.ts +16 -1
  394. package/lib/factory/declarations/createEnumDeclaration.js +16 -1
  395. package/lib/factory/declarations/createEnumDeclaration.js.map +1 -1
  396. package/lib/factory/declarations/createEnumDeclaration.mjs +16 -1
  397. package/lib/factory/declarations/createEnumDeclaration.mjs.map +1 -1
  398. package/lib/factory/declarations/createEnumMember.d.ts +12 -1
  399. package/lib/factory/declarations/createEnumMember.js +12 -1
  400. package/lib/factory/declarations/createEnumMember.js.map +1 -1
  401. package/lib/factory/declarations/createEnumMember.mjs +12 -1
  402. package/lib/factory/declarations/createEnumMember.mjs.map +1 -1
  403. package/lib/factory/declarations/createExternalModuleReference.d.ts +11 -1
  404. package/lib/factory/declarations/createExternalModuleReference.js +11 -1
  405. package/lib/factory/declarations/createExternalModuleReference.js.map +1 -1
  406. package/lib/factory/declarations/createExternalModuleReference.mjs +11 -1
  407. package/lib/factory/declarations/createExternalModuleReference.mjs.map +1 -1
  408. package/lib/factory/declarations/createFunctionDeclaration.d.ts +21 -1
  409. package/lib/factory/declarations/createFunctionDeclaration.js +21 -1
  410. package/lib/factory/declarations/createFunctionDeclaration.js.map +1 -1
  411. package/lib/factory/declarations/createFunctionDeclaration.mjs +21 -1
  412. package/lib/factory/declarations/createFunctionDeclaration.mjs.map +1 -1
  413. package/lib/factory/declarations/createGetAccessorDeclaration.d.ts +16 -1
  414. package/lib/factory/declarations/createGetAccessorDeclaration.js +16 -1
  415. package/lib/factory/declarations/createGetAccessorDeclaration.js.map +1 -1
  416. package/lib/factory/declarations/createGetAccessorDeclaration.mjs +16 -1
  417. package/lib/factory/declarations/createGetAccessorDeclaration.mjs.map +1 -1
  418. package/lib/factory/declarations/createImportEqualsDeclaration.d.ts +18 -5
  419. package/lib/factory/declarations/createImportEqualsDeclaration.js +18 -5
  420. package/lib/factory/declarations/createImportEqualsDeclaration.js.map +1 -1
  421. package/lib/factory/declarations/createImportEqualsDeclaration.mjs +18 -5
  422. package/lib/factory/declarations/createImportEqualsDeclaration.mjs.map +1 -1
  423. package/lib/factory/declarations/createInterfaceDeclaration.d.ts +17 -1
  424. package/lib/factory/declarations/createInterfaceDeclaration.js +17 -1
  425. package/lib/factory/declarations/createInterfaceDeclaration.js.map +1 -1
  426. package/lib/factory/declarations/createInterfaceDeclaration.mjs +17 -1
  427. package/lib/factory/declarations/createInterfaceDeclaration.mjs.map +1 -1
  428. package/lib/factory/declarations/createMethodDeclaration.d.ts +21 -1
  429. package/lib/factory/declarations/createMethodDeclaration.js +21 -1
  430. package/lib/factory/declarations/createMethodDeclaration.js.map +1 -1
  431. package/lib/factory/declarations/createMethodDeclaration.mjs +21 -1
  432. package/lib/factory/declarations/createMethodDeclaration.mjs.map +1 -1
  433. package/lib/factory/declarations/createModuleBlock.d.ts +13 -1
  434. package/lib/factory/declarations/createModuleBlock.js +13 -1
  435. package/lib/factory/declarations/createModuleBlock.js.map +1 -1
  436. package/lib/factory/declarations/createModuleBlock.mjs +13 -1
  437. package/lib/factory/declarations/createModuleBlock.mjs.map +1 -1
  438. package/lib/factory/declarations/createModuleDeclaration.d.ts +22 -3
  439. package/lib/factory/declarations/createModuleDeclaration.js +22 -3
  440. package/lib/factory/declarations/createModuleDeclaration.js.map +1 -1
  441. package/lib/factory/declarations/createModuleDeclaration.mjs +22 -3
  442. package/lib/factory/declarations/createModuleDeclaration.mjs.map +1 -1
  443. package/lib/factory/declarations/createNamespaceExportDeclaration.d.ts +11 -1
  444. package/lib/factory/declarations/createNamespaceExportDeclaration.js +11 -1
  445. package/lib/factory/declarations/createNamespaceExportDeclaration.js.map +1 -1
  446. package/lib/factory/declarations/createNamespaceExportDeclaration.mjs +11 -1
  447. package/lib/factory/declarations/createNamespaceExportDeclaration.mjs.map +1 -1
  448. package/lib/factory/declarations/createPropertyDeclaration.d.ts +17 -1
  449. package/lib/factory/declarations/createPropertyDeclaration.js +17 -1
  450. package/lib/factory/declarations/createPropertyDeclaration.js.map +1 -1
  451. package/lib/factory/declarations/createPropertyDeclaration.mjs +17 -1
  452. package/lib/factory/declarations/createPropertyDeclaration.mjs.map +1 -1
  453. package/lib/factory/declarations/createSemicolonClassElement.d.ts +9 -1
  454. package/lib/factory/declarations/createSemicolonClassElement.js +9 -1
  455. package/lib/factory/declarations/createSemicolonClassElement.js.map +1 -1
  456. package/lib/factory/declarations/createSemicolonClassElement.mjs +9 -1
  457. package/lib/factory/declarations/createSemicolonClassElement.mjs.map +1 -1
  458. package/lib/factory/declarations/createSetAccessorDeclaration.d.ts +16 -1
  459. package/lib/factory/declarations/createSetAccessorDeclaration.js +16 -1
  460. package/lib/factory/declarations/createSetAccessorDeclaration.js.map +1 -1
  461. package/lib/factory/declarations/createSetAccessorDeclaration.mjs +16 -1
  462. package/lib/factory/declarations/createSetAccessorDeclaration.mjs.map +1 -1
  463. package/lib/factory/declarations/createTypeAliasDeclaration.d.ts +14 -1
  464. package/lib/factory/declarations/createTypeAliasDeclaration.js +14 -1
  465. package/lib/factory/declarations/createTypeAliasDeclaration.js.map +1 -1
  466. package/lib/factory/declarations/createTypeAliasDeclaration.mjs +14 -1
  467. package/lib/factory/declarations/createTypeAliasDeclaration.mjs.map +1 -1
  468. package/lib/factory/expressions/createAdd.d.ts +14 -4
  469. package/lib/factory/expressions/createAdd.js +14 -4
  470. package/lib/factory/expressions/createAdd.js.map +1 -1
  471. package/lib/factory/expressions/createAdd.mjs +14 -4
  472. package/lib/factory/expressions/createAdd.mjs.map +1 -1
  473. package/lib/factory/expressions/createArrayBindingPattern.d.ts +13 -3
  474. package/lib/factory/expressions/createArrayBindingPattern.js +13 -3
  475. package/lib/factory/expressions/createArrayBindingPattern.js.map +1 -1
  476. package/lib/factory/expressions/createArrayBindingPattern.mjs +13 -3
  477. package/lib/factory/expressions/createArrayBindingPattern.mjs.map +1 -1
  478. package/lib/factory/expressions/createArrayLiteralExpression.d.ts +13 -2
  479. package/lib/factory/expressions/createArrayLiteralExpression.js +13 -2
  480. package/lib/factory/expressions/createArrayLiteralExpression.js.map +1 -1
  481. package/lib/factory/expressions/createArrayLiteralExpression.mjs +13 -2
  482. package/lib/factory/expressions/createArrayLiteralExpression.mjs.map +1 -1
  483. package/lib/factory/expressions/createArrowFunction.d.ts +16 -3
  484. package/lib/factory/expressions/createArrowFunction.js +16 -3
  485. package/lib/factory/expressions/createArrowFunction.js.map +1 -1
  486. package/lib/factory/expressions/createArrowFunction.mjs +16 -3
  487. package/lib/factory/expressions/createArrowFunction.mjs.map +1 -1
  488. package/lib/factory/expressions/createAsExpression.d.ts +12 -3
  489. package/lib/factory/expressions/createAsExpression.js +12 -3
  490. package/lib/factory/expressions/createAsExpression.js.map +1 -1
  491. package/lib/factory/expressions/createAsExpression.mjs +12 -3
  492. package/lib/factory/expressions/createAsExpression.mjs.map +1 -1
  493. package/lib/factory/expressions/createAssignment.d.ts +14 -4
  494. package/lib/factory/expressions/createAssignment.js +14 -4
  495. package/lib/factory/expressions/createAssignment.js.map +1 -1
  496. package/lib/factory/expressions/createAssignment.mjs +14 -4
  497. package/lib/factory/expressions/createAssignment.mjs.map +1 -1
  498. package/lib/factory/expressions/createAwaitExpression.d.ts +11 -2
  499. package/lib/factory/expressions/createAwaitExpression.js +11 -2
  500. package/lib/factory/expressions/createAwaitExpression.js.map +1 -1
  501. package/lib/factory/expressions/createAwaitExpression.mjs +11 -2
  502. package/lib/factory/expressions/createAwaitExpression.mjs.map +1 -1
  503. package/lib/factory/expressions/createBinaryExpression.d.ts +16 -2
  504. package/lib/factory/expressions/createBinaryExpression.js +16 -2
  505. package/lib/factory/expressions/createBinaryExpression.js.map +1 -1
  506. package/lib/factory/expressions/createBinaryExpression.mjs +16 -2
  507. package/lib/factory/expressions/createBinaryExpression.mjs.map +1 -1
  508. package/lib/factory/expressions/createBindingElement.d.ts +22 -6
  509. package/lib/factory/expressions/createBindingElement.js +22 -6
  510. package/lib/factory/expressions/createBindingElement.js.map +1 -1
  511. package/lib/factory/expressions/createBindingElement.mjs +22 -6
  512. package/lib/factory/expressions/createBindingElement.mjs.map +1 -1
  513. package/lib/factory/expressions/createBitwiseAnd.d.ts +14 -4
  514. package/lib/factory/expressions/createBitwiseAnd.js +14 -4
  515. package/lib/factory/expressions/createBitwiseAnd.js.map +1 -1
  516. package/lib/factory/expressions/createBitwiseAnd.mjs +14 -4
  517. package/lib/factory/expressions/createBitwiseAnd.mjs.map +1 -1
  518. package/lib/factory/expressions/createBitwiseNot.d.ts +13 -3
  519. package/lib/factory/expressions/createBitwiseNot.js +13 -3
  520. package/lib/factory/expressions/createBitwiseNot.js.map +1 -1
  521. package/lib/factory/expressions/createBitwiseNot.mjs +13 -3
  522. package/lib/factory/expressions/createBitwiseNot.mjs.map +1 -1
  523. package/lib/factory/expressions/createBitwiseOr.d.ts +13 -4
  524. package/lib/factory/expressions/createBitwiseOr.js +13 -4
  525. package/lib/factory/expressions/createBitwiseOr.js.map +1 -1
  526. package/lib/factory/expressions/createBitwiseOr.mjs +13 -4
  527. package/lib/factory/expressions/createBitwiseOr.mjs.map +1 -1
  528. package/lib/factory/expressions/createBitwiseXor.d.ts +13 -4
  529. package/lib/factory/expressions/createBitwiseXor.js +13 -4
  530. package/lib/factory/expressions/createBitwiseXor.js.map +1 -1
  531. package/lib/factory/expressions/createBitwiseXor.mjs +13 -4
  532. package/lib/factory/expressions/createBitwiseXor.mjs.map +1 -1
  533. package/lib/factory/expressions/createCallChain.d.ts +20 -6
  534. package/lib/factory/expressions/createCallChain.js +20 -6
  535. package/lib/factory/expressions/createCallChain.js.map +1 -1
  536. package/lib/factory/expressions/createCallChain.mjs +20 -6
  537. package/lib/factory/expressions/createCallChain.mjs.map +1 -1
  538. package/lib/factory/expressions/createCallExpression.d.ts +13 -3
  539. package/lib/factory/expressions/createCallExpression.js +13 -3
  540. package/lib/factory/expressions/createCallExpression.js.map +1 -1
  541. package/lib/factory/expressions/createCallExpression.mjs +13 -3
  542. package/lib/factory/expressions/createCallExpression.mjs.map +1 -1
  543. package/lib/factory/expressions/createClassExpression.d.ts +17 -7
  544. package/lib/factory/expressions/createClassExpression.js +17 -7
  545. package/lib/factory/expressions/createClassExpression.js.map +1 -1
  546. package/lib/factory/expressions/createClassExpression.mjs +17 -7
  547. package/lib/factory/expressions/createClassExpression.mjs.map +1 -1
  548. package/lib/factory/expressions/createComma.d.ts +16 -4
  549. package/lib/factory/expressions/createComma.js +16 -4
  550. package/lib/factory/expressions/createComma.js.map +1 -1
  551. package/lib/factory/expressions/createComma.mjs +16 -4
  552. package/lib/factory/expressions/createComma.mjs.map +1 -1
  553. package/lib/factory/expressions/createCommaListExpression.d.ts +13 -3
  554. package/lib/factory/expressions/createCommaListExpression.js +13 -3
  555. package/lib/factory/expressions/createCommaListExpression.js.map +1 -1
  556. package/lib/factory/expressions/createCommaListExpression.mjs +13 -3
  557. package/lib/factory/expressions/createCommaListExpression.mjs.map +1 -1
  558. package/lib/factory/expressions/createComputedPropertyName.d.ts +13 -3
  559. package/lib/factory/expressions/createComputedPropertyName.js +13 -3
  560. package/lib/factory/expressions/createComputedPropertyName.js.map +1 -1
  561. package/lib/factory/expressions/createComputedPropertyName.mjs +13 -3
  562. package/lib/factory/expressions/createComputedPropertyName.mjs.map +1 -1
  563. package/lib/factory/expressions/createConditionalExpression.d.ts +12 -1
  564. package/lib/factory/expressions/createConditionalExpression.js +12 -1
  565. package/lib/factory/expressions/createConditionalExpression.js.map +1 -1
  566. package/lib/factory/expressions/createConditionalExpression.mjs +12 -1
  567. package/lib/factory/expressions/createConditionalExpression.mjs.map +1 -1
  568. package/lib/factory/expressions/createDeleteExpression.d.ts +12 -3
  569. package/lib/factory/expressions/createDeleteExpression.js +12 -3
  570. package/lib/factory/expressions/createDeleteExpression.js.map +1 -1
  571. package/lib/factory/expressions/createDeleteExpression.mjs +12 -3
  572. package/lib/factory/expressions/createDeleteExpression.mjs.map +1 -1
  573. package/lib/factory/expressions/createDivide.d.ts +13 -4
  574. package/lib/factory/expressions/createDivide.js +13 -4
  575. package/lib/factory/expressions/createDivide.js.map +1 -1
  576. package/lib/factory/expressions/createDivide.mjs +13 -4
  577. package/lib/factory/expressions/createDivide.mjs.map +1 -1
  578. package/lib/factory/expressions/createElementAccessChain.d.ts +17 -5
  579. package/lib/factory/expressions/createElementAccessChain.js +17 -5
  580. package/lib/factory/expressions/createElementAccessChain.js.map +1 -1
  581. package/lib/factory/expressions/createElementAccessChain.mjs +17 -5
  582. package/lib/factory/expressions/createElementAccessChain.mjs.map +1 -1
  583. package/lib/factory/expressions/createElementAccessExpression.d.ts +12 -2
  584. package/lib/factory/expressions/createElementAccessExpression.js +12 -2
  585. package/lib/factory/expressions/createElementAccessExpression.js.map +1 -1
  586. package/lib/factory/expressions/createElementAccessExpression.mjs +12 -2
  587. package/lib/factory/expressions/createElementAccessExpression.mjs.map +1 -1
  588. package/lib/factory/expressions/createEquality.d.ts +15 -4
  589. package/lib/factory/expressions/createEquality.js +15 -4
  590. package/lib/factory/expressions/createEquality.js.map +1 -1
  591. package/lib/factory/expressions/createEquality.mjs +15 -4
  592. package/lib/factory/expressions/createEquality.mjs.map +1 -1
  593. package/lib/factory/expressions/createExponent.d.ts +14 -4
  594. package/lib/factory/expressions/createExponent.js +14 -4
  595. package/lib/factory/expressions/createExponent.js.map +1 -1
  596. package/lib/factory/expressions/createExponent.mjs +14 -4
  597. package/lib/factory/expressions/createExponent.mjs.map +1 -1
  598. package/lib/factory/expressions/createFunctionExpression.d.ts +14 -4
  599. package/lib/factory/expressions/createFunctionExpression.js +14 -4
  600. package/lib/factory/expressions/createFunctionExpression.js.map +1 -1
  601. package/lib/factory/expressions/createFunctionExpression.mjs +14 -4
  602. package/lib/factory/expressions/createFunctionExpression.mjs.map +1 -1
  603. package/lib/factory/expressions/createGreaterThan.d.ts +15 -4
  604. package/lib/factory/expressions/createGreaterThan.js +15 -4
  605. package/lib/factory/expressions/createGreaterThan.js.map +1 -1
  606. package/lib/factory/expressions/createGreaterThan.mjs +15 -4
  607. package/lib/factory/expressions/createGreaterThan.mjs.map +1 -1
  608. package/lib/factory/expressions/createGreaterThanEquals.d.ts +15 -4
  609. package/lib/factory/expressions/createGreaterThanEquals.js +15 -4
  610. package/lib/factory/expressions/createGreaterThanEquals.js.map +1 -1
  611. package/lib/factory/expressions/createGreaterThanEquals.mjs +15 -4
  612. package/lib/factory/expressions/createGreaterThanEquals.mjs.map +1 -1
  613. package/lib/factory/expressions/createImmediatelyInvokedArrowFunction.d.ts +14 -1
  614. package/lib/factory/expressions/createImmediatelyInvokedArrowFunction.js +14 -1
  615. package/lib/factory/expressions/createImmediatelyInvokedArrowFunction.js.map +1 -1
  616. package/lib/factory/expressions/createImmediatelyInvokedArrowFunction.mjs +14 -1
  617. package/lib/factory/expressions/createImmediatelyInvokedArrowFunction.mjs.map +1 -1
  618. package/lib/factory/expressions/createImmediatelyInvokedFunctionExpression.d.ts +14 -2
  619. package/lib/factory/expressions/createImmediatelyInvokedFunctionExpression.js +14 -2
  620. package/lib/factory/expressions/createImmediatelyInvokedFunctionExpression.js.map +1 -1
  621. package/lib/factory/expressions/createImmediatelyInvokedFunctionExpression.mjs +14 -2
  622. package/lib/factory/expressions/createImmediatelyInvokedFunctionExpression.mjs.map +1 -1
  623. package/lib/factory/expressions/createInequality.d.ts +15 -4
  624. package/lib/factory/expressions/createInequality.js +15 -4
  625. package/lib/factory/expressions/createInequality.js.map +1 -1
  626. package/lib/factory/expressions/createInequality.mjs +15 -4
  627. package/lib/factory/expressions/createInequality.mjs.map +1 -1
  628. package/lib/factory/expressions/createLeftShift.d.ts +14 -4
  629. package/lib/factory/expressions/createLeftShift.js +14 -4
  630. package/lib/factory/expressions/createLeftShift.js.map +1 -1
  631. package/lib/factory/expressions/createLeftShift.mjs +14 -4
  632. package/lib/factory/expressions/createLeftShift.mjs.map +1 -1
  633. package/lib/factory/expressions/createLessThan.d.ts +14 -4
  634. package/lib/factory/expressions/createLessThan.js +14 -4
  635. package/lib/factory/expressions/createLessThan.js.map +1 -1
  636. package/lib/factory/expressions/createLessThan.mjs +14 -4
  637. package/lib/factory/expressions/createLessThan.mjs.map +1 -1
  638. package/lib/factory/expressions/createLessThanEquals.d.ts +15 -4
  639. package/lib/factory/expressions/createLessThanEquals.js +15 -4
  640. package/lib/factory/expressions/createLessThanEquals.js.map +1 -1
  641. package/lib/factory/expressions/createLessThanEquals.mjs +15 -4
  642. package/lib/factory/expressions/createLessThanEquals.mjs.map +1 -1
  643. package/lib/factory/expressions/createLogicalAnd.d.ts +15 -4
  644. package/lib/factory/expressions/createLogicalAnd.js +15 -4
  645. package/lib/factory/expressions/createLogicalAnd.js.map +1 -1
  646. package/lib/factory/expressions/createLogicalAnd.mjs +15 -4
  647. package/lib/factory/expressions/createLogicalAnd.mjs.map +1 -1
  648. package/lib/factory/expressions/createLogicalNot.d.ts +13 -3
  649. package/lib/factory/expressions/createLogicalNot.js +13 -3
  650. package/lib/factory/expressions/createLogicalNot.js.map +1 -1
  651. package/lib/factory/expressions/createLogicalNot.mjs +13 -3
  652. package/lib/factory/expressions/createLogicalNot.mjs.map +1 -1
  653. package/lib/factory/expressions/createLogicalOr.d.ts +14 -4
  654. package/lib/factory/expressions/createLogicalOr.js +14 -4
  655. package/lib/factory/expressions/createLogicalOr.js.map +1 -1
  656. package/lib/factory/expressions/createLogicalOr.mjs +14 -4
  657. package/lib/factory/expressions/createLogicalOr.mjs.map +1 -1
  658. package/lib/factory/expressions/createMetaProperty.d.ts +18 -4
  659. package/lib/factory/expressions/createMetaProperty.js +18 -4
  660. package/lib/factory/expressions/createMetaProperty.js.map +1 -1
  661. package/lib/factory/expressions/createMetaProperty.mjs +18 -4
  662. package/lib/factory/expressions/createMetaProperty.mjs.map +1 -1
  663. package/lib/factory/expressions/createModulo.d.ts +12 -4
  664. package/lib/factory/expressions/createModulo.js +12 -4
  665. package/lib/factory/expressions/createModulo.js.map +1 -1
  666. package/lib/factory/expressions/createModulo.mjs +12 -4
  667. package/lib/factory/expressions/createModulo.mjs.map +1 -1
  668. package/lib/factory/expressions/createMultiply.d.ts +12 -4
  669. package/lib/factory/expressions/createMultiply.js +12 -4
  670. package/lib/factory/expressions/createMultiply.js.map +1 -1
  671. package/lib/factory/expressions/createMultiply.mjs +12 -4
  672. package/lib/factory/expressions/createMultiply.mjs.map +1 -1
  673. package/lib/factory/expressions/createNewExpression.d.ts +14 -3
  674. package/lib/factory/expressions/createNewExpression.js +14 -3
  675. package/lib/factory/expressions/createNewExpression.js.map +1 -1
  676. package/lib/factory/expressions/createNewExpression.mjs +14 -3
  677. package/lib/factory/expressions/createNewExpression.mjs.map +1 -1
  678. package/lib/factory/expressions/createNonNullChain.d.ts +14 -3
  679. package/lib/factory/expressions/createNonNullChain.js +14 -3
  680. package/lib/factory/expressions/createNonNullChain.js.map +1 -1
  681. package/lib/factory/expressions/createNonNullChain.mjs +14 -3
  682. package/lib/factory/expressions/createNonNullChain.mjs.map +1 -1
  683. package/lib/factory/expressions/createNonNullExpression.d.ts +13 -2
  684. package/lib/factory/expressions/createNonNullExpression.js +13 -2
  685. package/lib/factory/expressions/createNonNullExpression.js.map +1 -1
  686. package/lib/factory/expressions/createNonNullExpression.mjs +13 -2
  687. package/lib/factory/expressions/createNonNullExpression.mjs.map +1 -1
  688. package/lib/factory/expressions/createObjectBindingPattern.d.ts +14 -3
  689. package/lib/factory/expressions/createObjectBindingPattern.js +14 -3
  690. package/lib/factory/expressions/createObjectBindingPattern.js.map +1 -1
  691. package/lib/factory/expressions/createObjectBindingPattern.mjs +14 -3
  692. package/lib/factory/expressions/createObjectBindingPattern.mjs.map +1 -1
  693. package/lib/factory/expressions/createObjectLiteralExpression.d.ts +15 -2
  694. package/lib/factory/expressions/createObjectLiteralExpression.js +15 -2
  695. package/lib/factory/expressions/createObjectLiteralExpression.js.map +1 -1
  696. package/lib/factory/expressions/createObjectLiteralExpression.mjs +15 -2
  697. package/lib/factory/expressions/createObjectLiteralExpression.mjs.map +1 -1
  698. package/lib/factory/expressions/createOmittedExpression.d.ts +13 -2
  699. package/lib/factory/expressions/createOmittedExpression.js +13 -2
  700. package/lib/factory/expressions/createOmittedExpression.js.map +1 -1
  701. package/lib/factory/expressions/createOmittedExpression.mjs +13 -2
  702. package/lib/factory/expressions/createOmittedExpression.mjs.map +1 -1
  703. package/lib/factory/expressions/createParenthesizedExpression.d.ts +13 -2
  704. package/lib/factory/expressions/createParenthesizedExpression.js +13 -2
  705. package/lib/factory/expressions/createParenthesizedExpression.js.map +1 -1
  706. package/lib/factory/expressions/createParenthesizedExpression.mjs +13 -2
  707. package/lib/factory/expressions/createParenthesizedExpression.mjs.map +1 -1
  708. package/lib/factory/expressions/createPartiallyEmittedExpression.d.ts +22 -0
  709. package/lib/factory/expressions/createPartiallyEmittedExpression.js +27 -0
  710. package/lib/factory/expressions/createPartiallyEmittedExpression.js.map +1 -0
  711. package/lib/factory/expressions/createPartiallyEmittedExpression.mjs +26 -0
  712. package/lib/factory/expressions/createPartiallyEmittedExpression.mjs.map +1 -0
  713. package/lib/factory/expressions/createPostfixDecrement.d.ts +11 -3
  714. package/lib/factory/expressions/createPostfixDecrement.js +11 -3
  715. package/lib/factory/expressions/createPostfixDecrement.js.map +1 -1
  716. package/lib/factory/expressions/createPostfixDecrement.mjs +11 -3
  717. package/lib/factory/expressions/createPostfixDecrement.mjs.map +1 -1
  718. package/lib/factory/expressions/createPostfixIncrement.d.ts +11 -3
  719. package/lib/factory/expressions/createPostfixIncrement.js +11 -3
  720. package/lib/factory/expressions/createPostfixIncrement.js.map +1 -1
  721. package/lib/factory/expressions/createPostfixIncrement.mjs +11 -3
  722. package/lib/factory/expressions/createPostfixIncrement.mjs.map +1 -1
  723. package/lib/factory/expressions/createPostfixUnaryExpression.d.ts +13 -2
  724. package/lib/factory/expressions/createPostfixUnaryExpression.js +13 -2
  725. package/lib/factory/expressions/createPostfixUnaryExpression.js.map +1 -1
  726. package/lib/factory/expressions/createPostfixUnaryExpression.mjs +13 -2
  727. package/lib/factory/expressions/createPostfixUnaryExpression.mjs.map +1 -1
  728. package/lib/factory/expressions/createPrefixDecrement.d.ts +11 -3
  729. package/lib/factory/expressions/createPrefixDecrement.js +11 -3
  730. package/lib/factory/expressions/createPrefixDecrement.js.map +1 -1
  731. package/lib/factory/expressions/createPrefixDecrement.mjs +11 -3
  732. package/lib/factory/expressions/createPrefixDecrement.mjs.map +1 -1
  733. package/lib/factory/expressions/createPrefixIncrement.d.ts +11 -3
  734. package/lib/factory/expressions/createPrefixIncrement.js +11 -3
  735. package/lib/factory/expressions/createPrefixIncrement.js.map +1 -1
  736. package/lib/factory/expressions/createPrefixIncrement.mjs +11 -3
  737. package/lib/factory/expressions/createPrefixIncrement.mjs.map +1 -1
  738. package/lib/factory/expressions/createPrefixMinus.d.ts +11 -3
  739. package/lib/factory/expressions/createPrefixMinus.js +11 -3
  740. package/lib/factory/expressions/createPrefixMinus.js.map +1 -1
  741. package/lib/factory/expressions/createPrefixMinus.mjs +11 -3
  742. package/lib/factory/expressions/createPrefixMinus.mjs.map +1 -1
  743. package/lib/factory/expressions/createPrefixPlus.d.ts +10 -2
  744. package/lib/factory/expressions/createPrefixPlus.js +10 -2
  745. package/lib/factory/expressions/createPrefixPlus.js.map +1 -1
  746. package/lib/factory/expressions/createPrefixPlus.mjs +10 -2
  747. package/lib/factory/expressions/createPrefixPlus.mjs.map +1 -1
  748. package/lib/factory/expressions/createPrefixUnaryExpression.d.ts +13 -2
  749. package/lib/factory/expressions/createPrefixUnaryExpression.js +13 -2
  750. package/lib/factory/expressions/createPrefixUnaryExpression.js.map +1 -1
  751. package/lib/factory/expressions/createPrefixUnaryExpression.mjs +13 -2
  752. package/lib/factory/expressions/createPrefixUnaryExpression.mjs.map +1 -1
  753. package/lib/factory/expressions/createPropertyAccessChain.d.ts +17 -5
  754. package/lib/factory/expressions/createPropertyAccessChain.js +17 -5
  755. package/lib/factory/expressions/createPropertyAccessChain.js.map +1 -1
  756. package/lib/factory/expressions/createPropertyAccessChain.mjs +17 -5
  757. package/lib/factory/expressions/createPropertyAccessChain.mjs.map +1 -1
  758. package/lib/factory/expressions/createPropertyAccessExpression.d.ts +13 -3
  759. package/lib/factory/expressions/createPropertyAccessExpression.js +13 -3
  760. package/lib/factory/expressions/createPropertyAccessExpression.js.map +1 -1
  761. package/lib/factory/expressions/createPropertyAccessExpression.mjs +13 -3
  762. package/lib/factory/expressions/createPropertyAccessExpression.mjs.map +1 -1
  763. package/lib/factory/expressions/createPropertyAssignment.d.ts +14 -3
  764. package/lib/factory/expressions/createPropertyAssignment.js +14 -3
  765. package/lib/factory/expressions/createPropertyAssignment.js.map +1 -1
  766. package/lib/factory/expressions/createPropertyAssignment.mjs +14 -3
  767. package/lib/factory/expressions/createPropertyAssignment.mjs.map +1 -1
  768. package/lib/factory/expressions/createRegularExpressionLiteral.d.ts +13 -3
  769. package/lib/factory/expressions/createRegularExpressionLiteral.js +13 -3
  770. package/lib/factory/expressions/createRegularExpressionLiteral.js.map +1 -1
  771. package/lib/factory/expressions/createRegularExpressionLiteral.mjs +13 -3
  772. package/lib/factory/expressions/createRegularExpressionLiteral.mjs.map +1 -1
  773. package/lib/factory/expressions/createRightShift.d.ts +12 -4
  774. package/lib/factory/expressions/createRightShift.js +12 -4
  775. package/lib/factory/expressions/createRightShift.js.map +1 -1
  776. package/lib/factory/expressions/createRightShift.mjs +12 -4
  777. package/lib/factory/expressions/createRightShift.mjs.map +1 -1
  778. package/lib/factory/expressions/createSatisfiesExpression.d.ts +14 -3
  779. package/lib/factory/expressions/createSatisfiesExpression.js +14 -3
  780. package/lib/factory/expressions/createSatisfiesExpression.js.map +1 -1
  781. package/lib/factory/expressions/createSatisfiesExpression.mjs +14 -3
  782. package/lib/factory/expressions/createSatisfiesExpression.mjs.map +1 -1
  783. package/lib/factory/expressions/createShorthandPropertyAssignment.d.ts +14 -2
  784. package/lib/factory/expressions/createShorthandPropertyAssignment.js +14 -2
  785. package/lib/factory/expressions/createShorthandPropertyAssignment.js.map +1 -1
  786. package/lib/factory/expressions/createShorthandPropertyAssignment.mjs +14 -2
  787. package/lib/factory/expressions/createShorthandPropertyAssignment.mjs.map +1 -1
  788. package/lib/factory/expressions/createSpreadAssignment.d.ts +12 -2
  789. package/lib/factory/expressions/createSpreadAssignment.js +12 -2
  790. package/lib/factory/expressions/createSpreadAssignment.js.map +1 -1
  791. package/lib/factory/expressions/createSpreadAssignment.mjs +12 -2
  792. package/lib/factory/expressions/createSpreadAssignment.mjs.map +1 -1
  793. package/lib/factory/expressions/createSpreadElement.d.ts +12 -2
  794. package/lib/factory/expressions/createSpreadElement.js +12 -2
  795. package/lib/factory/expressions/createSpreadElement.js.map +1 -1
  796. package/lib/factory/expressions/createSpreadElement.mjs +12 -2
  797. package/lib/factory/expressions/createSpreadElement.mjs.map +1 -1
  798. package/lib/factory/expressions/createStrictEquality.d.ts +12 -4
  799. package/lib/factory/expressions/createStrictEquality.js +12 -4
  800. package/lib/factory/expressions/createStrictEquality.js.map +1 -1
  801. package/lib/factory/expressions/createStrictEquality.mjs +12 -4
  802. package/lib/factory/expressions/createStrictEquality.mjs.map +1 -1
  803. package/lib/factory/expressions/createStrictInequality.d.ts +12 -4
  804. package/lib/factory/expressions/createStrictInequality.js +12 -4
  805. package/lib/factory/expressions/createStrictInequality.js.map +1 -1
  806. package/lib/factory/expressions/createStrictInequality.mjs +12 -4
  807. package/lib/factory/expressions/createStrictInequality.mjs.map +1 -1
  808. package/lib/factory/expressions/createSubtract.d.ts +12 -4
  809. package/lib/factory/expressions/createSubtract.js +12 -4
  810. package/lib/factory/expressions/createSubtract.js.map +1 -1
  811. package/lib/factory/expressions/createSubtract.mjs +12 -4
  812. package/lib/factory/expressions/createSubtract.mjs.map +1 -1
  813. package/lib/factory/expressions/createTaggedTemplateExpression.d.ts +17 -5
  814. package/lib/factory/expressions/createTaggedTemplateExpression.js +17 -5
  815. package/lib/factory/expressions/createTaggedTemplateExpression.js.map +1 -1
  816. package/lib/factory/expressions/createTaggedTemplateExpression.mjs +17 -5
  817. package/lib/factory/expressions/createTaggedTemplateExpression.mjs.map +1 -1
  818. package/lib/factory/expressions/createTemplateExpression.d.ts +17 -4
  819. package/lib/factory/expressions/createTemplateExpression.js +17 -4
  820. package/lib/factory/expressions/createTemplateExpression.js.map +1 -1
  821. package/lib/factory/expressions/createTemplateExpression.mjs +17 -4
  822. package/lib/factory/expressions/createTemplateExpression.mjs.map +1 -1
  823. package/lib/factory/expressions/createTemplateSpan.d.ts +18 -4
  824. package/lib/factory/expressions/createTemplateSpan.js +18 -4
  825. package/lib/factory/expressions/createTemplateSpan.js.map +1 -1
  826. package/lib/factory/expressions/createTemplateSpan.mjs +18 -4
  827. package/lib/factory/expressions/createTemplateSpan.mjs.map +1 -1
  828. package/lib/factory/expressions/createTypeAssertion.d.ts +15 -4
  829. package/lib/factory/expressions/createTypeAssertion.js +15 -4
  830. package/lib/factory/expressions/createTypeAssertion.js.map +1 -1
  831. package/lib/factory/expressions/createTypeAssertion.mjs +15 -4
  832. package/lib/factory/expressions/createTypeAssertion.mjs.map +1 -1
  833. package/lib/factory/expressions/createTypeOfExpression.d.ts +11 -2
  834. package/lib/factory/expressions/createTypeOfExpression.js +11 -2
  835. package/lib/factory/expressions/createTypeOfExpression.js.map +1 -1
  836. package/lib/factory/expressions/createTypeOfExpression.mjs +11 -2
  837. package/lib/factory/expressions/createTypeOfExpression.mjs.map +1 -1
  838. package/lib/factory/expressions/createUnsignedRightShift.d.ts +12 -4
  839. package/lib/factory/expressions/createUnsignedRightShift.js +12 -4
  840. package/lib/factory/expressions/createUnsignedRightShift.js.map +1 -1
  841. package/lib/factory/expressions/createUnsignedRightShift.mjs +12 -4
  842. package/lib/factory/expressions/createUnsignedRightShift.mjs.map +1 -1
  843. package/lib/factory/expressions/createVoidExpression.d.ts +13 -3
  844. package/lib/factory/expressions/createVoidExpression.js +13 -3
  845. package/lib/factory/expressions/createVoidExpression.js.map +1 -1
  846. package/lib/factory/expressions/createVoidExpression.mjs +13 -3
  847. package/lib/factory/expressions/createVoidExpression.mjs.map +1 -1
  848. package/lib/factory/expressions/createVoidZero.d.ts +11 -2
  849. package/lib/factory/expressions/createVoidZero.js +11 -2
  850. package/lib/factory/expressions/createVoidZero.js.map +1 -1
  851. package/lib/factory/expressions/createVoidZero.mjs +11 -2
  852. package/lib/factory/expressions/createVoidZero.mjs.map +1 -1
  853. package/lib/factory/expressions/createYieldExpression.d.ts +16 -4
  854. package/lib/factory/expressions/createYieldExpression.js +16 -4
  855. package/lib/factory/expressions/createYieldExpression.js.map +1 -1
  856. package/lib/factory/expressions/createYieldExpression.mjs +16 -4
  857. package/lib/factory/expressions/createYieldExpression.mjs.map +1 -1
  858. package/lib/factory/file/createBundle.d.ts +25 -0
  859. package/lib/factory/file/createBundle.js +30 -0
  860. package/lib/factory/file/createBundle.js.map +1 -0
  861. package/lib/factory/file/createBundle.mjs +29 -0
  862. package/lib/factory/file/createBundle.mjs.map +1 -0
  863. package/lib/factory/file/createNodeArray.d.ts +15 -2
  864. package/lib/factory/file/createNodeArray.js +15 -2
  865. package/lib/factory/file/createNodeArray.js.map +1 -1
  866. package/lib/factory/file/createNodeArray.mjs +15 -2
  867. package/lib/factory/file/createNodeArray.mjs.map +1 -1
  868. package/lib/factory/file/createSourceFile.d.ts +12 -1
  869. package/lib/factory/file/createSourceFile.js +12 -1
  870. package/lib/factory/file/createSourceFile.js.map +1 -1
  871. package/lib/factory/file/createSourceFile.mjs +12 -1
  872. package/lib/factory/file/createSourceFile.mjs.map +1 -1
  873. package/lib/factory/imports/createExportAssignment.d.ts +12 -1
  874. package/lib/factory/imports/createExportAssignment.js +12 -1
  875. package/lib/factory/imports/createExportAssignment.js.map +1 -1
  876. package/lib/factory/imports/createExportAssignment.mjs +12 -1
  877. package/lib/factory/imports/createExportAssignment.mjs.map +1 -1
  878. package/lib/factory/imports/createExportDeclaration.d.ts +15 -1
  879. package/lib/factory/imports/createExportDeclaration.js +15 -1
  880. package/lib/factory/imports/createExportDeclaration.js.map +1 -1
  881. package/lib/factory/imports/createExportDeclaration.mjs +15 -1
  882. package/lib/factory/imports/createExportDeclaration.mjs.map +1 -1
  883. package/lib/factory/imports/createExportDefault.d.ts +12 -2
  884. package/lib/factory/imports/createExportDefault.js +12 -2
  885. package/lib/factory/imports/createExportDefault.js.map +1 -1
  886. package/lib/factory/imports/createExportDefault.mjs +12 -2
  887. package/lib/factory/imports/createExportDefault.mjs.map +1 -1
  888. package/lib/factory/imports/createExportSpecifier.d.ts +13 -1
  889. package/lib/factory/imports/createExportSpecifier.js +13 -1
  890. package/lib/factory/imports/createExportSpecifier.js.map +1 -1
  891. package/lib/factory/imports/createExportSpecifier.mjs +13 -1
  892. package/lib/factory/imports/createExportSpecifier.mjs.map +1 -1
  893. package/lib/factory/imports/createExternalModuleExport.d.ts +13 -2
  894. package/lib/factory/imports/createExternalModuleExport.js +13 -2
  895. package/lib/factory/imports/createExternalModuleExport.js.map +1 -1
  896. package/lib/factory/imports/createExternalModuleExport.mjs +13 -2
  897. package/lib/factory/imports/createExternalModuleExport.mjs.map +1 -1
  898. package/lib/factory/imports/createImportAttribute.d.ts +21 -0
  899. package/lib/factory/imports/createImportAttribute.js +26 -0
  900. package/lib/factory/imports/createImportAttribute.js.map +1 -0
  901. package/lib/factory/imports/createImportAttribute.mjs +25 -0
  902. package/lib/factory/imports/createImportAttribute.mjs.map +1 -0
  903. package/lib/factory/imports/createImportAttributes.d.ts +26 -0
  904. package/lib/factory/imports/createImportAttributes.js +31 -0
  905. package/lib/factory/imports/createImportAttributes.js.map +1 -0
  906. package/lib/factory/imports/createImportAttributes.mjs +30 -0
  907. package/lib/factory/imports/createImportAttributes.mjs.map +1 -0
  908. package/lib/factory/imports/createImportClause.d.ts +13 -1
  909. package/lib/factory/imports/createImportClause.js +13 -1
  910. package/lib/factory/imports/createImportClause.js.map +1 -1
  911. package/lib/factory/imports/createImportClause.mjs +13 -1
  912. package/lib/factory/imports/createImportClause.mjs.map +1 -1
  913. package/lib/factory/imports/createImportDeclaration.d.ts +13 -1
  914. package/lib/factory/imports/createImportDeclaration.js +13 -1
  915. package/lib/factory/imports/createImportDeclaration.js.map +1 -1
  916. package/lib/factory/imports/createImportDeclaration.mjs +13 -1
  917. package/lib/factory/imports/createImportDeclaration.mjs.map +1 -1
  918. package/lib/factory/imports/createImportSpecifier.d.ts +13 -1
  919. package/lib/factory/imports/createImportSpecifier.js +13 -1
  920. package/lib/factory/imports/createImportSpecifier.js.map +1 -1
  921. package/lib/factory/imports/createImportSpecifier.mjs +13 -1
  922. package/lib/factory/imports/createImportSpecifier.mjs.map +1 -1
  923. package/lib/factory/imports/createNamedExports.d.ts +13 -1
  924. package/lib/factory/imports/createNamedExports.js +13 -1
  925. package/lib/factory/imports/createNamedExports.js.map +1 -1
  926. package/lib/factory/imports/createNamedExports.mjs +13 -1
  927. package/lib/factory/imports/createNamedExports.mjs.map +1 -1
  928. package/lib/factory/imports/createNamedImports.d.ts +13 -1
  929. package/lib/factory/imports/createNamedImports.js +13 -1
  930. package/lib/factory/imports/createNamedImports.js.map +1 -1
  931. package/lib/factory/imports/createNamedImports.mjs +13 -1
  932. package/lib/factory/imports/createNamedImports.mjs.map +1 -1
  933. package/lib/factory/imports/createNamespaceExport.d.ts +12 -1
  934. package/lib/factory/imports/createNamespaceExport.js +12 -1
  935. package/lib/factory/imports/createNamespaceExport.js.map +1 -1
  936. package/lib/factory/imports/createNamespaceExport.mjs +12 -1
  937. package/lib/factory/imports/createNamespaceExport.mjs.map +1 -1
  938. package/lib/factory/imports/createNamespaceImport.d.ts +11 -1
  939. package/lib/factory/imports/createNamespaceImport.js +11 -1
  940. package/lib/factory/imports/createNamespaceImport.js.map +1 -1
  941. package/lib/factory/imports/createNamespaceImport.mjs +11 -1
  942. package/lib/factory/imports/createNamespaceImport.mjs.map +1 -1
  943. package/lib/factory/index.d.ts +68 -0
  944. package/lib/factory/index.js +68 -0
  945. package/lib/factory/index.js.map +1 -1
  946. package/lib/factory/index.mjs +68 -0
  947. package/lib/factory/index.mjs.map +1 -1
  948. package/lib/factory/jsdoc/createJSDocAllType.d.ts +17 -0
  949. package/lib/factory/jsdoc/createJSDocAllType.js +22 -0
  950. package/lib/factory/jsdoc/createJSDocAllType.js.map +1 -0
  951. package/lib/factory/jsdoc/createJSDocAllType.mjs +21 -0
  952. package/lib/factory/jsdoc/createJSDocAllType.mjs.map +1 -0
  953. package/lib/factory/jsdoc/createJSDocAugmentsTag.d.ts +21 -0
  954. package/lib/factory/jsdoc/createJSDocAugmentsTag.js +31 -0
  955. package/lib/factory/jsdoc/createJSDocAugmentsTag.js.map +1 -0
  956. package/lib/factory/jsdoc/createJSDocAugmentsTag.mjs +30 -0
  957. package/lib/factory/jsdoc/createJSDocAugmentsTag.mjs.map +1 -0
  958. package/lib/factory/jsdoc/createJSDocAuthorTag.d.ts +19 -0
  959. package/lib/factory/jsdoc/createJSDocAuthorTag.js +28 -0
  960. package/lib/factory/jsdoc/createJSDocAuthorTag.js.map +1 -0
  961. package/lib/factory/jsdoc/createJSDocAuthorTag.mjs +27 -0
  962. package/lib/factory/jsdoc/createJSDocAuthorTag.mjs.map +1 -0
  963. package/lib/factory/jsdoc/createJSDocCallbackTag.d.ts +27 -0
  964. package/lib/factory/jsdoc/createJSDocCallbackTag.js +38 -0
  965. package/lib/factory/jsdoc/createJSDocCallbackTag.js.map +1 -0
  966. package/lib/factory/jsdoc/createJSDocCallbackTag.mjs +37 -0
  967. package/lib/factory/jsdoc/createJSDocCallbackTag.mjs.map +1 -0
  968. package/lib/factory/jsdoc/createJSDocClassTag.d.ts +19 -0
  969. package/lib/factory/jsdoc/createJSDocClassTag.js +28 -0
  970. package/lib/factory/jsdoc/createJSDocClassTag.js.map +1 -0
  971. package/lib/factory/jsdoc/createJSDocClassTag.mjs +27 -0
  972. package/lib/factory/jsdoc/createJSDocClassTag.mjs.map +1 -0
  973. package/lib/factory/jsdoc/createJSDocComment.d.ts +22 -0
  974. package/lib/factory/jsdoc/createJSDocComment.js +30 -0
  975. package/lib/factory/jsdoc/createJSDocComment.js.map +1 -0
  976. package/lib/factory/jsdoc/createJSDocComment.mjs +29 -0
  977. package/lib/factory/jsdoc/createJSDocComment.mjs.map +1 -0
  978. package/lib/factory/jsdoc/createJSDocDeprecatedTag.d.ts +19 -0
  979. package/lib/factory/jsdoc/createJSDocDeprecatedTag.js +28 -0
  980. package/lib/factory/jsdoc/createJSDocDeprecatedTag.js.map +1 -0
  981. package/lib/factory/jsdoc/createJSDocDeprecatedTag.mjs +27 -0
  982. package/lib/factory/jsdoc/createJSDocDeprecatedTag.mjs.map +1 -0
  983. package/lib/factory/jsdoc/createJSDocEnumTag.d.ts +22 -0
  984. package/lib/factory/jsdoc/createJSDocEnumTag.js +32 -0
  985. package/lib/factory/jsdoc/createJSDocEnumTag.js.map +1 -0
  986. package/lib/factory/jsdoc/createJSDocEnumTag.mjs +31 -0
  987. package/lib/factory/jsdoc/createJSDocEnumTag.mjs.map +1 -0
  988. package/lib/factory/jsdoc/createJSDocFunctionType.d.ts +19 -0
  989. package/lib/factory/jsdoc/createJSDocFunctionType.js +27 -0
  990. package/lib/factory/jsdoc/createJSDocFunctionType.js.map +1 -0
  991. package/lib/factory/jsdoc/createJSDocFunctionType.mjs +26 -0
  992. package/lib/factory/jsdoc/createJSDocFunctionType.mjs.map +1 -0
  993. package/lib/factory/jsdoc/createJSDocImplementsTag.d.ts +21 -0
  994. package/lib/factory/jsdoc/createJSDocImplementsTag.js +31 -0
  995. package/lib/factory/jsdoc/createJSDocImplementsTag.js.map +1 -0
  996. package/lib/factory/jsdoc/createJSDocImplementsTag.mjs +30 -0
  997. package/lib/factory/jsdoc/createJSDocImplementsTag.mjs.map +1 -0
  998. package/lib/factory/jsdoc/createJSDocImportTag.d.ts +24 -0
  999. package/lib/factory/jsdoc/createJSDocImportTag.js +35 -0
  1000. package/lib/factory/jsdoc/createJSDocImportTag.js.map +1 -0
  1001. package/lib/factory/jsdoc/createJSDocImportTag.mjs +34 -0
  1002. package/lib/factory/jsdoc/createJSDocImportTag.mjs.map +1 -0
  1003. package/lib/factory/jsdoc/createJSDocLink.d.ts +22 -0
  1004. package/lib/factory/jsdoc/createJSDocLink.js +30 -0
  1005. package/lib/factory/jsdoc/createJSDocLink.js.map +1 -0
  1006. package/lib/factory/jsdoc/createJSDocLink.mjs +29 -0
  1007. package/lib/factory/jsdoc/createJSDocLink.mjs.map +1 -0
  1008. package/lib/factory/jsdoc/createJSDocLinkCode.d.ts +22 -0
  1009. package/lib/factory/jsdoc/createJSDocLinkCode.js +30 -0
  1010. package/lib/factory/jsdoc/createJSDocLinkCode.js.map +1 -0
  1011. package/lib/factory/jsdoc/createJSDocLinkCode.mjs +29 -0
  1012. package/lib/factory/jsdoc/createJSDocLinkCode.mjs.map +1 -0
  1013. package/lib/factory/jsdoc/createJSDocLinkPlain.d.ts +22 -0
  1014. package/lib/factory/jsdoc/createJSDocLinkPlain.js +30 -0
  1015. package/lib/factory/jsdoc/createJSDocLinkPlain.js.map +1 -0
  1016. package/lib/factory/jsdoc/createJSDocLinkPlain.mjs +29 -0
  1017. package/lib/factory/jsdoc/createJSDocLinkPlain.mjs.map +1 -0
  1018. package/lib/factory/jsdoc/createJSDocMemberName.d.ts +19 -0
  1019. package/lib/factory/jsdoc/createJSDocMemberName.js +27 -0
  1020. package/lib/factory/jsdoc/createJSDocMemberName.js.map +1 -0
  1021. package/lib/factory/jsdoc/createJSDocMemberName.mjs +26 -0
  1022. package/lib/factory/jsdoc/createJSDocMemberName.mjs.map +1 -0
  1023. package/lib/factory/jsdoc/createJSDocNameReference.d.ts +19 -0
  1024. package/lib/factory/jsdoc/createJSDocNameReference.js +26 -0
  1025. package/lib/factory/jsdoc/createJSDocNameReference.js.map +1 -0
  1026. package/lib/factory/jsdoc/createJSDocNameReference.mjs +25 -0
  1027. package/lib/factory/jsdoc/createJSDocNameReference.mjs.map +1 -0
  1028. package/lib/factory/jsdoc/createJSDocNamepathType.d.ts +19 -0
  1029. package/lib/factory/jsdoc/createJSDocNamepathType.js +26 -0
  1030. package/lib/factory/jsdoc/createJSDocNamepathType.js.map +1 -0
  1031. package/lib/factory/jsdoc/createJSDocNamepathType.mjs +25 -0
  1032. package/lib/factory/jsdoc/createJSDocNamepathType.mjs.map +1 -0
  1033. package/lib/factory/jsdoc/createJSDocNonNullableType.d.ts +26 -0
  1034. package/lib/factory/jsdoc/createJSDocNonNullableType.js +34 -0
  1035. package/lib/factory/jsdoc/createJSDocNonNullableType.js.map +1 -0
  1036. package/lib/factory/jsdoc/createJSDocNonNullableType.mjs +33 -0
  1037. package/lib/factory/jsdoc/createJSDocNonNullableType.mjs.map +1 -0
  1038. package/lib/factory/jsdoc/createJSDocNullableType.d.ts +26 -0
  1039. package/lib/factory/jsdoc/createJSDocNullableType.js +34 -0
  1040. package/lib/factory/jsdoc/createJSDocNullableType.js.map +1 -0
  1041. package/lib/factory/jsdoc/createJSDocNullableType.mjs +33 -0
  1042. package/lib/factory/jsdoc/createJSDocNullableType.mjs.map +1 -0
  1043. package/lib/factory/jsdoc/createJSDocOptionalType.d.ts +17 -0
  1044. package/lib/factory/jsdoc/createJSDocOptionalType.js +24 -0
  1045. package/lib/factory/jsdoc/createJSDocOptionalType.js.map +1 -0
  1046. package/lib/factory/jsdoc/createJSDocOptionalType.mjs +23 -0
  1047. package/lib/factory/jsdoc/createJSDocOptionalType.mjs.map +1 -0
  1048. package/lib/factory/jsdoc/createJSDocOverloadTag.d.ts +26 -0
  1049. package/lib/factory/jsdoc/createJSDocOverloadTag.js +36 -0
  1050. package/lib/factory/jsdoc/createJSDocOverloadTag.js.map +1 -0
  1051. package/lib/factory/jsdoc/createJSDocOverloadTag.mjs +35 -0
  1052. package/lib/factory/jsdoc/createJSDocOverloadTag.mjs.map +1 -0
  1053. package/lib/factory/jsdoc/createJSDocOverrideTag.d.ts +19 -0
  1054. package/lib/factory/jsdoc/createJSDocOverrideTag.js +28 -0
  1055. package/lib/factory/jsdoc/createJSDocOverrideTag.js.map +1 -0
  1056. package/lib/factory/jsdoc/createJSDocOverrideTag.mjs +27 -0
  1057. package/lib/factory/jsdoc/createJSDocOverrideTag.mjs.map +1 -0
  1058. package/lib/factory/jsdoc/createJSDocParameterTag.d.ts +34 -0
  1059. package/lib/factory/jsdoc/createJSDocParameterTag.js +47 -0
  1060. package/lib/factory/jsdoc/createJSDocParameterTag.js.map +1 -0
  1061. package/lib/factory/jsdoc/createJSDocParameterTag.mjs +46 -0
  1062. package/lib/factory/jsdoc/createJSDocParameterTag.mjs.map +1 -0
  1063. package/lib/factory/jsdoc/createJSDocPrivateTag.d.ts +19 -0
  1064. package/lib/factory/jsdoc/createJSDocPrivateTag.js +28 -0
  1065. package/lib/factory/jsdoc/createJSDocPrivateTag.js.map +1 -0
  1066. package/lib/factory/jsdoc/createJSDocPrivateTag.mjs +27 -0
  1067. package/lib/factory/jsdoc/createJSDocPrivateTag.mjs.map +1 -0
  1068. package/lib/factory/jsdoc/createJSDocPropertyTag.d.ts +28 -0
  1069. package/lib/factory/jsdoc/createJSDocPropertyTag.js +41 -0
  1070. package/lib/factory/jsdoc/createJSDocPropertyTag.js.map +1 -0
  1071. package/lib/factory/jsdoc/createJSDocPropertyTag.mjs +40 -0
  1072. package/lib/factory/jsdoc/createJSDocPropertyTag.mjs.map +1 -0
  1073. package/lib/factory/jsdoc/createJSDocProtectedTag.d.ts +19 -0
  1074. package/lib/factory/jsdoc/createJSDocProtectedTag.js +28 -0
  1075. package/lib/factory/jsdoc/createJSDocProtectedTag.js.map +1 -0
  1076. package/lib/factory/jsdoc/createJSDocProtectedTag.mjs +27 -0
  1077. package/lib/factory/jsdoc/createJSDocProtectedTag.mjs.map +1 -0
  1078. package/lib/factory/jsdoc/createJSDocPublicTag.d.ts +19 -0
  1079. package/lib/factory/jsdoc/createJSDocPublicTag.js +28 -0
  1080. package/lib/factory/jsdoc/createJSDocPublicTag.js.map +1 -0
  1081. package/lib/factory/jsdoc/createJSDocPublicTag.mjs +27 -0
  1082. package/lib/factory/jsdoc/createJSDocPublicTag.mjs.map +1 -0
  1083. package/lib/factory/jsdoc/createJSDocReadonlyTag.d.ts +19 -0
  1084. package/lib/factory/jsdoc/createJSDocReadonlyTag.js +28 -0
  1085. package/lib/factory/jsdoc/createJSDocReadonlyTag.js.map +1 -0
  1086. package/lib/factory/jsdoc/createJSDocReadonlyTag.mjs +27 -0
  1087. package/lib/factory/jsdoc/createJSDocReadonlyTag.mjs.map +1 -0
  1088. package/lib/factory/jsdoc/createJSDocReturnTag.d.ts +23 -0
  1089. package/lib/factory/jsdoc/createJSDocReturnTag.js +33 -0
  1090. package/lib/factory/jsdoc/createJSDocReturnTag.js.map +1 -0
  1091. package/lib/factory/jsdoc/createJSDocReturnTag.mjs +32 -0
  1092. package/lib/factory/jsdoc/createJSDocReturnTag.mjs.map +1 -0
  1093. package/lib/factory/jsdoc/createJSDocSatisfiesTag.d.ts +22 -0
  1094. package/lib/factory/jsdoc/createJSDocSatisfiesTag.js +32 -0
  1095. package/lib/factory/jsdoc/createJSDocSatisfiesTag.js.map +1 -0
  1096. package/lib/factory/jsdoc/createJSDocSatisfiesTag.mjs +31 -0
  1097. package/lib/factory/jsdoc/createJSDocSatisfiesTag.mjs.map +1 -0
  1098. package/lib/factory/jsdoc/createJSDocSeeTag.d.ts +22 -0
  1099. package/lib/factory/jsdoc/createJSDocSeeTag.js +32 -0
  1100. package/lib/factory/jsdoc/createJSDocSeeTag.js.map +1 -0
  1101. package/lib/factory/jsdoc/createJSDocSeeTag.mjs +31 -0
  1102. package/lib/factory/jsdoc/createJSDocSeeTag.mjs.map +1 -0
  1103. package/lib/factory/jsdoc/createJSDocSignature.d.ts +24 -0
  1104. package/lib/factory/jsdoc/createJSDocSignature.js +33 -0
  1105. package/lib/factory/jsdoc/createJSDocSignature.js.map +1 -0
  1106. package/lib/factory/jsdoc/createJSDocSignature.mjs +32 -0
  1107. package/lib/factory/jsdoc/createJSDocSignature.mjs.map +1 -0
  1108. package/lib/factory/jsdoc/createJSDocTemplateTag.d.ts +24 -0
  1109. package/lib/factory/jsdoc/createJSDocTemplateTag.js +35 -0
  1110. package/lib/factory/jsdoc/createJSDocTemplateTag.js.map +1 -0
  1111. package/lib/factory/jsdoc/createJSDocTemplateTag.mjs +34 -0
  1112. package/lib/factory/jsdoc/createJSDocTemplateTag.mjs.map +1 -0
  1113. package/lib/factory/jsdoc/createJSDocText.d.ts +19 -0
  1114. package/lib/factory/jsdoc/createJSDocText.js +26 -0
  1115. package/lib/factory/jsdoc/createJSDocText.js.map +1 -0
  1116. package/lib/factory/jsdoc/createJSDocText.mjs +25 -0
  1117. package/lib/factory/jsdoc/createJSDocText.mjs.map +1 -0
  1118. package/lib/factory/jsdoc/createJSDocThisTag.d.ts +21 -0
  1119. package/lib/factory/jsdoc/createJSDocThisTag.js +31 -0
  1120. package/lib/factory/jsdoc/createJSDocThisTag.js.map +1 -0
  1121. package/lib/factory/jsdoc/createJSDocThisTag.mjs +30 -0
  1122. package/lib/factory/jsdoc/createJSDocThisTag.mjs.map +1 -0
  1123. package/lib/factory/jsdoc/createJSDocThrowsTag.d.ts +22 -0
  1124. package/lib/factory/jsdoc/createJSDocThrowsTag.js +31 -0
  1125. package/lib/factory/jsdoc/createJSDocThrowsTag.js.map +1 -0
  1126. package/lib/factory/jsdoc/createJSDocThrowsTag.mjs +30 -0
  1127. package/lib/factory/jsdoc/createJSDocThrowsTag.mjs.map +1 -0
  1128. package/lib/factory/jsdoc/createJSDocTypeExpression.d.ts +18 -0
  1129. package/lib/factory/jsdoc/createJSDocTypeExpression.js +25 -0
  1130. package/lib/factory/jsdoc/createJSDocTypeExpression.js.map +1 -0
  1131. package/lib/factory/jsdoc/createJSDocTypeExpression.mjs +24 -0
  1132. package/lib/factory/jsdoc/createJSDocTypeExpression.mjs.map +1 -0
  1133. package/lib/factory/jsdoc/createJSDocTypeLiteral.d.ts +22 -0
  1134. package/lib/factory/jsdoc/createJSDocTypeLiteral.js +30 -0
  1135. package/lib/factory/jsdoc/createJSDocTypeLiteral.js.map +1 -0
  1136. package/lib/factory/jsdoc/createJSDocTypeLiteral.mjs +29 -0
  1137. package/lib/factory/jsdoc/createJSDocTypeLiteral.mjs.map +1 -0
  1138. package/lib/factory/jsdoc/createJSDocTypeTag.d.ts +22 -0
  1139. package/lib/factory/jsdoc/createJSDocTypeTag.js +32 -0
  1140. package/lib/factory/jsdoc/createJSDocTypeTag.js.map +1 -0
  1141. package/lib/factory/jsdoc/createJSDocTypeTag.mjs +31 -0
  1142. package/lib/factory/jsdoc/createJSDocTypeTag.mjs.map +1 -0
  1143. package/lib/factory/jsdoc/createJSDocTypedefTag.d.ts +24 -0
  1144. package/lib/factory/jsdoc/createJSDocTypedefTag.js +35 -0
  1145. package/lib/factory/jsdoc/createJSDocTypedefTag.js.map +1 -0
  1146. package/lib/factory/jsdoc/createJSDocTypedefTag.mjs +34 -0
  1147. package/lib/factory/jsdoc/createJSDocTypedefTag.mjs.map +1 -0
  1148. package/lib/factory/jsdoc/createJSDocUnknownTag.d.ts +20 -0
  1149. package/lib/factory/jsdoc/createJSDocUnknownTag.js +28 -0
  1150. package/lib/factory/jsdoc/createJSDocUnknownTag.js.map +1 -0
  1151. package/lib/factory/jsdoc/createJSDocUnknownTag.mjs +27 -0
  1152. package/lib/factory/jsdoc/createJSDocUnknownTag.mjs.map +1 -0
  1153. package/lib/factory/jsdoc/createJSDocUnknownType.d.ts +17 -0
  1154. package/lib/factory/jsdoc/createJSDocUnknownType.js +22 -0
  1155. package/lib/factory/jsdoc/createJSDocUnknownType.js.map +1 -0
  1156. package/lib/factory/jsdoc/createJSDocUnknownType.mjs +21 -0
  1157. package/lib/factory/jsdoc/createJSDocUnknownType.mjs.map +1 -0
  1158. package/lib/factory/jsdoc/createJSDocVariadicType.d.ts +18 -0
  1159. package/lib/factory/jsdoc/createJSDocVariadicType.js +25 -0
  1160. package/lib/factory/jsdoc/createJSDocVariadicType.js.map +1 -0
  1161. package/lib/factory/jsdoc/createJSDocVariadicType.mjs +24 -0
  1162. package/lib/factory/jsdoc/createJSDocVariadicType.mjs.map +1 -0
  1163. package/lib/factory/jsx/createJsxAttribute.d.ts +22 -0
  1164. package/lib/factory/jsx/createJsxAttribute.js +30 -0
  1165. package/lib/factory/jsx/createJsxAttribute.js.map +1 -0
  1166. package/lib/factory/jsx/createJsxAttribute.mjs +29 -0
  1167. package/lib/factory/jsx/createJsxAttribute.mjs.map +1 -0
  1168. package/lib/factory/jsx/createJsxAttributes.d.ts +23 -0
  1169. package/lib/factory/jsx/createJsxAttributes.js +28 -0
  1170. package/lib/factory/jsx/createJsxAttributes.js.map +1 -0
  1171. package/lib/factory/jsx/createJsxAttributes.mjs +27 -0
  1172. package/lib/factory/jsx/createJsxAttributes.mjs.map +1 -0
  1173. package/lib/factory/jsx/createJsxClosingElement.d.ts +20 -0
  1174. package/lib/factory/jsx/createJsxClosingElement.js +25 -0
  1175. package/lib/factory/jsx/createJsxClosingElement.js.map +1 -0
  1176. package/lib/factory/jsx/createJsxClosingElement.mjs +24 -0
  1177. package/lib/factory/jsx/createJsxClosingElement.mjs.map +1 -0
  1178. package/lib/factory/jsx/createJsxElement.d.ts +24 -0
  1179. package/lib/factory/jsx/createJsxElement.js +33 -0
  1180. package/lib/factory/jsx/createJsxElement.js.map +1 -0
  1181. package/lib/factory/jsx/createJsxElement.mjs +32 -0
  1182. package/lib/factory/jsx/createJsxElement.mjs.map +1 -0
  1183. package/lib/factory/jsx/createJsxExpression.d.ts +22 -0
  1184. package/lib/factory/jsx/createJsxExpression.js +30 -0
  1185. package/lib/factory/jsx/createJsxExpression.js.map +1 -0
  1186. package/lib/factory/jsx/createJsxExpression.mjs +29 -0
  1187. package/lib/factory/jsx/createJsxExpression.mjs.map +1 -0
  1188. package/lib/factory/jsx/createJsxFragment.d.ts +24 -0
  1189. package/lib/factory/jsx/createJsxFragment.js +33 -0
  1190. package/lib/factory/jsx/createJsxFragment.js.map +1 -0
  1191. package/lib/factory/jsx/createJsxFragment.mjs +32 -0
  1192. package/lib/factory/jsx/createJsxFragment.mjs.map +1 -0
  1193. package/lib/factory/jsx/createJsxJsxClosingFragment.d.ts +19 -0
  1194. package/lib/factory/jsx/createJsxJsxClosingFragment.js +24 -0
  1195. package/lib/factory/jsx/createJsxJsxClosingFragment.js.map +1 -0
  1196. package/lib/factory/jsx/createJsxJsxClosingFragment.mjs +23 -0
  1197. package/lib/factory/jsx/createJsxJsxClosingFragment.mjs.map +1 -0
  1198. package/lib/factory/jsx/createJsxNamespacedName.d.ts +21 -0
  1199. package/lib/factory/jsx/createJsxNamespacedName.js +29 -0
  1200. package/lib/factory/jsx/createJsxNamespacedName.js.map +1 -0
  1201. package/lib/factory/jsx/createJsxNamespacedName.mjs +28 -0
  1202. package/lib/factory/jsx/createJsxNamespacedName.mjs.map +1 -0
  1203. package/lib/factory/jsx/createJsxOpeningElement.d.ts +24 -0
  1204. package/lib/factory/jsx/createJsxOpeningElement.js +33 -0
  1205. package/lib/factory/jsx/createJsxOpeningElement.js.map +1 -0
  1206. package/lib/factory/jsx/createJsxOpeningElement.mjs +32 -0
  1207. package/lib/factory/jsx/createJsxOpeningElement.mjs.map +1 -0
  1208. package/lib/factory/jsx/createJsxOpeningFragment.d.ts +18 -0
  1209. package/lib/factory/jsx/createJsxOpeningFragment.js +23 -0
  1210. package/lib/factory/jsx/createJsxOpeningFragment.js.map +1 -0
  1211. package/lib/factory/jsx/createJsxOpeningFragment.mjs +22 -0
  1212. package/lib/factory/jsx/createJsxOpeningFragment.mjs.map +1 -0
  1213. package/lib/factory/jsx/createJsxSelfClosingElement.d.ts +23 -0
  1214. package/lib/factory/jsx/createJsxSelfClosingElement.js +32 -0
  1215. package/lib/factory/jsx/createJsxSelfClosingElement.js.map +1 -0
  1216. package/lib/factory/jsx/createJsxSelfClosingElement.mjs +31 -0
  1217. package/lib/factory/jsx/createJsxSelfClosingElement.mjs.map +1 -0
  1218. package/lib/factory/jsx/createJsxSpreadAttribute.d.ts +20 -0
  1219. package/lib/factory/jsx/createJsxSpreadAttribute.js +25 -0
  1220. package/lib/factory/jsx/createJsxSpreadAttribute.js.map +1 -0
  1221. package/lib/factory/jsx/createJsxSpreadAttribute.mjs +24 -0
  1222. package/lib/factory/jsx/createJsxSpreadAttribute.mjs.map +1 -0
  1223. package/lib/factory/jsx/createJsxText.d.ts +24 -0
  1224. package/lib/factory/jsx/createJsxText.js +32 -0
  1225. package/lib/factory/jsx/createJsxText.js.map +1 -0
  1226. package/lib/factory/jsx/createJsxText.mjs +31 -0
  1227. package/lib/factory/jsx/createJsxText.mjs.map +1 -0
  1228. package/lib/factory/literals/createBigIntLiteral.d.ts +11 -1
  1229. package/lib/factory/literals/createBigIntLiteral.js +11 -1
  1230. package/lib/factory/literals/createBigIntLiteral.js.map +1 -1
  1231. package/lib/factory/literals/createBigIntLiteral.mjs +11 -1
  1232. package/lib/factory/literals/createBigIntLiteral.mjs.map +1 -1
  1233. package/lib/factory/literals/createNoSubstitutionTemplateLiteral.d.ts +12 -1
  1234. package/lib/factory/literals/createNoSubstitutionTemplateLiteral.js +12 -1
  1235. package/lib/factory/literals/createNoSubstitutionTemplateLiteral.js.map +1 -1
  1236. package/lib/factory/literals/createNoSubstitutionTemplateLiteral.mjs +12 -1
  1237. package/lib/factory/literals/createNoSubstitutionTemplateLiteral.mjs.map +1 -1
  1238. package/lib/factory/literals/createNumericLiteral.d.ts +11 -1
  1239. package/lib/factory/literals/createNumericLiteral.js +11 -1
  1240. package/lib/factory/literals/createNumericLiteral.js.map +1 -1
  1241. package/lib/factory/literals/createNumericLiteral.mjs +11 -1
  1242. package/lib/factory/literals/createNumericLiteral.mjs.map +1 -1
  1243. package/lib/factory/literals/createStringLiteral.d.ts +16 -1
  1244. package/lib/factory/literals/createStringLiteral.js +16 -1
  1245. package/lib/factory/literals/createStringLiteral.js.map +1 -1
  1246. package/lib/factory/literals/createStringLiteral.mjs +16 -1
  1247. package/lib/factory/literals/createStringLiteral.mjs.map +1 -1
  1248. package/lib/factory/literals/createStringLiteralFromNode.d.ts +21 -0
  1249. package/lib/factory/literals/createStringLiteralFromNode.js +26 -0
  1250. package/lib/factory/literals/createStringLiteralFromNode.js.map +1 -0
  1251. package/lib/factory/literals/createStringLiteralFromNode.mjs +25 -0
  1252. package/lib/factory/literals/createStringLiteralFromNode.mjs.map +1 -0
  1253. package/lib/factory/literals/createTemplateHead.d.ts +14 -1
  1254. package/lib/factory/literals/createTemplateHead.js +14 -1
  1255. package/lib/factory/literals/createTemplateHead.js.map +1 -1
  1256. package/lib/factory/literals/createTemplateHead.mjs +14 -1
  1257. package/lib/factory/literals/createTemplateHead.mjs.map +1 -1
  1258. package/lib/factory/literals/createTemplateMiddle.d.ts +13 -1
  1259. package/lib/factory/literals/createTemplateMiddle.js +13 -1
  1260. package/lib/factory/literals/createTemplateMiddle.js.map +1 -1
  1261. package/lib/factory/literals/createTemplateMiddle.mjs +13 -1
  1262. package/lib/factory/literals/createTemplateMiddle.mjs.map +1 -1
  1263. package/lib/factory/literals/createTemplateTail.d.ts +13 -1
  1264. package/lib/factory/literals/createTemplateTail.js +13 -1
  1265. package/lib/factory/literals/createTemplateTail.js.map +1 -1
  1266. package/lib/factory/literals/createTemplateTail.mjs +13 -1
  1267. package/lib/factory/literals/createTemplateTail.mjs.map +1 -1
  1268. package/lib/factory/names/createDecorator.d.ts +11 -1
  1269. package/lib/factory/names/createDecorator.js +11 -1
  1270. package/lib/factory/names/createDecorator.js.map +1 -1
  1271. package/lib/factory/names/createDecorator.mjs +11 -1
  1272. package/lib/factory/names/createDecorator.mjs.map +1 -1
  1273. package/lib/factory/names/createFalse.d.ts +10 -1
  1274. package/lib/factory/names/createFalse.js +10 -1
  1275. package/lib/factory/names/createFalse.js.map +1 -1
  1276. package/lib/factory/names/createFalse.mjs +10 -1
  1277. package/lib/factory/names/createFalse.mjs.map +1 -1
  1278. package/lib/factory/names/createIdentifier.d.ts +11 -1
  1279. package/lib/factory/names/createIdentifier.js +11 -1
  1280. package/lib/factory/names/createIdentifier.js.map +1 -1
  1281. package/lib/factory/names/createIdentifier.mjs +11 -1
  1282. package/lib/factory/names/createIdentifier.mjs.map +1 -1
  1283. package/lib/factory/names/createLoopVariable.d.ts +24 -0
  1284. package/lib/factory/names/createLoopVariable.js +29 -0
  1285. package/lib/factory/names/createLoopVariable.js.map +1 -0
  1286. package/lib/factory/names/createLoopVariable.mjs +28 -0
  1287. package/lib/factory/names/createLoopVariable.mjs.map +1 -0
  1288. package/lib/factory/names/createModifier.d.ts +13 -1
  1289. package/lib/factory/names/createModifier.js +13 -1
  1290. package/lib/factory/names/createModifier.js.map +1 -1
  1291. package/lib/factory/names/createModifier.mjs +13 -1
  1292. package/lib/factory/names/createModifier.mjs.map +1 -1
  1293. package/lib/factory/names/createModifiersFromModifierFlags.d.ts +25 -0
  1294. package/lib/factory/names/createModifiersFromModifierFlags.js +82 -0
  1295. package/lib/factory/names/createModifiersFromModifierFlags.js.map +1 -0
  1296. package/lib/factory/names/createModifiersFromModifierFlags.mjs +81 -0
  1297. package/lib/factory/names/createModifiersFromModifierFlags.mjs.map +1 -0
  1298. package/lib/factory/names/createNull.d.ts +10 -1
  1299. package/lib/factory/names/createNull.js +10 -1
  1300. package/lib/factory/names/createNull.js.map +1 -1
  1301. package/lib/factory/names/createNull.mjs +10 -1
  1302. package/lib/factory/names/createNull.mjs.map +1 -1
  1303. package/lib/factory/names/createPrivateIdentifier.d.ts +11 -1
  1304. package/lib/factory/names/createPrivateIdentifier.js +11 -1
  1305. package/lib/factory/names/createPrivateIdentifier.js.map +1 -1
  1306. package/lib/factory/names/createPrivateIdentifier.mjs +11 -1
  1307. package/lib/factory/names/createPrivateIdentifier.mjs.map +1 -1
  1308. package/lib/factory/names/createQualifiedName.d.ts +14 -1
  1309. package/lib/factory/names/createQualifiedName.js +14 -1
  1310. package/lib/factory/names/createQualifiedName.js.map +1 -1
  1311. package/lib/factory/names/createQualifiedName.mjs +14 -1
  1312. package/lib/factory/names/createQualifiedName.mjs.map +1 -1
  1313. package/lib/factory/names/createSuper.d.ts +10 -1
  1314. package/lib/factory/names/createSuper.js +10 -1
  1315. package/lib/factory/names/createSuper.js.map +1 -1
  1316. package/lib/factory/names/createSuper.mjs +10 -1
  1317. package/lib/factory/names/createSuper.mjs.map +1 -1
  1318. package/lib/factory/names/createTempVariable.d.ts +29 -0
  1319. package/lib/factory/names/createTempVariable.js +34 -0
  1320. package/lib/factory/names/createTempVariable.js.map +1 -0
  1321. package/lib/factory/names/createTempVariable.mjs +33 -0
  1322. package/lib/factory/names/createTempVariable.mjs.map +1 -0
  1323. package/lib/factory/names/createThis.d.ts +10 -1
  1324. package/lib/factory/names/createThis.js +10 -1
  1325. package/lib/factory/names/createThis.js.map +1 -1
  1326. package/lib/factory/names/createThis.mjs +10 -1
  1327. package/lib/factory/names/createThis.mjs.map +1 -1
  1328. package/lib/factory/names/createToken.d.ts +12 -1
  1329. package/lib/factory/names/createToken.js +12 -1
  1330. package/lib/factory/names/createToken.js.map +1 -1
  1331. package/lib/factory/names/createToken.mjs +12 -1
  1332. package/lib/factory/names/createToken.mjs.map +1 -1
  1333. package/lib/factory/names/createTrue.d.ts +10 -1
  1334. package/lib/factory/names/createTrue.js +10 -1
  1335. package/lib/factory/names/createTrue.js.map +1 -1
  1336. package/lib/factory/names/createTrue.mjs +10 -1
  1337. package/lib/factory/names/createTrue.mjs.map +1 -1
  1338. package/lib/factory/names/createUniqueName.d.ts +28 -0
  1339. package/lib/factory/names/createUniqueName.js +33 -0
  1340. package/lib/factory/names/createUniqueName.js.map +1 -0
  1341. package/lib/factory/names/createUniqueName.mjs +32 -0
  1342. package/lib/factory/names/createUniqueName.mjs.map +1 -0
  1343. package/lib/factory/names/createUniquePrivateName.d.ts +25 -0
  1344. package/lib/factory/names/createUniquePrivateName.js +30 -0
  1345. package/lib/factory/names/createUniquePrivateName.js.map +1 -0
  1346. package/lib/factory/names/createUniquePrivateName.mjs +29 -0
  1347. package/lib/factory/names/createUniquePrivateName.mjs.map +1 -0
  1348. package/lib/factory/statements/createBlock.d.ts +16 -1
  1349. package/lib/factory/statements/createBlock.js +16 -1
  1350. package/lib/factory/statements/createBlock.js.map +1 -1
  1351. package/lib/factory/statements/createBlock.mjs +16 -1
  1352. package/lib/factory/statements/createBlock.mjs.map +1 -1
  1353. package/lib/factory/statements/createBreakStatement.d.ts +16 -1
  1354. package/lib/factory/statements/createBreakStatement.js +16 -1
  1355. package/lib/factory/statements/createBreakStatement.js.map +1 -1
  1356. package/lib/factory/statements/createBreakStatement.mjs +16 -1
  1357. package/lib/factory/statements/createBreakStatement.mjs.map +1 -1
  1358. package/lib/factory/statements/createCaseBlock.d.ts +18 -1
  1359. package/lib/factory/statements/createCaseBlock.js +18 -1
  1360. package/lib/factory/statements/createCaseBlock.js.map +1 -1
  1361. package/lib/factory/statements/createCaseBlock.mjs +18 -1
  1362. package/lib/factory/statements/createCaseBlock.mjs.map +1 -1
  1363. package/lib/factory/statements/createCaseClause.d.ts +15 -1
  1364. package/lib/factory/statements/createCaseClause.js +15 -1
  1365. package/lib/factory/statements/createCaseClause.js.map +1 -1
  1366. package/lib/factory/statements/createCaseClause.mjs +15 -1
  1367. package/lib/factory/statements/createCaseClause.mjs.map +1 -1
  1368. package/lib/factory/statements/createCatchClause.d.ts +16 -1
  1369. package/lib/factory/statements/createCatchClause.js +16 -1
  1370. package/lib/factory/statements/createCatchClause.js.map +1 -1
  1371. package/lib/factory/statements/createCatchClause.mjs +16 -1
  1372. package/lib/factory/statements/createCatchClause.mjs.map +1 -1
  1373. package/lib/factory/statements/createContinueStatement.d.ts +16 -1
  1374. package/lib/factory/statements/createContinueStatement.js +16 -1
  1375. package/lib/factory/statements/createContinueStatement.js.map +1 -1
  1376. package/lib/factory/statements/createContinueStatement.mjs +16 -1
  1377. package/lib/factory/statements/createContinueStatement.mjs.map +1 -1
  1378. package/lib/factory/statements/createDebuggerStatement.d.ts +10 -1
  1379. package/lib/factory/statements/createDebuggerStatement.js +10 -1
  1380. package/lib/factory/statements/createDebuggerStatement.js.map +1 -1
  1381. package/lib/factory/statements/createDebuggerStatement.mjs +10 -1
  1382. package/lib/factory/statements/createDebuggerStatement.mjs.map +1 -1
  1383. package/lib/factory/statements/createDefaultClause.d.ts +12 -1
  1384. package/lib/factory/statements/createDefaultClause.js +12 -1
  1385. package/lib/factory/statements/createDefaultClause.js.map +1 -1
  1386. package/lib/factory/statements/createDefaultClause.mjs +12 -1
  1387. package/lib/factory/statements/createDefaultClause.mjs.map +1 -1
  1388. package/lib/factory/statements/createDoStatement.d.ts +14 -1
  1389. package/lib/factory/statements/createDoStatement.js +14 -1
  1390. package/lib/factory/statements/createDoStatement.js.map +1 -1
  1391. package/lib/factory/statements/createDoStatement.mjs +14 -1
  1392. package/lib/factory/statements/createDoStatement.mjs.map +1 -1
  1393. package/lib/factory/statements/createEmptyStatement.d.ts +10 -1
  1394. package/lib/factory/statements/createEmptyStatement.js +10 -1
  1395. package/lib/factory/statements/createEmptyStatement.js.map +1 -1
  1396. package/lib/factory/statements/createEmptyStatement.mjs +10 -1
  1397. package/lib/factory/statements/createEmptyStatement.mjs.map +1 -1
  1398. package/lib/factory/statements/createExpressionStatement.d.ts +11 -1
  1399. package/lib/factory/statements/createExpressionStatement.js +11 -1
  1400. package/lib/factory/statements/createExpressionStatement.js.map +1 -1
  1401. package/lib/factory/statements/createExpressionStatement.mjs +11 -1
  1402. package/lib/factory/statements/createExpressionStatement.mjs.map +1 -1
  1403. package/lib/factory/statements/createForInStatement.d.ts +15 -1
  1404. package/lib/factory/statements/createForInStatement.js +15 -1
  1405. package/lib/factory/statements/createForInStatement.js.map +1 -1
  1406. package/lib/factory/statements/createForInStatement.mjs +15 -1
  1407. package/lib/factory/statements/createForInStatement.mjs.map +1 -1
  1408. package/lib/factory/statements/createForOfStatement.d.ts +24 -1
  1409. package/lib/factory/statements/createForOfStatement.js +24 -1
  1410. package/lib/factory/statements/createForOfStatement.js.map +1 -1
  1411. package/lib/factory/statements/createForOfStatement.mjs +24 -1
  1412. package/lib/factory/statements/createForOfStatement.mjs.map +1 -1
  1413. package/lib/factory/statements/createForStatement.d.ts +17 -1
  1414. package/lib/factory/statements/createForStatement.js +17 -1
  1415. package/lib/factory/statements/createForStatement.js.map +1 -1
  1416. package/lib/factory/statements/createForStatement.mjs +17 -1
  1417. package/lib/factory/statements/createForStatement.mjs.map +1 -1
  1418. package/lib/factory/statements/createIfStatement.d.ts +17 -1
  1419. package/lib/factory/statements/createIfStatement.js +17 -1
  1420. package/lib/factory/statements/createIfStatement.js.map +1 -1
  1421. package/lib/factory/statements/createIfStatement.mjs +17 -1
  1422. package/lib/factory/statements/createIfStatement.mjs.map +1 -1
  1423. package/lib/factory/statements/createLabeledStatement.d.ts +14 -1
  1424. package/lib/factory/statements/createLabeledStatement.js +14 -1
  1425. package/lib/factory/statements/createLabeledStatement.js.map +1 -1
  1426. package/lib/factory/statements/createLabeledStatement.mjs +14 -1
  1427. package/lib/factory/statements/createLabeledStatement.mjs.map +1 -1
  1428. package/lib/factory/statements/createNotEmittedStatement.d.ts +16 -0
  1429. package/lib/factory/statements/createNotEmittedStatement.js +21 -0
  1430. package/lib/factory/statements/createNotEmittedStatement.js.map +1 -0
  1431. package/lib/factory/statements/createNotEmittedStatement.mjs +20 -0
  1432. package/lib/factory/statements/createNotEmittedStatement.mjs.map +1 -0
  1433. package/lib/factory/statements/createReturnStatement.d.ts +16 -1
  1434. package/lib/factory/statements/createReturnStatement.js +16 -1
  1435. package/lib/factory/statements/createReturnStatement.js.map +1 -1
  1436. package/lib/factory/statements/createReturnStatement.mjs +16 -1
  1437. package/lib/factory/statements/createReturnStatement.mjs.map +1 -1
  1438. package/lib/factory/statements/createSwitchStatement.d.ts +18 -1
  1439. package/lib/factory/statements/createSwitchStatement.js +18 -1
  1440. package/lib/factory/statements/createSwitchStatement.js.map +1 -1
  1441. package/lib/factory/statements/createSwitchStatement.mjs +18 -1
  1442. package/lib/factory/statements/createSwitchStatement.mjs.map +1 -1
  1443. package/lib/factory/statements/createThrowStatement.d.ts +10 -1
  1444. package/lib/factory/statements/createThrowStatement.js +10 -1
  1445. package/lib/factory/statements/createThrowStatement.js.map +1 -1
  1446. package/lib/factory/statements/createThrowStatement.mjs +10 -1
  1447. package/lib/factory/statements/createThrowStatement.mjs.map +1 -1
  1448. package/lib/factory/statements/createTryStatement.d.ts +20 -1
  1449. package/lib/factory/statements/createTryStatement.js +20 -1
  1450. package/lib/factory/statements/createTryStatement.js.map +1 -1
  1451. package/lib/factory/statements/createTryStatement.mjs +20 -1
  1452. package/lib/factory/statements/createTryStatement.mjs.map +1 -1
  1453. package/lib/factory/statements/createVariableDeclaration.d.ts +20 -4
  1454. package/lib/factory/statements/createVariableDeclaration.js +20 -4
  1455. package/lib/factory/statements/createVariableDeclaration.js.map +1 -1
  1456. package/lib/factory/statements/createVariableDeclaration.mjs +20 -4
  1457. package/lib/factory/statements/createVariableDeclaration.mjs.map +1 -1
  1458. package/lib/factory/statements/createVariableDeclarationList.d.ts +13 -1
  1459. package/lib/factory/statements/createVariableDeclarationList.js +13 -1
  1460. package/lib/factory/statements/createVariableDeclarationList.js.map +1 -1
  1461. package/lib/factory/statements/createVariableDeclarationList.mjs +13 -1
  1462. package/lib/factory/statements/createVariableDeclarationList.mjs.map +1 -1
  1463. package/lib/factory/statements/createVariableStatement.d.ts +14 -1
  1464. package/lib/factory/statements/createVariableStatement.js +14 -1
  1465. package/lib/factory/statements/createVariableStatement.js.map +1 -1
  1466. package/lib/factory/statements/createVariableStatement.mjs +14 -1
  1467. package/lib/factory/statements/createVariableStatement.mjs.map +1 -1
  1468. package/lib/factory/statements/createWhileStatement.d.ts +14 -1
  1469. package/lib/factory/statements/createWhileStatement.js +14 -1
  1470. package/lib/factory/statements/createWhileStatement.js.map +1 -1
  1471. package/lib/factory/statements/createWhileStatement.mjs +14 -1
  1472. package/lib/factory/statements/createWhileStatement.mjs.map +1 -1
  1473. package/lib/factory/statements/createWithStatement.d.ts +14 -1
  1474. package/lib/factory/statements/createWithStatement.js +14 -1
  1475. package/lib/factory/statements/createWithStatement.js.map +1 -1
  1476. package/lib/factory/statements/createWithStatement.mjs +14 -1
  1477. package/lib/factory/statements/createWithStatement.mjs.map +1 -1
  1478. package/lib/factory/types/createArrayTypeNode.d.ts +13 -1
  1479. package/lib/factory/types/createArrayTypeNode.js +13 -1
  1480. package/lib/factory/types/createArrayTypeNode.js.map +1 -1
  1481. package/lib/factory/types/createArrayTypeNode.mjs +13 -1
  1482. package/lib/factory/types/createArrayTypeNode.mjs.map +1 -1
  1483. package/lib/factory/types/createCallSignature.d.ts +15 -4
  1484. package/lib/factory/types/createCallSignature.js +15 -4
  1485. package/lib/factory/types/createCallSignature.js.map +1 -1
  1486. package/lib/factory/types/createCallSignature.mjs +15 -4
  1487. package/lib/factory/types/createCallSignature.mjs.map +1 -1
  1488. package/lib/factory/types/createConditionalTypeNode.d.ts +18 -6
  1489. package/lib/factory/types/createConditionalTypeNode.js +18 -6
  1490. package/lib/factory/types/createConditionalTypeNode.js.map +1 -1
  1491. package/lib/factory/types/createConditionalTypeNode.mjs +18 -6
  1492. package/lib/factory/types/createConditionalTypeNode.mjs.map +1 -1
  1493. package/lib/factory/types/createConstructSignature.d.ts +14 -4
  1494. package/lib/factory/types/createConstructSignature.js +14 -4
  1495. package/lib/factory/types/createConstructSignature.js.map +1 -1
  1496. package/lib/factory/types/createConstructSignature.mjs +14 -4
  1497. package/lib/factory/types/createConstructSignature.mjs.map +1 -1
  1498. package/lib/factory/types/createConstructorTypeNode.d.ts +16 -5
  1499. package/lib/factory/types/createConstructorTypeNode.js +16 -5
  1500. package/lib/factory/types/createConstructorTypeNode.js.map +1 -1
  1501. package/lib/factory/types/createConstructorTypeNode.mjs +16 -5
  1502. package/lib/factory/types/createConstructorTypeNode.mjs.map +1 -1
  1503. package/lib/factory/types/createExpressionWithTypeArguments.d.ts +13 -2
  1504. package/lib/factory/types/createExpressionWithTypeArguments.js +13 -2
  1505. package/lib/factory/types/createExpressionWithTypeArguments.js.map +1 -1
  1506. package/lib/factory/types/createExpressionWithTypeArguments.mjs +13 -2
  1507. package/lib/factory/types/createExpressionWithTypeArguments.mjs.map +1 -1
  1508. package/lib/factory/types/createFunctionTypeNode.d.ts +14 -2
  1509. package/lib/factory/types/createFunctionTypeNode.js +14 -2
  1510. package/lib/factory/types/createFunctionTypeNode.js.map +1 -1
  1511. package/lib/factory/types/createFunctionTypeNode.mjs +14 -2
  1512. package/lib/factory/types/createFunctionTypeNode.mjs.map +1 -1
  1513. package/lib/factory/types/createImportTypeNode.d.ts +17 -6
  1514. package/lib/factory/types/createImportTypeNode.js +17 -6
  1515. package/lib/factory/types/createImportTypeNode.js.map +1 -1
  1516. package/lib/factory/types/createImportTypeNode.mjs +17 -6
  1517. package/lib/factory/types/createImportTypeNode.mjs.map +1 -1
  1518. package/lib/factory/types/createIndexSignature.d.ts +13 -3
  1519. package/lib/factory/types/createIndexSignature.js +13 -3
  1520. package/lib/factory/types/createIndexSignature.js.map +1 -1
  1521. package/lib/factory/types/createIndexSignature.mjs +13 -3
  1522. package/lib/factory/types/createIndexSignature.mjs.map +1 -1
  1523. package/lib/factory/types/createIndexedAccessTypeNode.d.ts +13 -2
  1524. package/lib/factory/types/createIndexedAccessTypeNode.js +13 -2
  1525. package/lib/factory/types/createIndexedAccessTypeNode.js.map +1 -1
  1526. package/lib/factory/types/createIndexedAccessTypeNode.mjs +13 -2
  1527. package/lib/factory/types/createIndexedAccessTypeNode.mjs.map +1 -1
  1528. package/lib/factory/types/createInferTypeNode.d.ts +14 -3
  1529. package/lib/factory/types/createInferTypeNode.js +14 -3
  1530. package/lib/factory/types/createInferTypeNode.js.map +1 -1
  1531. package/lib/factory/types/createInferTypeNode.mjs +14 -3
  1532. package/lib/factory/types/createInferTypeNode.mjs.map +1 -1
  1533. package/lib/factory/types/createIntersectionTypeNode.d.ts +12 -1
  1534. package/lib/factory/types/createIntersectionTypeNode.js +12 -1
  1535. package/lib/factory/types/createIntersectionTypeNode.js.map +1 -1
  1536. package/lib/factory/types/createIntersectionTypeNode.mjs +12 -1
  1537. package/lib/factory/types/createIntersectionTypeNode.mjs.map +1 -1
  1538. package/lib/factory/types/createKeywordTypeNode.d.ts +13 -1
  1539. package/lib/factory/types/createKeywordTypeNode.js +13 -1
  1540. package/lib/factory/types/createKeywordTypeNode.js.map +1 -1
  1541. package/lib/factory/types/createKeywordTypeNode.mjs +13 -1
  1542. package/lib/factory/types/createKeywordTypeNode.mjs.map +1 -1
  1543. package/lib/factory/types/createLiteralTypeNode.d.ts +17 -4
  1544. package/lib/factory/types/createLiteralTypeNode.js +15 -2
  1545. package/lib/factory/types/createLiteralTypeNode.js.map +1 -1
  1546. package/lib/factory/types/createLiteralTypeNode.mjs +15 -2
  1547. package/lib/factory/types/createLiteralTypeNode.mjs.map +1 -1
  1548. package/lib/factory/types/createMappedTypeNode.d.ts +27 -8
  1549. package/lib/factory/types/createMappedTypeNode.js +27 -8
  1550. package/lib/factory/types/createMappedTypeNode.js.map +1 -1
  1551. package/lib/factory/types/createMappedTypeNode.mjs +27 -8
  1552. package/lib/factory/types/createMappedTypeNode.mjs.map +1 -1
  1553. package/lib/factory/types/createMethodSignature.d.ts +16 -3
  1554. package/lib/factory/types/createMethodSignature.js +16 -3
  1555. package/lib/factory/types/createMethodSignature.js.map +1 -1
  1556. package/lib/factory/types/createMethodSignature.mjs +16 -3
  1557. package/lib/factory/types/createMethodSignature.mjs.map +1 -1
  1558. package/lib/factory/types/createNamedTupleMember.d.ts +17 -6
  1559. package/lib/factory/types/createNamedTupleMember.js +17 -6
  1560. package/lib/factory/types/createNamedTupleMember.js.map +1 -1
  1561. package/lib/factory/types/createNamedTupleMember.mjs +17 -6
  1562. package/lib/factory/types/createNamedTupleMember.mjs.map +1 -1
  1563. package/lib/factory/types/createNotEmittedTypeElement.d.ts +13 -0
  1564. package/lib/factory/types/createNotEmittedTypeElement.js +18 -0
  1565. package/lib/factory/types/createNotEmittedTypeElement.js.map +1 -0
  1566. package/lib/factory/types/createNotEmittedTypeElement.mjs +17 -0
  1567. package/lib/factory/types/createNotEmittedTypeElement.mjs.map +1 -0
  1568. package/lib/factory/types/createOptionalTypeNode.d.ts +13 -3
  1569. package/lib/factory/types/createOptionalTypeNode.js +13 -3
  1570. package/lib/factory/types/createOptionalTypeNode.js.map +1 -1
  1571. package/lib/factory/types/createOptionalTypeNode.mjs +13 -3
  1572. package/lib/factory/types/createOptionalTypeNode.mjs.map +1 -1
  1573. package/lib/factory/types/createParenthesizedType.d.ts +12 -2
  1574. package/lib/factory/types/createParenthesizedType.js +12 -2
  1575. package/lib/factory/types/createParenthesizedType.js.map +1 -1
  1576. package/lib/factory/types/createParenthesizedType.mjs +12 -2
  1577. package/lib/factory/types/createParenthesizedType.mjs.map +1 -1
  1578. package/lib/factory/types/createPropertySignature.d.ts +15 -3
  1579. package/lib/factory/types/createPropertySignature.js +15 -3
  1580. package/lib/factory/types/createPropertySignature.js.map +1 -1
  1581. package/lib/factory/types/createPropertySignature.mjs +15 -3
  1582. package/lib/factory/types/createPropertySignature.mjs.map +1 -1
  1583. package/lib/factory/types/createRestTypeNode.d.ts +12 -3
  1584. package/lib/factory/types/createRestTypeNode.js +12 -3
  1585. package/lib/factory/types/createRestTypeNode.js.map +1 -1
  1586. package/lib/factory/types/createRestTypeNode.mjs +12 -3
  1587. package/lib/factory/types/createRestTypeNode.mjs.map +1 -1
  1588. package/lib/factory/types/createTemplateLiteralType.d.ts +17 -4
  1589. package/lib/factory/types/createTemplateLiteralType.js +17 -4
  1590. package/lib/factory/types/createTemplateLiteralType.js.map +1 -1
  1591. package/lib/factory/types/createTemplateLiteralType.mjs +17 -4
  1592. package/lib/factory/types/createTemplateLiteralType.mjs.map +1 -1
  1593. package/lib/factory/types/createTemplateLiteralTypeSpan.d.ts +17 -4
  1594. package/lib/factory/types/createTemplateLiteralTypeSpan.js +17 -4
  1595. package/lib/factory/types/createTemplateLiteralTypeSpan.js.map +1 -1
  1596. package/lib/factory/types/createTemplateLiteralTypeSpan.mjs +17 -4
  1597. package/lib/factory/types/createTemplateLiteralTypeSpan.mjs.map +1 -1
  1598. package/lib/factory/types/createThisTypeNode.d.ts +12 -2
  1599. package/lib/factory/types/createThisTypeNode.js +12 -2
  1600. package/lib/factory/types/createThisTypeNode.js.map +1 -1
  1601. package/lib/factory/types/createThisTypeNode.mjs +12 -2
  1602. package/lib/factory/types/createThisTypeNode.mjs.map +1 -1
  1603. package/lib/factory/types/createTupleTypeNode.d.ts +13 -2
  1604. package/lib/factory/types/createTupleTypeNode.js +13 -2
  1605. package/lib/factory/types/createTupleTypeNode.js.map +1 -1
  1606. package/lib/factory/types/createTupleTypeNode.mjs +13 -2
  1607. package/lib/factory/types/createTupleTypeNode.mjs.map +1 -1
  1608. package/lib/factory/types/createTypeLiteralNode.d.ts +14 -2
  1609. package/lib/factory/types/createTypeLiteralNode.js +14 -2
  1610. package/lib/factory/types/createTypeLiteralNode.js.map +1 -1
  1611. package/lib/factory/types/createTypeLiteralNode.mjs +14 -2
  1612. package/lib/factory/types/createTypeLiteralNode.mjs.map +1 -1
  1613. package/lib/factory/types/createTypeOperatorNode.d.ts +14 -2
  1614. package/lib/factory/types/createTypeOperatorNode.js +14 -2
  1615. package/lib/factory/types/createTypeOperatorNode.js.map +1 -1
  1616. package/lib/factory/types/createTypeOperatorNode.mjs +14 -2
  1617. package/lib/factory/types/createTypeOperatorNode.mjs.map +1 -1
  1618. package/lib/factory/types/createTypeParameterDeclaration.d.ts +14 -2
  1619. package/lib/factory/types/createTypeParameterDeclaration.js +14 -2
  1620. package/lib/factory/types/createTypeParameterDeclaration.js.map +1 -1
  1621. package/lib/factory/types/createTypeParameterDeclaration.mjs +14 -2
  1622. package/lib/factory/types/createTypeParameterDeclaration.mjs.map +1 -1
  1623. package/lib/factory/types/createTypePredicateNode.d.ts +18 -5
  1624. package/lib/factory/types/createTypePredicateNode.js +18 -5
  1625. package/lib/factory/types/createTypePredicateNode.js.map +1 -1
  1626. package/lib/factory/types/createTypePredicateNode.mjs +18 -5
  1627. package/lib/factory/types/createTypePredicateNode.mjs.map +1 -1
  1628. package/lib/factory/types/createTypeQueryNode.d.ts +11 -1
  1629. package/lib/factory/types/createTypeQueryNode.js +11 -1
  1630. package/lib/factory/types/createTypeQueryNode.js.map +1 -1
  1631. package/lib/factory/types/createTypeQueryNode.mjs +11 -1
  1632. package/lib/factory/types/createTypeQueryNode.mjs.map +1 -1
  1633. package/lib/factory/types/createTypeReferenceNode.d.ts +13 -1
  1634. package/lib/factory/types/createTypeReferenceNode.js +13 -1
  1635. package/lib/factory/types/createTypeReferenceNode.js.map +1 -1
  1636. package/lib/factory/types/createTypeReferenceNode.mjs +13 -1
  1637. package/lib/factory/types/createTypeReferenceNode.mjs.map +1 -1
  1638. package/lib/factory/types/createUnionTypeNode.d.ts +12 -1
  1639. package/lib/factory/types/createUnionTypeNode.js +12 -1
  1640. package/lib/factory/types/createUnionTypeNode.js.map +1 -1
  1641. package/lib/factory/types/createUnionTypeNode.mjs +12 -1
  1642. package/lib/factory/types/createUnionTypeNode.mjs.map +1 -1
  1643. package/lib/index.d.ts +5 -2
  1644. package/lib/index.js +10 -3
  1645. package/lib/index.js.map +1 -1
  1646. package/lib/index.mjs +10 -3
  1647. package/lib/index.mjs.map +1 -1
  1648. package/lib/syntax/NodeFlags.d.ts +12 -5
  1649. package/lib/syntax/NodeFlags.js +12 -5
  1650. package/lib/syntax/NodeFlags.js.map +1 -1
  1651. package/lib/syntax/NodeFlags.mjs +12 -5
  1652. package/lib/syntax/NodeFlags.mjs.map +1 -1
  1653. package/lib/syntax/SyntaxKind.d.ts +89 -85
  1654. package/lib/syntax/SyntaxKind.js +90 -85
  1655. package/lib/syntax/SyntaxKind.js.map +1 -1
  1656. package/lib/syntax/SyntaxKind.mjs +90 -85
  1657. package/lib/syntax/SyntaxKind.mjs.map +1 -1
  1658. package/lib/syntax/index.d.ts +0 -1
  1659. package/lib/syntax/index.js +0 -1
  1660. package/lib/syntax/index.js.map +1 -1
  1661. package/lib/syntax/index.mjs +0 -1
  1662. package/lib/syntax/index.mjs.map +1 -1
  1663. package/package.json +1 -1
  1664. package/src/TsPrinter.ts +1585 -1174
  1665. package/src/ast/Node.ts +416 -292
  1666. package/src/ast/clauses/HeritageClause.ts +20 -20
  1667. package/src/ast/clauses/ParameterDeclaration.ts +35 -35
  1668. package/src/ast/declarations/ClassDeclaration.ts +32 -32
  1669. package/src/ast/declarations/ClassElement.ts +21 -21
  1670. package/src/ast/declarations/ClassStaticBlockDeclaration.ts +16 -16
  1671. package/src/ast/declarations/ConstructorDeclaration.ts +24 -24
  1672. package/src/ast/declarations/EnumDeclaration.ts +24 -24
  1673. package/src/ast/declarations/EnumMember.ts +20 -20
  1674. package/src/ast/declarations/ExternalModuleReference.ts +16 -16
  1675. package/src/ast/declarations/FunctionDeclaration.ts +40 -40
  1676. package/src/ast/declarations/GetAccessorDeclaration.ts +32 -32
  1677. package/src/ast/declarations/ImportEqualsDeclaration.ts +27 -27
  1678. package/src/ast/declarations/InterfaceDeclaration.ts +32 -32
  1679. package/src/ast/declarations/MethodDeclaration.ts +43 -43
  1680. package/src/ast/declarations/ModuleBlock.ts +16 -16
  1681. package/src/ast/declarations/ModuleBody.ts +9 -9
  1682. package/src/ast/declarations/ModuleDeclaration.ts +28 -28
  1683. package/src/ast/declarations/ModuleName.ts +9 -9
  1684. package/src/ast/declarations/ModuleReference.ts +9 -9
  1685. package/src/ast/declarations/NamespaceExportDeclaration.ts +16 -16
  1686. package/src/ast/declarations/PropertyDeclaration.ts +32 -32
  1687. package/src/ast/declarations/SemicolonClassElement.ts +11 -11
  1688. package/src/ast/declarations/SetAccessorDeclaration.ts +28 -28
  1689. package/src/ast/declarations/TypeAliasDeclaration.ts +28 -28
  1690. package/src/ast/expressions/ArrayBindingElement.ts +9 -9
  1691. package/src/ast/expressions/ArrayBindingPattern.ts +16 -16
  1692. package/src/ast/expressions/ArrayLiteralExpression.ts +19 -19
  1693. package/src/ast/expressions/ArrowFunction.ts +33 -33
  1694. package/src/ast/expressions/AsExpression.ts +20 -20
  1695. package/src/ast/expressions/AwaitExpression.ts +16 -16
  1696. package/src/ast/expressions/BigIntLiteral.ts +14 -14
  1697. package/src/ast/expressions/BinaryExpression.ts +23 -23
  1698. package/src/ast/expressions/BindingElement.ts +28 -28
  1699. package/src/ast/expressions/BindingName.ts +13 -13
  1700. package/src/ast/expressions/CallChain.ts +27 -27
  1701. package/src/ast/expressions/CallExpression.ts +23 -23
  1702. package/src/ast/expressions/ClassExpression.ts +32 -32
  1703. package/src/ast/expressions/CommaListExpression.ts +16 -16
  1704. package/src/ast/expressions/ComputedPropertyName.ts +16 -16
  1705. package/src/ast/expressions/ConditionalExpression.ts +22 -22
  1706. package/src/ast/expressions/DeleteExpression.ts +16 -16
  1707. package/src/ast/expressions/ElementAccessChain.ts +23 -23
  1708. package/src/ast/expressions/ElementAccessExpression.ts +19 -19
  1709. package/src/ast/expressions/Expression.ts +87 -87
  1710. package/src/ast/expressions/FunctionExpression.ts +40 -40
  1711. package/src/ast/expressions/MetaProperty.ts +20 -20
  1712. package/src/ast/expressions/NewExpression.ts +23 -23
  1713. package/src/ast/expressions/NoSubstitutionTemplateLiteral.ts +14 -14
  1714. package/src/ast/expressions/NonNullChain.ts +16 -16
  1715. package/src/ast/expressions/NonNullExpression.ts +16 -16
  1716. package/src/ast/expressions/NumericLiteral.ts +14 -14
  1717. package/src/ast/expressions/ObjectBindingPattern.ts +16 -16
  1718. package/src/ast/expressions/ObjectLiteralElement.ts +19 -13
  1719. package/src/ast/expressions/ObjectLiteralExpression.ts +19 -19
  1720. package/src/ast/expressions/OmittedExpression.ts +11 -11
  1721. package/src/ast/expressions/ParenthesizedExpression.ts +16 -16
  1722. package/src/ast/expressions/PartiallyEmittedExpression.ts +21 -0
  1723. package/src/ast/expressions/PostfixUnaryExpression.ts +20 -20
  1724. package/src/ast/expressions/PrefixUnaryExpression.ts +20 -20
  1725. package/src/ast/expressions/PropertyAccessChain.ts +25 -25
  1726. package/src/ast/expressions/PropertyAccessExpression.ts +21 -21
  1727. package/src/ast/expressions/PropertyAssignment.ts +20 -20
  1728. package/src/ast/expressions/RegularExpressionLiteral.ts +14 -14
  1729. package/src/ast/expressions/SatisfiesExpression.ts +20 -20
  1730. package/src/ast/expressions/ShorthandPropertyAssignment.ts +20 -20
  1731. package/src/ast/expressions/SpreadAssignment.ts +16 -16
  1732. package/src/ast/expressions/SpreadElement.ts +16 -16
  1733. package/src/ast/expressions/StringLiteral.ts +17 -17
  1734. package/src/ast/expressions/TaggedTemplateExpression.ts +24 -24
  1735. package/src/ast/expressions/TemplateExpression.ts +20 -20
  1736. package/src/ast/expressions/TemplateHead.ts +17 -17
  1737. package/src/ast/expressions/TemplateLiteral.ts +11 -11
  1738. package/src/ast/expressions/TemplateMiddle.ts +14 -14
  1739. package/src/ast/expressions/TemplateSpan.ts +21 -21
  1740. package/src/ast/expressions/TemplateTail.ts +14 -14
  1741. package/src/ast/expressions/TypeAssertion.ts +20 -20
  1742. package/src/ast/expressions/TypeOfExpression.ts +16 -16
  1743. package/src/ast/expressions/VoidExpression.ts +16 -16
  1744. package/src/ast/expressions/YieldExpression.ts +20 -20
  1745. package/src/ast/file/Bundle.ts +16 -0
  1746. package/src/ast/file/SourceFile.ts +16 -16
  1747. package/src/ast/imports/ExportAssignment.ts +23 -23
  1748. package/src/ast/imports/ExportDeclaration.ts +28 -28
  1749. package/src/ast/imports/ExportSpecifier.ts +22 -22
  1750. package/src/ast/imports/ImportAttribute.ts +20 -0
  1751. package/src/ast/imports/ImportAttributeName.ts +10 -0
  1752. package/src/ast/imports/ImportAttributes.ts +22 -0
  1753. package/src/ast/imports/ImportClause.ts +24 -24
  1754. package/src/ast/imports/ImportDeclaration.ts +24 -24
  1755. package/src/ast/imports/ImportSpecifier.ts +22 -22
  1756. package/src/ast/imports/NamedExports.ts +16 -16
  1757. package/src/ast/imports/NamedImports.ts +16 -16
  1758. package/src/ast/imports/NamespaceExport.ts +16 -16
  1759. package/src/ast/imports/NamespaceImport.ts +16 -16
  1760. package/src/ast/index.ts +232 -162
  1761. package/src/ast/jsdoc/JSDoc.ts +20 -0
  1762. package/src/ast/jsdoc/JSDocAllType.ts +11 -0
  1763. package/src/ast/jsdoc/JSDocAugmentsTag.ts +24 -0
  1764. package/src/ast/jsdoc/JSDocAuthorTag.ts +20 -0
  1765. package/src/ast/jsdoc/JSDocCallbackTag.ts +27 -0
  1766. package/src/ast/jsdoc/JSDocClassTag.ts +20 -0
  1767. package/src/ast/jsdoc/JSDocComment.ts +16 -0
  1768. package/src/ast/jsdoc/JSDocDeprecatedTag.ts +20 -0
  1769. package/src/ast/jsdoc/JSDocEnumTag.ts +24 -0
  1770. package/src/ast/jsdoc/JSDocFunctionType.ts +20 -0
  1771. package/src/ast/jsdoc/JSDocImplementsTag.ts +24 -0
  1772. package/src/ast/jsdoc/JSDocImportTag.ts +28 -0
  1773. package/src/ast/jsdoc/JSDocLink.ts +20 -0
  1774. package/src/ast/jsdoc/JSDocLinkCode.ts +20 -0
  1775. package/src/ast/jsdoc/JSDocLinkPlain.ts +20 -0
  1776. package/src/ast/jsdoc/JSDocMemberName.ts +20 -0
  1777. package/src/ast/jsdoc/JSDocNameReference.ts +17 -0
  1778. package/src/ast/jsdoc/JSDocNamepathType.ts +16 -0
  1779. package/src/ast/jsdoc/JSDocNonNullableType.ts +19 -0
  1780. package/src/ast/jsdoc/JSDocNullableType.ts +19 -0
  1781. package/src/ast/jsdoc/JSDocOptionalType.ts +16 -0
  1782. package/src/ast/jsdoc/JSDocOverloadTag.ts +24 -0
  1783. package/src/ast/jsdoc/JSDocOverrideTag.ts +20 -0
  1784. package/src/ast/jsdoc/JSDocParameterTag.ts +34 -0
  1785. package/src/ast/jsdoc/JSDocPrivateTag.ts +20 -0
  1786. package/src/ast/jsdoc/JSDocPropertyTag.ts +34 -0
  1787. package/src/ast/jsdoc/JSDocProtectedTag.ts +20 -0
  1788. package/src/ast/jsdoc/JSDocPublicTag.ts +20 -0
  1789. package/src/ast/jsdoc/JSDocReadonlyTag.ts +20 -0
  1790. package/src/ast/jsdoc/JSDocReturnTag.ts +24 -0
  1791. package/src/ast/jsdoc/JSDocSatisfiesTag.ts +24 -0
  1792. package/src/ast/jsdoc/JSDocSeeTag.ts +24 -0
  1793. package/src/ast/jsdoc/JSDocSignature.ts +24 -0
  1794. package/src/ast/jsdoc/JSDocTag.ts +57 -0
  1795. package/src/ast/jsdoc/JSDocTemplateTag.ts +28 -0
  1796. package/src/ast/jsdoc/JSDocText.ts +14 -0
  1797. package/src/ast/jsdoc/JSDocThisTag.ts +24 -0
  1798. package/src/ast/jsdoc/JSDocThrowsTag.ts +24 -0
  1799. package/src/ast/jsdoc/JSDocTypeExpression.ts +16 -0
  1800. package/src/ast/jsdoc/JSDocTypeLiteral.ts +19 -0
  1801. package/src/ast/jsdoc/JSDocTypeTag.ts +24 -0
  1802. package/src/ast/jsdoc/JSDocTypedefTag.ts +28 -0
  1803. package/src/ast/jsdoc/JSDocUnknownTag.ts +20 -0
  1804. package/src/ast/jsdoc/JSDocUnknownType.ts +11 -0
  1805. package/src/ast/jsdoc/JSDocVariadicType.ts +16 -0
  1806. package/src/ast/jsx/JsxAttribute.ts +20 -0
  1807. package/src/ast/jsx/JsxAttributeLike.ts +10 -0
  1808. package/src/ast/jsx/JsxAttributeName.ts +10 -0
  1809. package/src/ast/jsx/JsxAttributeValue.ts +18 -0
  1810. package/src/ast/jsx/JsxAttributes.ts +16 -0
  1811. package/src/ast/jsx/JsxChild.ts +18 -0
  1812. package/src/ast/jsx/JsxClosingElement.ts +16 -0
  1813. package/src/ast/jsx/JsxClosingFragment.ts +11 -0
  1814. package/src/ast/jsx/JsxElement.ts +24 -0
  1815. package/src/ast/jsx/JsxExpression.ts +20 -0
  1816. package/src/ast/jsx/JsxFragment.ts +24 -0
  1817. package/src/ast/jsx/JsxNamespacedName.ts +19 -0
  1818. package/src/ast/jsx/JsxOpeningElement.ts +24 -0
  1819. package/src/ast/jsx/JsxOpeningFragment.ts +11 -0
  1820. package/src/ast/jsx/JsxSelfClosingElement.ts +24 -0
  1821. package/src/ast/jsx/JsxSpreadAttribute.ts +16 -0
  1822. package/src/ast/jsx/JsxTagName.ts +17 -0
  1823. package/src/ast/jsx/JsxText.ts +18 -0
  1824. package/src/ast/names/Decorator.ts +16 -16
  1825. package/src/ast/names/EntityName.ts +9 -9
  1826. package/src/ast/names/Identifier.ts +15 -15
  1827. package/src/ast/names/Modifier.ts +10 -10
  1828. package/src/ast/names/ModifierLike.ts +9 -9
  1829. package/src/ast/names/PrivateIdentifier.ts +14 -14
  1830. package/src/ast/names/PropertyName.ts +17 -17
  1831. package/src/ast/names/QualifiedName.ts +20 -20
  1832. package/src/ast/names/Token.ts +16 -16
  1833. package/src/ast/statements/Block.ts +19 -19
  1834. package/src/ast/statements/BreakStatement.ts +16 -16
  1835. package/src/ast/statements/CaseBlock.ts +16 -16
  1836. package/src/ast/statements/CaseClause.ts +20 -20
  1837. package/src/ast/statements/CaseOrDefaultClause.ts +9 -9
  1838. package/src/ast/statements/CatchClause.ts +20 -20
  1839. package/src/ast/statements/ContinueStatement.ts +16 -16
  1840. package/src/ast/statements/DebuggerStatement.ts +11 -11
  1841. package/src/ast/statements/Declaration.ts +17 -17
  1842. package/src/ast/statements/DefaultClause.ts +16 -16
  1843. package/src/ast/statements/DoStatement.ts +20 -20
  1844. package/src/ast/statements/EmptyStatement.ts +11 -11
  1845. package/src/ast/statements/ExpressionStatement.ts +16 -16
  1846. package/src/ast/statements/ForInStatement.ts +24 -24
  1847. package/src/ast/statements/ForInitializer.ts +9 -9
  1848. package/src/ast/statements/ForOfStatement.ts +28 -28
  1849. package/src/ast/statements/ForStatement.ts +27 -27
  1850. package/src/ast/statements/IfStatement.ts +23 -23
  1851. package/src/ast/statements/LabeledStatement.ts +20 -20
  1852. package/src/ast/statements/NotEmittedStatement.ts +16 -0
  1853. package/src/ast/statements/ReturnStatement.ts +16 -16
  1854. package/src/ast/statements/Statement.ts +67 -67
  1855. package/src/ast/statements/SwitchStatement.ts +20 -20
  1856. package/src/ast/statements/ThrowStatement.ts +16 -16
  1857. package/src/ast/statements/TryStatement.ts +23 -23
  1858. package/src/ast/statements/VariableDeclaration.ts +28 -28
  1859. package/src/ast/statements/VariableDeclarationList.ts +20 -20
  1860. package/src/ast/statements/VariableStatement.ts +20 -20
  1861. package/src/ast/statements/WhileStatement.ts +20 -20
  1862. package/src/ast/statements/WithStatement.ts +20 -20
  1863. package/src/ast/types/ArrayTypeNode.ts +16 -16
  1864. package/src/ast/types/CallSignatureDeclaration.ts +24 -24
  1865. package/src/ast/types/ConditionalTypeNode.ts +25 -25
  1866. package/src/ast/types/ConstructSignatureDeclaration.ts +24 -24
  1867. package/src/ast/types/ConstructorTypeNode.ts +28 -28
  1868. package/src/ast/types/ExpressionWithTypeArguments.ts +20 -20
  1869. package/src/ast/types/FunctionTypeNode.ts +24 -24
  1870. package/src/ast/types/ImportTypeNode.ts +26 -26
  1871. package/src/ast/types/IndexSignatureDeclaration.ts +24 -24
  1872. package/src/ast/types/IndexedAccessTypeNode.ts +19 -19
  1873. package/src/ast/types/InferTypeNode.ts +16 -16
  1874. package/src/ast/types/IntersectionTypeNode.ts +16 -16
  1875. package/src/ast/types/KeywordTypeNode.ts +16 -16
  1876. package/src/ast/types/LiteralTypeNode.ts +25 -19
  1877. package/src/ast/types/MappedTypeNode.ts +34 -34
  1878. package/src/ast/types/MethodSignature.ts +36 -36
  1879. package/src/ast/types/NamedTupleMember.ts +27 -27
  1880. package/src/ast/types/NotEmittedTypeElement.ts +12 -0
  1881. package/src/ast/types/OptionalTypeNode.ts +16 -16
  1882. package/src/ast/types/ParenthesizedTypeNode.ts +16 -16
  1883. package/src/ast/types/PropertySignature.ts +28 -28
  1884. package/src/ast/types/RestTypeNode.ts +16 -16
  1885. package/src/ast/types/TemplateLiteralTypeNode.ts +20 -20
  1886. package/src/ast/types/TemplateLiteralTypeSpan.ts +21 -21
  1887. package/src/ast/types/ThisTypeNode.ts +11 -11
  1888. package/src/ast/types/TupleTypeNode.ts +16 -16
  1889. package/src/ast/types/TypeElement.ts +17 -17
  1890. package/src/ast/types/TypeLiteralNode.ts +16 -16
  1891. package/src/ast/types/TypeNode.ts +55 -55
  1892. package/src/ast/types/TypeOperatorNode.ts +20 -20
  1893. package/src/ast/types/TypeParameterDeclaration.ts +27 -27
  1894. package/src/ast/types/TypePredicateNode.ts +25 -25
  1895. package/src/ast/types/TypeQueryNode.ts +16 -16
  1896. package/src/ast/types/TypeReferenceNode.ts +20 -20
  1897. package/src/ast/types/UnionTypeNode.ts +16 -16
  1898. package/src/comments.ts +159 -0
  1899. package/src/factory/clauses/createHeritageClause.ts +28 -16
  1900. package/src/factory/clauses/createParameterDeclaration.ts +56 -39
  1901. package/src/factory/declarations/createClassDeclaration.ts +56 -36
  1902. package/src/factory/declarations/createClassStaticBlockDeclaration.ts +25 -13
  1903. package/src/factory/declarations/createConstructorDeclaration.ts +36 -23
  1904. package/src/factory/declarations/createEnumDeclaration.ts +39 -24
  1905. package/src/factory/declarations/createEnumMember.ts +28 -17
  1906. package/src/factory/declarations/createExternalModuleReference.ts +23 -13
  1907. package/src/factory/declarations/createFunctionDeclaration.ts +64 -44
  1908. package/src/factory/declarations/createGetAccessorDeclaration.ts +51 -36
  1909. package/src/factory/declarations/createImportEqualsDeclaration.ts +44 -31
  1910. package/src/factory/declarations/createInterfaceDeclaration.ts +52 -36
  1911. package/src/factory/declarations/createMethodDeclaration.ts +67 -47
  1912. package/src/factory/declarations/createModuleBlock.ts +25 -13
  1913. package/src/factory/declarations/createModuleDeclaration.ts +51 -32
  1914. package/src/factory/declarations/createNamespaceExportDeclaration.ts +25 -15
  1915. package/src/factory/declarations/createPropertyDeclaration.ts +53 -37
  1916. package/src/factory/declarations/createSemicolonClassElement.ts +19 -11
  1917. package/src/factory/declarations/createSetAccessorDeclaration.ts +47 -32
  1918. package/src/factory/declarations/createTypeAliasDeclaration.ts +45 -32
  1919. package/src/factory/expressions/createAdd.ts +27 -17
  1920. package/src/factory/expressions/createArrayBindingPattern.ts +23 -13
  1921. package/src/factory/expressions/createArrayLiteralExpression.ts +27 -16
  1922. package/src/factory/expressions/createArrowFunction.ts +47 -34
  1923. package/src/factory/expressions/createAsExpression.ts +24 -15
  1924. package/src/factory/expressions/createAssignment.ts +27 -17
  1925. package/src/factory/expressions/createAwaitExpression.ts +22 -13
  1926. package/src/factory/expressions/createBinaryExpression.ts +37 -23
  1927. package/src/factory/expressions/createBindingElement.ts +50 -34
  1928. package/src/factory/expressions/createBitwiseAnd.ts +27 -17
  1929. package/src/factory/expressions/createBitwiseNot.ts +23 -13
  1930. package/src/factory/expressions/createBitwiseOr.ts +25 -16
  1931. package/src/factory/expressions/createBitwiseXor.ts +26 -17
  1932. package/src/factory/expressions/createCallChain.ts +39 -25
  1933. package/src/factory/expressions/createCallExpression.ts +32 -22
  1934. package/src/factory/expressions/createClassExpression.ts +46 -36
  1935. package/src/factory/expressions/createComma.ts +29 -17
  1936. package/src/factory/expressions/createCommaListExpression.ts +23 -13
  1937. package/src/factory/expressions/createComputedPropertyName.ts +23 -13
  1938. package/src/factory/expressions/createConditionalExpression.ts +33 -22
  1939. package/src/factory/expressions/createDeleteExpression.ts +22 -13
  1940. package/src/factory/expressions/createDivide.ts +26 -17
  1941. package/src/factory/expressions/createElementAccessChain.ts +36 -24
  1942. package/src/factory/expressions/createElementAccessExpression.ts +31 -21
  1943. package/src/factory/expressions/createEquality.ts +28 -17
  1944. package/src/factory/expressions/createExponent.ts +27 -17
  1945. package/src/factory/expressions/createFunctionExpression.ts +54 -44
  1946. package/src/factory/expressions/createGreaterThan.ts +28 -17
  1947. package/src/factory/expressions/createGreaterThanEquals.ts +28 -17
  1948. package/src/factory/expressions/createImmediatelyInvokedArrowFunction.ts +43 -30
  1949. package/src/factory/expressions/createImmediatelyInvokedFunctionExpression.ts +44 -32
  1950. package/src/factory/expressions/createInequality.ts +28 -17
  1951. package/src/factory/expressions/createLeftShift.ts +27 -17
  1952. package/src/factory/expressions/createLessThan.ts +27 -17
  1953. package/src/factory/expressions/createLessThanEquals.ts +28 -17
  1954. package/src/factory/expressions/createLogicalAnd.ts +28 -17
  1955. package/src/factory/expressions/createLogicalNot.ts +23 -13
  1956. package/src/factory/expressions/createLogicalOr.ts +27 -17
  1957. package/src/factory/expressions/createMetaProperty.ts +31 -17
  1958. package/src/factory/expressions/createModulo.ts +25 -17
  1959. package/src/factory/expressions/createMultiply.ts +25 -17
  1960. package/src/factory/expressions/createNewExpression.ts +33 -22
  1961. package/src/factory/expressions/createNonNullChain.ts +23 -12
  1962. package/src/factory/expressions/createNonNullExpression.ts +24 -13
  1963. package/src/factory/expressions/createObjectBindingPattern.ts +24 -13
  1964. package/src/factory/expressions/createObjectLiteralExpression.ts +29 -16
  1965. package/src/factory/expressions/createOmittedExpression.ts +22 -11
  1966. package/src/factory/expressions/createParenthesizedExpression.ts +24 -13
  1967. package/src/factory/expressions/createPartiallyEmittedExpression.ts +28 -0
  1968. package/src/factory/expressions/createPostfixDecrement.ts +23 -15
  1969. package/src/factory/expressions/createPostfixIncrement.ts +23 -15
  1970. package/src/factory/expressions/createPostfixUnaryExpression.ts +28 -17
  1971. package/src/factory/expressions/createPrefixDecrement.ts +23 -15
  1972. package/src/factory/expressions/createPrefixIncrement.ts +23 -15
  1973. package/src/factory/expressions/createPrefixMinus.ts +21 -13
  1974. package/src/factory/expressions/createPrefixPlus.ts +21 -13
  1975. package/src/factory/expressions/createPrefixUnaryExpression.ts +28 -17
  1976. package/src/factory/expressions/createPropertyAccessChain.ts +41 -29
  1977. package/src/factory/expressions/createPropertyAccessExpression.ts +35 -25
  1978. package/src/factory/expressions/createPropertyAssignment.ts +28 -17
  1979. package/src/factory/expressions/createRegularExpressionLiteral.ts +23 -13
  1980. package/src/factory/expressions/createRightShift.ts +25 -17
  1981. package/src/factory/expressions/createSatisfiesExpression.ts +26 -15
  1982. package/src/factory/expressions/createShorthandPropertyAssignment.ts +37 -25
  1983. package/src/factory/expressions/createSpreadAssignment.ts +23 -13
  1984. package/src/factory/expressions/createSpreadElement.ts +22 -12
  1985. package/src/factory/expressions/createStrictEquality.ts +25 -17
  1986. package/src/factory/expressions/createStrictInequality.ts +25 -17
  1987. package/src/factory/expressions/createSubtract.ts +25 -17
  1988. package/src/factory/expressions/createTaggedTemplateExpression.ts +35 -23
  1989. package/src/factory/expressions/createTemplateExpression.ts +28 -15
  1990. package/src/factory/expressions/createTemplateSpan.ts +34 -20
  1991. package/src/factory/expressions/createTypeAssertion.ts +26 -15
  1992. package/src/factory/expressions/createTypeOfExpression.ts +22 -13
  1993. package/src/factory/expressions/createUnsignedRightShift.ts +29 -21
  1994. package/src/factory/expressions/createVoidExpression.ts +22 -12
  1995. package/src/factory/expressions/createVoidZero.ts +21 -12
  1996. package/src/factory/expressions/createYieldExpression.ts +27 -15
  1997. package/src/factory/file/createBundle.ts +30 -0
  1998. package/src/factory/file/createNodeArray.ts +25 -12
  1999. package/src/factory/file/createSourceFile.ts +24 -13
  2000. package/src/factory/file/updateSourceFile.ts +15 -15
  2001. package/src/factory/imports/createExportAssignment.ts +30 -19
  2002. package/src/factory/imports/createExportDeclaration.ts +49 -35
  2003. package/src/factory/imports/createExportDefault.ts +22 -12
  2004. package/src/factory/imports/createExportSpecifier.ts +35 -23
  2005. package/src/factory/imports/createExternalModuleExport.ts +32 -21
  2006. package/src/factory/imports/createImportAttribute.ts +30 -0
  2007. package/src/factory/imports/createImportAttributes.ts +32 -0
  2008. package/src/factory/imports/createImportClause.ts +34 -22
  2009. package/src/factory/imports/createImportDeclaration.ts +43 -31
  2010. package/src/factory/imports/createImportSpecifier.ts +31 -19
  2011. package/src/factory/imports/createNamedExports.ts +25 -13
  2012. package/src/factory/imports/createNamedImports.ts +25 -13
  2013. package/src/factory/imports/createNamespaceExport.ts +25 -14
  2014. package/src/factory/imports/createNamespaceImport.ts +24 -14
  2015. package/src/factory/index.ts +267 -198
  2016. package/src/factory/internal/asEntityName.ts +6 -6
  2017. package/src/factory/internal/asName.ts +10 -10
  2018. package/src/factory/internal/asPropertyName.ts +6 -6
  2019. package/src/factory/internal/make.ts +17 -17
  2020. package/src/factory/jsdoc/createJSDocAllType.ts +19 -0
  2021. package/src/factory/jsdoc/createJSDocAugmentsTag.ts +38 -0
  2022. package/src/factory/jsdoc/createJSDocAuthorTag.ts +29 -0
  2023. package/src/factory/jsdoc/createJSDocCallbackTag.ts +46 -0
  2024. package/src/factory/jsdoc/createJSDocClassTag.ts +29 -0
  2025. package/src/factory/jsdoc/createJSDocComment.ts +31 -0
  2026. package/src/factory/jsdoc/createJSDocDeprecatedTag.ts +29 -0
  2027. package/src/factory/jsdoc/createJSDocEnumTag.ts +39 -0
  2028. package/src/factory/jsdoc/createJSDocFunctionType.ts +32 -0
  2029. package/src/factory/jsdoc/createJSDocImplementsTag.ts +38 -0
  2030. package/src/factory/jsdoc/createJSDocImportTag.ts +44 -0
  2031. package/src/factory/jsdoc/createJSDocLink.ts +31 -0
  2032. package/src/factory/jsdoc/createJSDocLinkCode.ts +31 -0
  2033. package/src/factory/jsdoc/createJSDocLinkPlain.ts +31 -0
  2034. package/src/factory/jsdoc/createJSDocMemberName.ts +28 -0
  2035. package/src/factory/jsdoc/createJSDocNameReference.ts +30 -0
  2036. package/src/factory/jsdoc/createJSDocNamepathType.ts +24 -0
  2037. package/src/factory/jsdoc/createJSDocNonNullableType.ts +35 -0
  2038. package/src/factory/jsdoc/createJSDocNullableType.ts +35 -0
  2039. package/src/factory/jsdoc/createJSDocOptionalType.ts +22 -0
  2040. package/src/factory/jsdoc/createJSDocOverloadTag.ts +43 -0
  2041. package/src/factory/jsdoc/createJSDocOverrideTag.ts +29 -0
  2042. package/src/factory/jsdoc/createJSDocParameterTag.ts +58 -0
  2043. package/src/factory/jsdoc/createJSDocPrivateTag.ts +29 -0
  2044. package/src/factory/jsdoc/createJSDocPropertyTag.ts +52 -0
  2045. package/src/factory/jsdoc/createJSDocProtectedTag.ts +29 -0
  2046. package/src/factory/jsdoc/createJSDocPublicTag.ts +29 -0
  2047. package/src/factory/jsdoc/createJSDocReadonlyTag.ts +29 -0
  2048. package/src/factory/jsdoc/createJSDocReturnTag.ts +40 -0
  2049. package/src/factory/jsdoc/createJSDocSatisfiesTag.ts +39 -0
  2050. package/src/factory/jsdoc/createJSDocSeeTag.ts +39 -0
  2051. package/src/factory/jsdoc/createJSDocSignature.ts +40 -0
  2052. package/src/factory/jsdoc/createJSDocTemplateTag.ts +44 -0
  2053. package/src/factory/jsdoc/createJSDocText.ts +24 -0
  2054. package/src/factory/jsdoc/createJSDocThisTag.ts +38 -0
  2055. package/src/factory/jsdoc/createJSDocThrowsTag.ts +38 -0
  2056. package/src/factory/jsdoc/createJSDocTypeExpression.ts +25 -0
  2057. package/src/factory/jsdoc/createJSDocTypeLiteral.ts +31 -0
  2058. package/src/factory/jsdoc/createJSDocTypeTag.ts +39 -0
  2059. package/src/factory/jsdoc/createJSDocTypedefTag.ts +44 -0
  2060. package/src/factory/jsdoc/createJSDocUnknownTag.ts +29 -0
  2061. package/src/factory/jsdoc/createJSDocUnknownType.ts +20 -0
  2062. package/src/factory/jsdoc/createJSDocVariadicType.ts +23 -0
  2063. package/src/factory/jsx/createJsxAttribute.ts +35 -0
  2064. package/src/factory/jsx/createJsxAttributes.ts +27 -0
  2065. package/src/factory/jsx/createJsxClosingElement.ts +24 -0
  2066. package/src/factory/jsx/createJsxElement.ts +40 -0
  2067. package/src/factory/jsx/createJsxExpression.ts +31 -0
  2068. package/src/factory/jsx/createJsxFragment.ts +40 -0
  2069. package/src/factory/jsx/createJsxJsxClosingFragment.ts +22 -0
  2070. package/src/factory/jsx/createJsxNamespacedName.ts +30 -0
  2071. package/src/factory/jsx/createJsxOpeningElement.ts +40 -0
  2072. package/src/factory/jsx/createJsxOpeningFragment.ts +21 -0
  2073. package/src/factory/jsx/createJsxSelfClosingElement.ts +39 -0
  2074. package/src/factory/jsx/createJsxSpreadAttribute.ts +24 -0
  2075. package/src/factory/jsx/createJsxText.ts +33 -0
  2076. package/src/factory/literals/createBigIntLiteral.ts +22 -12
  2077. package/src/factory/literals/createNoSubstitutionTemplateLiteral.ts +25 -14
  2078. package/src/factory/literals/createNumericLiteral.ts +22 -12
  2079. package/src/factory/literals/createStringLiteral.ts +30 -15
  2080. package/src/factory/literals/createStringLiteralFromNode.ts +30 -0
  2081. package/src/factory/literals/createTemplateHead.ts +28 -15
  2082. package/src/factory/literals/createTemplateMiddle.ts +24 -12
  2083. package/src/factory/literals/createTemplateTail.ts +24 -12
  2084. package/src/factory/names/createDecorator.ts +22 -12
  2085. package/src/factory/names/createFalse.ts +20 -11
  2086. package/src/factory/names/createIdentifier.ts +22 -12
  2087. package/src/factory/names/createLoopVariable.ts +28 -0
  2088. package/src/factory/names/createModifier.ts +26 -14
  2089. package/src/factory/names/createModifiersFromModifierFlags.ts +79 -0
  2090. package/src/factory/names/createNull.ts +20 -11
  2091. package/src/factory/names/createPrivateIdentifier.ts +22 -12
  2092. package/src/factory/names/createQualifiedName.ts +30 -17
  2093. package/src/factory/names/createSuper.ts +20 -11
  2094. package/src/factory/names/createTempVariable.ts +36 -0
  2095. package/src/factory/names/createThis.ts +20 -11
  2096. package/src/factory/names/createToken.ts +25 -14
  2097. package/src/factory/names/createTrue.ts +20 -11
  2098. package/src/factory/names/createUniqueName.ts +35 -0
  2099. package/src/factory/names/createUniquePrivateName.ts +34 -0
  2100. package/src/factory/statements/createBlock.ts +30 -15
  2101. package/src/factory/statements/createBreakStatement.ts +32 -17
  2102. package/src/factory/statements/createCaseBlock.ts +30 -13
  2103. package/src/factory/statements/createCaseClause.ts +29 -15
  2104. package/src/factory/statements/createCatchClause.ts +43 -28
  2105. package/src/factory/statements/createContinueStatement.ts +32 -17
  2106. package/src/factory/statements/createDebuggerStatement.ts +20 -11
  2107. package/src/factory/statements/createDefaultClause.ts +24 -13
  2108. package/src/factory/statements/createDoStatement.ts +28 -15
  2109. package/src/factory/statements/createEmptyStatement.ts +20 -11
  2110. package/src/factory/statements/createExpressionStatement.ts +23 -13
  2111. package/src/factory/statements/createForInStatement.ts +37 -23
  2112. package/src/factory/statements/createForOfStatement.ts +49 -26
  2113. package/src/factory/statements/createForStatement.ts +41 -25
  2114. package/src/factory/statements/createIfStatement.ts +34 -18
  2115. package/src/factory/statements/createLabeledStatement.ts +30 -17
  2116. package/src/factory/statements/createNotEmittedStatement.ts +20 -0
  2117. package/src/factory/statements/createReturnStatement.ts +28 -13
  2118. package/src/factory/statements/createSwitchStatement.ts +32 -15
  2119. package/src/factory/statements/createThrowStatement.ts +21 -12
  2120. package/src/factory/statements/createTryStatement.ts +37 -18
  2121. package/src/factory/statements/createVariableDeclaration.ts +48 -32
  2122. package/src/factory/statements/createVariableDeclarationList.ts +29 -17
  2123. package/src/factory/statements/createVariableStatement.ts +42 -29
  2124. package/src/factory/statements/createWhileStatement.ts +28 -15
  2125. package/src/factory/statements/createWithStatement.ts +28 -15
  2126. package/src/factory/types/createArrayTypeNode.ts +24 -12
  2127. package/src/factory/types/createCallSignature.ts +34 -23
  2128. package/src/factory/types/createConditionalTypeNode.ts +32 -20
  2129. package/src/factory/types/createConstructSignature.ts +33 -23
  2130. package/src/factory/types/createConstructorTypeNode.ts +37 -26
  2131. package/src/factory/types/createExpressionWithTypeArguments.ts +31 -20
  2132. package/src/factory/types/createFunctionTypeNode.ts +35 -23
  2133. package/src/factory/types/createImportTypeNode.ts +31 -20
  2134. package/src/factory/types/createIndexSignature.ts +33 -23
  2135. package/src/factory/types/createIndexedAccessTypeNode.ts +27 -16
  2136. package/src/factory/types/createInferTypeNode.ts +24 -13
  2137. package/src/factory/types/createIntersectionTypeNode.ts +24 -13
  2138. package/src/factory/types/createKeywordTypeNode.ts +25 -13
  2139. package/src/factory/types/createLiteralTypeNode.ts +38 -19
  2140. package/src/factory/types/createMappedTypeNode.ts +56 -37
  2141. package/src/factory/types/createMethodSignature.ts +53 -40
  2142. package/src/factory/types/createNamedTupleMember.ts +37 -26
  2143. package/src/factory/types/createNotEmittedTypeElement.ts +16 -0
  2144. package/src/factory/types/createOptionalTypeNode.ts +22 -12
  2145. package/src/factory/types/createParenthesizedType.ts +23 -13
  2146. package/src/factory/types/createPropertySignature.ts +44 -32
  2147. package/src/factory/types/createRestTypeNode.ts +21 -12
  2148. package/src/factory/types/createTemplateLiteralType.ts +33 -20
  2149. package/src/factory/types/createTemplateLiteralTypeSpan.ts +34 -21
  2150. package/src/factory/types/createThisTypeNode.ts +20 -10
  2151. package/src/factory/types/createTupleTypeNode.ts +24 -13
  2152. package/src/factory/types/createTypeLiteralNode.ts +25 -13
  2153. package/src/factory/types/createTypeOperatorNode.ts +28 -16
  2154. package/src/factory/types/createTypeParameterDeclaration.ts +43 -31
  2155. package/src/factory/types/createTypePredicateNode.ts +45 -32
  2156. package/src/factory/types/createTypeQueryNode.ts +22 -12
  2157. package/src/factory/types/createTypeReferenceNode.ts +32 -20
  2158. package/src/factory/types/createUnionTypeNode.ts +24 -13
  2159. package/src/index.ts +40 -30
  2160. package/src/internal/doc.ts +195 -195
  2161. package/src/syntax/NodeFlags.ts +19 -12
  2162. package/src/syntax/SyntaxKind.ts +114 -108
  2163. package/src/syntax/index.ts +2 -3
  2164. package/lib/syntax/tokenToString.d.ts +0 -3
  2165. package/lib/syntax/tokenToString.js +0 -95
  2166. package/lib/syntax/tokenToString.js.map +0 -1
  2167. package/lib/syntax/tokenToString.mjs +0 -94
  2168. package/lib/syntax/tokenToString.mjs.map +0 -1
  2169. package/src/syntax/tokenToString.ts +0 -99
@@ -1 +1 @@
1
- {"version":3,"file":"TsPrinter.mjs","sources":["TsPrinter.js"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TsPrinter = void 0;\nconst doc_1 = require(\"./internal/doc\");\nconst syntax_1 = require(\"./syntax\");\nconst escapeString = (text, singleQuote) => {\n const escaped = text\n .replace(/\\\\/g, \"\\\\\\\\\")\n .replace(/\\n/g, \"\\\\n\")\n .replace(/\\r/g, \"\\\\r\")\n .replace(/\\t/g, \"\\\\t\");\n return singleQuote === true\n ? `'${escaped.replace(/'/g, \"\\\\'\")}'`\n : `\"${escaped.replace(/\"/g, '\\\\\"')}\"`;\n};\n/**\n * Printer turning {@link factory} produced AST nodes into TypeScript source\n * text.\n *\n * The printer is a width-aware pretty-printer: it builds a Prettier-style\n * document for the {@link Node} discriminated union and lays it out against\n * {@link TsPrinterOptions.printWidth}. Lists (arguments, parameters, generic\n * arguments, array / object members, ...) print on one line when they fit and\n * break onto indented lines — with trailing commas — when they do not. Every\n * `node.kind` narrows to its concrete type, so the walk is fully type-checked;\n * no `typescript` module is involved.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @example\n * ```typescript\n * import factory, { TsPrinter } from \"@ttsc/factory\";\n *\n * const printer = new TsPrinter({ printWidth: 80, indent: \" \" });\n * printer.print(factory.createStringLiteral(\"hello\")); // \"hello\"\n * ```;\n */\nclass TsPrinter {\n printWidth_;\n indent_;\n newLine_;\n constructor(options = {}) {\n this.printWidth_ = options.printWidth ?? 80;\n this.indent_ = options.indent ?? \" \";\n this.newLine_ = options.newLine ?? \"\\n\";\n }\n /** Print a single node (or a whole {@link SourceFile}) into source text. */\n print(node) {\n return this.layout(this.emit(node));\n }\n /** Print multiple nodes, joining them with new lines. */\n printNodes(nodes) {\n return this.layout((0, doc_1.join)(doc_1.hardline, nodes.map((n) => this.emit(n))));\n }\n /**\n * Print an entire source file.\n *\n * @param sourceFile A {@link SourceFile}. When omitted, one is composed from\n * the given `statements`.\n * @param statements Statements to compose a source file from when no\n * `sourceFile` is provided.\n */\n printFile(sourceFile, statements = []) {\n const list = sourceFile\n ? sourceFile.statements\n : statements;\n return (this.layout((0, doc_1.join)(doc_1.hardline, list.map((s) => this.emit(s)))) + this.newLine_);\n }\n /* ----------------------------------------------------------------------- */\n /* INTERNAL */\n /* ----------------------------------------------------------------------- */\n layout(doc) {\n return (0, doc_1.printDocToString)(doc, {\n printWidth: this.printWidth_,\n indent: this.indent_,\n newLine: this.newLine_,\n });\n }\n /** Comma-separated, width-aware delimited list (`(...)`, `[...]`, `<...>`). */\n delim(open, items, close, opts = {}) {\n if (items.length === 0)\n return open + close;\n const ln = opts.space ? doc_1.line : doc_1.softline;\n return (0, doc_1.group)((0, doc_1.concat)([\n open,\n (0, doc_1.indent)((0, doc_1.concat)([ln, (0, doc_1.join)((0, doc_1.concat)([\",\", doc_1.line]), items)])),\n opts.trailingComma ? (0, doc_1.ifBreak)(\",\") : \"\",\n ln,\n close,\n ]), opts.forceBreak === true);\n }\n /** Semicolon-separated member block (`{ a; b }`), e.g. interfaces. */\n memberBlock(items, forceBreak) {\n if (items.length === 0)\n return \"{}\";\n return (0, doc_1.group)((0, doc_1.concat)([\n \"{\",\n (0, doc_1.indent)((0, doc_1.concat)([doc_1.line, (0, doc_1.join)((0, doc_1.concat)([\";\", doc_1.line]), items)])),\n (0, doc_1.ifBreak)(\";\"),\n doc_1.line,\n \"}\",\n ]), forceBreak);\n }\n /** Always-broken statement block (`{ ... }`). */\n statementBlock(items) {\n if (items.length === 0)\n return \"{}\";\n return (0, doc_1.concat)([\n \"{\",\n (0, doc_1.indent)((0, doc_1.concat)([doc_1.hardline, (0, doc_1.join)(doc_1.hardline, items)])),\n doc_1.hardline,\n \"}\",\n ]);\n }\n typeArguments(args) {\n return args && args.length\n ? this.delim(\"<\", args.map((a) => this.emit(a)), \">\", {\n trailingComma: true,\n })\n : \"\";\n }\n params(params) {\n return this.delim(\"(\", params.map((p) => this.emit(p)), \")\", {\n trailingComma: true,\n });\n }\n modifiers(mods, decoratorsOnNewLine) {\n if (!mods || mods.length === 0)\n return \"\";\n const decorators = mods.filter((m) => m.kind === \"Decorator\");\n const tokens = mods.filter((m) => m.kind !== \"Decorator\");\n const parts = [];\n const gap = decoratorsOnNewLine ? doc_1.hardline : \" \";\n if (decorators.length)\n parts.push((0, doc_1.join)(gap, decorators.map((d) => this.emit(d))), gap);\n if (tokens.length)\n parts.push((0, doc_1.join)(\" \", tokens.map((t) => this.emit(t))), \" \");\n return (0, doc_1.concat)(parts);\n }\n heritage(clauses) {\n return clauses && clauses.length\n ? (0, doc_1.concat)([\n \" \",\n (0, doc_1.join)(\" \", clauses.map((c) => this.emit(c))),\n ])\n : \"\";\n }\n optType(type) {\n return type ? (0, doc_1.concat)([\": \", this.emit(type)]) : \"\";\n }\n optBody(body) {\n return body ? (0, doc_1.concat)([\" \", this.emit(body)]) : \";\";\n }\n emit(node) {\n switch (node.kind) {\n /* names & tokens */\n case \"Identifier\":\n return node.text;\n case \"PrivateIdentifier\":\n return node.text;\n case \"QualifiedName\":\n return (0, doc_1.concat)([this.emit(node.left), \".\", this.emit(node.right)]);\n case \"Token\":\n return (0, syntax_1.tokenToString)(node.token);\n case \"Decorator\":\n return (0, doc_1.concat)([\"@\", this.emit(node.expression)]);\n /* literals */\n case \"StringLiteral\":\n return escapeString(node.text, node.singleQuote);\n case \"NumericLiteral\":\n return node.text;\n case \"BigIntLiteral\":\n return node.text;\n /* expressions */\n case \"ArrayLiteralExpression\":\n return this.delim(\"[\", node.elements.map((e) => this.emit(e)), \"]\", { trailingComma: true, forceBreak: node.multiLine === true });\n case \"ObjectLiteralExpression\":\n return this.delim(\"{\", node.properties.map((p) => this.emit(p)), \"}\", {\n space: true,\n trailingComma: true,\n forceBreak: node.multiLine === true,\n });\n case \"PropertyAssignment\":\n return (0, doc_1.concat)([\n this.emit(node.name),\n \": \",\n this.emit(node.initializer),\n ]);\n case \"ShorthandPropertyAssignment\":\n return (0, doc_1.concat)([\n this.emit(node.name),\n node.objectAssignmentInitializer\n ? (0, doc_1.concat)([\" = \", this.emit(node.objectAssignmentInitializer)])\n : \"\",\n ]);\n case \"SpreadAssignment\":\n return (0, doc_1.concat)([\"...\", this.emit(node.expression)]);\n case \"PropertyAccessExpression\":\n return (0, doc_1.concat)([this.emit(node.expression), \".\", this.emit(node.name)]);\n case \"ElementAccessExpression\":\n return (0, doc_1.concat)([\n this.emit(node.expression),\n \"[\",\n this.emit(node.argumentExpression),\n \"]\",\n ]);\n case \"CallExpression\":\n return (0, doc_1.concat)([\n this.emit(node.expression),\n this.typeArguments(node.typeArguments),\n this.params(node.arguments),\n ]);\n case \"NewExpression\":\n return (0, doc_1.concat)([\n \"new \",\n this.emit(node.expression),\n this.typeArguments(node.typeArguments),\n this.params(node.arguments ?? []),\n ]);\n case \"ParenthesizedExpression\":\n return (0, doc_1.concat)([\"(\", this.emit(node.expression), \")\"]);\n case \"BinaryExpression\":\n return (0, doc_1.group)((0, doc_1.concat)([\n this.emit(node.left),\n \" \",\n (0, syntax_1.tokenToString)(node.operator),\n (0, doc_1.indent)((0, doc_1.concat)([doc_1.line, this.emit(node.right)])),\n ]));\n case \"PrefixUnaryExpression\":\n return (0, doc_1.concat)([(0, syntax_1.tokenToString)(node.operator), this.emit(node.operand)]);\n case \"PostfixUnaryExpression\":\n return (0, doc_1.concat)([this.emit(node.operand), (0, syntax_1.tokenToString)(node.operator)]);\n case \"ConditionalExpression\":\n return (0, doc_1.group)((0, doc_1.concat)([\n this.emit(node.condition),\n (0, doc_1.indent)((0, doc_1.concat)([\n doc_1.line,\n \"? \",\n this.emit(node.whenTrue),\n doc_1.line,\n \": \",\n this.emit(node.whenFalse),\n ])),\n ]));\n case \"ArrowFunction\":\n return (0, doc_1.concat)([\n this.modifiers(node.modifiers, false),\n this.typeArguments(node.typeParameters),\n this.params(node.parameters),\n this.optType(node.type),\n \" => \",\n this.emit(node.body),\n ]);\n case \"FunctionExpression\":\n return (0, doc_1.concat)([\n this.modifiers(node.modifiers, false),\n \"function\",\n node.asteriskToken ? \"*\" : \"\",\n node.name ? (0, doc_1.concat)([\" \", this.emit(node.name)]) : \" \",\n this.typeArguments(node.typeParameters),\n this.params(node.parameters),\n this.optType(node.type),\n \" \",\n this.emit(node.body),\n ]);\n case \"AsExpression\":\n return (0, doc_1.concat)([\n this.emit(node.expression),\n \" as \",\n this.emit(node.type),\n ]);\n case \"SatisfiesExpression\":\n return (0, doc_1.concat)([\n this.emit(node.expression),\n \" satisfies \",\n this.emit(node.type),\n ]);\n case \"NonNullExpression\":\n return (0, doc_1.concat)([this.emit(node.expression), \"!\"]);\n case \"SpreadElement\":\n return (0, doc_1.concat)([\"...\", this.emit(node.expression)]);\n case \"AwaitExpression\":\n return (0, doc_1.concat)([\"await \", this.emit(node.expression)]);\n case \"TypeOfExpression\":\n return (0, doc_1.concat)([\"typeof \", this.emit(node.expression)]);\n /* types */\n case \"KeywordTypeNode\":\n return (0, syntax_1.tokenToString)(node.keyword);\n case \"TypeReferenceNode\":\n return (0, doc_1.concat)([\n this.emit(node.typeName),\n this.typeArguments(node.typeArguments),\n ]);\n case \"ArrayTypeNode\":\n return (0, doc_1.concat)([this.emit(node.elementType), \"[]\"]);\n case \"UnionTypeNode\":\n return this.binaryType(\"|\", node.types.map((t) => this.emit(t)));\n case \"IntersectionTypeNode\":\n return this.binaryType(\"&\", node.types.map((t) => this.emit(t)));\n case \"LiteralTypeNode\":\n return this.emit(node.literal);\n case \"TypeLiteralNode\":\n return this.memberBlock(node.members.map((m) => this.emit(m)), false);\n case \"FunctionTypeNode\":\n return (0, doc_1.concat)([\n this.typeArguments(node.typeParameters),\n this.params(node.parameters),\n \" => \",\n this.emit(node.type),\n ]);\n case \"TupleTypeNode\":\n return this.delim(\"[\", node.elements.map((e) => this.emit(e)), \"]\", {\n trailingComma: true,\n });\n case \"ParenthesizedTypeNode\":\n return (0, doc_1.concat)([\"(\", this.emit(node.type), \")\"]);\n case \"TypeOperatorNode\":\n return (0, doc_1.concat)([\n (0, syntax_1.tokenToString)(node.operator),\n \" \",\n this.emit(node.type),\n ]);\n case \"IndexedAccessTypeNode\":\n return (0, doc_1.concat)([\n this.emit(node.objectType),\n \"[\",\n this.emit(node.indexType),\n \"]\",\n ]);\n case \"TypeQueryNode\":\n return (0, doc_1.concat)([\"typeof \", this.emit(node.exprName)]);\n case \"ExpressionWithTypeArguments\":\n return (0, doc_1.concat)([\n this.emit(node.expression),\n this.typeArguments(node.typeArguments),\n ]);\n case \"PropertySignature\":\n return (0, doc_1.concat)([\n this.modifiers(node.modifiers, false),\n this.emit(node.name),\n node.questionToken ? \"?\" : \"\",\n this.optType(node.type),\n ]);\n case \"IndexSignature\":\n return (0, doc_1.concat)([\n this.modifiers(node.modifiers, false),\n \"[\",\n (0, doc_1.join)(\", \", node.parameters.map((p) => this.emit(p))),\n \"]: \",\n this.emit(node.type),\n ]);\n case \"MethodSignature\":\n return (0, doc_1.concat)([\n this.modifiers(node.modifiers, false),\n this.emit(node.name),\n node.questionToken ? \"?\" : \"\",\n this.typeArguments(node.typeParameters),\n this.params(node.parameters),\n this.optType(node.type),\n ]);\n case \"TypeParameterDeclaration\":\n return (0, doc_1.concat)([\n this.modifiers(node.modifiers, false),\n this.emit(node.name),\n node.constraint\n ? (0, doc_1.concat)([\" extends \", this.emit(node.constraint)])\n : \"\",\n node.default ? (0, doc_1.concat)([\" = \", this.emit(node.default)]) : \"\",\n ]);\n /* support */\n case \"ParameterDeclaration\":\n return (0, doc_1.concat)([\n this.modifiers(node.modifiers, false),\n node.dotDotDotToken ? \"...\" : \"\",\n this.emit(node.name),\n node.questionToken ? \"?\" : \"\",\n this.optType(node.type),\n node.initializer ? (0, doc_1.concat)([\" = \", this.emit(node.initializer)]) : \"\",\n ]);\n case \"HeritageClause\":\n return (0, doc_1.concat)([\n (0, syntax_1.tokenToString)(node.token),\n \" \",\n (0, doc_1.join)(\", \", node.types.map((t) => this.emit(t))),\n ]);\n /* statements */\n case \"VariableStatement\":\n return (0, doc_1.concat)([\n this.modifiers(node.modifiers, false),\n this.emit(node.declarationList),\n \";\",\n ]);\n case \"VariableDeclarationList\": {\n const keyword = node.flags === 2 ? \"const\" : node.flags === 1 ? \"let\" : \"var\";\n return (0, doc_1.concat)([\n keyword,\n \" \",\n (0, doc_1.join)(\", \", node.declarations.map((d) => this.emit(d))),\n ]);\n }\n case \"VariableDeclaration\":\n return (0, doc_1.concat)([\n this.emit(node.name),\n node.exclamationToken ? \"!\" : \"\",\n this.optType(node.type),\n node.initializer ? (0, doc_1.concat)([\" = \", this.emit(node.initializer)]) : \"\",\n ]);\n case \"ExpressionStatement\":\n return (0, doc_1.concat)([this.emit(node.expression), \";\"]);\n case \"ReturnStatement\":\n return node.expression\n ? (0, doc_1.concat)([\"return \", this.emit(node.expression), \";\"])\n : \"return;\";\n case \"ThrowStatement\":\n return (0, doc_1.concat)([\"throw \", this.emit(node.expression), \";\"]);\n case \"IfStatement\":\n return (0, doc_1.concat)([\n \"if (\",\n this.emit(node.expression),\n \") \",\n this.emit(node.thenStatement),\n node.elseStatement\n ? (0, doc_1.concat)([\" else \", this.emit(node.elseStatement)])\n : \"\",\n ]);\n case \"Block\":\n return this.statementBlock(node.statements.map((s) => this.emit(s)));\n /* declarations */\n case \"FunctionDeclaration\":\n return (0, doc_1.concat)([\n this.modifiers(node.modifiers, true),\n \"function\",\n node.asteriskToken ? \"*\" : \"\",\n \" \",\n node.name ? this.emit(node.name) : \"\",\n this.typeArguments(node.typeParameters),\n this.params(node.parameters),\n this.optType(node.type),\n this.optBody(node.body),\n ]);\n case \"ClassDeclaration\":\n return (0, doc_1.concat)([\n this.modifiers(node.modifiers, true),\n \"class\",\n node.name ? (0, doc_1.concat)([\" \", this.emit(node.name)]) : \"\",\n this.typeArguments(node.typeParameters),\n this.heritage(node.heritageClauses),\n \" \",\n this.statementBlock(node.members.map((m) => this.emit(m))),\n ]);\n case \"PropertyDeclaration\":\n return (0, doc_1.concat)([\n this.modifiers(node.modifiers, true),\n this.emit(node.name),\n node.questionOrExclamationToken\n ? this.emit(node.questionOrExclamationToken)\n : \"\",\n this.optType(node.type),\n node.initializer ? (0, doc_1.concat)([\" = \", this.emit(node.initializer)]) : \"\",\n \";\",\n ]);\n case \"MethodDeclaration\":\n return (0, doc_1.concat)([\n this.modifiers(node.modifiers, true),\n node.asteriskToken ? \"*\" : \"\",\n this.emit(node.name),\n node.questionToken ? \"?\" : \"\",\n this.typeArguments(node.typeParameters),\n this.params(node.parameters),\n this.optType(node.type),\n this.optBody(node.body),\n ]);\n case \"ConstructorDeclaration\":\n return (0, doc_1.concat)([\n this.modifiers(node.modifiers, true),\n \"constructor\",\n this.params(node.parameters),\n this.optBody(node.body),\n ]);\n case \"GetAccessorDeclaration\":\n return (0, doc_1.concat)([\n this.modifiers(node.modifiers, true),\n \"get \",\n this.emit(node.name),\n this.params(node.parameters),\n this.optType(node.type),\n this.optBody(node.body),\n ]);\n case \"SetAccessorDeclaration\":\n return (0, doc_1.concat)([\n this.modifiers(node.modifiers, true),\n \"set \",\n this.emit(node.name),\n this.params(node.parameters),\n this.optBody(node.body),\n ]);\n case \"InterfaceDeclaration\":\n return (0, doc_1.concat)([\n this.modifiers(node.modifiers, true),\n \"interface \",\n this.emit(node.name),\n this.typeArguments(node.typeParameters),\n this.heritage(node.heritageClauses),\n \" \",\n this.memberBlock(node.members.map((m) => this.emit(m)), true),\n ]);\n case \"TypeAliasDeclaration\":\n return (0, doc_1.concat)([\n this.modifiers(node.modifiers, true),\n \"type \",\n this.emit(node.name),\n this.typeArguments(node.typeParameters),\n \" = \",\n this.emit(node.type),\n \";\",\n ]);\n case \"EnumDeclaration\":\n return (0, doc_1.concat)([\n this.modifiers(node.modifiers, true),\n \"enum \",\n this.emit(node.name),\n \" \",\n node.members.length === 0\n ? \"{}\"\n : (0, doc_1.concat)([\n \"{\",\n (0, doc_1.indent)((0, doc_1.concat)([\n doc_1.hardline,\n (0, doc_1.join)((0, doc_1.concat)([\",\", doc_1.hardline]), node.members.map((m) => this.emit(m))),\n \",\",\n ])),\n doc_1.hardline,\n \"}\",\n ]),\n ]);\n case \"EnumMember\":\n return (0, doc_1.concat)([\n this.emit(node.name),\n node.initializer ? (0, doc_1.concat)([\" = \", this.emit(node.initializer)]) : \"\",\n ]);\n /* imports & exports */\n case \"ImportDeclaration\":\n return (0, doc_1.concat)([\n this.modifiers(node.modifiers, false),\n \"import \",\n node.importClause\n ? (0, doc_1.concat)([this.emit(node.importClause), \" from \"])\n : \"\",\n this.emit(node.moduleSpecifier),\n \";\",\n ]);\n case \"ImportClause\": {\n const named = [];\n if (node.name)\n named.push(this.emit(node.name));\n if (node.namedBindings)\n named.push(this.emit(node.namedBindings));\n return (0, doc_1.concat)([node.isTypeOnly ? \"type \" : \"\", (0, doc_1.join)(\", \", named)]);\n }\n case \"NamedImports\":\n return this.delim(\"{\", node.elements.map((e) => this.emit(e)), \"}\", { space: true, trailingComma: true });\n case \"ImportSpecifier\":\n return (0, doc_1.concat)([\n node.isTypeOnly ? \"type \" : \"\",\n node.propertyName\n ? (0, doc_1.concat)([this.emit(node.propertyName), \" as \"])\n : \"\",\n this.emit(node.name),\n ]);\n case \"NamespaceImport\":\n return (0, doc_1.concat)([\"* as \", this.emit(node.name)]);\n case \"ExportDeclaration\":\n return (0, doc_1.concat)([\n this.modifiers(node.modifiers, false),\n \"export \",\n node.isTypeOnly ? \"type \" : \"\",\n node.exportClause ? this.emit(node.exportClause) : \"*\",\n node.moduleSpecifier\n ? (0, doc_1.concat)([\" from \", this.emit(node.moduleSpecifier)])\n : \"\",\n \";\",\n ]);\n case \"NamedExports\":\n return this.delim(\"{\", node.elements.map((e) => this.emit(e)), \"}\", { space: true, trailingComma: true });\n case \"ExportSpecifier\":\n return (0, doc_1.concat)([\n node.isTypeOnly ? \"type \" : \"\",\n node.propertyName\n ? (0, doc_1.concat)([this.emit(node.propertyName), \" as \"])\n : \"\",\n this.emit(node.name),\n ]);\n case \"ExportAssignment\":\n return (0, doc_1.concat)([\n this.modifiers(node.modifiers, false),\n node.isExportEquals ? \"export = \" : \"export default \",\n this.emit(node.expression),\n \";\",\n ]);\n /* source file */\n case \"SourceFile\":\n return (0, doc_1.concat)([\n (0, doc_1.join)(doc_1.hardline, node.statements.map((s) => this.emit(s))),\n doc_1.hardline,\n ]);\n /* loops & flow */\n case \"ForStatement\":\n return (0, doc_1.concat)([\n \"for (\",\n node.initializer ? this.emit(node.initializer) : \"\",\n \"; \",\n node.condition ? this.emit(node.condition) : \"\",\n \"; \",\n node.incrementor ? this.emit(node.incrementor) : \"\",\n \") \",\n this.emit(node.statement),\n ]);\n case \"ForInStatement\":\n return (0, doc_1.concat)([\n \"for (\",\n this.emit(node.initializer),\n \" in \",\n this.emit(node.expression),\n \") \",\n this.emit(node.statement),\n ]);\n case \"ForOfStatement\":\n return (0, doc_1.concat)([\n \"for \",\n node.awaitModifier ? \"await \" : \"\",\n \"(\",\n this.emit(node.initializer),\n \" of \",\n this.emit(node.expression),\n \") \",\n this.emit(node.statement),\n ]);\n case \"WhileStatement\":\n return (0, doc_1.concat)([\n \"while (\",\n this.emit(node.expression),\n \") \",\n this.emit(node.statement),\n ]);\n case \"DoStatement\":\n return (0, doc_1.concat)([\n \"do \",\n this.emit(node.statement),\n \" while (\",\n this.emit(node.expression),\n \");\",\n ]);\n case \"SwitchStatement\":\n return (0, doc_1.concat)([\n \"switch (\",\n this.emit(node.expression),\n \") \",\n this.emit(node.caseBlock),\n ]);\n case \"CaseBlock\":\n return node.clauses.length === 0\n ? \"{}\"\n : (0, doc_1.concat)([\n \"{\",\n (0, doc_1.indent)((0, doc_1.concat)([\n doc_1.hardline,\n (0, doc_1.join)(doc_1.hardline, node.clauses.map((c) => this.emit(c))),\n ])),\n doc_1.hardline,\n \"}\",\n ]);\n case \"CaseClause\":\n return (0, doc_1.concat)([\n \"case \",\n this.emit(node.expression),\n \":\",\n node.statements.length\n ? (0, doc_1.indent)((0, doc_1.concat)([\n doc_1.hardline,\n (0, doc_1.join)(doc_1.hardline, node.statements.map((s) => this.emit(s))),\n ]))\n : \"\",\n ]);\n case \"DefaultClause\":\n return (0, doc_1.concat)([\n \"default:\",\n node.statements.length\n ? (0, doc_1.indent)((0, doc_1.concat)([\n doc_1.hardline,\n (0, doc_1.join)(doc_1.hardline, node.statements.map((s) => this.emit(s))),\n ]))\n : \"\",\n ]);\n case \"BreakStatement\":\n return node.label\n ? (0, doc_1.concat)([\"break \", this.emit(node.label), \";\"])\n : \"break;\";\n case \"ContinueStatement\":\n return node.label\n ? (0, doc_1.concat)([\"continue \", this.emit(node.label), \";\"])\n : \"continue;\";\n case \"TryStatement\":\n return (0, doc_1.concat)([\n \"try \",\n this.emit(node.tryBlock),\n node.catchClause ? (0, doc_1.concat)([\" \", this.emit(node.catchClause)]) : \"\",\n node.finallyBlock\n ? (0, doc_1.concat)([\" finally \", this.emit(node.finallyBlock)])\n : \"\",\n ]);\n case \"CatchClause\":\n return node.variableDeclaration\n ? (0, doc_1.concat)([\n \"catch (\",\n this.emit(node.variableDeclaration),\n \") \",\n this.emit(node.block),\n ])\n : (0, doc_1.concat)([\"catch \", this.emit(node.block)]);\n case \"LabeledStatement\":\n return (0, doc_1.concat)([this.emit(node.label), \": \", this.emit(node.statement)]);\n case \"WithStatement\":\n return (0, doc_1.concat)([\n \"with (\",\n this.emit(node.expression),\n \") \",\n this.emit(node.statement),\n ]);\n case \"DebuggerStatement\":\n return \"debugger;\";\n case \"EmptyStatement\":\n return \";\";\n /* modules & namespaces */\n case \"ModuleDeclaration\":\n return (0, doc_1.concat)([\n this.modifiers(node.modifiers, true),\n node.name.kind === \"StringLiteral\" ? \"module \" : \"namespace \",\n this.emit(node.name),\n node.body ? (0, doc_1.concat)([\" \", this.emit(node.body)]) : \";\",\n ]);\n case \"ModuleBlock\":\n return this.statementBlock(node.statements.map((s) => this.emit(s)));\n case \"ClassStaticBlockDeclaration\":\n return (0, doc_1.concat)([\"static \", this.emit(node.body)]);\n case \"ImportEqualsDeclaration\":\n return (0, doc_1.concat)([\n this.modifiers(node.modifiers, false),\n \"import \",\n node.isTypeOnly ? \"type \" : \"\",\n this.emit(node.name),\n \" = \",\n this.emit(node.moduleReference),\n \";\",\n ]);\n case \"ExternalModuleReference\":\n return (0, doc_1.concat)([\"require(\", this.emit(node.expression), \")\"]);\n case \"NamespaceExportDeclaration\":\n return (0, doc_1.concat)([\"export as namespace \", this.emit(node.name), \";\"]);\n case \"SemicolonClassElement\":\n return \";\";\n case \"NamespaceExport\":\n return (0, doc_1.concat)([\"* as \", this.emit(node.name)]);\n /* advanced types */\n case \"ThisTypeNode\":\n return \"this\";\n case \"ConstructorTypeNode\":\n return (0, doc_1.concat)([\n this.modifiers(node.modifiers, false),\n \"new \",\n this.typeArguments(node.typeParameters),\n this.params(node.parameters),\n \" => \",\n this.emit(node.type),\n ]);\n case \"TypePredicateNode\":\n return (0, doc_1.concat)([\n node.assertsModifier ? \"asserts \" : \"\",\n this.emit(node.parameterName),\n node.type ? (0, doc_1.concat)([\" is \", this.emit(node.type)]) : \"\",\n ]);\n case \"ConditionalTypeNode\":\n return (0, doc_1.concat)([\n this.emit(node.checkType),\n \" extends \",\n this.emit(node.extendsType),\n \" ? \",\n this.emit(node.trueType),\n \" : \",\n this.emit(node.falseType),\n ]);\n case \"InferTypeNode\":\n return (0, doc_1.concat)([\"infer \", this.emit(node.typeParameter)]);\n case \"MappedTypeNode\": {\n const ro = node.readonlyToken\n ? (0, syntax_1.tokenToString)(node.readonlyToken.token) === \"readonly\"\n ? \"readonly \"\n : `${(0, syntax_1.tokenToString)(node.readonlyToken.token)}readonly `\n : \"\";\n const q = node.questionToken\n ? (0, syntax_1.tokenToString)(node.questionToken.token) === \"?\"\n ? \"?\"\n : `${(0, syntax_1.tokenToString)(node.questionToken.token)}?`\n : \"\";\n return (0, doc_1.concat)([\n \"{ \",\n ro,\n \"[\",\n this.emit(node.typeParameter.name),\n \" in \",\n node.typeParameter.constraint\n ? this.emit(node.typeParameter.constraint)\n : \"\",\n node.nameType ? (0, doc_1.concat)([\" as \", this.emit(node.nameType)]) : \"\",\n \"]\",\n q,\n node.type ? (0, doc_1.concat)([\": \", this.emit(node.type)]) : \"\",\n \" }\",\n ]);\n }\n case \"TemplateLiteralType\":\n return (0, doc_1.concat)([\n this.emit(node.head),\n (0, doc_1.concat)(node.templateSpans.map((s) => this.emit(s))),\n ]);\n case \"TemplateLiteralTypeSpan\":\n return (0, doc_1.concat)([this.emit(node.type), this.emit(node.literal)]);\n case \"NamedTupleMember\":\n return (0, doc_1.concat)([\n node.dotDotDotToken ? \"...\" : \"\",\n this.emit(node.name),\n node.questionToken ? \"?\" : \"\",\n \": \",\n this.emit(node.type),\n ]);\n case \"OptionalTypeNode\":\n return (0, doc_1.concat)([this.emit(node.type), \"?\"]);\n case \"RestTypeNode\":\n return (0, doc_1.concat)([\"...\", this.emit(node.type)]);\n case \"ImportTypeNode\":\n return (0, doc_1.concat)([\n node.isTypeOf ? \"typeof \" : \"\",\n \"import(\",\n this.emit(node.argument),\n \")\",\n node.qualifier ? (0, doc_1.concat)([\".\", this.emit(node.qualifier)]) : \"\",\n this.typeArguments(node.typeArguments),\n ]);\n case \"CallSignature\":\n return (0, doc_1.concat)([\n this.typeArguments(node.typeParameters),\n this.params(node.parameters),\n this.optType(node.type),\n ]);\n case \"ConstructSignature\":\n return (0, doc_1.concat)([\n \"new \",\n this.typeArguments(node.typeParameters),\n this.params(node.parameters),\n this.optType(node.type),\n ]);\n /* template literals */\n case \"TemplateHead\":\n return (0, doc_1.concat)([\"`\", node.text, \"${\"]);\n case \"TemplateMiddle\":\n return (0, doc_1.concat)([\"}\", node.text, \"${\"]);\n case \"TemplateTail\":\n return (0, doc_1.concat)([\"}\", node.text, \"`\"]);\n case \"NoSubstitutionTemplateLiteral\":\n return (0, doc_1.concat)([\"`\", node.text, \"`\"]);\n /* template & misc expressions */\n case \"TemplateExpression\":\n return (0, doc_1.concat)([\n this.emit(node.head),\n (0, doc_1.concat)(node.templateSpans.map((s) => this.emit(s))),\n ]);\n case \"TemplateSpan\":\n return (0, doc_1.concat)([this.emit(node.expression), this.emit(node.literal)]);\n case \"TaggedTemplateExpression\":\n return (0, doc_1.concat)([\n this.emit(node.tag),\n this.typeArguments(node.typeArguments),\n this.emit(node.template),\n ]);\n case \"YieldExpression\":\n return (0, doc_1.concat)([\n \"yield\",\n node.asteriskToken ? \"*\" : \"\",\n node.expression ? (0, doc_1.concat)([\" \", this.emit(node.expression)]) : \"\",\n ]);\n case \"DeleteExpression\":\n return (0, doc_1.concat)([\"delete \", this.emit(node.expression)]);\n case \"VoidExpression\":\n return (0, doc_1.concat)([\"void \", this.emit(node.expression)]);\n case \"RegularExpressionLiteral\":\n return node.text;\n case \"ClassExpression\":\n return (0, doc_1.concat)([\n this.modifiers(node.modifiers, true),\n \"class\",\n node.name ? (0, doc_1.concat)([\" \", this.emit(node.name)]) : \"\",\n this.typeArguments(node.typeParameters),\n this.heritage(node.heritageClauses),\n \" \",\n this.statementBlock(node.members.map((m) => this.emit(m))),\n ]);\n case \"MetaProperty\":\n return (0, doc_1.concat)([\n (0, syntax_1.tokenToString)(node.keywordToken),\n \".\",\n this.emit(node.name),\n ]);\n case \"CommaListExpression\":\n return (0, doc_1.join)(\", \", node.elements.map((e) => this.emit(e)));\n case \"ComputedPropertyName\":\n return (0, doc_1.concat)([\"[\", this.emit(node.expression), \"]\"]);\n case \"OmittedExpression\":\n return \"\";\n case \"BindingElement\":\n return (0, doc_1.concat)([\n node.dotDotDotToken ? \"...\" : \"\",\n node.propertyName ? (0, doc_1.concat)([this.emit(node.propertyName), \": \"]) : \"\",\n this.emit(node.name),\n node.initializer ? (0, doc_1.concat)([\" = \", this.emit(node.initializer)]) : \"\",\n ]);\n case \"ObjectBindingPattern\":\n return this.delim(\"{\", node.elements.map((e) => this.emit(e)), \"}\", { space: true, trailingComma: true });\n case \"ArrayBindingPattern\":\n return this.delim(\"[\", node.elements.map((e) => this.emit(e)), \"]\", { trailingComma: true });\n case \"TypeAssertion\":\n return (0, doc_1.concat)([\n \"<\",\n this.emit(node.type),\n \">\",\n this.emit(node.expression),\n ]);\n case \"PropertyAccessChain\":\n return (0, doc_1.concat)([\n this.emit(node.expression),\n node.questionDotToken ? \"?.\" : \".\",\n this.emit(node.name),\n ]);\n case \"ElementAccessChain\":\n return (0, doc_1.concat)([\n this.emit(node.expression),\n node.questionDotToken ? \"?.\" : \"\",\n \"[\",\n this.emit(node.argumentExpression),\n \"]\",\n ]);\n case \"CallChain\":\n return (0, doc_1.concat)([\n this.emit(node.expression),\n node.questionDotToken ? \"?.\" : \"\",\n this.typeArguments(node.typeArguments),\n this.params(node.arguments),\n ]);\n case \"NonNullChain\":\n return (0, doc_1.concat)([this.emit(node.expression), \"!\"]);\n default:\n return this.unsupported(node);\n }\n }\n /** Width-aware `|` / `&` type list with leading-operator breaks. */\n binaryType(operator, parts) {\n if (parts.length === 1)\n return parts[0];\n return (0, doc_1.group)((0, doc_1.indent)((0, doc_1.concat)([\n (0, doc_1.ifBreak)((0, doc_1.concat)([doc_1.line, operator, \" \"])),\n (0, doc_1.join)((0, doc_1.concat)([doc_1.line, operator, \" \"]), parts),\n ])));\n }\n unsupported(node) {\n throw new Error(`@ttsc/factory: TsPrinter cannot print node of kind \"${node.kind}\".`);\n }\n}\nexports.TsPrinter = TsPrinter;\n//# sourceMappingURL=TsPrinter.js.map"],"names":[],"mappings":"AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAC7D,OAAO,CAAC,SAAS,GAAG,MAAM;AAC1B,MAAM,KAAK,GAAG,OAAO,CAAC,gBAAgB,CAAC;AACvC,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC;AACpC,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE,WAAW,KAAK;AAC5C,IAAI,MAAM,OAAO,GAAG;AACpB,SAAS,OAAO,CAAC,KAAK,EAAE,MAAM;AAC9B,SAAS,OAAO,CAAC,KAAK,EAAE,KAAK;AAC7B,SAAS,OAAO,CAAC,KAAK,EAAE,KAAK;AAC7B,SAAS,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;AAC9B,IAAI,OAAO,WAAW,KAAK;AAC3B,UAAU,CAAC,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;AAC5C,UAAU,CAAC,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;AAC7C,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,SAAS,CAAC;AAChB,IAAI,WAAW;AACf,IAAI,OAAO;AACX,IAAI,QAAQ;AACZ,IAAI,WAAW,CAAC,OAAO,GAAG,EAAE,EAAE;AAC9B,QAAQ,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,UAAU,IAAI,EAAE;AACnD,QAAQ,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,IAAI,IAAI;AAC7C,QAAQ,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO,IAAI,IAAI;AAC/C,IAAI;AACJ;AACA,IAAI,KAAK,CAAC,IAAI,EAAE;AAChB,QAAQ,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3C,IAAI;AACJ;AACA,IAAI,UAAU,CAAC,KAAK,EAAE;AACtB,QAAQ,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3F,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,SAAS,CAAC,UAAU,EAAE,UAAU,GAAG,EAAE,EAAE;AAC3C,QAAQ,MAAM,IAAI,GAAG;AACrB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU;AACxB,QAAQ,QAAQ,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ;AAC3G,IAAI;AACJ;AACA;AACA;AACA,IAAI,MAAM,CAAC,GAAG,EAAE;AAChB,QAAQ,OAAO,IAAI,KAAK,CAAC,gBAAgB,EAAE,GAAG,EAAE;AAChD,YAAY,UAAU,EAAE,IAAI,CAAC,WAAW;AACxC,YAAY,MAAM,EAAE,IAAI,CAAC,OAAO;AAChC,YAAY,OAAO,EAAE,IAAI,CAAC,QAAQ;AAClC,SAAS,CAAC;AACV,IAAI;AACJ;AACA,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,GAAG,EAAE,EAAE;AACzC,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;AAC9B,YAAY,OAAO,IAAI,GAAG,KAAK;AAC/B,QAAQ,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,QAAQ;AAC3D,QAAQ,OAAO,IAAI,KAAK,CAAC,KAAK,EAAE,IAAI,KAAK,CAAC,MAAM,EAAE;AAClD,YAAY,IAAI;AAChB,YAAY,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,IAAI,KAAK,CAAC,IAAI,EAAE,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;AACpH,YAAY,IAAI,CAAC,aAAa,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,EAAE;AAC7D,YAAY,EAAE;AACd,YAAY,KAAK;AACjB,SAAS,CAAC,EAAE,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC;AACrC,IAAI;AACJ;AACA,IAAI,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE;AACnC,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;AAC9B,YAAY,OAAO,IAAI;AACvB,QAAQ,OAAO,IAAI,KAAK,CAAC,KAAK,EAAE,IAAI,KAAK,CAAC,MAAM,EAAE;AAClD,YAAY,GAAG;AACf,YAAY,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,KAAK,CAAC,IAAI,EAAE,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;AAC5H,YAAY,IAAI,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC;AACnC,YAAY,KAAK,CAAC,IAAI;AACtB,YAAY,GAAG;AACf,SAAS,CAAC,EAAE,UAAU,CAAC;AACvB,IAAI;AACJ;AACA,IAAI,cAAc,CAAC,KAAK,EAAE;AAC1B,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;AAC9B,YAAY,OAAO,IAAI;AACvB,QAAQ,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;AACjC,YAAY,GAAG;AACf,YAAY,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;AAC1G,YAAY,KAAK,CAAC,QAAQ;AAC1B,YAAY,GAAG;AACf,SAAS,CAAC;AACV,IAAI;AACJ,IAAI,aAAa,CAAC,IAAI,EAAE;AACxB,QAAQ,OAAO,IAAI,IAAI,IAAI,CAAC;AAC5B,cAAc,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE;AAClE,gBAAgB,aAAa,EAAE,IAAI;AACnC,aAAa;AACb,cAAc,EAAE;AAChB,IAAI;AACJ,IAAI,MAAM,CAAC,MAAM,EAAE;AACnB,QAAQ,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE;AACrE,YAAY,aAAa,EAAE,IAAI;AAC/B,SAAS,CAAC;AACV,IAAI;AACJ,IAAI,SAAS,CAAC,IAAI,EAAE,mBAAmB,EAAE;AACzC,QAAQ,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;AACtC,YAAY,OAAO,EAAE;AACrB,QAAQ,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC;AACrE,QAAQ,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC;AACjE,QAAQ,MAAM,KAAK,GAAG,EAAE;AACxB,QAAQ,MAAM,GAAG,GAAG,mBAAmB,GAAG,KAAK,CAAC,QAAQ,GAAG,GAAG;AAC9D,QAAQ,IAAI,UAAU,CAAC,MAAM;AAC7B,YAAY,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;AACtF,QAAQ,IAAI,MAAM,CAAC,MAAM;AACzB,YAAY,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;AAClF,QAAQ,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC;AACvC,IAAI;AACJ,IAAI,QAAQ,CAAC,OAAO,EAAE;AACtB,QAAQ,OAAO,OAAO,IAAI,OAAO,CAAC;AAClC,cAAc,IAAI,KAAK,CAAC,MAAM,EAAE;AAChC,gBAAgB,GAAG;AACnB,gBAAgB,IAAI,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACtE,aAAa;AACb,cAAc,EAAE;AAChB,IAAI;AACJ,IAAI,OAAO,CAAC,IAAI,EAAE;AAClB,QAAQ,OAAO,IAAI,GAAG,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE;AACrE,IAAI;AACJ,IAAI,OAAO,CAAC,IAAI,EAAE;AAClB,QAAQ,OAAO,IAAI,GAAG,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG;AACrE,IAAI;AACJ,IAAI,IAAI,CAAC,IAAI,EAAE;AACf,QAAQ,QAAQ,IAAI,CAAC,IAAI;AACzB;AACA,YAAY,KAAK,YAAY;AAC7B,gBAAgB,OAAO,IAAI,CAAC,IAAI;AAChC,YAAY,KAAK,mBAAmB;AACpC,gBAAgB,OAAO,IAAI,CAAC,IAAI;AAChC,YAAY,KAAK,eAAe;AAChC,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AAC5F,YAAY,KAAK,OAAO;AACxB,gBAAgB,OAAO,IAAI,QAAQ,CAAC,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC;AAC9D,YAAY,KAAK,WAAW;AAC5B,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;AAC3E;AACA,YAAY,KAAK,eAAe;AAChC,gBAAgB,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC;AAChE,YAAY,KAAK,gBAAgB;AACjC,gBAAgB,OAAO,IAAI,CAAC,IAAI;AAChC,YAAY,KAAK,eAAe;AAChC,gBAAgB,OAAO,IAAI,CAAC,IAAI;AAChC;AACA,YAAY,KAAK,wBAAwB;AACzC,gBAAgB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;AACjJ,YAAY,KAAK,yBAAyB;AAC1C,gBAAgB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE;AACtF,oBAAoB,KAAK,EAAE,IAAI;AAC/B,oBAAoB,aAAa,EAAE,IAAI;AACvC,oBAAoB,UAAU,EAAE,IAAI,CAAC,SAAS,KAAK,IAAI;AACvD,iBAAiB,CAAC;AAClB,YAAY,KAAK,oBAAoB;AACrC,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;AACzC,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACxC,oBAAoB,IAAI;AACxB,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;AAC/C,iBAAiB,CAAC;AAClB,YAAY,KAAK,6BAA6B;AAC9C,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;AACzC,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACxC,oBAAoB,IAAI,CAAC;AACzB,0BAA0B,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;AAChG,0BAA0B,EAAE;AAC5B,iBAAiB,CAAC;AAClB,YAAY,KAAK,kBAAkB;AACnC,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;AAC7E,YAAY,KAAK,0BAA0B;AAC3C,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACjG,YAAY,KAAK,yBAAyB;AAC1C,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;AACzC,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;AAC9C,oBAAoB,GAAG;AACvB,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC;AACtD,oBAAoB,GAAG;AACvB,iBAAiB,CAAC;AAClB,YAAY,KAAK,gBAAgB;AACjC,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;AACzC,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;AAC9C,oBAAoB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC;AAC1D,oBAAoB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;AAC/C,iBAAiB,CAAC;AAClB,YAAY,KAAK,eAAe;AAChC,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;AACzC,oBAAoB,MAAM;AAC1B,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;AAC9C,oBAAoB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC;AAC1D,oBAAoB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC;AACrD,iBAAiB,CAAC;AAClB,YAAY,KAAK,yBAAyB;AAC1C,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC,CAAC;AAChF,YAAY,KAAK,kBAAkB;AACnC,gBAAgB,OAAO,IAAI,KAAK,CAAC,KAAK,EAAE,IAAI,KAAK,CAAC,MAAM,EAAE;AAC1D,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACxC,oBAAoB,GAAG;AACvB,oBAAoB,IAAI,QAAQ,CAAC,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC;AAC9D,oBAAoB,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC7F,iBAAiB,CAAC,CAAC;AACnB,YAAY,KAAK,uBAAuB;AACxC,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,QAAQ,CAAC,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;AAC/G,YAAY,KAAK,wBAAwB;AACzC,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,QAAQ,CAAC,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC/G,YAAY,KAAK,uBAAuB;AACxC,gBAAgB,OAAO,IAAI,KAAK,CAAC,KAAK,EAAE,IAAI,KAAK,CAAC,MAAM,EAAE;AAC1D,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;AAC7C,oBAAoB,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,MAAM,EAAE;AACxD,wBAAwB,KAAK,CAAC,IAAI;AAClC,wBAAwB,IAAI;AAC5B,wBAAwB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;AAChD,wBAAwB,KAAK,CAAC,IAAI;AAClC,wBAAwB,IAAI;AAC5B,wBAAwB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;AACjD,qBAAqB,CAAC,CAAC;AACvB,iBAAiB,CAAC,CAAC;AACnB,YAAY,KAAK,eAAe;AAChC,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;AACzC,oBAAoB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC;AACzD,oBAAoB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC;AAC3D,oBAAoB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;AAChD,oBAAoB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;AAC3C,oBAAoB,MAAM;AAC1B,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACxC,iBAAiB,CAAC;AAClB,YAAY,KAAK,oBAAoB;AACrC,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;AACzC,oBAAoB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC;AACzD,oBAAoB,UAAU;AAC9B,oBAAoB,IAAI,CAAC,aAAa,GAAG,GAAG,GAAG,EAAE;AACjD,oBAAoB,IAAI,CAAC,IAAI,GAAG,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG;AACpF,oBAAoB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC;AAC3D,oBAAoB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;AAChD,oBAAoB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;AAC3C,oBAAoB,GAAG;AACvB,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACxC,iBAAiB,CAAC;AAClB,YAAY,KAAK,cAAc;AAC/B,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;AACzC,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;AAC9C,oBAAoB,MAAM;AAC1B,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACxC,iBAAiB,CAAC;AAClB,YAAY,KAAK,qBAAqB;AACtC,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;AACzC,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;AAC9C,oBAAoB,aAAa;AACjC,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACxC,iBAAiB,CAAC;AAClB,YAAY,KAAK,mBAAmB;AACpC,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC,CAAC;AAC3E,YAAY,KAAK,eAAe;AAChC,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;AAC7E,YAAY,KAAK,iBAAiB;AAClC,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;AAChF,YAAY,KAAK,kBAAkB;AACnC,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;AACjF;AACA,YAAY,KAAK,iBAAiB;AAClC,gBAAgB,OAAO,IAAI,QAAQ,CAAC,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC;AAChE,YAAY,KAAK,mBAAmB;AACpC,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;AACzC,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;AAC5C,oBAAoB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC;AAC1D,iBAAiB,CAAC;AAClB,YAAY,KAAK,eAAe;AAChC,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,CAAC;AAC7E,YAAY,KAAK,eAAe;AAChC,gBAAgB,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAChF,YAAY,KAAK,sBAAsB;AACvC,gBAAgB,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAChF,YAAY,KAAK,iBAAiB;AAClC,gBAAgB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;AAC9C,YAAY,KAAK,iBAAiB;AAClC,gBAAgB,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;AACrF,YAAY,KAAK,kBAAkB;AACnC,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;AACzC,oBAAoB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC;AAC3D,oBAAoB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;AAChD,oBAAoB,MAAM;AAC1B,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACxC,iBAAiB,CAAC;AAClB,YAAY,KAAK,eAAe;AAChC,gBAAgB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE;AACpF,oBAAoB,aAAa,EAAE,IAAI;AACvC,iBAAiB,CAAC;AAClB,YAAY,KAAK,uBAAuB;AACxC,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;AAC1E,YAAY,KAAK,kBAAkB;AACnC,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;AACzC,oBAAoB,IAAI,QAAQ,CAAC,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC;AAC9D,oBAAoB,GAAG;AACvB,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACxC,iBAAiB,CAAC;AAClB,YAAY,KAAK,uBAAuB;AACxC,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;AACzC,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;AAC9C,oBAAoB,GAAG;AACvB,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;AAC7C,oBAAoB,GAAG;AACvB,iBAAiB,CAAC;AAClB,YAAY,KAAK,eAAe;AAChC,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC/E,YAAY,KAAK,6BAA6B;AAC9C,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;AACzC,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;AAC9C,oBAAoB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC;AAC1D,iBAAiB,CAAC;AAClB,YAAY,KAAK,mBAAmB;AACpC,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;AACzC,oBAAoB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC;AACzD,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACxC,oBAAoB,IAAI,CAAC,aAAa,GAAG,GAAG,GAAG,EAAE;AACjD,oBAAoB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;AAC3C,iBAAiB,CAAC;AAClB,YAAY,KAAK,gBAAgB;AACjC,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;AACzC,oBAAoB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC;AACzD,oBAAoB,GAAG;AACvB,oBAAoB,IAAI,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACnF,oBAAoB,KAAK;AACzB,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACxC,iBAAiB,CAAC;AAClB,YAAY,KAAK,iBAAiB;AAClC,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;AACzC,oBAAoB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC;AACzD,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACxC,oBAAoB,IAAI,CAAC,aAAa,GAAG,GAAG,GAAG,EAAE;AACjD,oBAAoB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC;AAC3D,oBAAoB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;AAChD,oBAAoB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;AAC3C,iBAAiB,CAAC;AAClB,YAAY,KAAK,0BAA0B;AAC3C,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;AACzC,oBAAoB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC;AACzD,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACxC,oBAAoB,IAAI,CAAC;AACzB,0BAA0B,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AACrF,0BAA0B,EAAE;AAC5B,oBAAoB,IAAI,CAAC,OAAO,GAAG,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE;AAC3F,iBAAiB,CAAC;AAClB;AACA,YAAY,KAAK,sBAAsB;AACvC,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;AACzC,oBAAoB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC;AACzD,oBAAoB,IAAI,CAAC,cAAc,GAAG,KAAK,GAAG,EAAE;AACpD,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACxC,oBAAoB,IAAI,CAAC,aAAa,GAAG,GAAG,GAAG,EAAE;AACjD,oBAAoB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;AAC3C,oBAAoB,IAAI,CAAC,WAAW,GAAG,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,EAAE;AACnG,iBAAiB,CAAC;AAClB,YAAY,KAAK,gBAAgB;AACjC,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;AACzC,oBAAoB,IAAI,QAAQ,CAAC,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC;AAC3D,oBAAoB,GAAG;AACvB,oBAAoB,IAAI,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9E,iBAAiB,CAAC;AAClB;AACA,YAAY,KAAK,mBAAmB;AACpC,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;AACzC,oBAAoB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC;AACzD,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC;AACnD,oBAAoB,GAAG;AACvB,iBAAiB,CAAC;AAClB,YAAY,KAAK,yBAAyB,EAAE;AAC5C,gBAAgB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,KAAK,CAAC,GAAG,OAAO,GAAG,IAAI,CAAC,KAAK,KAAK,CAAC,GAAG,KAAK,GAAG,KAAK;AAC7F,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;AACzC,oBAAoB,OAAO;AAC3B,oBAAoB,GAAG;AACvB,oBAAoB,IAAI,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACrF,iBAAiB,CAAC;AAClB,YAAY;AACZ,YAAY,KAAK,qBAAqB;AACtC,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;AACzC,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACxC,oBAAoB,IAAI,CAAC,gBAAgB,GAAG,GAAG,GAAG,EAAE;AACpD,oBAAoB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;AAC3C,oBAAoB,IAAI,CAAC,WAAW,GAAG,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,EAAE;AACnG,iBAAiB,CAAC;AAClB,YAAY,KAAK,qBAAqB;AACtC,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC,CAAC;AAC3E,YAAY,KAAK,iBAAiB;AAClC,gBAAgB,OAAO,IAAI,CAAC;AAC5B,sBAAsB,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC;AACpF,sBAAsB,SAAS;AAC/B,YAAY,KAAK,gBAAgB;AACjC,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC,CAAC;AACrF,YAAY,KAAK,aAAa;AAC9B,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;AACzC,oBAAoB,MAAM;AAC1B,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;AAC9C,oBAAoB,IAAI;AACxB,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;AACjD,oBAAoB,IAAI,CAAC;AACzB,0BAA0B,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AACrF,0BAA0B,EAAE;AAC5B,iBAAiB,CAAC;AAClB,YAAY,KAAK,OAAO;AACxB,gBAAgB,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACpF;AACA,YAAY,KAAK,qBAAqB;AACtC,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;AACzC,oBAAoB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC;AACxD,oBAAoB,UAAU;AAC9B,oBAAoB,IAAI,CAAC,aAAa,GAAG,GAAG,GAAG,EAAE;AACjD,oBAAoB,GAAG;AACvB,oBAAoB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;AACzD,oBAAoB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC;AAC3D,oBAAoB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;AAChD,oBAAoB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;AAC3C,oBAAoB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;AAC3C,iBAAiB,CAAC;AAClB,YAAY,KAAK,kBAAkB;AACnC,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;AACzC,oBAAoB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC;AACxD,oBAAoB,OAAO;AAC3B,oBAAoB,IAAI,CAAC,IAAI,GAAG,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE;AACnF,oBAAoB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC;AAC3D,oBAAoB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC;AACvD,oBAAoB,GAAG;AACvB,oBAAoB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9E,iBAAiB,CAAC;AAClB,YAAY,KAAK,qBAAqB;AACtC,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;AACzC,oBAAoB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC;AACxD,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACxC,oBAAoB,IAAI,CAAC;AACzB,0BAA0B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,0BAA0B;AACnE,0BAA0B,EAAE;AAC5B,oBAAoB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;AAC3C,oBAAoB,IAAI,CAAC,WAAW,GAAG,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,EAAE;AACnG,oBAAoB,GAAG;AACvB,iBAAiB,CAAC;AAClB,YAAY,KAAK,mBAAmB;AACpC,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;AACzC,oBAAoB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC;AACxD,oBAAoB,IAAI,CAAC,aAAa,GAAG,GAAG,GAAG,EAAE;AACjD,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACxC,oBAAoB,IAAI,CAAC,aAAa,GAAG,GAAG,GAAG,EAAE;AACjD,oBAAoB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC;AAC3D,oBAAoB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;AAChD,oBAAoB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;AAC3C,oBAAoB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;AAC3C,iBAAiB,CAAC;AAClB,YAAY,KAAK,wBAAwB;AACzC,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;AACzC,oBAAoB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC;AACxD,oBAAoB,aAAa;AACjC,oBAAoB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;AAChD,oBAAoB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;AAC3C,iBAAiB,CAAC;AAClB,YAAY,KAAK,wBAAwB;AACzC,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;AACzC,oBAAoB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC;AACxD,oBAAoB,MAAM;AAC1B,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACxC,oBAAoB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;AAChD,oBAAoB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;AAC3C,oBAAoB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;AAC3C,iBAAiB,CAAC;AAClB,YAAY,KAAK,wBAAwB;AACzC,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;AACzC,oBAAoB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC;AACxD,oBAAoB,MAAM;AAC1B,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACxC,oBAAoB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;AAChD,oBAAoB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;AAC3C,iBAAiB,CAAC;AAClB,YAAY,KAAK,sBAAsB;AACvC,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;AACzC,oBAAoB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC;AACxD,oBAAoB,YAAY;AAChC,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACxC,oBAAoB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC;AAC3D,oBAAoB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC;AACvD,oBAAoB,GAAG;AACvB,oBAAoB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;AACjF,iBAAiB,CAAC;AAClB,YAAY,KAAK,sBAAsB;AACvC,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;AACzC,oBAAoB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC;AACxD,oBAAoB,OAAO;AAC3B,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACxC,oBAAoB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC;AAC3D,oBAAoB,KAAK;AACzB,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACxC,oBAAoB,GAAG;AACvB,iBAAiB,CAAC;AAClB,YAAY,KAAK,iBAAiB;AAClC,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;AACzC,oBAAoB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC;AACxD,oBAAoB,OAAO;AAC3B,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACxC,oBAAoB,GAAG;AACvB,oBAAoB,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK;AAC5C,0BAA0B;AAC1B,0BAA0B,IAAI,KAAK,CAAC,MAAM,EAAE;AAC5C,4BAA4B,GAAG;AAC/B,4BAA4B,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,MAAM,EAAE;AAChE,gCAAgC,KAAK,CAAC,QAAQ;AAC9C,gCAAgC,IAAI,KAAK,CAAC,IAAI,EAAE,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAChI,gCAAgC,GAAG;AACnC,6BAA6B,CAAC,CAAC;AAC/B,4BAA4B,KAAK,CAAC,QAAQ;AAC1C,4BAA4B,GAAG;AAC/B,yBAAyB,CAAC;AAC1B,iBAAiB,CAAC;AAClB,YAAY,KAAK,YAAY;AAC7B,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;AACzC,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACxC,oBAAoB,IAAI,CAAC,WAAW,GAAG,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,EAAE;AACnG,iBAAiB,CAAC;AAClB;AACA,YAAY,KAAK,mBAAmB;AACpC,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;AACzC,oBAAoB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC;AACzD,oBAAoB,SAAS;AAC7B,oBAAoB,IAAI,CAAC;AACzB,0BAA0B,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,QAAQ,CAAC;AACpF,0BAA0B,EAAE;AAC5B,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC;AACnD,oBAAoB,GAAG;AACvB,iBAAiB,CAAC;AAClB,YAAY,KAAK,cAAc,EAAE;AACjC,gBAAgB,MAAM,KAAK,GAAG,EAAE;AAChC,gBAAgB,IAAI,IAAI,CAAC,IAAI;AAC7B,oBAAoB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACpD,gBAAgB,IAAI,IAAI,CAAC,aAAa;AACtC,oBAAoB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AAC7D,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,UAAU,GAAG,OAAO,GAAG,EAAE,EAAE,IAAI,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;AACxG,YAAY;AACZ,YAAY,KAAK,cAAc;AAC/B,gBAAgB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;AACzH,YAAY,KAAK,iBAAiB;AAClC,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;AACzC,oBAAoB,IAAI,CAAC,UAAU,GAAG,OAAO,GAAG,EAAE;AAClD,oBAAoB,IAAI,CAAC;AACzB,0BAA0B,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;AAClF,0BAA0B,EAAE;AAC5B,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACxC,iBAAiB,CAAC;AAClB,YAAY,KAAK,iBAAiB;AAClC,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACzE,YAAY,KAAK,mBAAmB;AACpC,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;AACzC,oBAAoB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC;AACzD,oBAAoB,SAAS;AAC7B,oBAAoB,IAAI,CAAC,UAAU,GAAG,OAAO,GAAG,EAAE;AAClD,oBAAoB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,GAAG;AAC1E,oBAAoB,IAAI,CAAC;AACzB,0BAA0B,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;AACvF,0BAA0B,EAAE;AAC5B,oBAAoB,GAAG;AACvB,iBAAiB,CAAC;AAClB,YAAY,KAAK,cAAc;AAC/B,gBAAgB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;AACzH,YAAY,KAAK,iBAAiB;AAClC,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;AACzC,oBAAoB,IAAI,CAAC,UAAU,GAAG,OAAO,GAAG,EAAE;AAClD,oBAAoB,IAAI,CAAC;AACzB,0BAA0B,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;AAClF,0BAA0B,EAAE;AAC5B,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACxC,iBAAiB,CAAC;AAClB,YAAY,KAAK,kBAAkB;AACnC,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;AACzC,oBAAoB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC;AACzD,oBAAoB,IAAI,CAAC,cAAc,GAAG,WAAW,GAAG,iBAAiB;AACzE,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;AAC9C,oBAAoB,GAAG;AACvB,iBAAiB,CAAC;AAClB;AACA,YAAY,KAAK,YAAY;AAC7B,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;AACzC,oBAAoB,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7F,oBAAoB,KAAK,CAAC,QAAQ;AAClC,iBAAiB,CAAC;AAClB;AACA,YAAY,KAAK,cAAc;AAC/B,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;AACzC,oBAAoB,OAAO;AAC3B,oBAAoB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE;AACvE,oBAAoB,IAAI;AACxB,oBAAoB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE;AACnE,oBAAoB,IAAI;AACxB,oBAAoB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE;AACvE,oBAAoB,IAAI;AACxB,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;AAC7C,iBAAiB,CAAC;AAClB,YAAY,KAAK,gBAAgB;AACjC,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;AACzC,oBAAoB,OAAO;AAC3B,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;AAC/C,oBAAoB,MAAM;AAC1B,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;AAC9C,oBAAoB,IAAI;AACxB,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;AAC7C,iBAAiB,CAAC;AAClB,YAAY,KAAK,gBAAgB;AACjC,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;AACzC,oBAAoB,MAAM;AAC1B,oBAAoB,IAAI,CAAC,aAAa,GAAG,QAAQ,GAAG,EAAE;AACtD,oBAAoB,GAAG;AACvB,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;AAC/C,oBAAoB,MAAM;AAC1B,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;AAC9C,oBAAoB,IAAI;AACxB,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;AAC7C,iBAAiB,CAAC;AAClB,YAAY,KAAK,gBAAgB;AACjC,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;AACzC,oBAAoB,SAAS;AAC7B,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;AAC9C,oBAAoB,IAAI;AACxB,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;AAC7C,iBAAiB,CAAC;AAClB,YAAY,KAAK,aAAa;AAC9B,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;AACzC,oBAAoB,KAAK;AACzB,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;AAC7C,oBAAoB,UAAU;AAC9B,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;AAC9C,oBAAoB,IAAI;AACxB,iBAAiB,CAAC;AAClB,YAAY,KAAK,iBAAiB;AAClC,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;AACzC,oBAAoB,UAAU;AAC9B,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;AAC9C,oBAAoB,IAAI;AACxB,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;AAC7C,iBAAiB,CAAC;AAClB,YAAY,KAAK,WAAW;AAC5B,gBAAgB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK;AAC/C,sBAAsB;AACtB,sBAAsB,IAAI,KAAK,CAAC,MAAM,EAAE;AACxC,wBAAwB,GAAG;AAC3B,wBAAwB,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,MAAM,EAAE;AAC5D,4BAA4B,KAAK,CAAC,QAAQ;AAC1C,4BAA4B,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAClG,yBAAyB,CAAC,CAAC;AAC3B,wBAAwB,KAAK,CAAC,QAAQ;AACtC,wBAAwB,GAAG;AAC3B,qBAAqB,CAAC;AACtB,YAAY,KAAK,YAAY;AAC7B,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;AACzC,oBAAoB,OAAO;AAC3B,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;AAC9C,oBAAoB,GAAG;AACvB,oBAAoB,IAAI,CAAC,UAAU,CAAC;AACpC,0BAA0B,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,MAAM,EAAE;AAC9D,4BAA4B,KAAK,CAAC,QAAQ;AAC1C,4BAA4B,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACrG,yBAAyB,CAAC;AAC1B,0BAA0B,EAAE;AAC5B,iBAAiB,CAAC;AAClB,YAAY,KAAK,eAAe;AAChC,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;AACzC,oBAAoB,UAAU;AAC9B,oBAAoB,IAAI,CAAC,UAAU,CAAC;AACpC,0BAA0B,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,MAAM,EAAE;AAC9D,4BAA4B,KAAK,CAAC,QAAQ;AAC1C,4BAA4B,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACrG,yBAAyB,CAAC;AAC1B,0BAA0B,EAAE;AAC5B,iBAAiB,CAAC;AAClB,YAAY,KAAK,gBAAgB;AACjC,gBAAgB,OAAO,IAAI,CAAC;AAC5B,sBAAsB,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC;AAC9E,sBAAsB,QAAQ;AAC9B,YAAY,KAAK,mBAAmB;AACpC,gBAAgB,OAAO,IAAI,CAAC;AAC5B,sBAAsB,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC;AACjF,sBAAsB,WAAW;AACjC,YAAY,KAAK,cAAc;AAC/B,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;AACzC,oBAAoB,MAAM;AAC1B,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;AAC5C,oBAAoB,IAAI,CAAC,WAAW,GAAG,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,EAAE;AACjG,oBAAoB,IAAI,CAAC;AACzB,0BAA0B,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AACvF,0BAA0B,EAAE;AAC5B,iBAAiB,CAAC;AAClB,YAAY,KAAK,aAAa;AAC9B,gBAAgB,OAAO,IAAI,CAAC;AAC5B,sBAAsB,IAAI,KAAK,CAAC,MAAM,EAAE;AACxC,wBAAwB,SAAS;AACjC,wBAAwB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC;AAC3D,wBAAwB,IAAI;AAC5B,wBAAwB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;AAC7C,qBAAqB;AACrB,sBAAsB,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AAC1E,YAAY,KAAK,kBAAkB;AACnC,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;AAClG,YAAY,KAAK,eAAe;AAChC,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;AACzC,oBAAoB,QAAQ;AAC5B,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;AAC9C,oBAAoB,IAAI;AACxB,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;AAC7C,iBAAiB,CAAC;AAClB,YAAY,KAAK,mBAAmB;AACpC,gBAAgB,OAAO,WAAW;AAClC,YAAY,KAAK,gBAAgB;AACjC,gBAAgB,OAAO,GAAG;AAC1B;AACA,YAAY,KAAK,mBAAmB;AACpC,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;AACzC,oBAAoB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC;AACxD,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,eAAe,GAAG,SAAS,GAAG,YAAY;AACjF,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACxC,oBAAoB,IAAI,CAAC,IAAI,GAAG,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG;AACpF,iBAAiB,CAAC;AAClB,YAAY,KAAK,aAAa;AAC9B,gBAAgB,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACpF,YAAY,KAAK,6BAA6B;AAC9C,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAC3E,YAAY,KAAK,yBAAyB;AAC1C,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;AACzC,oBAAoB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC;AACzD,oBAAoB,SAAS;AAC7B,oBAAoB,IAAI,CAAC,UAAU,GAAG,OAAO,GAAG,EAAE;AAClD,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACxC,oBAAoB,KAAK;AACzB,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC;AACnD,oBAAoB,GAAG;AACvB,iBAAiB,CAAC;AAClB,YAAY,KAAK,yBAAyB;AAC1C,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC,CAAC;AACvF,YAAY,KAAK,4BAA4B;AAC7C,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,sBAAsB,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;AAC7F,YAAY,KAAK,uBAAuB;AACxC,gBAAgB,OAAO,GAAG;AAC1B,YAAY,KAAK,iBAAiB;AAClC,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACzE;AACA,YAAY,KAAK,cAAc;AAC/B,gBAAgB,OAAO,MAAM;AAC7B,YAAY,KAAK,qBAAqB;AACtC,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;AACzC,oBAAoB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC;AACzD,oBAAoB,MAAM;AAC1B,oBAAoB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC;AAC3D,oBAAoB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;AAChD,oBAAoB,MAAM;AAC1B,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACxC,iBAAiB,CAAC;AAClB,YAAY,KAAK,mBAAmB;AACpC,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;AACzC,oBAAoB,IAAI,CAAC,eAAe,GAAG,UAAU,GAAG,EAAE;AAC1D,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;AACjD,oBAAoB,IAAI,CAAC,IAAI,GAAG,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE;AACtF,iBAAiB,CAAC;AAClB,YAAY,KAAK,qBAAqB;AACtC,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;AACzC,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;AAC7C,oBAAoB,WAAW;AAC/B,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;AAC/C,oBAAoB,KAAK;AACzB,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;AAC5C,oBAAoB,KAAK;AACzB,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;AAC7C,iBAAiB,CAAC;AAClB,YAAY,KAAK,eAAe;AAChC,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;AACnF,YAAY,KAAK,gBAAgB,EAAE;AACnC,gBAAgB,MAAM,EAAE,GAAG,IAAI,CAAC;AAChC,sBAAsB,IAAI,QAAQ,CAAC,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK;AAChF,0BAA0B;AAC1B,0BAA0B,CAAC,EAAE,IAAI,QAAQ,CAAC,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,SAAS;AAC5F,sBAAsB,EAAE;AACxB,gBAAgB,MAAM,CAAC,GAAG,IAAI,CAAC;AAC/B,sBAAsB,IAAI,QAAQ,CAAC,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK;AAChF,0BAA0B;AAC1B,0BAA0B,CAAC,EAAE,IAAI,QAAQ,CAAC,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;AACpF,sBAAsB,EAAE;AACxB,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;AACzC,oBAAoB,IAAI;AACxB,oBAAoB,EAAE;AACtB,oBAAoB,GAAG;AACvB,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;AACtD,oBAAoB,MAAM;AAC1B,oBAAoB,IAAI,CAAC,aAAa,CAAC;AACvC,0BAA0B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU;AACjE,0BAA0B,EAAE;AAC5B,oBAAoB,IAAI,CAAC,QAAQ,GAAG,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,EAAE;AAC9F,oBAAoB,GAAG;AACvB,oBAAoB,CAAC;AACrB,oBAAoB,IAAI,CAAC,IAAI,GAAG,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE;AACpF,oBAAoB,IAAI;AACxB,iBAAiB,CAAC;AAClB,YAAY;AACZ,YAAY,KAAK,qBAAqB;AACtC,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;AACzC,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACxC,oBAAoB,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAClF,iBAAiB,CAAC;AAClB,YAAY,KAAK,yBAAyB;AAC1C,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;AACzF,YAAY,KAAK,kBAAkB;AACnC,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;AACzC,oBAAoB,IAAI,CAAC,cAAc,GAAG,KAAK,GAAG,EAAE;AACpD,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACxC,oBAAoB,IAAI,CAAC,aAAa,GAAG,GAAG,GAAG,EAAE;AACjD,oBAAoB,IAAI;AACxB,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACxC,iBAAiB,CAAC;AAClB,YAAY,KAAK,kBAAkB;AACnC,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;AACrE,YAAY,KAAK,cAAc;AAC/B,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACvE,YAAY,KAAK,gBAAgB;AACjC,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;AACzC,oBAAoB,IAAI,CAAC,QAAQ,GAAG,SAAS,GAAG,EAAE;AAClD,oBAAoB,SAAS;AAC7B,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;AAC5C,oBAAoB,GAAG;AACvB,oBAAoB,IAAI,CAAC,SAAS,GAAG,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE;AAC7F,oBAAoB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC;AAC1D,iBAAiB,CAAC;AAClB,YAAY,KAAK,eAAe;AAChC,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;AACzC,oBAAoB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC;AAC3D,oBAAoB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;AAChD,oBAAoB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;AAC3C,iBAAiB,CAAC;AAClB,YAAY,KAAK,oBAAoB;AACrC,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;AACzC,oBAAoB,MAAM;AAC1B,oBAAoB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC;AAC3D,oBAAoB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;AAChD,oBAAoB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;AAC3C,iBAAiB,CAAC;AAClB;AACA,YAAY,KAAK,cAAc;AAC/B,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAChE,YAAY,KAAK,gBAAgB;AACjC,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAChE,YAAY,KAAK,cAAc;AAC/B,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AAC/D,YAAY,KAAK,+BAA+B;AAChD,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AAC/D;AACA,YAAY,KAAK,oBAAoB;AACrC,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;AACzC,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACxC,oBAAoB,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAClF,iBAAiB,CAAC;AAClB,YAAY,KAAK,cAAc;AAC/B,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;AAC/F,YAAY,KAAK,0BAA0B;AAC3C,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;AACzC,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;AACvC,oBAAoB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC;AAC1D,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;AAC5C,iBAAiB,CAAC;AAClB,YAAY,KAAK,iBAAiB;AAClC,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;AACzC,oBAAoB,OAAO;AAC3B,oBAAoB,IAAI,CAAC,aAAa,GAAG,GAAG,GAAG,EAAE;AACjD,oBAAoB,IAAI,CAAC,UAAU,GAAG,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,EAAE;AAC/F,iBAAiB,CAAC;AAClB,YAAY,KAAK,kBAAkB;AACnC,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;AACjF,YAAY,KAAK,gBAAgB;AACjC,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;AAC/E,YAAY,KAAK,0BAA0B;AAC3C,gBAAgB,OAAO,IAAI,CAAC,IAAI;AAChC,YAAY,KAAK,iBAAiB;AAClC,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;AACzC,oBAAoB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC;AACxD,oBAAoB,OAAO;AAC3B,oBAAoB,IAAI,CAAC,IAAI,GAAG,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE;AACnF,oBAAoB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC;AAC3D,oBAAoB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC;AACvD,oBAAoB,GAAG;AACvB,oBAAoB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9E,iBAAiB,CAAC;AAClB,YAAY,KAAK,cAAc;AAC/B,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;AACzC,oBAAoB,IAAI,QAAQ,CAAC,aAAa,EAAE,IAAI,CAAC,YAAY,CAAC;AAClE,oBAAoB,GAAG;AACvB,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACxC,iBAAiB,CAAC;AAClB,YAAY,KAAK,qBAAqB;AACtC,gBAAgB,OAAO,IAAI,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACpF,YAAY,KAAK,sBAAsB;AACvC,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC,CAAC;AAChF,YAAY,KAAK,mBAAmB;AACpC,gBAAgB,OAAO,EAAE;AACzB,YAAY,KAAK,gBAAgB;AACjC,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;AACzC,oBAAoB,IAAI,CAAC,cAAc,GAAG,KAAK,GAAG,EAAE;AACpD,oBAAoB,IAAI,CAAC,YAAY,GAAG,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,EAAE;AACpG,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACxC,oBAAoB,IAAI,CAAC,WAAW,GAAG,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,EAAE;AACnG,iBAAiB,CAAC;AAClB,YAAY,KAAK,sBAAsB;AACvC,gBAAgB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;AACzH,YAAY,KAAK,qBAAqB;AACtC,gBAAgB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;AAC5G,YAAY,KAAK,eAAe;AAChC,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;AACzC,oBAAoB,GAAG;AACvB,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACxC,oBAAoB,GAAG;AACvB,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;AAC9C,iBAAiB,CAAC;AAClB,YAAY,KAAK,qBAAqB;AACtC,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;AACzC,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;AAC9C,oBAAoB,IAAI,CAAC,gBAAgB,GAAG,IAAI,GAAG,GAAG;AACtD,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACxC,iBAAiB,CAAC;AAClB,YAAY,KAAK,oBAAoB;AACrC,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;AACzC,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;AAC9C,oBAAoB,IAAI,CAAC,gBAAgB,GAAG,IAAI,GAAG,EAAE;AACrD,oBAAoB,GAAG;AACvB,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC;AACtD,oBAAoB,GAAG;AACvB,iBAAiB,CAAC;AAClB,YAAY,KAAK,WAAW;AAC5B,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;AACzC,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;AAC9C,oBAAoB,IAAI,CAAC,gBAAgB,GAAG,IAAI,GAAG,EAAE;AACrD,oBAAoB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC;AAC1D,oBAAoB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;AAC/C,iBAAiB,CAAC;AAClB,YAAY,KAAK,cAAc;AAC/B,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC,CAAC;AAC3E,YAAY;AACZ,gBAAgB,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;AAC7C;AACA,IAAI;AACJ;AACA,IAAI,UAAU,CAAC,QAAQ,EAAE,KAAK,EAAE;AAChC,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;AAC9B,YAAY,OAAO,KAAK,CAAC,CAAC,CAAC;AAC3B,QAAQ,OAAO,IAAI,KAAK,CAAC,KAAK,EAAE,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,MAAM,EAAE;AACpE,YAAY,IAAI,KAAK,CAAC,OAAO,EAAE,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;AAC9E,YAAY,IAAI,KAAK,CAAC,IAAI,EAAE,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC;AAClF,SAAS,CAAC,CAAC,CAAC;AACZ,IAAI;AACJ,IAAI,WAAW,CAAC,IAAI,EAAE;AACtB,QAAQ,MAAM,IAAI,KAAK,CAAC,CAAC,oDAAoD,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC7F,IAAI;AACJ;AACA,OAAO,CAAC,SAAS,GAAG,SAAS"}
1
+ {"version":3,"file":"TsPrinter.mjs","sources":["TsPrinter.js"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TsPrinter = void 0;\nconst comments_1 = require(\"./comments\");\nconst doc_1 = require(\"./internal/doc\");\nconst syntax_1 = require(\"./syntax\");\nconst escapeString = (text, singleQuote) => {\n const escaped = text\n .replace(/\\\\/g, \"\\\\\\\\\")\n .replace(/\\n/g, \"\\\\n\")\n .replace(/\\r/g, \"\\\\r\")\n .replace(/\\t/g, \"\\\\t\");\n return singleQuote === true\n ? `'${escaped.replace(/'/g, \"\\\\'\")}'`\n : `\"${escaped.replace(/\"/g, '\\\\\"')}\"`;\n};\n/**\n * Printer turning {@link factory} produced AST nodes into TypeScript source\n * text.\n *\n * The printer is a width-aware pretty-printer: it builds a Prettier-style\n * document for the {@link Node} discriminated union and lays it out against\n * {@link TsPrinterOptions.printWidth}. Lists (arguments, parameters, generic\n * arguments, array / object members, ...) print on one line when they fit and\n * break onto indented lines — with trailing commas — when they do not. Every\n * `node.kind` narrows to its concrete type, so the walk is fully type-checked;\n * no `typescript` module is involved.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @example\n * ```typescript\n * import factory, { TsPrinter } from \"@ttsc/factory\";\n *\n * const printer = new TsPrinter({ printWidth: 80, indent: \" \" });\n * printer.print(factory.createStringLiteral(\"hello\")); // \"hello\"\n * ```;\n */\nclass TsPrinter {\n printWidth_;\n indent_;\n newLine_;\n constructor(options = {}) {\n this.printWidth_ = options.printWidth ?? 80;\n this.indent_ = options.indent ?? \" \";\n this.newLine_ = options.newLine ?? \"\\n\";\n }\n /** Print a single node (or a whole {@link SourceFile}) into source text. */\n print(node) {\n return this.layout(this.emit(node));\n }\n /** Print multiple nodes, joining them with new lines. */\n printNodes(nodes) {\n return this.layout((0, doc_1.join)(doc_1.hardline, nodes.map((n) => this.emit(n))));\n }\n /**\n * Print an entire source file.\n *\n * @param sourceFile A {@link SourceFile}. When omitted, one is composed from\n * the given `statements`.\n * @param statements Statements to compose a source file from when no\n * `sourceFile` is provided.\n */\n printFile(sourceFile, statements = []) {\n const list = sourceFile\n ? sourceFile.statements\n : statements;\n return (this.layout((0, doc_1.join)(doc_1.hardline, list.map((s) => this.emit(s)))) + this.newLine_);\n }\n /* ----------------------------------------------------------------------- */\n /* INTERNAL */\n /* ----------------------------------------------------------------------- */\n layout(doc) {\n return (0, doc_1.printDocToString)(doc, {\n printWidth: this.printWidth_,\n indent: this.indent_,\n newLine: this.newLine_,\n });\n }\n /** Comma-separated, width-aware delimited list (`(...)`, `[...]`, `<...>`). */\n delim(open, items, close, opts = {}) {\n if (items.length === 0)\n return open + close;\n const ln = opts.space ? doc_1.line : doc_1.softline;\n return (0, doc_1.group)((0, doc_1.concat)([\n open,\n (0, doc_1.indent)((0, doc_1.concat)([ln, (0, doc_1.join)((0, doc_1.concat)([\",\", doc_1.line]), items)])),\n opts.trailingComma ? (0, doc_1.ifBreak)(\",\") : \"\",\n ln,\n close,\n ]), opts.forceBreak === true);\n }\n /**\n * Semicolon-separated member block (`{ a; b }`), e.g. interfaces.\n *\n * A bare {@link import(\"./ast\").Identifier} member acts as a blank-line spacer\n * (the legacy `createIdentifier(\"\\n\")` codegen idiom): it inserts an empty\n * line between members and carries no `;` terminator, matching the legacy\n * printer.\n */\n memberBlock(members, forceBreak) {\n const inner = [];\n let first = true;\n let blank = false;\n for (const member of members) {\n if (member.kind === \"Identifier\") {\n blank = true;\n continue;\n }\n if (!first)\n inner.push(\";\", doc_1.line);\n if (blank) {\n inner.push(doc_1.hardline);\n blank = false;\n }\n inner.push(this.emit(member));\n first = false;\n }\n if (inner.length === 0)\n return \"{}\";\n return (0, doc_1.group)((0, doc_1.concat)([\n \"{\",\n (0, doc_1.indent)((0, doc_1.concat)([doc_1.line, (0, doc_1.concat)(inner)])),\n (0, doc_1.ifBreak)(\";\"),\n doc_1.line,\n \"}\",\n ]), forceBreak);\n }\n /** Always-broken statement block (`{ ... }`). */\n statementBlock(items) {\n if (items.length === 0)\n return \"{}\";\n return (0, doc_1.concat)([\n \"{\",\n (0, doc_1.indent)((0, doc_1.concat)([doc_1.hardline, (0, doc_1.join)(doc_1.hardline, items)])),\n doc_1.hardline,\n \"}\",\n ]);\n }\n typeArguments(args) {\n // type-argument / type-parameter lists disallow a trailing comma (TS1009)\n return args && args.length\n ? this.delim(\"<\", args.map((a) => this.emit(a)), \">\", {\n trailingComma: false,\n })\n : \"\";\n }\n params(params) {\n return this.delim(\"(\", params.map((p) => this.emit(p)), \")\", {\n trailingComma: true,\n });\n }\n modifiers(mods, decoratorsOnNewLine) {\n if (!mods || mods.length === 0)\n return \"\";\n const decorators = mods.filter((m) => m.kind === \"Decorator\");\n const tokens = mods.filter((m) => m.kind !== \"Decorator\");\n const parts = [];\n const gap = decoratorsOnNewLine ? doc_1.hardline : \" \";\n if (decorators.length)\n parts.push((0, doc_1.join)(gap, decorators.map((d) => this.emit(d))), gap);\n if (tokens.length)\n parts.push((0, doc_1.join)(\" \", tokens.map((t) => this.emit(t))), \" \");\n return (0, doc_1.concat)(parts);\n }\n heritage(clauses) {\n return clauses && clauses.length\n ? (0, doc_1.concat)([\n \" \",\n (0, doc_1.join)(\" \", clauses.map((c) => this.emit(c))),\n ])\n : \"\";\n }\n optType(type) {\n return type ? (0, doc_1.concat)([\": \", this.emit(type)]) : \"\";\n }\n optBody(body) {\n return body ? (0, doc_1.concat)([\" \", this.emit(body)]) : \";\";\n }\n emit(node) {\n const body = this.emitNode(node);\n const leading = (0, comments_1.getSyntheticLeadingComments)(node);\n const trailing = (0, comments_1.getSyntheticTrailingComments)(node);\n if ((leading === undefined || leading.length === 0) &&\n (trailing === undefined || trailing.length === 0))\n return body;\n const parts = [];\n if (leading !== undefined)\n for (const comment of leading)\n parts.push(this.leadingComment(comment));\n parts.push(body);\n if (trailing !== undefined)\n for (const comment of trailing)\n parts.push(this.trailingComment(comment));\n return (0, doc_1.concat)(parts);\n }\n /** Render a leading comment followed by its node separator. */\n leadingComment(comment) {\n // a `//` comment must terminate the line; a `/* */` honours its own flag\n const newLine = comment.kind === syntax_1.SyntaxKind.SingleLineCommentTrivia ||\n comment.hasTrailingNewLine === true;\n return (0, doc_1.concat)([this.commentBody(comment), newLine ? doc_1.hardline : \" \"]);\n }\n /** Render a trailing comment preceded by its node separator. */\n trailingComment(comment) {\n const newLine = comment.kind === syntax_1.SyntaxKind.SingleLineCommentTrivia ||\n comment.hasTrailingNewLine === true;\n return (0, doc_1.concat)([\n comment.hasLeadingNewLine === true ? doc_1.hardline : \" \",\n this.commentBody(comment),\n newLine ? doc_1.hardline : \"\",\n ]);\n }\n /** Render the delimited comment body, re-flowing embedded line breaks. */\n commentBody(comment) {\n if (comment.kind === syntax_1.SyntaxKind.SingleLineCommentTrivia)\n return (0, doc_1.concat)([\"//\", comment.text]);\n // re-emit embedded newlines as hardlines so each line re-indents in place\n return (0, doc_1.concat)([\n \"/*\",\n (0, doc_1.join)(doc_1.hardline, comment.text.replace(/\\r\\n?/g, \"\\n\").split(\"\\n\")),\n \"*/\",\n ]);\n }\n emitNode(node) {\n switch (node.kind) {\n /* names & tokens */\n case \"Identifier\":\n return node.text;\n case \"PrivateIdentifier\":\n return node.text;\n case \"QualifiedName\":\n return (0, doc_1.concat)([this.emit(node.left), \".\", this.emit(node.right)]);\n case \"Token\":\n return node.token;\n case \"Decorator\":\n return (0, doc_1.concat)([\"@\", this.emit(node.expression)]);\n /* literals */\n case \"StringLiteral\":\n return escapeString(node.text, node.singleQuote);\n case \"NumericLiteral\":\n return node.text;\n case \"BigIntLiteral\":\n return node.text;\n /* expressions */\n case \"ArrayLiteralExpression\":\n return this.delim(\"[\", node.elements.map((e) => this.emit(e)), \"]\", { trailingComma: true, forceBreak: node.multiLine === true });\n case \"ObjectLiteralExpression\":\n return this.delim(\"{\", node.properties.map((p) => this.emit(p)), \"}\", {\n space: true,\n trailingComma: true,\n forceBreak: node.multiLine === true,\n });\n case \"PropertyAssignment\":\n return (0, doc_1.concat)([\n this.emit(node.name),\n \": \",\n this.emit(node.initializer),\n ]);\n case \"ShorthandPropertyAssignment\":\n return (0, doc_1.concat)([\n this.emit(node.name),\n node.objectAssignmentInitializer\n ? (0, doc_1.concat)([\" = \", this.emit(node.objectAssignmentInitializer)])\n : \"\",\n ]);\n case \"SpreadAssignment\":\n return (0, doc_1.concat)([\"...\", this.emit(node.expression)]);\n case \"PropertyAccessExpression\":\n return (0, doc_1.concat)([this.emit(node.expression), \".\", this.emit(node.name)]);\n case \"ElementAccessExpression\":\n return (0, doc_1.concat)([\n this.emit(node.expression),\n \"[\",\n this.emit(node.argumentExpression),\n \"]\",\n ]);\n case \"CallExpression\":\n return (0, doc_1.concat)([\n this.emit(node.expression),\n this.typeArguments(node.typeArguments),\n this.params(node.arguments),\n ]);\n case \"NewExpression\":\n return (0, doc_1.concat)([\n \"new \",\n this.emit(node.expression),\n this.typeArguments(node.typeArguments),\n this.params(node.arguments ?? []),\n ]);\n case \"ParenthesizedExpression\":\n return (0, doc_1.concat)([\"(\", this.emit(node.expression), \")\"]);\n case \"BinaryExpression\":\n return (0, doc_1.group)((0, doc_1.concat)([\n this.emit(node.left),\n \" \",\n node.operator,\n (0, doc_1.indent)((0, doc_1.concat)([doc_1.line, this.emit(node.right)])),\n ]));\n case \"PrefixUnaryExpression\":\n return (0, doc_1.concat)([node.operator, this.emit(node.operand)]);\n case \"PostfixUnaryExpression\":\n return (0, doc_1.concat)([this.emit(node.operand), node.operator]);\n case \"ConditionalExpression\":\n return (0, doc_1.group)((0, doc_1.concat)([\n this.emit(node.condition),\n (0, doc_1.indent)((0, doc_1.concat)([\n doc_1.line,\n \"? \",\n this.emit(node.whenTrue),\n doc_1.line,\n \": \",\n this.emit(node.whenFalse),\n ])),\n ]));\n case \"ArrowFunction\":\n return (0, doc_1.concat)([\n this.modifiers(node.modifiers, false),\n this.typeArguments(node.typeParameters),\n this.params(node.parameters),\n this.optType(node.type),\n \" => \",\n this.emit(node.body),\n ]);\n case \"FunctionExpression\":\n return (0, doc_1.concat)([\n this.modifiers(node.modifiers, false),\n \"function\",\n node.asteriskToken ? \"*\" : \"\",\n node.name ? (0, doc_1.concat)([\" \", this.emit(node.name)]) : \" \",\n this.typeArguments(node.typeParameters),\n this.params(node.parameters),\n this.optType(node.type),\n \" \",\n this.emit(node.body),\n ]);\n case \"AsExpression\":\n return (0, doc_1.concat)([\n this.emit(node.expression),\n \" as \",\n this.emit(node.type),\n ]);\n case \"SatisfiesExpression\":\n return (0, doc_1.concat)([\n this.emit(node.expression),\n \" satisfies \",\n this.emit(node.type),\n ]);\n case \"NonNullExpression\":\n return (0, doc_1.concat)([this.emit(node.expression), \"!\"]);\n case \"SpreadElement\":\n return (0, doc_1.concat)([\"...\", this.emit(node.expression)]);\n case \"AwaitExpression\":\n return (0, doc_1.concat)([\"await \", this.emit(node.expression)]);\n case \"TypeOfExpression\":\n return (0, doc_1.concat)([\"typeof \", this.emit(node.expression)]);\n /* types */\n case \"KeywordTypeNode\":\n return node.keyword;\n case \"TypeReferenceNode\":\n return (0, doc_1.concat)([\n this.emit(node.typeName),\n this.typeArguments(node.typeArguments),\n ]);\n case \"ArrayTypeNode\":\n return (0, doc_1.concat)([this.postfixTypeOperand(node.elementType), \"[]\"]);\n case \"UnionTypeNode\":\n return this.binaryType(\"|\", node.types.map((t) => this.emit(t)));\n case \"IntersectionTypeNode\":\n return this.binaryType(\"&\", node.types.map((t) => this.emit(t)));\n case \"LiteralTypeNode\":\n return this.emit(node.literal);\n case \"TypeLiteralNode\":\n return this.memberBlock(node.members, false);\n case \"FunctionTypeNode\":\n return (0, doc_1.concat)([\n this.typeArguments(node.typeParameters),\n this.params(node.parameters),\n \" => \",\n this.emit(node.type),\n ]);\n case \"TupleTypeNode\":\n return this.delim(\"[\", node.elements.map((e) => this.emit(e)), \"]\", {\n trailingComma: true,\n });\n case \"ParenthesizedTypeNode\":\n return (0, doc_1.concat)([\"(\", this.emit(node.type), \")\"]);\n case \"TypeOperatorNode\":\n return (0, doc_1.concat)([node.operator, \" \", this.emit(node.type)]);\n case \"IndexedAccessTypeNode\":\n return (0, doc_1.concat)([\n this.postfixTypeOperand(node.objectType),\n \"[\",\n this.emit(node.indexType),\n \"]\",\n ]);\n case \"TypeQueryNode\":\n return (0, doc_1.concat)([\"typeof \", this.emit(node.exprName)]);\n case \"ExpressionWithTypeArguments\":\n return (0, doc_1.concat)([\n this.emit(node.expression),\n this.typeArguments(node.typeArguments),\n ]);\n case \"PropertySignature\":\n return (0, doc_1.concat)([\n this.modifiers(node.modifiers, false),\n this.emit(node.name),\n node.questionToken ? \"?\" : \"\",\n this.optType(node.type),\n ]);\n case \"IndexSignature\":\n return (0, doc_1.concat)([\n this.modifiers(node.modifiers, false),\n \"[\",\n (0, doc_1.join)(\", \", node.parameters.map((p) => this.emit(p))),\n \"]: \",\n this.emit(node.type),\n ]);\n case \"MethodSignature\":\n return (0, doc_1.concat)([\n this.modifiers(node.modifiers, false),\n this.emit(node.name),\n node.questionToken ? \"?\" : \"\",\n this.typeArguments(node.typeParameters),\n this.params(node.parameters),\n this.optType(node.type),\n ]);\n case \"TypeParameterDeclaration\":\n return (0, doc_1.concat)([\n this.modifiers(node.modifiers, false),\n this.emit(node.name),\n node.constraint\n ? (0, doc_1.concat)([\" extends \", this.emit(node.constraint)])\n : \"\",\n node.default ? (0, doc_1.concat)([\" = \", this.emit(node.default)]) : \"\",\n ]);\n /* support */\n case \"ParameterDeclaration\":\n return (0, doc_1.concat)([\n this.modifiers(node.modifiers, false),\n node.dotDotDotToken ? \"...\" : \"\",\n this.emit(node.name),\n node.questionToken ? \"?\" : \"\",\n this.optType(node.type),\n node.initializer ? (0, doc_1.concat)([\" = \", this.emit(node.initializer)]) : \"\",\n ]);\n case \"HeritageClause\":\n return (0, doc_1.concat)([\n node.token,\n \" \",\n (0, doc_1.join)(\", \", node.types.map((t) => this.emit(t))),\n ]);\n /* statements */\n case \"VariableStatement\":\n return (0, doc_1.concat)([\n this.modifiers(node.modifiers, false),\n this.emit(node.declarationList),\n \";\",\n ]);\n case \"VariableDeclarationList\": {\n const keyword = node.flags === syntax_1.NodeFlags.Const\n ? \"const\"\n : node.flags === syntax_1.NodeFlags.Let\n ? \"let\"\n : \"var\";\n return (0, doc_1.concat)([\n keyword,\n \" \",\n (0, doc_1.join)(\", \", node.declarations.map((d) => this.emit(d))),\n ]);\n }\n case \"VariableDeclaration\":\n return (0, doc_1.concat)([\n this.emit(node.name),\n node.exclamationToken ? \"!\" : \"\",\n this.optType(node.type),\n node.initializer ? (0, doc_1.concat)([\" = \", this.emit(node.initializer)]) : \"\",\n ]);\n case \"ExpressionStatement\":\n return (0, doc_1.concat)([this.emit(node.expression), \";\"]);\n case \"ReturnStatement\":\n return node.expression\n ? (0, doc_1.concat)([\"return \", this.emit(node.expression), \";\"])\n : \"return;\";\n case \"ThrowStatement\":\n return (0, doc_1.concat)([\"throw \", this.emit(node.expression), \";\"]);\n case \"IfStatement\":\n return (0, doc_1.concat)([\n \"if (\",\n this.emit(node.expression),\n \") \",\n this.emit(node.thenStatement),\n node.elseStatement\n ? (0, doc_1.concat)([\" else \", this.emit(node.elseStatement)])\n : \"\",\n ]);\n case \"Block\":\n return this.statementBlock(node.statements.map((s) => this.emit(s)));\n /* declarations */\n case \"FunctionDeclaration\":\n return (0, doc_1.concat)([\n this.modifiers(node.modifiers, true),\n \"function\",\n node.asteriskToken ? \"*\" : \"\",\n \" \",\n node.name ? this.emit(node.name) : \"\",\n this.typeArguments(node.typeParameters),\n this.params(node.parameters),\n this.optType(node.type),\n this.optBody(node.body),\n ]);\n case \"ClassDeclaration\":\n return (0, doc_1.concat)([\n this.modifiers(node.modifiers, true),\n \"class\",\n node.name ? (0, doc_1.concat)([\" \", this.emit(node.name)]) : \"\",\n this.typeArguments(node.typeParameters),\n this.heritage(node.heritageClauses),\n \" \",\n this.statementBlock(node.members.map((m) => this.emit(m))),\n ]);\n case \"PropertyDeclaration\":\n return (0, doc_1.concat)([\n this.modifiers(node.modifiers, true),\n this.emit(node.name),\n node.questionOrExclamationToken\n ? this.emit(node.questionOrExclamationToken)\n : \"\",\n this.optType(node.type),\n node.initializer ? (0, doc_1.concat)([\" = \", this.emit(node.initializer)]) : \"\",\n \";\",\n ]);\n case \"MethodDeclaration\":\n return (0, doc_1.concat)([\n this.modifiers(node.modifiers, true),\n node.asteriskToken ? \"*\" : \"\",\n this.emit(node.name),\n node.questionToken ? \"?\" : \"\",\n this.typeArguments(node.typeParameters),\n this.params(node.parameters),\n this.optType(node.type),\n this.optBody(node.body),\n ]);\n case \"ConstructorDeclaration\":\n return (0, doc_1.concat)([\n this.modifiers(node.modifiers, true),\n \"constructor\",\n this.params(node.parameters),\n this.optBody(node.body),\n ]);\n case \"GetAccessorDeclaration\":\n return (0, doc_1.concat)([\n this.modifiers(node.modifiers, true),\n \"get \",\n this.emit(node.name),\n this.params(node.parameters),\n this.optType(node.type),\n this.optBody(node.body),\n ]);\n case \"SetAccessorDeclaration\":\n return (0, doc_1.concat)([\n this.modifiers(node.modifiers, true),\n \"set \",\n this.emit(node.name),\n this.params(node.parameters),\n this.optBody(node.body),\n ]);\n case \"InterfaceDeclaration\":\n return (0, doc_1.concat)([\n this.modifiers(node.modifiers, true),\n \"interface \",\n this.emit(node.name),\n this.typeArguments(node.typeParameters),\n this.heritage(node.heritageClauses),\n \" \",\n this.memberBlock(node.members, true),\n ]);\n case \"TypeAliasDeclaration\":\n return (0, doc_1.concat)([\n this.modifiers(node.modifiers, true),\n \"type \",\n this.emit(node.name),\n this.typeArguments(node.typeParameters),\n \" = \",\n this.emit(node.type),\n \";\",\n ]);\n case \"EnumDeclaration\":\n return (0, doc_1.concat)([\n this.modifiers(node.modifiers, true),\n \"enum \",\n this.emit(node.name),\n \" \",\n node.members.length === 0\n ? \"{}\"\n : (0, doc_1.concat)([\n \"{\",\n (0, doc_1.indent)((0, doc_1.concat)([\n doc_1.hardline,\n (0, doc_1.join)((0, doc_1.concat)([\",\", doc_1.hardline]), node.members.map((m) => this.emit(m))),\n \",\",\n ])),\n doc_1.hardline,\n \"}\",\n ]),\n ]);\n case \"EnumMember\":\n return (0, doc_1.concat)([\n this.emit(node.name),\n node.initializer ? (0, doc_1.concat)([\" = \", this.emit(node.initializer)]) : \"\",\n ]);\n /* imports & exports */\n case \"ImportDeclaration\":\n return (0, doc_1.concat)([\n this.modifiers(node.modifiers, false),\n \"import \",\n node.importClause\n ? (0, doc_1.concat)([this.emit(node.importClause), \" from \"])\n : \"\",\n this.emit(node.moduleSpecifier),\n \";\",\n ]);\n case \"ImportClause\": {\n const named = [];\n if (node.name)\n named.push(this.emit(node.name));\n if (node.namedBindings)\n named.push(this.emit(node.namedBindings));\n return (0, doc_1.concat)([node.isTypeOnly ? \"type \" : \"\", (0, doc_1.join)(\", \", named)]);\n }\n case \"NamedImports\":\n return this.delim(\"{\", node.elements.map((e) => this.emit(e)), \"}\", { space: true, trailingComma: true });\n case \"ImportSpecifier\":\n return (0, doc_1.concat)([\n node.isTypeOnly ? \"type \" : \"\",\n node.propertyName\n ? (0, doc_1.concat)([this.emit(node.propertyName), \" as \"])\n : \"\",\n this.emit(node.name),\n ]);\n case \"NamespaceImport\":\n return (0, doc_1.concat)([\"* as \", this.emit(node.name)]);\n case \"ExportDeclaration\":\n return (0, doc_1.concat)([\n this.modifiers(node.modifiers, false),\n \"export \",\n node.isTypeOnly ? \"type \" : \"\",\n node.exportClause ? this.emit(node.exportClause) : \"*\",\n node.moduleSpecifier\n ? (0, doc_1.concat)([\" from \", this.emit(node.moduleSpecifier)])\n : \"\",\n \";\",\n ]);\n case \"NamedExports\":\n return this.delim(\"{\", node.elements.map((e) => this.emit(e)), \"}\", { space: true, trailingComma: true });\n case \"ExportSpecifier\":\n return (0, doc_1.concat)([\n node.isTypeOnly ? \"type \" : \"\",\n node.propertyName\n ? (0, doc_1.concat)([this.emit(node.propertyName), \" as \"])\n : \"\",\n this.emit(node.name),\n ]);\n case \"ExportAssignment\":\n return (0, doc_1.concat)([\n this.modifiers(node.modifiers, false),\n node.isExportEquals ? \"export = \" : \"export default \",\n this.emit(node.expression),\n \";\",\n ]);\n /* source file */\n case \"SourceFile\":\n return (0, doc_1.concat)([\n (0, doc_1.join)(doc_1.hardline, node.statements.map((s) => this.emit(s))),\n doc_1.hardline,\n ]);\n /* loops & flow */\n case \"ForStatement\":\n return (0, doc_1.concat)([\n \"for (\",\n node.initializer ? this.emit(node.initializer) : \"\",\n \"; \",\n node.condition ? this.emit(node.condition) : \"\",\n \"; \",\n node.incrementor ? this.emit(node.incrementor) : \"\",\n \") \",\n this.emit(node.statement),\n ]);\n case \"ForInStatement\":\n return (0, doc_1.concat)([\n \"for (\",\n this.emit(node.initializer),\n \" in \",\n this.emit(node.expression),\n \") \",\n this.emit(node.statement),\n ]);\n case \"ForOfStatement\":\n return (0, doc_1.concat)([\n \"for \",\n node.awaitModifier ? \"await \" : \"\",\n \"(\",\n this.emit(node.initializer),\n \" of \",\n this.emit(node.expression),\n \") \",\n this.emit(node.statement),\n ]);\n case \"WhileStatement\":\n return (0, doc_1.concat)([\n \"while (\",\n this.emit(node.expression),\n \") \",\n this.emit(node.statement),\n ]);\n case \"DoStatement\":\n return (0, doc_1.concat)([\n \"do \",\n this.emit(node.statement),\n \" while (\",\n this.emit(node.expression),\n \");\",\n ]);\n case \"SwitchStatement\":\n return (0, doc_1.concat)([\n \"switch (\",\n this.emit(node.expression),\n \") \",\n this.emit(node.caseBlock),\n ]);\n case \"CaseBlock\":\n return node.clauses.length === 0\n ? \"{}\"\n : (0, doc_1.concat)([\n \"{\",\n (0, doc_1.indent)((0, doc_1.concat)([\n doc_1.hardline,\n (0, doc_1.join)(doc_1.hardline, node.clauses.map((c) => this.emit(c))),\n ])),\n doc_1.hardline,\n \"}\",\n ]);\n case \"CaseClause\":\n return (0, doc_1.concat)([\n \"case \",\n this.emit(node.expression),\n \":\",\n node.statements.length\n ? (0, doc_1.indent)((0, doc_1.concat)([\n doc_1.hardline,\n (0, doc_1.join)(doc_1.hardline, node.statements.map((s) => this.emit(s))),\n ]))\n : \"\",\n ]);\n case \"DefaultClause\":\n return (0, doc_1.concat)([\n \"default:\",\n node.statements.length\n ? (0, doc_1.indent)((0, doc_1.concat)([\n doc_1.hardline,\n (0, doc_1.join)(doc_1.hardline, node.statements.map((s) => this.emit(s))),\n ]))\n : \"\",\n ]);\n case \"BreakStatement\":\n return node.label\n ? (0, doc_1.concat)([\"break \", this.emit(node.label), \";\"])\n : \"break;\";\n case \"ContinueStatement\":\n return node.label\n ? (0, doc_1.concat)([\"continue \", this.emit(node.label), \";\"])\n : \"continue;\";\n case \"TryStatement\":\n return (0, doc_1.concat)([\n \"try \",\n this.emit(node.tryBlock),\n node.catchClause ? (0, doc_1.concat)([\" \", this.emit(node.catchClause)]) : \"\",\n node.finallyBlock\n ? (0, doc_1.concat)([\" finally \", this.emit(node.finallyBlock)])\n : \"\",\n ]);\n case \"CatchClause\":\n return node.variableDeclaration\n ? (0, doc_1.concat)([\n \"catch (\",\n this.emit(node.variableDeclaration),\n \") \",\n this.emit(node.block),\n ])\n : (0, doc_1.concat)([\"catch \", this.emit(node.block)]);\n case \"LabeledStatement\":\n return (0, doc_1.concat)([this.emit(node.label), \": \", this.emit(node.statement)]);\n case \"WithStatement\":\n return (0, doc_1.concat)([\n \"with (\",\n this.emit(node.expression),\n \") \",\n this.emit(node.statement),\n ]);\n case \"DebuggerStatement\":\n return \"debugger;\";\n case \"EmptyStatement\":\n return \";\";\n /* modules & namespaces */\n case \"ModuleDeclaration\":\n return (0, doc_1.concat)([\n this.modifiers(node.modifiers, true),\n node.name.kind === \"StringLiteral\" ? \"module \" : \"namespace \",\n this.emit(node.name),\n node.body ? (0, doc_1.concat)([\" \", this.emit(node.body)]) : \";\",\n ]);\n case \"ModuleBlock\":\n return this.statementBlock(node.statements.map((s) => this.emit(s)));\n case \"ClassStaticBlockDeclaration\":\n return (0, doc_1.concat)([\"static \", this.emit(node.body)]);\n case \"ImportEqualsDeclaration\":\n return (0, doc_1.concat)([\n this.modifiers(node.modifiers, false),\n \"import \",\n node.isTypeOnly ? \"type \" : \"\",\n this.emit(node.name),\n \" = \",\n this.emit(node.moduleReference),\n \";\",\n ]);\n case \"ExternalModuleReference\":\n return (0, doc_1.concat)([\"require(\", this.emit(node.expression), \")\"]);\n case \"NamespaceExportDeclaration\":\n return (0, doc_1.concat)([\"export as namespace \", this.emit(node.name), \";\"]);\n case \"SemicolonClassElement\":\n return \";\";\n case \"NamespaceExport\":\n return (0, doc_1.concat)([\"* as \", this.emit(node.name)]);\n /* advanced types */\n case \"ThisTypeNode\":\n return \"this\";\n case \"ConstructorTypeNode\":\n return (0, doc_1.concat)([\n this.modifiers(node.modifiers, false),\n \"new \",\n this.typeArguments(node.typeParameters),\n this.params(node.parameters),\n \" => \",\n this.emit(node.type),\n ]);\n case \"TypePredicateNode\":\n return (0, doc_1.concat)([\n node.assertsModifier ? \"asserts \" : \"\",\n this.emit(node.parameterName),\n node.type ? (0, doc_1.concat)([\" is \", this.emit(node.type)]) : \"\",\n ]);\n case \"ConditionalTypeNode\":\n return (0, doc_1.concat)([\n this.emit(node.checkType),\n \" extends \",\n this.emit(node.extendsType),\n \" ? \",\n this.emit(node.trueType),\n \" : \",\n this.emit(node.falseType),\n ]);\n case \"InferTypeNode\":\n return (0, doc_1.concat)([\"infer \", this.emit(node.typeParameter)]);\n case \"MappedTypeNode\": {\n const ro = node.readonlyToken\n ? node.readonlyToken.token === \"readonly\"\n ? \"readonly \"\n : `${node.readonlyToken.token}readonly `\n : \"\";\n const q = node.questionToken\n ? node.questionToken.token === \"?\"\n ? \"?\"\n : `${node.questionToken.token}?`\n : \"\";\n return (0, doc_1.concat)([\n \"{ \",\n ro,\n \"[\",\n this.emit(node.typeParameter.name),\n \" in \",\n node.typeParameter.constraint\n ? this.emit(node.typeParameter.constraint)\n : \"\",\n node.nameType ? (0, doc_1.concat)([\" as \", this.emit(node.nameType)]) : \"\",\n \"]\",\n q,\n node.type ? (0, doc_1.concat)([\": \", this.emit(node.type)]) : \"\",\n \" }\",\n ]);\n }\n case \"TemplateLiteralType\":\n return (0, doc_1.concat)([\n this.emit(node.head),\n (0, doc_1.concat)(node.templateSpans.map((s) => this.emit(s))),\n ]);\n case \"TemplateLiteralTypeSpan\":\n return (0, doc_1.concat)([this.emit(node.type), this.emit(node.literal)]);\n case \"NamedTupleMember\":\n return (0, doc_1.concat)([\n node.dotDotDotToken ? \"...\" : \"\",\n this.emit(node.name),\n node.questionToken ? \"?\" : \"\",\n \": \",\n this.emit(node.type),\n ]);\n case \"OptionalTypeNode\":\n return (0, doc_1.concat)([this.emit(node.type), \"?\"]);\n case \"RestTypeNode\":\n return (0, doc_1.concat)([\"...\", this.emit(node.type)]);\n case \"ImportTypeNode\":\n return (0, doc_1.concat)([\n node.isTypeOf ? \"typeof \" : \"\",\n \"import(\",\n this.emit(node.argument),\n \")\",\n node.qualifier ? (0, doc_1.concat)([\".\", this.emit(node.qualifier)]) : \"\",\n this.typeArguments(node.typeArguments),\n ]);\n case \"CallSignature\":\n return (0, doc_1.concat)([\n this.typeArguments(node.typeParameters),\n this.params(node.parameters),\n this.optType(node.type),\n ]);\n case \"ConstructSignature\":\n return (0, doc_1.concat)([\n \"new \",\n this.typeArguments(node.typeParameters),\n this.params(node.parameters),\n this.optType(node.type),\n ]);\n /* template literals */\n case \"TemplateHead\":\n return (0, doc_1.concat)([\"`\", node.text, \"${\"]);\n case \"TemplateMiddle\":\n return (0, doc_1.concat)([\"}\", node.text, \"${\"]);\n case \"TemplateTail\":\n return (0, doc_1.concat)([\"}\", node.text, \"`\"]);\n case \"NoSubstitutionTemplateLiteral\":\n return (0, doc_1.concat)([\"`\", node.text, \"`\"]);\n /* template & misc expressions */\n case \"TemplateExpression\":\n return (0, doc_1.concat)([\n this.emit(node.head),\n (0, doc_1.concat)(node.templateSpans.map((s) => this.emit(s))),\n ]);\n case \"TemplateSpan\":\n return (0, doc_1.concat)([this.emit(node.expression), this.emit(node.literal)]);\n case \"TaggedTemplateExpression\":\n return (0, doc_1.concat)([\n this.emit(node.tag),\n this.typeArguments(node.typeArguments),\n this.emit(node.template),\n ]);\n case \"YieldExpression\":\n return (0, doc_1.concat)([\n \"yield\",\n node.asteriskToken ? \"*\" : \"\",\n node.expression ? (0, doc_1.concat)([\" \", this.emit(node.expression)]) : \"\",\n ]);\n case \"DeleteExpression\":\n return (0, doc_1.concat)([\"delete \", this.emit(node.expression)]);\n case \"VoidExpression\":\n return (0, doc_1.concat)([\"void \", this.emit(node.expression)]);\n case \"RegularExpressionLiteral\":\n return node.text;\n case \"ClassExpression\":\n return (0, doc_1.concat)([\n this.modifiers(node.modifiers, true),\n \"class\",\n node.name ? (0, doc_1.concat)([\" \", this.emit(node.name)]) : \"\",\n this.typeArguments(node.typeParameters),\n this.heritage(node.heritageClauses),\n \" \",\n this.statementBlock(node.members.map((m) => this.emit(m))),\n ]);\n case \"MetaProperty\":\n return (0, doc_1.concat)([node.keywordToken, \".\", this.emit(node.name)]);\n case \"CommaListExpression\":\n return (0, doc_1.join)(\", \", node.elements.map((e) => this.emit(e)));\n case \"ComputedPropertyName\":\n return (0, doc_1.concat)([\"[\", this.emit(node.expression), \"]\"]);\n case \"OmittedExpression\":\n return \"\";\n case \"BindingElement\":\n return (0, doc_1.concat)([\n node.dotDotDotToken ? \"...\" : \"\",\n node.propertyName ? (0, doc_1.concat)([this.emit(node.propertyName), \": \"]) : \"\",\n this.emit(node.name),\n node.initializer ? (0, doc_1.concat)([\" = \", this.emit(node.initializer)]) : \"\",\n ]);\n case \"ObjectBindingPattern\":\n return this.delim(\"{\", node.elements.map((e) => this.emit(e)), \"}\", { space: true, trailingComma: true });\n case \"ArrayBindingPattern\":\n return this.delim(\"[\", node.elements.map((e) => this.emit(e)), \"]\", { trailingComma: true });\n case \"TypeAssertion\":\n return (0, doc_1.concat)([\n \"<\",\n this.emit(node.type),\n \">\",\n this.emit(node.expression),\n ]);\n case \"PropertyAccessChain\":\n return (0, doc_1.concat)([\n this.emit(node.expression),\n node.questionDotToken ? \"?.\" : \".\",\n this.emit(node.name),\n ]);\n case \"ElementAccessChain\":\n return (0, doc_1.concat)([\n this.emit(node.expression),\n node.questionDotToken ? \"?.\" : \"\",\n \"[\",\n this.emit(node.argumentExpression),\n \"]\",\n ]);\n case \"CallChain\":\n return (0, doc_1.concat)([\n this.emit(node.expression),\n node.questionDotToken ? \"?.\" : \"\",\n this.typeArguments(node.typeArguments),\n this.params(node.arguments),\n ]);\n case \"NonNullChain\":\n return (0, doc_1.concat)([this.emit(node.expression), \"!\"]);\n /* jsx */\n case \"JsxElement\":\n return (0, doc_1.group)((0, doc_1.concat)([\n this.emit(node.openingElement),\n (0, doc_1.indent)((0, doc_1.concat)(node.children.map((c) => (0, doc_1.concat)([doc_1.softline, this.emit(c)])))),\n doc_1.softline,\n this.emit(node.closingElement),\n ]));\n case \"JsxSelfClosingElement\":\n return (0, doc_1.concat)([\n \"<\",\n this.emit(node.tagName),\n this.typeArguments(node.typeArguments),\n this.emit(node.attributes),\n \" />\",\n ]);\n case \"JsxOpeningElement\":\n return (0, doc_1.concat)([\n \"<\",\n this.emit(node.tagName),\n this.typeArguments(node.typeArguments),\n this.emit(node.attributes),\n \">\",\n ]);\n case \"JsxClosingElement\":\n return (0, doc_1.concat)([\"</\", this.emit(node.tagName), \">\"]);\n case \"JsxFragment\":\n return (0, doc_1.group)((0, doc_1.concat)([\n this.emit(node.openingFragment),\n (0, doc_1.indent)((0, doc_1.concat)(node.children.map((c) => (0, doc_1.concat)([doc_1.softline, this.emit(c)])))),\n doc_1.softline,\n this.emit(node.closingFragment),\n ]));\n case \"JsxOpeningFragment\":\n return \"<>\";\n case \"JsxClosingFragment\":\n return \"</>\";\n case \"JsxText\":\n return node.text;\n case \"JsxAttribute\":\n return node.initializer === undefined\n ? this.emit(node.name)\n : (0, doc_1.concat)([this.emit(node.name), \"=\", this.emit(node.initializer)]);\n case \"JsxAttributes\":\n return node.properties.length === 0\n ? \"\"\n : (0, doc_1.concat)(node.properties.map((p) => (0, doc_1.concat)([\" \", this.emit(p)])));\n case \"JsxSpreadAttribute\":\n return (0, doc_1.concat)([\"{...\", this.emit(node.expression), \"}\"]);\n case \"JsxExpression\":\n return (0, doc_1.concat)([\n \"{\",\n node.dotDotDotToken ? \"...\" : \"\",\n node.expression ? this.emit(node.expression) : \"\",\n \"}\",\n ]);\n case \"JsxNamespacedName\":\n return (0, doc_1.concat)([this.emit(node.namespace), \":\", this.emit(node.name)]);\n /* synthetic / emit-internal */\n case \"Bundle\":\n return (0, doc_1.join)(doc_1.hardline, node.sourceFiles.map((s) => this.emit(s)));\n case \"PartiallyEmittedExpression\":\n return this.emit(node.expression);\n case \"ImportAttribute\":\n return (0, doc_1.concat)([this.emit(node.name), \": \", this.emit(node.value)]);\n case \"ImportAttributes\":\n return node.elements.length === 0\n ? (0, doc_1.concat)([node.token, \" {}\"])\n : (0, doc_1.concat)([\n node.token,\n \" { \",\n (0, doc_1.join)(\", \", node.elements.map((e) => this.emit(e))),\n \" }\",\n ]);\n case \"NotEmittedStatement\":\n case \"NotEmittedTypeElement\":\n return \"\";\n /* jsdoc — types */\n case \"JSDocAllType\":\n return \"*\";\n case \"JSDocUnknownType\":\n return \"?\";\n case \"JSDocNonNullableType\":\n return node.postfix\n ? (0, doc_1.concat)([this.emit(node.type), \"!\"])\n : (0, doc_1.concat)([\"!\", this.emit(node.type)]);\n case \"JSDocNullableType\":\n return node.postfix\n ? (0, doc_1.concat)([this.emit(node.type), \"?\"])\n : (0, doc_1.concat)([\"?\", this.emit(node.type)]);\n case \"JSDocOptionalType\":\n return (0, doc_1.concat)([this.emit(node.type), \"=\"]);\n case \"JSDocVariadicType\":\n return (0, doc_1.concat)([\"...\", this.emit(node.type)]);\n case \"JSDocNamepathType\":\n return this.emit(node.type);\n case \"JSDocFunctionType\":\n return (0, doc_1.concat)([\n \"function(\",\n (0, doc_1.join)(\", \", node.parameters.map((p) => this.emit(p))),\n \")\",\n node.type ? (0, doc_1.concat)([\": \", this.emit(node.type)]) : \"\",\n ]);\n case \"JSDocTypeExpression\":\n return (0, doc_1.concat)([\"{\", this.emit(node.type), \"}\"]);\n case \"JSDocNameReference\":\n return this.emit(node.name);\n case \"JSDocMemberName\":\n return (0, doc_1.concat)([this.emit(node.left), \"#\", this.emit(node.right)]);\n case \"JSDocLink\":\n return (0, doc_1.concat)([\n \"{@link \",\n node.name ? this.emit(node.name) : \"\",\n node.text,\n \"}\",\n ]);\n case \"JSDocLinkCode\":\n return (0, doc_1.concat)([\n \"{@linkcode \",\n node.name ? this.emit(node.name) : \"\",\n node.text,\n \"}\",\n ]);\n case \"JSDocLinkPlain\":\n return (0, doc_1.concat)([\n \"{@linkplain \",\n node.name ? this.emit(node.name) : \"\",\n node.text,\n \"}\",\n ]);\n case \"JSDocText\":\n return node.text;\n case \"JSDocTypeLiteral\":\n return (0, doc_1.concat)([\n (0, doc_1.join)(doc_1.hardline, (node.jsDocPropertyTags ?? []).map((t) => this.emit(t))),\n node.isArrayType ? \"[]\" : \"\",\n ]);\n case \"JSDocSignature\":\n return (0, doc_1.join)(doc_1.hardline, [\n ...(node.typeParameters ?? []),\n ...node.parameters,\n ...(node.type ? [node.type] : []),\n ].map((t) => this.emit(t)));\n case \"JSDoc\": {\n const body = node.comment === undefined\n ? \"\"\n : typeof node.comment === \"string\"\n ? node.comment\n : (0, doc_1.concat)(node.comment.map((c) => this.emit(c)));\n const lines = [(0, doc_1.concat)([\" * \", body])];\n for (const tag of node.tags ?? [])\n lines.push((0, doc_1.concat)([\" * \", this.emit(tag)]));\n return (0, doc_1.concat)([\n \"/**\",\n doc_1.hardline,\n (0, doc_1.join)(doc_1.hardline, lines),\n doc_1.hardline,\n \" */\",\n ]);\n }\n /* jsdoc — tags */\n case \"JSDocTypeTag\":\n case \"JSDocThisTag\":\n case \"JSDocEnumTag\":\n case \"JSDocSatisfiesTag\":\n return (0, doc_1.concat)([\n \"@\",\n this.emit(node.tagName),\n \" \",\n this.emit(node.typeExpression),\n this.jsDocComment(node.comment),\n ]);\n case \"JSDocReturnTag\":\n case \"JSDocThrowsTag\":\n return (0, doc_1.concat)([\n \"@\",\n this.emit(node.tagName),\n node.typeExpression\n ? (0, doc_1.concat)([\" \", this.emit(node.typeExpression)])\n : \"\",\n this.jsDocComment(node.comment),\n ]);\n case \"JSDocAuthorTag\":\n case \"JSDocClassTag\":\n case \"JSDocPublicTag\":\n case \"JSDocPrivateTag\":\n case \"JSDocProtectedTag\":\n case \"JSDocReadonlyTag\":\n case \"JSDocOverrideTag\":\n case \"JSDocDeprecatedTag\":\n case \"JSDocUnknownTag\":\n return (0, doc_1.concat)([\n \"@\",\n this.emit(node.tagName),\n this.jsDocComment(node.comment),\n ]);\n case \"JSDocAugmentsTag\":\n case \"JSDocImplementsTag\":\n return (0, doc_1.concat)([\n \"@\",\n this.emit(node.tagName),\n \" {\",\n this.emit(node.class),\n \"}\",\n this.jsDocComment(node.comment),\n ]);\n case \"JSDocParameterTag\":\n case \"JSDocPropertyTag\": {\n const name = node.isBracketed\n ? (0, doc_1.concat)([\"[\", this.emit(node.name), \"]\"])\n : this.emit(node.name);\n const type = node.typeExpression\n ? this.emit(node.typeExpression)\n : undefined;\n const main = node.isNameFirst\n ? (0, doc_1.concat)([name, type ? (0, doc_1.concat)([\" \", type]) : \"\"])\n : (0, doc_1.concat)([type ? (0, doc_1.concat)([type, \" \"]) : \"\", name]);\n return (0, doc_1.concat)([\n \"@\",\n this.emit(node.tagName),\n \" \",\n main,\n this.jsDocComment(node.comment),\n ]);\n }\n case \"JSDocSeeTag\":\n return (0, doc_1.concat)([\n \"@\",\n this.emit(node.tagName),\n node.name ? (0, doc_1.concat)([\" \", this.emit(node.name)]) : \"\",\n this.jsDocComment(node.comment),\n ]);\n case \"JSDocOverloadTag\":\n case \"JSDocCallbackTag\": {\n const full = node.kind === \"JSDocCallbackTag\" && node.fullName\n ? (0, doc_1.concat)([\" \", this.emit(node.fullName)])\n : \"\";\n return (0, doc_1.concat)([\n \"@\",\n this.emit(node.tagName),\n full,\n doc_1.hardline,\n this.emit(node.typeExpression),\n this.jsDocComment(node.comment),\n ]);\n }\n case \"JSDocImportTag\":\n return (0, doc_1.concat)([\n \"@\",\n this.emit(node.tagName),\n \" \",\n node.importClause\n ? (0, doc_1.concat)([this.emit(node.importClause), \" from \"])\n : \"\",\n this.emit(node.moduleSpecifier),\n this.jsDocComment(node.comment),\n ]);\n case \"JSDocTemplateTag\":\n return (0, doc_1.concat)([\n \"@\",\n this.emit(node.tagName),\n node.constraint ? (0, doc_1.concat)([\" \", this.emit(node.constraint)]) : \"\",\n \" \",\n (0, doc_1.join)(\", \", node.typeParameters.map((t) => this.emit(t))),\n this.jsDocComment(node.comment),\n ]);\n case \"JSDocTypedefTag\":\n return (0, doc_1.concat)([\n \"@\",\n this.emit(node.tagName),\n node.typeExpression\n ? (0, doc_1.concat)([\" \", this.emit(node.typeExpression)])\n : \"\",\n node.fullName ? (0, doc_1.concat)([\" \", this.emit(node.fullName)]) : \"\",\n this.jsDocComment(node.comment),\n ]);\n default:\n return this.unsupported(node);\n }\n }\n /**\n * Emit a type in the operand position of a postfix type (`T[]`, `T[K]`),\n * parenthesizing the lower-precedence type forms that would otherwise\n * re-associate — matching the legacy printer's parenthesizer rules.\n */\n postfixTypeOperand(type) {\n const parenthesize = type.kind === \"UnionTypeNode\" ||\n type.kind === \"IntersectionTypeNode\" ||\n type.kind === \"FunctionTypeNode\" ||\n type.kind === \"ConstructorTypeNode\" ||\n type.kind === \"ConditionalTypeNode\" ||\n type.kind === \"InferTypeNode\" ||\n type.kind === \"TypeOperatorNode\";\n return parenthesize ? (0, doc_1.concat)([\"(\", this.emit(type), \")\"]) : this.emit(type);\n }\n /** Render a JSDoc tag's trailing comment, prefixed with a space when present. */\n jsDocComment(comment) {\n if (comment === undefined)\n return \"\";\n if (typeof comment === \"string\")\n return comment.length ? (0, doc_1.concat)([\" \", comment]) : \"\";\n return comment.length\n ? (0, doc_1.concat)([\" \", (0, doc_1.concat)(comment.map((c) => this.emit(c)))])\n : \"\";\n }\n /** Width-aware `|` / `&` type list with leading-operator breaks. */\n binaryType(operator, parts) {\n if (parts.length === 1)\n return parts[0];\n return (0, doc_1.group)((0, doc_1.indent)((0, doc_1.concat)([\n (0, doc_1.ifBreak)((0, doc_1.concat)([doc_1.line, operator, \" \"])),\n (0, doc_1.join)((0, doc_1.concat)([doc_1.line, operator, \" \"]), parts),\n ])));\n }\n unsupported(node) {\n throw new Error(`@ttsc/factory: TsPrinter cannot print node of kind \"${node.kind}\".`);\n }\n}\nexports.TsPrinter = TsPrinter;\n//# sourceMappingURL=TsPrinter.js.map"],"names":[],"mappings":"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"}