@scriptc/compiler 0.1.6 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1060) hide show
  1. package/ambient/scriptc-node-fallback.d.ts +73 -25
  2. package/ambient/scriptc-overrides.d.ts +10 -6
  3. package/ambient/scriptc.d.ts +28 -5
  4. package/dist/backend/build-cache.d.ts +1 -3
  5. package/dist/backend/build-cache.js +3 -22
  6. package/dist/backend/build-cache.js.map +1 -1
  7. package/dist/backend/cache-root.d.ts +3 -0
  8. package/dist/backend/cache-root.js +23 -0
  9. package/dist/backend/cache-root.js.map +1 -0
  10. package/dist/backend/cycle-analysis.d.ts +15 -0
  11. package/dist/backend/cycle-analysis.js +107 -0
  12. package/dist/backend/cycle-analysis.js.map +1 -0
  13. package/dist/backend/cycle-analysis.test.js +124 -0
  14. package/dist/backend/cycle-analysis.test.js.map +1 -0
  15. package/dist/backend/debug-symbols.d.ts +8 -0
  16. package/dist/backend/debug-symbols.js +52 -0
  17. package/dist/backend/debug-symbols.js.map +1 -0
  18. package/dist/backend/executable-features.d.ts +4 -0
  19. package/dist/backend/executable-features.js +42 -0
  20. package/dist/backend/executable-features.js.map +1 -0
  21. package/dist/backend/external-c.d.ts +5 -27
  22. package/dist/backend/external-c.js +5 -40
  23. package/dist/backend/external-c.js.map +1 -1
  24. package/dist/backend/ffi-callbacks.d.ts +2 -3
  25. package/dist/backend/ffi-callbacks.js +2 -3
  26. package/dist/backend/ffi-callbacks.js.map +1 -1
  27. package/dist/backend/library-identity-markers.d.ts +4 -9
  28. package/dist/backend/library-identity-markers.js +11 -49
  29. package/dist/backend/library-identity-markers.js.map +1 -1
  30. package/dist/backend/library-pack.d.ts +5 -0
  31. package/dist/backend/library-pack.js +123 -0
  32. package/dist/backend/library-pack.js.map +1 -0
  33. package/dist/backend/link-plan-core.d.ts +20 -0
  34. package/dist/backend/link-plan-core.js +18 -0
  35. package/dist/backend/link-plan-core.js.map +1 -0
  36. package/dist/backend/link-plan.d.ts +2 -1
  37. package/dist/backend/link-plan.js +18 -17
  38. package/dist/backend/link-plan.js.map +1 -1
  39. package/dist/backend/link-trace.d.ts +2 -0
  40. package/dist/backend/link-trace.js +24 -0
  41. package/dist/backend/link-trace.js.map +1 -0
  42. package/dist/backend/linker.js +9 -1
  43. package/dist/backend/linker.js.map +1 -1
  44. package/dist/backend/literals.d.ts +9 -0
  45. package/dist/backend/literals.js +35 -0
  46. package/dist/backend/literals.js.map +1 -0
  47. package/dist/backend/literals.test.d.ts +1 -0
  48. package/dist/backend/literals.test.js +53 -0
  49. package/dist/backend/literals.test.js.map +1 -0
  50. package/dist/backend/llvm/blocks.d.ts +4 -0
  51. package/dist/backend/llvm/blocks.js +25 -4
  52. package/dist/backend/llvm/blocks.js.map +1 -1
  53. package/dist/backend/llvm/blocks.test.d.ts +1 -0
  54. package/dist/backend/llvm/blocks.test.js +91 -0
  55. package/dist/backend/llvm/blocks.test.js.map +1 -0
  56. package/dist/backend/llvm/classes.d.ts +14 -8
  57. package/dist/backend/llvm/classes.js +70 -28
  58. package/dist/backend/llvm/classes.js.map +1 -1
  59. package/dist/backend/llvm/common.d.ts +5 -1
  60. package/dist/backend/llvm/common.js +45 -4
  61. package/dist/backend/llvm/common.js.map +1 -1
  62. package/dist/backend/llvm/debug-info.d.ts +32 -0
  63. package/dist/backend/llvm/debug-info.js +198 -0
  64. package/dist/backend/llvm/debug-info.js.map +1 -0
  65. package/dist/backend/llvm/debug-info.test.d.ts +1 -0
  66. package/dist/backend/llvm/debug-info.test.js +110 -0
  67. package/dist/backend/llvm/debug-info.test.js.map +1 -0
  68. package/dist/backend/llvm/dyn.d.ts +16 -2
  69. package/dist/backend/llvm/dyn.js +498 -175
  70. package/dist/backend/llvm/dyn.js.map +1 -1
  71. package/dist/backend/llvm/emitter.d.ts +598 -1
  72. package/dist/backend/llvm/emitter.js +739 -409
  73. package/dist/backend/llvm/emitter.js.map +1 -1
  74. package/dist/backend/llvm/emitter.test.d.ts +1 -0
  75. package/dist/backend/llvm/emitter.test.js +179 -0
  76. package/dist/backend/llvm/emitter.test.js.map +1 -0
  77. package/dist/backend/llvm/expr-async.js +23 -14
  78. package/dist/backend/llvm/expr-async.js.map +1 -1
  79. package/dist/backend/llvm/expr-bytes.d.ts +1 -1
  80. package/dist/backend/llvm/expr-bytes.js +32 -14
  81. package/dist/backend/llvm/expr-bytes.js.map +1 -1
  82. package/dist/backend/llvm/expr-callbacks.d.ts +1 -1
  83. package/dist/backend/llvm/expr-callbacks.js +25 -22
  84. package/dist/backend/llvm/expr-callbacks.js.map +1 -1
  85. package/dist/backend/llvm/expr-calls.js +136 -35
  86. package/dist/backend/llvm/expr-calls.js.map +1 -1
  87. package/dist/backend/llvm/expr-containers.d.ts +1 -1
  88. package/dist/backend/llvm/expr-containers.js +43 -14
  89. package/dist/backend/llvm/expr-containers.js.map +1 -1
  90. package/dist/backend/llvm/expr-context.d.ts +5 -260
  91. package/dist/backend/llvm/expr-control.js +9 -5
  92. package/dist/backend/llvm/expr-control.js.map +1 -1
  93. package/dist/backend/llvm/expr-dispatch.d.ts +1 -1
  94. package/dist/backend/llvm/expr-dispatch.js +2 -0
  95. package/dist/backend/llvm/expr-dispatch.js.map +1 -1
  96. package/dist/backend/llvm/expr-dynamic.js +72 -74
  97. package/dist/backend/llvm/expr-dynamic.js.map +1 -1
  98. package/dist/backend/llvm/expr-island.d.ts +1 -1
  99. package/dist/backend/llvm/expr-island.js +11 -7
  100. package/dist/backend/llvm/expr-island.js.map +1 -1
  101. package/dist/backend/llvm/expr-primitives.d.ts +1 -1
  102. package/dist/backend/llvm/expr-primitives.js +51 -30
  103. package/dist/backend/llvm/expr-primitives.js.map +1 -1
  104. package/dist/backend/llvm/expr-primitives.test.js +1 -1
  105. package/dist/backend/llvm/expr-records.d.ts +5 -1
  106. package/dist/backend/llvm/expr-records.js +43 -4
  107. package/dist/backend/llvm/expr-records.js.map +1 -1
  108. package/dist/backend/llvm/expr-stream-bridges.d.ts +4 -4
  109. package/dist/backend/llvm/expr-stream-bridges.js +102 -121
  110. package/dist/backend/llvm/expr-stream-bridges.js.map +1 -1
  111. package/dist/backend/llvm/expr-stream-bridges.test.d.ts +1 -0
  112. package/dist/backend/llvm/expr-stream-bridges.test.js +55 -0
  113. package/dist/backend/llvm/expr-stream-bridges.test.js.map +1 -0
  114. package/dist/backend/llvm/expr-stream-callbacks.d.ts +1 -1
  115. package/dist/backend/llvm/expr-stream-callbacks.js +12 -12
  116. package/dist/backend/llvm/expr-stream-callbacks.js.map +1 -1
  117. package/dist/backend/llvm/layouts.d.ts +19 -0
  118. package/dist/backend/llvm/layouts.js +12 -0
  119. package/dist/backend/llvm/layouts.js.map +1 -0
  120. package/dist/backend/llvm/lib-abi.d.ts +19 -0
  121. package/dist/backend/llvm/lib-abi.js +82 -0
  122. package/dist/backend/llvm/lib-abi.js.map +1 -0
  123. package/dist/backend/llvm/lib-connect.d.ts +2 -0
  124. package/dist/backend/llvm/lib-connect.js +51 -0
  125. package/dist/backend/llvm/lib-connect.js.map +1 -0
  126. package/dist/backend/llvm/lib-datagram.d.ts +2 -0
  127. package/dist/backend/llvm/lib-datagram.js +135 -0
  128. package/dist/backend/llvm/lib-datagram.js.map +1 -0
  129. package/dist/backend/llvm/lib-dispatch.js +50 -6
  130. package/dist/backend/llvm/lib-dispatch.js.map +1 -1
  131. package/dist/backend/llvm/lib-filesystem.js +59 -18
  132. package/dist/backend/llvm/lib-filesystem.js.map +1 -1
  133. package/dist/backend/llvm/lib-http2.d.ts +2 -0
  134. package/dist/backend/llvm/lib-http2.js +215 -0
  135. package/dist/backend/llvm/lib-http2.js.map +1 -0
  136. package/dist/backend/llvm/lib-lookup.d.ts +2 -0
  137. package/dist/backend/llvm/lib-lookup.js +39 -0
  138. package/dist/backend/llvm/lib-lookup.js.map +1 -0
  139. package/dist/backend/llvm/lib-network.js +25 -2
  140. package/dist/backend/llvm/lib-network.js.map +1 -1
  141. package/dist/backend/llvm/lib-process.js +21 -16
  142. package/dist/backend/llvm/lib-process.js.map +1 -1
  143. package/dist/backend/llvm/lib-shared.js +125 -1
  144. package/dist/backend/llvm/lib-shared.js.map +1 -1
  145. package/dist/backend/llvm/lib-stream.js +3 -2
  146. package/dist/backend/llvm/lib-stream.js.map +1 -1
  147. package/dist/backend/llvm/lib-test.d.ts +2 -0
  148. package/dist/backend/llvm/lib-test.js +34 -0
  149. package/dist/backend/llvm/lib-test.js.map +1 -0
  150. package/dist/backend/llvm/lib-tls.d.ts +2 -0
  151. package/dist/backend/llvm/lib-tls.js +82 -0
  152. package/dist/backend/llvm/lib-tls.js.map +1 -0
  153. package/dist/backend/llvm/shapes.d.ts +10 -9
  154. package/dist/backend/llvm/shapes.js +35 -130
  155. package/dist/backend/llvm/shapes.js.map +1 -1
  156. package/dist/backend/llvm/split.js +4 -1
  157. package/dist/backend/llvm/split.js.map +1 -1
  158. package/dist/backend/llvm/split.test.js +26 -1
  159. package/dist/backend/llvm/split.test.js.map +1 -1
  160. package/dist/backend/llvm/unsupported.d.ts +1 -0
  161. package/dist/backend/llvm/unsupported.js +1 -2
  162. package/dist/backend/llvm/unsupported.js.map +1 -1
  163. package/dist/backend/llvm/walkers.js +1 -7
  164. package/dist/backend/llvm/walkers.js.map +1 -1
  165. package/dist/backend/mangle.d.ts +2 -2
  166. package/dist/backend/mangle.js +16 -5
  167. package/dist/backend/mangle.js.map +1 -1
  168. package/dist/backend/{c/may-throw.d.ts → may-throw.d.ts} +1 -1
  169. package/dist/backend/{c/may-throw.js → may-throw.js} +51 -46
  170. package/dist/backend/may-throw.js.map +1 -0
  171. package/dist/backend/may-throw.test.d.ts +1 -0
  172. package/dist/backend/may-throw.test.js +58 -0
  173. package/dist/backend/may-throw.test.js.map +1 -0
  174. package/dist/backend/native-codegen-core.d.ts +22 -0
  175. package/dist/backend/native-codegen-core.js +44 -0
  176. package/dist/backend/native-codegen-core.js.map +1 -0
  177. package/dist/backend/native-codegen.d.ts +3 -19
  178. package/dist/backend/native-codegen.js +5 -44
  179. package/dist/backend/native-codegen.js.map +1 -1
  180. package/dist/backend/native-codegen.test.js +2 -2
  181. package/dist/backend/native-codegen.test.js.map +1 -1
  182. package/dist/backend/native-link-info-core.d.ts +94 -0
  183. package/dist/backend/native-link-info-core.js +62 -0
  184. package/dist/backend/native-link-info-core.js.map +1 -0
  185. package/dist/backend/native-link-info.d.ts +3 -88
  186. package/dist/backend/native-link-info.js +12 -243
  187. package/dist/backend/native-link-info.js.map +1 -1
  188. package/dist/backend/native-link-info.test.js +41 -146
  189. package/dist/backend/native-link-info.test.js.map +1 -1
  190. package/dist/backend/native-toolchain.d.ts +10 -25
  191. package/dist/backend/native-toolchain.js +89 -219
  192. package/dist/backend/native-toolchain.js.map +1 -1
  193. package/dist/backend/native-toolchain.test.js +15 -5
  194. package/dist/backend/native-toolchain.test.js.map +1 -1
  195. package/dist/backend/native-tools.d.ts +24 -0
  196. package/dist/backend/native-tools.js +33 -0
  197. package/dist/backend/native-tools.js.map +1 -0
  198. package/dist/backend/object-localize.js +19 -8
  199. package/dist/backend/object-localize.js.map +1 -1
  200. package/dist/backend/object-localize.test.js +22 -0
  201. package/dist/backend/object-localize.test.js.map +1 -1
  202. package/dist/backend/runtime-abi.d.ts +2 -2
  203. package/dist/backend/runtime-abi.js +2 -2
  204. package/dist/backend/runtime-pack-core.d.ts +101 -0
  205. package/dist/backend/runtime-pack-core.js +172 -0
  206. package/dist/backend/runtime-pack-core.js.map +1 -0
  207. package/dist/backend/runtime-pack-native.d.ts +21 -0
  208. package/dist/backend/runtime-pack-native.js +70 -0
  209. package/dist/backend/runtime-pack-native.js.map +1 -0
  210. package/dist/backend/runtime-pack-targets.test.js +1 -1
  211. package/dist/backend/runtime-pack.d.ts +3 -83
  212. package/dist/backend/runtime-pack.js +8 -151
  213. package/dist/backend/runtime-pack.js.map +1 -1
  214. package/dist/backend/runtime-pack.test.js +24 -1
  215. package/dist/backend/runtime-pack.test.js.map +1 -1
  216. package/dist/backend/source-locations.d.ts +12 -0
  217. package/dist/backend/source-locations.js +32 -0
  218. package/dist/backend/source-locations.js.map +1 -0
  219. package/dist/backend/source-locations.test.d.ts +1 -0
  220. package/dist/backend/source-locations.test.js +16 -0
  221. package/dist/backend/source-locations.test.js.map +1 -0
  222. package/dist/backend/target-diagnostics.d.ts +22 -0
  223. package/dist/backend/target-diagnostics.js +108 -0
  224. package/dist/backend/target-diagnostics.js.map +1 -0
  225. package/dist/backend/target-platform.d.ts +15 -0
  226. package/dist/backend/target-platform.js +72 -0
  227. package/dist/backend/target-platform.js.map +1 -0
  228. package/dist/backend/targets.d.ts +13 -4
  229. package/dist/backend/targets.js +95 -30
  230. package/dist/backend/targets.js.map +1 -1
  231. package/dist/backend/targets.test.js +65 -4
  232. package/dist/backend/targets.test.js.map +1 -1
  233. package/dist/backend/toolchain-environment.d.ts +6 -0
  234. package/dist/backend/toolchain-environment.js +99 -0
  235. package/dist/backend/toolchain-environment.js.map +1 -0
  236. package/dist/backend/vendor-archives.d.ts +1 -9
  237. package/dist/backend/vendor-archives.js +2 -9
  238. package/dist/backend/vendor-archives.js.map +1 -1
  239. package/dist/backend/vendor-inputs.d.ts +9 -0
  240. package/dist/backend/vendor-inputs.js +10 -0
  241. package/dist/backend/vendor-inputs.js.map +1 -0
  242. package/dist/backend/warm-cache.d.ts +3 -0
  243. package/dist/backend/warm-cache.js +41 -0
  244. package/dist/backend/warm-cache.js.map +1 -0
  245. package/dist/cli/command.d.ts +3 -0
  246. package/dist/cli/command.js +328 -0
  247. package/dist/cli/command.js.map +1 -0
  248. package/dist/cli/host.d.ts +24 -0
  249. package/dist/cli/host.js +2 -0
  250. package/dist/cli/host.js.map +1 -0
  251. package/dist/cli/output-options.d.ts +26 -0
  252. package/dist/cli/output-options.js +60 -0
  253. package/dist/cli/output-options.js.map +1 -0
  254. package/dist/cli/paths.d.ts +12 -0
  255. package/dist/cli/paths.js +42 -0
  256. package/dist/cli/paths.js.map +1 -0
  257. package/dist/cli/usage.d.ts +74 -0
  258. package/dist/cli/usage.js +86 -0
  259. package/dist/cli/usage.js.map +1 -0
  260. package/dist/cli/wasi-paths.d.ts +8 -0
  261. package/dist/cli/wasi-paths.js +41 -0
  262. package/dist/cli/wasi-paths.js.map +1 -0
  263. package/dist/cli/wasi-runner.d.ts +2 -0
  264. package/dist/cli/wasi-runner.js +28 -0
  265. package/dist/cli/wasi-runner.js.map +1 -0
  266. package/dist/compat/fetch-profile.js +3 -3
  267. package/dist/compat/fetch-profile.js.map +1 -1
  268. package/dist/compile-types.d.ts +162 -0
  269. package/dist/compile-types.js +2 -0
  270. package/dist/compile-types.js.map +1 -0
  271. package/dist/coverage/report.js +11 -5
  272. package/dist/coverage/report.js.map +1 -1
  273. package/dist/coverage/surface-manifest.js +5 -2
  274. package/dist/coverage/surface-manifest.js.map +1 -1
  275. package/dist/diagnostics/diagnostic.d.ts +4 -0
  276. package/dist/diagnostics/diagnostic.js +15 -3
  277. package/dist/diagnostics/diagnostic.js.map +1 -1
  278. package/dist/executable/executable-cache.d.ts +3 -4
  279. package/dist/executable/executable-cache.js +33 -10
  280. package/dist/executable/executable-cache.js.map +1 -1
  281. package/dist/executable/executable-cache.test.js +38 -16
  282. package/dist/executable/executable-cache.test.js.map +1 -1
  283. package/dist/executable/prepare.d.ts +14 -0
  284. package/dist/executable/prepare.js +66 -0
  285. package/dist/executable/prepare.js.map +1 -0
  286. package/dist/ffi/ffi-manifest.d.ts +11 -4
  287. package/dist/ffi/ffi-manifest.js +170 -58
  288. package/dist/ffi/ffi-manifest.js.map +1 -1
  289. package/dist/ffi/ffi-manifest.test.d.ts +1 -0
  290. package/dist/ffi/ffi-manifest.test.js +111 -0
  291. package/dist/ffi/ffi-manifest.test.js.map +1 -0
  292. package/dist/format-integer.d.ts +3 -0
  293. package/dist/format-integer.js +14 -0
  294. package/dist/format-integer.js.map +1 -0
  295. package/dist/frontend/analysis.d.ts +5 -0
  296. package/dist/frontend/analysis.js +88 -0
  297. package/dist/frontend/analysis.js.map +1 -0
  298. package/dist/frontend/arguments-usage.d.ts +4 -0
  299. package/dist/frontend/arguments-usage.js +40 -0
  300. package/dist/frontend/arguments-usage.js.map +1 -0
  301. package/dist/frontend/binding-source.d.ts +4 -0
  302. package/dist/frontend/binding-source.js +18 -0
  303. package/dist/frontend/binding-source.js.map +1 -0
  304. package/dist/frontend/builtin-modules.d.ts +1 -1
  305. package/dist/frontend/builtin-modules.js +1 -1
  306. package/dist/frontend/builtin-modules.js.map +1 -1
  307. package/dist/frontend/cjs-lexer.d.ts +4 -25
  308. package/dist/frontend/cjs-lexer.js +6 -806
  309. package/dist/frontend/cjs-lexer.js.map +1 -1
  310. package/dist/frontend/cjs-resolve.d.ts +5 -0
  311. package/dist/frontend/cjs-resolve.js +429 -0
  312. package/dist/frontend/cjs-resolve.js.map +1 -0
  313. package/dist/frontend/cjs-syntax.d.ts +26 -0
  314. package/dist/frontend/cjs-syntax.js +806 -0
  315. package/dist/frontend/cjs-syntax.js.map +1 -0
  316. package/dist/frontend/comptime-node.d.ts +4 -0
  317. package/dist/frontend/comptime-node.js +16 -0
  318. package/dist/frontend/comptime-node.js.map +1 -0
  319. package/dist/frontend/comptime-node.test.d.ts +1 -0
  320. package/dist/frontend/comptime-node.test.js +37 -0
  321. package/dist/frontend/comptime-node.test.js.map +1 -0
  322. package/dist/frontend/dts-paths.d.ts +3 -4
  323. package/dist/frontend/dts-paths.js +15 -8
  324. package/dist/frontend/dts-paths.js.map +1 -1
  325. package/dist/frontend/fork-target.js +2 -2
  326. package/dist/frontend/fork-target.js.map +1 -1
  327. package/dist/frontend/helper-tokens.d.ts +1 -0
  328. package/dist/frontend/helper-tokens.js +147 -0
  329. package/dist/frontend/helper-tokens.js.map +1 -0
  330. package/dist/frontend/helper-tokens.test.d.ts +1 -0
  331. package/dist/frontend/helper-tokens.test.js +35 -0
  332. package/dist/frontend/helper-tokens.test.js.map +1 -0
  333. package/dist/frontend/inferred-js-diagnostics.d.ts +5 -0
  334. package/dist/frontend/inferred-js-diagnostics.js +69 -0
  335. package/dist/frontend/inferred-js-diagnostics.js.map +1 -0
  336. package/dist/frontend/inferred-js-diagnostics.test.d.ts +1 -0
  337. package/dist/frontend/inferred-js-diagnostics.test.js +58 -0
  338. package/dist/frontend/inferred-js-diagnostics.test.js.map +1 -0
  339. package/dist/frontend/input-tracker.d.ts +5 -2
  340. package/dist/frontend/input-tracker.js +24 -3
  341. package/dist/frontend/input-tracker.js.map +1 -1
  342. package/dist/frontend/input-tracker.test.js +23 -0
  343. package/dist/frontend/input-tracker.test.js.map +1 -1
  344. package/dist/frontend/lib-contract.js +32 -24
  345. package/dist/frontend/lib-contract.js.map +1 -1
  346. package/dist/frontend/literal-values.d.ts +4 -0
  347. package/dist/frontend/literal-values.js +21 -0
  348. package/dist/frontend/literal-values.js.map +1 -0
  349. package/dist/frontend/literal-values.test.d.ts +1 -0
  350. package/dist/frontend/literal-values.test.js +91 -0
  351. package/dist/frontend/literal-values.test.js.map +1 -0
  352. package/dist/frontend/lowering/abstract-equality.d.ts +1 -1
  353. package/dist/frontend/lowering/abstract-equality.js +3 -0
  354. package/dist/frontend/lowering/abstract-equality.js.map +1 -1
  355. package/dist/frontend/lowering/array-indexed-mutation.js +11 -6
  356. package/dist/frontend/lowering/array-indexed-mutation.js.map +1 -1
  357. package/dist/frontend/lowering/array-values.d.ts +4 -1
  358. package/dist/frontend/lowering/array-values.js +43 -1
  359. package/dist/frontend/lowering/array-values.js.map +1 -1
  360. package/dist/frontend/lowering/callback-arg.js +1 -0
  361. package/dist/frontend/lowering/callback-arg.js.map +1 -1
  362. package/dist/frontend/lowering/class-callbacks.d.ts +12 -0
  363. package/dist/frontend/lowering/class-callbacks.js +63 -0
  364. package/dist/frontend/lowering/class-callbacks.js.map +1 -0
  365. package/dist/frontend/lowering/class-descriptors.d.ts +9 -0
  366. package/dist/frontend/lowering/class-descriptors.js +73 -0
  367. package/dist/frontend/lowering/class-descriptors.js.map +1 -0
  368. package/dist/frontend/lowering/class-dynamic-dispatch.d.ts +41 -0
  369. package/dist/frontend/lowering/class-dynamic-dispatch.js +803 -0
  370. package/dist/frontend/lowering/class-dynamic-dispatch.js.map +1 -0
  371. package/dist/frontend/lowering/class-dynamic-dispatch.test.d.ts +1 -0
  372. package/dist/frontend/lowering/class-dynamic-dispatch.test.js +92 -0
  373. package/dist/frontend/lowering/class-dynamic-dispatch.test.js.map +1 -0
  374. package/dist/frontend/lowering/class-instance-constructor.d.ts +7 -0
  375. package/dist/frontend/lowering/class-instance-constructor.js +64 -0
  376. package/dist/frontend/lowering/class-instance-constructor.js.map +1 -0
  377. package/dist/frontend/lowering/class-method-values.d.ts +10 -0
  378. package/dist/frontend/lowering/class-method-values.js +170 -0
  379. package/dist/frontend/lowering/class-method-values.js.map +1 -0
  380. package/dist/frontend/lowering/class-prototypes.d.ts +16 -0
  381. package/dist/frontend/lowering/class-prototypes.js +134 -0
  382. package/dist/frontend/lowering/class-prototypes.js.map +1 -0
  383. package/dist/frontend/lowering/class-static-data.d.ts +6 -0
  384. package/dist/frontend/lowering/class-static-data.js +56 -0
  385. package/dist/frontend/lowering/class-static-data.js.map +1 -0
  386. package/dist/frontend/lowering/containers/buffer-numeric-methods.d.ts +4 -0
  387. package/dist/frontend/lowering/containers/buffer-numeric-methods.js +26 -0
  388. package/dist/frontend/lowering/containers/buffer-numeric-methods.js.map +1 -0
  389. package/dist/frontend/lowering/containers/bytes.d.ts +11 -7
  390. package/dist/frontend/lowering/containers/bytes.js +164 -155
  391. package/dist/frontend/lowering/containers/bytes.js.map +1 -1
  392. package/dist/frontend/lowering/containers/string-and-regexp.d.ts +2 -2
  393. package/dist/frontend/lowering/containers/string-and-regexp.js +39 -16
  394. package/dist/frontend/lowering/containers/string-and-regexp.js.map +1 -1
  395. package/dist/frontend/lowering/containers/string-replacement.d.ts +7 -0
  396. package/dist/frontend/lowering/containers/string-replacement.js +217 -0
  397. package/dist/frontend/lowering/containers/string-replacement.js.map +1 -0
  398. package/dist/frontend/lowering/error-methods.d.ts +11 -0
  399. package/dist/frontend/lowering/error-methods.js +78 -0
  400. package/dist/frontend/lowering/error-methods.js.map +1 -0
  401. package/dist/frontend/lowering/expressions/global-symbols.d.ts +6 -0
  402. package/dist/frontend/lowering/expressions/global-symbols.js +11 -0
  403. package/dist/frontend/lowering/expressions/global-symbols.js.map +1 -0
  404. package/dist/frontend/lowering/expressions/native-proxy.d.ts +7 -0
  405. package/dist/frontend/lowering/expressions/native-proxy.js +49 -0
  406. package/dist/frontend/lowering/expressions/native-proxy.js.map +1 -0
  407. package/dist/frontend/lowering/expressions/nullish-assignment.d.ts +6 -0
  408. package/dist/frontend/lowering/expressions/nullish-assignment.js +124 -0
  409. package/dist/frontend/lowering/expressions/nullish-assignment.js.map +1 -0
  410. package/dist/frontend/lowering/expressions/object-literals.d.ts +8 -8
  411. package/dist/frontend/lowering/expressions/object-literals.js +485 -185
  412. package/dist/frontend/lowering/expressions/object-literals.js.map +1 -1
  413. package/dist/frontend/lowering/expressions/optional-chains.d.ts +5 -6
  414. package/dist/frontend/lowering/expressions/optional-chains.js +27 -14
  415. package/dist/frontend/lowering/expressions/optional-chains.js.map +1 -1
  416. package/dist/frontend/lowering/expressions/try-lower-expression.js +1 -0
  417. package/dist/frontend/lowering/expressions/try-lower-expression.js.map +1 -1
  418. package/dist/frontend/lowering/expressions/union-field-write.d.ts +8 -0
  419. package/dist/frontend/lowering/expressions/union-field-write.js +71 -0
  420. package/dist/frontend/lowering/expressions/union-field-write.js.map +1 -0
  421. package/dist/frontend/lowering/function-context.d.ts +93 -0
  422. package/dist/frontend/lowering/function-context.js +103 -0
  423. package/dist/frontend/lowering/function-context.js.map +1 -0
  424. package/dist/frontend/lowering/generator-delegation.d.ts +7 -0
  425. package/dist/frontend/lowering/generator-delegation.js +85 -0
  426. package/dist/frontend/lowering/generator-delegation.js.map +1 -0
  427. package/dist/frontend/lowering/generator-dynamic-dispatch.d.ts +10 -0
  428. package/dist/frontend/lowering/generator-dynamic-dispatch.js +105 -0
  429. package/dist/frontend/lowering/generator-dynamic-dispatch.js.map +1 -0
  430. package/dist/frontend/lowering/lib-boundary.d.ts +2 -1
  431. package/dist/frontend/lowering/lib-boundary.js +59 -20
  432. package/dist/frontend/lowering/lib-boundary.js.map +1 -1
  433. package/dist/frontend/lowering/lib-boundary.test.d.ts +1 -0
  434. package/dist/frontend/lowering/lib-boundary.test.js +45 -0
  435. package/dist/frontend/lowering/lib-boundary.test.js.map +1 -0
  436. package/dist/frontend/lowering/lower-array-sort.d.ts +1 -1
  437. package/dist/frontend/lowering/lower-assert.d.ts +1 -1
  438. package/dist/frontend/lowering/lower-assert.js.map +1 -1
  439. package/dist/frontend/lowering/lower-async-iteration.d.ts +1 -1
  440. package/dist/frontend/lowering/lower-async-iteration.js.map +1 -1
  441. package/dist/frontend/lowering/lower-builtin-values.d.ts +12 -0
  442. package/dist/frontend/lowering/lower-builtin-values.js +139 -0
  443. package/dist/frontend/lowering/lower-builtin-values.js.map +1 -0
  444. package/dist/frontend/lowering/lower-builtins.d.ts +27 -41
  445. package/dist/frontend/lowering/lower-builtins.js +553 -346
  446. package/dist/frontend/lowering/lower-builtins.js.map +1 -1
  447. package/dist/frontend/lowering/lower-calls.d.ts +22 -26
  448. package/dist/frontend/lowering/lower-calls.js +1373 -380
  449. package/dist/frontend/lowering/lower-calls.js.map +1 -1
  450. package/dist/frontend/lowering/lower-classes.d.ts +83 -45
  451. package/dist/frontend/lowering/lower-classes.js +952 -339
  452. package/dist/frontend/lowering/lower-classes.js.map +1 -1
  453. package/dist/frontend/lowering/lower-comptime.d.ts +1 -1
  454. package/dist/frontend/lowering/lower-comptime.js +23 -32
  455. package/dist/frontend/lowering/lower-comptime.js.map +1 -1
  456. package/dist/frontend/lowering/lower-containers.d.ts +27 -32
  457. package/dist/frontend/lowering/lower-containers.js +796 -151
  458. package/dist/frontend/lowering/lower-containers.js.map +1 -1
  459. package/dist/frontend/lowering/lower-dgram.d.ts +1 -1
  460. package/dist/frontend/lowering/lower-dgram.js.map +1 -1
  461. package/dist/frontend/lowering/lower-enums.d.ts +1 -1
  462. package/dist/frontend/lowering/lower-enums.js.map +1 -1
  463. package/dist/frontend/lowering/lower-event-emitter.d.ts +30 -1
  464. package/dist/frontend/lowering/lower-event-emitter.js +58 -26
  465. package/dist/frontend/lowering/lower-event-emitter.js.map +1 -1
  466. package/dist/frontend/lowering/lower-expando.d.ts +7 -1
  467. package/dist/frontend/lowering/lower-expando.js +14 -6
  468. package/dist/frontend/lowering/lower-expando.js.map +1 -1
  469. package/dist/frontend/lowering/lower-exprs.d.ts +35 -11
  470. package/dist/frontend/lowering/lower-exprs.js +1785 -790
  471. package/dist/frontend/lowering/lower-exprs.js.map +1 -1
  472. package/dist/frontend/lowering/lower-generators.d.ts +2 -5
  473. package/dist/frontend/lowering/lower-generators.js +77 -46
  474. package/dist/frontend/lowering/lower-generators.js.map +1 -1
  475. package/dist/frontend/lowering/lower-global-value.d.ts +7 -0
  476. package/dist/frontend/lowering/lower-global-value.js +17 -0
  477. package/dist/frontend/lowering/lower-global-value.js.map +1 -0
  478. package/dist/frontend/lowering/lower-inspect.d.ts +1 -1
  479. package/dist/frontend/lowering/lower-inspect.js +17 -8
  480. package/dist/frontend/lowering/lower-inspect.js.map +1 -1
  481. package/dist/frontend/lowering/lower-island.d.ts +5 -8
  482. package/dist/frontend/lowering/lower-island.js +34 -23
  483. package/dist/frontend/lowering/lower-island.js.map +1 -1
  484. package/dist/frontend/lowering/lower-mixins.d.ts +2 -2
  485. package/dist/frontend/lowering/lower-mixins.js +5 -3
  486. package/dist/frontend/lowering/lower-mixins.js.map +1 -1
  487. package/dist/frontend/lowering/lower-modules.d.ts +1 -1
  488. package/dist/frontend/lowering/lower-modules.js +252 -38
  489. package/dist/frontend/lowering/lower-modules.js.map +1 -1
  490. package/dist/frontend/lowering/lower-namespaces.d.ts +1 -1
  491. package/dist/frontend/lowering/lower-namespaces.js.map +1 -1
  492. package/dist/frontend/lowering/lower-node-module.d.ts +1 -1
  493. package/dist/frontend/lowering/lower-node-module.js +13 -10
  494. package/dist/frontend/lowering/lower-node-module.js.map +1 -1
  495. package/dist/frontend/lowering/lower-server.d.ts +1 -1
  496. package/dist/frontend/lowering/lower-server.js +6 -10
  497. package/dist/frontend/lowering/lower-server.js.map +1 -1
  498. package/dist/frontend/lowering/lower-stmts.d.ts +10 -14
  499. package/dist/frontend/lowering/lower-stmts.js +731 -532
  500. package/dist/frontend/lowering/lower-stmts.js.map +1 -1
  501. package/dist/frontend/lowering/lower-stream.d.ts +1 -1
  502. package/dist/frontend/lowering/lower-stream.js +19 -10
  503. package/dist/frontend/lowering/lower-stream.js.map +1 -1
  504. package/dist/frontend/lowering/lower-test.d.ts +1 -1
  505. package/dist/frontend/lowering/lower-test.js.map +1 -1
  506. package/dist/frontend/lowering/lower-url.d.ts +6 -0
  507. package/dist/frontend/lowering/lower-url.js +77 -0
  508. package/dist/frontend/lowering/lower-url.js.map +1 -0
  509. package/dist/frontend/lowering/lowerer.d.ts +113 -189
  510. package/dist/frontend/lowering/lowerer.js +1033 -663
  511. package/dist/frontend/lowering/lowerer.js.map +1 -1
  512. package/dist/frontend/lowering/lowerer.test.d.ts +1 -0
  513. package/dist/frontend/lowering/lowerer.test.js +26 -0
  514. package/dist/frontend/lowering/lowerer.test.js.map +1 -0
  515. package/dist/frontend/lowering/native-ffi.d.ts +5 -0
  516. package/dist/frontend/lowering/native-ffi.js +40 -0
  517. package/dist/frontend/lowering/native-ffi.js.map +1 -0
  518. package/dist/frontend/lowering/object-enumeration-receiver.d.ts +7 -0
  519. package/dist/frontend/lowering/object-enumeration-receiver.js +33 -0
  520. package/dist/frontend/lowering/object-enumeration-receiver.js.map +1 -0
  521. package/dist/frontend/lowering/object-factory-new.d.ts +8 -0
  522. package/dist/frontend/lowering/object-factory-new.js +68 -0
  523. package/dist/frontend/lowering/object-factory-new.js.map +1 -0
  524. package/dist/frontend/lowering/optional-arguments.js +6 -1
  525. package/dist/frontend/lowering/optional-arguments.js.map +1 -1
  526. package/dist/frontend/lowering/pairs-snapshot.js +2 -1
  527. package/dist/frontend/lowering/pairs-snapshot.js.map +1 -1
  528. package/dist/frontend/lowering/runtime-optional-locals.d.ts +14 -0
  529. package/dist/frontend/lowering/runtime-optional-locals.js +41 -0
  530. package/dist/frontend/lowering/runtime-optional-locals.js.map +1 -0
  531. package/dist/frontend/lowering/runtime-optional-locals.test.d.ts +1 -0
  532. package/dist/frontend/lowering/runtime-optional-locals.test.js +85 -0
  533. package/dist/frontend/lowering/runtime-optional-locals.test.js.map +1 -0
  534. package/dist/frontend/lowering/sanitize-class-types.d.ts +8 -0
  535. package/dist/frontend/lowering/sanitize-class-types.js +79 -0
  536. package/dist/frontend/lowering/sanitize-class-types.js.map +1 -0
  537. package/dist/frontend/lowering/sanitize-class-types.test.d.ts +1 -0
  538. package/dist/frontend/lowering/sanitize-class-types.test.js +60 -0
  539. package/dist/frontend/lowering/sanitize-class-types.test.js.map +1 -0
  540. package/dist/frontend/lowering/static-this.d.ts +5 -1
  541. package/dist/frontend/lowering/static-this.js +28 -2
  542. package/dist/frontend/lowering/static-this.js.map +1 -1
  543. package/dist/frontend/lowering/string-index.d.ts +7 -0
  544. package/dist/frontend/lowering/string-index.js +39 -0
  545. package/dist/frontend/lowering/string-index.js.map +1 -0
  546. package/dist/frontend/lowering/surfaces.d.ts +9 -4
  547. package/dist/frontend/lowering/surfaces.js +98 -35
  548. package/dist/frontend/lowering/surfaces.js.map +1 -1
  549. package/dist/frontend/lowering/symbol-fields.d.ts +22 -0
  550. package/dist/frontend/lowering/symbol-fields.js +183 -0
  551. package/dist/frontend/lowering/symbol-fields.js.map +1 -0
  552. package/dist/frontend/lowering/symbol-methods.d.ts +7 -0
  553. package/dist/frontend/lowering/symbol-methods.js +30 -0
  554. package/dist/frontend/lowering/symbol-methods.js.map +1 -0
  555. package/dist/frontend/lowering/text-decoder-encoding.d.ts +10 -0
  556. package/dist/frontend/lowering/text-decoder-encoding.js +77 -0
  557. package/dist/frontend/lowering/text-decoder-encoding.js.map +1 -0
  558. package/dist/frontend/lowering/text-decoder-encoding.test.d.ts +1 -0
  559. package/dist/frontend/lowering/text-decoder-encoding.test.js +38 -0
  560. package/dist/frontend/lowering/text-decoder-encoding.test.js.map +1 -0
  561. package/dist/frontend/lowering/union-narrow.d.ts +9 -0
  562. package/dist/frontend/lowering/union-narrow.js +59 -0
  563. package/dist/frontend/lowering/union-narrow.js.map +1 -0
  564. package/dist/frontend/lowering/union-narrow.test.d.ts +1 -0
  565. package/dist/frontend/lowering/union-narrow.test.js +72 -0
  566. package/dist/frontend/lowering/union-narrow.test.js.map +1 -0
  567. package/dist/frontend/lowering/union-retag.d.ts +43 -0
  568. package/dist/frontend/lowering/union-retag.js +259 -0
  569. package/dist/frontend/lowering/union-retag.js.map +1 -0
  570. package/dist/frontend/lowering/union-retag.test.d.ts +1 -0
  571. package/dist/frontend/lowering/union-retag.test.js +405 -0
  572. package/dist/frontend/lowering/union-retag.test.js.map +1 -0
  573. package/dist/frontend/lowering/unregistered-class-types.d.ts +14 -0
  574. package/dist/frontend/lowering/unregistered-class-types.js +94 -0
  575. package/dist/frontend/lowering/unregistered-class-types.js.map +1 -0
  576. package/dist/frontend/lowering/unregistered-class-types.test.d.ts +1 -0
  577. package/dist/frontend/lowering/unregistered-class-types.test.js +65 -0
  578. package/dist/frontend/lowering/unregistered-class-types.test.js.map +1 -0
  579. package/dist/frontend/lowering/width-lift.d.ts +40 -0
  580. package/dist/frontend/lowering/width-lift.js +2 -0
  581. package/dist/frontend/lowering/width-lift.js.map +1 -0
  582. package/dist/frontend/module-syntax.d.ts +58 -0
  583. package/dist/frontend/module-syntax.js +123 -0
  584. package/dist/frontend/module-syntax.js.map +1 -0
  585. package/dist/frontend/module-syntax.test.d.ts +1 -0
  586. package/dist/frontend/module-syntax.test.js +78 -0
  587. package/dist/frontend/module-syntax.test.js.map +1 -0
  588. package/dist/frontend/npm-fetch-analysis.d.ts +17 -0
  589. package/dist/frontend/npm-fetch-analysis.js +100 -0
  590. package/dist/frontend/npm-fetch-analysis.js.map +1 -0
  591. package/dist/frontend/npm-fetch-analysis.test.d.ts +1 -0
  592. package/dist/frontend/npm-fetch-analysis.test.js +107 -0
  593. package/dist/frontend/npm-fetch-analysis.test.js.map +1 -0
  594. package/dist/frontend/npm-fetch-node.d.ts +2 -0
  595. package/dist/frontend/npm-fetch-node.js +12 -0
  596. package/dist/frontend/npm-fetch-node.js.map +1 -0
  597. package/dist/frontend/npm-fetch-syntax.d.ts +6 -0
  598. package/dist/frontend/npm-fetch-syntax.js +207 -0
  599. package/dist/frontend/npm-fetch-syntax.js.map +1 -0
  600. package/dist/frontend/npm-node.d.ts +10 -0
  601. package/dist/frontend/npm-node.js +14 -0
  602. package/dist/frontend/npm-node.js.map +1 -0
  603. package/dist/frontend/npm-static-bundled-cjs.d.ts +8 -0
  604. package/dist/frontend/npm-static-bundled-cjs.js +236 -0
  605. package/dist/frontend/npm-static-bundled-cjs.js.map +1 -0
  606. package/dist/frontend/npm-static-bundled-cjs.test.d.ts +1 -0
  607. package/dist/frontend/npm-static-bundled-cjs.test.js +69 -0
  608. package/dist/frontend/npm-static-bundled-cjs.test.js.map +1 -0
  609. package/dist/frontend/npm-static-declaration-syntax.d.ts +57 -0
  610. package/dist/frontend/npm-static-declaration-syntax.js +944 -0
  611. package/dist/frontend/npm-static-declaration-syntax.js.map +1 -0
  612. package/dist/frontend/npm-static-declarations.d.ts +11 -39
  613. package/dist/frontend/npm-static-declarations.js +22 -561
  614. package/dist/frontend/npm-static-declarations.js.map +1 -1
  615. package/dist/frontend/npm-static-declarations.test.js +245 -6
  616. package/dist/frontend/npm-static-declarations.test.js.map +1 -1
  617. package/dist/frontend/npm-static-prune.d.ts +1 -1
  618. package/dist/frontend/npm-static-prune.js +5 -4
  619. package/dist/frontend/npm-static-prune.js.map +1 -1
  620. package/dist/frontend/npm-static-prune.test.js +1 -1
  621. package/dist/frontend/npm-static-prune.test.js.map +1 -1
  622. package/dist/frontend/npm-static-rewrite-host.d.ts +4 -0
  623. package/dist/frontend/npm-static-rewrite-host.js +179 -0
  624. package/dist/frontend/npm-static-rewrite-host.js.map +1 -0
  625. package/dist/frontend/npm-static-rewrite-syntax.d.ts +16 -0
  626. package/dist/frontend/npm-static-rewrite-syntax.js +905 -0
  627. package/dist/frontend/npm-static-rewrite-syntax.js.map +1 -0
  628. package/dist/frontend/npm-static-rewrite.d.ts +0 -5
  629. package/dist/frontend/npm-static-rewrite.js +2 -1079
  630. package/dist/frontend/npm-static-rewrite.js.map +1 -1
  631. package/dist/frontend/npm-static-subtyping.d.ts +5 -0
  632. package/dist/frontend/npm-static-subtyping.js +55 -0
  633. package/dist/frontend/npm-static-subtyping.js.map +1 -0
  634. package/dist/frontend/npm-static-subtyping.test.d.ts +1 -0
  635. package/dist/frontend/npm-static-subtyping.test.js +58 -0
  636. package/dist/frontend/npm-static-subtyping.test.js.map +1 -0
  637. package/dist/frontend/npm-static.d.ts +7 -15
  638. package/dist/frontend/npm-static.js +19 -28
  639. package/dist/frontend/npm-static.js.map +1 -1
  640. package/dist/frontend/npm.d.ts +8 -69
  641. package/dist/frontend/npm.js +21 -361
  642. package/dist/frontend/npm.js.map +1 -1
  643. package/dist/frontend/npm.test.js +2 -2
  644. package/dist/frontend/npm.test.js.map +1 -1
  645. package/dist/frontend/pipeline-native.d.ts +6 -0
  646. package/dist/frontend/pipeline-native.js +32 -0
  647. package/dist/frontend/pipeline-native.js.map +1 -0
  648. package/dist/frontend/pipeline.d.ts +54 -0
  649. package/dist/frontend/pipeline.js +382 -0
  650. package/dist/frontend/pipeline.js.map +1 -0
  651. package/dist/frontend/pipeline.test.d.ts +1 -0
  652. package/dist/frontend/pipeline.test.js +77 -0
  653. package/dist/frontend/pipeline.test.js.map +1 -0
  654. package/dist/frontend/program-analysis.d.ts +10 -0
  655. package/dist/frontend/program-analysis.js +14 -0
  656. package/dist/frontend/program-analysis.js.map +1 -0
  657. package/dist/frontend/program-node.d.ts +9 -0
  658. package/dist/frontend/program-node.js +48 -0
  659. package/dist/frontend/program-node.js.map +1 -0
  660. package/dist/frontend/program.d.ts +43 -19
  661. package/dist/frontend/program.js +556 -197
  662. package/dist/frontend/program.js.map +1 -1
  663. package/dist/frontend/program.test.d.ts +1 -0
  664. package/dist/frontend/program.test.js +202 -0
  665. package/dist/frontend/program.test.js.map +1 -0
  666. package/dist/frontend/provenance-core.d.ts +9 -0
  667. package/dist/frontend/provenance-core.js +435 -0
  668. package/dist/frontend/provenance-core.js.map +1 -0
  669. package/dist/frontend/provenance.d.ts +0 -4
  670. package/dist/frontend/provenance.js +4 -459
  671. package/dist/frontend/provenance.js.map +1 -1
  672. package/dist/frontend/resolve.d.ts +3 -1
  673. package/dist/frontend/resolve.js +6 -3
  674. package/dist/frontend/resolve.js.map +1 -1
  675. package/dist/frontend/runtime-resolve.d.ts +4 -3
  676. package/dist/frontend/runtime-resolve.js +22 -18
  677. package/dist/frontend/runtime-resolve.js.map +1 -1
  678. package/dist/frontend/runtime-resolve.test.js +53 -0
  679. package/dist/frontend/runtime-resolve.test.js.map +1 -1
  680. package/dist/frontend/services-node.d.ts +5 -0
  681. package/dist/frontend/services-node.js +19 -0
  682. package/dist/frontend/services-node.js.map +1 -0
  683. package/dist/frontend/services-node.test.d.ts +1 -0
  684. package/dist/frontend/services-node.test.js +70 -0
  685. package/dist/frontend/services-node.test.js.map +1 -0
  686. package/dist/frontend/services.d.ts +44 -0
  687. package/dist/frontend/services.js +90 -0
  688. package/dist/frontend/services.js.map +1 -0
  689. package/dist/frontend/services.test.d.ts +1 -0
  690. package/dist/frontend/services.test.js +174 -0
  691. package/dist/frontend/services.test.js.map +1 -0
  692. package/dist/frontend/ts7/adapter.d.ts +3 -3
  693. package/dist/frontend/ts7/adapter.js +14 -31
  694. package/dist/frontend/ts7/adapter.js.map +1 -1
  695. package/dist/frontend/ts7/api.d.ts +16 -0
  696. package/dist/frontend/ts7/api.js +24 -0
  697. package/dist/frontend/ts7/api.js.map +1 -0
  698. package/dist/frontend/ts7/ast-bytes.d.ts +31 -0
  699. package/dist/frontend/ts7/ast-bytes.js +137 -0
  700. package/dist/frontend/ts7/ast-bytes.js.map +1 -0
  701. package/dist/frontend/ts7/ast-bytes.test.d.ts +1 -0
  702. package/dist/frontend/ts7/ast-bytes.test.js +73 -0
  703. package/dist/frontend/ts7/ast-bytes.test.js.map +1 -0
  704. package/dist/frontend/ts7/ast-guards.generated.d.ts +353 -0
  705. package/dist/frontend/ts7/ast-guards.generated.js +1951 -0
  706. package/dist/frontend/ts7/ast-guards.generated.js.map +1 -0
  707. package/dist/frontend/ts7/ast-guards.test.d.ts +1 -0
  708. package/dist/frontend/ts7/ast-guards.test.js +43 -0
  709. package/dist/frontend/ts7/ast-guards.test.js.map +1 -0
  710. package/dist/frontend/ts7/ast-node.d.ts +194 -0
  711. package/dist/frontend/ts7/ast-node.js +448 -0
  712. package/dist/frontend/ts7/ast-node.js.map +1 -0
  713. package/dist/frontend/ts7/ast-node.test.d.ts +1 -0
  714. package/dist/frontend/ts7/ast-node.test.js +266 -0
  715. package/dist/frontend/ts7/ast-node.test.js.map +1 -0
  716. package/dist/frontend/ts7/ast-schema.generated.d.ts +503 -0
  717. package/dist/frontend/ts7/ast-schema.generated.js +1446 -0
  718. package/dist/frontend/ts7/ast-schema.generated.js.map +1 -0
  719. package/dist/frontend/ts7/ast-text.d.ts +6 -0
  720. package/dist/frontend/ts7/ast-text.js +124 -0
  721. package/dist/frontend/ts7/ast-text.js.map +1 -0
  722. package/dist/frontend/ts7/ast-text.test.d.ts +1 -0
  723. package/dist/frontend/ts7/ast-text.test.js +38 -0
  724. package/dist/frontend/ts7/ast-text.test.js.map +1 -0
  725. package/dist/frontend/ts7/ast-tokens.generated.d.ts +2 -0
  726. package/dist/frontend/ts7/ast-tokens.generated.js +155 -0
  727. package/dist/frontend/ts7/ast-tokens.generated.js.map +1 -0
  728. package/dist/frontend/ts7/ast-types.d.ts +42 -0
  729. package/dist/frontend/ts7/ast-types.generated.d.ts +1615 -0
  730. package/dist/frontend/ts7/ast-types.generated.js +5 -0
  731. package/dist/frontend/ts7/ast-types.generated.js.map +1 -0
  732. package/dist/frontend/ts7/ast-types.js +3 -0
  733. package/dist/frontend/ts7/ast-types.js.map +1 -0
  734. package/dist/frontend/ts7/ast-wire.d.ts +58 -0
  735. package/dist/frontend/ts7/ast-wire.js +267 -0
  736. package/dist/frontend/ts7/ast-wire.js.map +1 -0
  737. package/dist/frontend/ts7/ast-wire.test.d.ts +1 -0
  738. package/dist/frontend/ts7/ast-wire.test.js +151 -0
  739. package/dist/frontend/ts7/ast-wire.test.js.map +1 -0
  740. package/dist/frontend/ts7/ast.d.ts +14 -14
  741. package/dist/frontend/ts7/ast.js +21 -15
  742. package/dist/frontend/ts7/ast.js.map +1 -1
  743. package/dist/frontend/ts7/census-check.js +1 -0
  744. package/dist/frontend/ts7/census-check.js.map +1 -1
  745. package/dist/frontend/ts7/checker-cache.d.ts +48 -0
  746. package/dist/frontend/ts7/checker-cache.js +92 -0
  747. package/dist/frontend/ts7/checker-cache.js.map +1 -0
  748. package/dist/frontend/ts7/checker.d.ts +19 -46
  749. package/dist/frontend/ts7/checker.js +231 -161
  750. package/dist/frontend/ts7/checker.js.map +1 -1
  751. package/dist/frontend/ts7/checker.test.d.ts +1 -0
  752. package/dist/frontend/ts7/checker.test.js +335 -0
  753. package/dist/frontend/ts7/checker.test.js.map +1 -0
  754. package/dist/frontend/ts7/enums.d.ts +4 -27
  755. package/dist/frontend/ts7/enums.generated.d.ts +878 -0
  756. package/dist/frontend/ts7/enums.generated.js +1313 -0
  757. package/dist/frontend/ts7/enums.generated.js.map +1 -0
  758. package/dist/frontend/ts7/enums.js +4 -45
  759. package/dist/frontend/ts7/enums.js.map +1 -1
  760. package/dist/frontend/ts7/enums.test.d.ts +1 -0
  761. package/dist/frontend/ts7/enums.test.js +48 -0
  762. package/dist/frontend/ts7/enums.test.js.map +1 -0
  763. package/dist/frontend/ts7/native-api.d.ts +10 -0
  764. package/dist/frontend/ts7/native-api.js +10 -0
  765. package/dist/frontend/ts7/native-api.js.map +1 -0
  766. package/dist/frontend/ts7/native-host.d.ts +2 -0
  767. package/dist/frontend/ts7/native-host.js +11 -0
  768. package/dist/frontend/ts7/native-host.js.map +1 -0
  769. package/dist/frontend/ts7/native-process.d.ts +14 -0
  770. package/dist/frontend/ts7/native-process.js +62 -0
  771. package/dist/frontend/ts7/native-process.js.map +1 -0
  772. package/dist/frontend/ts7/program-adapter.d.ts +10 -98
  773. package/dist/frontend/ts7/program-adapter.js +16 -310
  774. package/dist/frontend/ts7/program-adapter.js.map +1 -1
  775. package/dist/frontend/ts7/program-host.d.ts +115 -0
  776. package/dist/frontend/ts7/program-host.js +347 -0
  777. package/dist/frontend/ts7/program-host.js.map +1 -0
  778. package/dist/frontend/ts7/program-host.test.d.ts +1 -0
  779. package/dist/frontend/ts7/program-host.test.js +207 -0
  780. package/dist/frontend/ts7/program-host.test.js.map +1 -0
  781. package/dist/frontend/ts7/rpc-api.d.ts +12 -0
  782. package/dist/frontend/ts7/rpc-api.js +23 -0
  783. package/dist/frontend/ts7/rpc-api.js.map +1 -0
  784. package/dist/frontend/ts7/rpc-client.d.ts +27 -0
  785. package/dist/frontend/ts7/rpc-client.js +102 -0
  786. package/dist/frontend/ts7/rpc-client.js.map +1 -0
  787. package/dist/frontend/ts7/rpc-client.test.d.ts +1 -0
  788. package/dist/frontend/ts7/rpc-client.test.js +133 -0
  789. package/dist/frontend/ts7/rpc-client.test.js.map +1 -0
  790. package/dist/frontend/ts7/rpc-filesystem.d.ts +16 -0
  791. package/dist/frontend/ts7/rpc-filesystem.js +42 -0
  792. package/dist/frontend/ts7/rpc-filesystem.js.map +1 -0
  793. package/dist/frontend/ts7/rpc-filesystem.test.d.ts +1 -0
  794. package/dist/frontend/ts7/rpc-filesystem.test.js +89 -0
  795. package/dist/frontend/ts7/rpc-filesystem.test.js.map +1 -0
  796. package/dist/frontend/ts7/rpc-process.d.ts +2 -0
  797. package/dist/frontend/ts7/rpc-process.js +148 -0
  798. package/dist/frontend/ts7/rpc-process.js.map +1 -0
  799. package/dist/frontend/ts7/rpc-process.test.d.ts +1 -0
  800. package/dist/frontend/ts7/rpc-process.test.js +29 -0
  801. package/dist/frontend/ts7/rpc-process.test.js.map +1 -0
  802. package/dist/frontend/ts7/rpc-wire.d.ts +46 -0
  803. package/dist/frontend/ts7/rpc-wire.js +195 -0
  804. package/dist/frontend/ts7/rpc-wire.js.map +1 -0
  805. package/dist/frontend/ts7/rpc-wire.test.d.ts +1 -0
  806. package/dist/frontend/ts7/rpc-wire.test.js +168 -0
  807. package/dist/frontend/ts7/rpc-wire.test.js.map +1 -0
  808. package/dist/frontend/ts7/semantic-checker.d.ts +137 -0
  809. package/dist/frontend/ts7/semantic-checker.js +221 -0
  810. package/dist/frontend/ts7/semantic-checker.js.map +1 -0
  811. package/dist/frontend/ts7/semantic-checker.test.d.ts +1 -0
  812. package/dist/frontend/ts7/semantic-checker.test.js +119 -0
  813. package/dist/frontend/ts7/semantic-checker.test.js.map +1 -0
  814. package/dist/frontend/ts7/semantic-json.d.ts +5 -0
  815. package/dist/frontend/ts7/semantic-json.js +52 -0
  816. package/dist/frontend/ts7/semantic-json.js.map +1 -0
  817. package/dist/frontend/ts7/semantic-json.test.d.ts +1 -0
  818. package/dist/frontend/ts7/semantic-json.test.js +42 -0
  819. package/dist/frontend/ts7/semantic-json.test.js.map +1 -0
  820. package/dist/frontend/ts7/semantic-model.d.ts +222 -0
  821. package/dist/frontend/ts7/semantic-model.js +423 -0
  822. package/dist/frontend/ts7/semantic-model.js.map +1 -0
  823. package/dist/frontend/ts7/semantic-model.test.d.ts +1 -0
  824. package/dist/frontend/ts7/semantic-model.test.js +322 -0
  825. package/dist/frontend/ts7/semantic-model.test.js.map +1 -0
  826. package/dist/frontend/ts7/semantic-schema.generated.d.ts +283 -0
  827. package/dist/frontend/ts7/semantic-schema.generated.js +222 -0
  828. package/dist/frontend/ts7/semantic-schema.generated.js.map +1 -0
  829. package/dist/frontend/ts7/semantic-types.d.ts +5 -0
  830. package/dist/frontend/ts7/semantic-types.js +2 -0
  831. package/dist/frontend/ts7/semantic-types.js.map +1 -0
  832. package/dist/frontend/ts7/session-cache.d.ts +17 -0
  833. package/dist/frontend/ts7/session-cache.js +97 -0
  834. package/dist/frontend/ts7/session-cache.js.map +1 -0
  835. package/dist/frontend/ts7/session-cache.test.d.ts +1 -0
  836. package/dist/frontend/ts7/session-cache.test.js +87 -0
  837. package/dist/frontend/ts7/session-cache.test.js.map +1 -0
  838. package/dist/frontend/ts7/session-path.d.ts +18 -0
  839. package/dist/frontend/ts7/session-path.js +203 -0
  840. package/dist/frontend/ts7/session-path.js.map +1 -0
  841. package/dist/frontend/ts7/session-path.test.d.ts +1 -0
  842. package/dist/frontend/ts7/session-path.test.js +34 -0
  843. package/dist/frontend/ts7/session-path.test.js.map +1 -0
  844. package/dist/frontend/ts7/session-schema.generated.d.ts +167 -0
  845. package/dist/frontend/ts7/session-schema.generated.js +5 -0
  846. package/dist/frontend/ts7/session-schema.generated.js.map +1 -0
  847. package/dist/frontend/ts7/session-timing.d.ts +50 -0
  848. package/dist/frontend/ts7/session-timing.js +61 -0
  849. package/dist/frontend/ts7/session-timing.js.map +1 -0
  850. package/dist/frontend/ts7/session-timing.test.d.ts +1 -0
  851. package/dist/frontend/ts7/session-timing.test.js +52 -0
  852. package/dist/frontend/ts7/session-timing.test.js.map +1 -0
  853. package/dist/frontend/ts7/session.d.ts +105 -0
  854. package/dist/frontend/ts7/session.js +233 -0
  855. package/dist/frontend/ts7/session.js.map +1 -0
  856. package/dist/frontend/ts7/session.test.d.ts +1 -0
  857. package/dist/frontend/ts7/session.test.js +215 -0
  858. package/dist/frontend/ts7/session.test.js.map +1 -0
  859. package/dist/frontend/ts7/source-parser-node.d.ts +6 -0
  860. package/dist/frontend/ts7/source-parser-node.js +15 -0
  861. package/dist/frontend/ts7/source-parser-node.js.map +1 -0
  862. package/dist/frontend/ts7/source-parser.d.ts +25 -0
  863. package/dist/frontend/ts7/source-parser.js +96 -0
  864. package/dist/frontend/ts7/source-parser.js.map +1 -0
  865. package/dist/frontend/ts7/source-parser.test.d.ts +1 -0
  866. package/dist/frontend/ts7/source-parser.test.js +151 -0
  867. package/dist/frontend/ts7/source-parser.test.js.map +1 -0
  868. package/dist/frontend/ts7/syntax.d.ts +3 -0
  869. package/dist/frontend/ts7/syntax.js +4 -0
  870. package/dist/frontend/ts7/syntax.js.map +1 -0
  871. package/dist/frontend/tsc-codes.js +3 -0
  872. package/dist/frontend/tsc-codes.js.map +1 -1
  873. package/dist/frontend/type-mapper.d.ts +29 -19
  874. package/dist/frontend/type-mapper.js +713 -306
  875. package/dist/frontend/type-mapper.js.map +1 -1
  876. package/dist/frontend/type-mapper.test.d.ts +1 -0
  877. package/dist/frontend/type-mapper.test.js +207 -0
  878. package/dist/frontend/type-mapper.test.js.map +1 -0
  879. package/dist/frontend/union-discriminants.d.ts +16 -0
  880. package/dist/frontend/union-discriminants.js +98 -0
  881. package/dist/frontend/union-discriminants.js.map +1 -0
  882. package/dist/frontend/union-discriminants.test.d.ts +1 -0
  883. package/dist/frontend/union-discriminants.test.js +182 -0
  884. package/dist/frontend/union-discriminants.test.js.map +1 -0
  885. package/dist/index.d.ts +7 -197
  886. package/dist/index.js +369 -1567
  887. package/dist/index.js.map +1 -1
  888. package/dist/ir/analysis.d.ts +16 -4
  889. package/dist/ir/analysis.js +25 -6
  890. package/dist/ir/analysis.js.map +1 -1
  891. package/dist/ir/analysis.test.js +15 -2
  892. package/dist/ir/analysis.test.js.map +1 -1
  893. package/dist/ir/constant-tables.js +67 -49
  894. package/dist/ir/constant-tables.js.map +1 -1
  895. package/dist/ir/constant-tables.test.js +1 -1
  896. package/dist/ir/control-flow.d.ts +6 -0
  897. package/dist/ir/control-flow.js +142 -0
  898. package/dist/ir/control-flow.js.map +1 -0
  899. package/dist/ir/control-flow.test.d.ts +1 -0
  900. package/dist/ir/control-flow.test.js +113 -0
  901. package/dist/ir/control-flow.test.js.map +1 -0
  902. package/dist/ir/integer-loops.js +7 -18
  903. package/dist/ir/integer-loops.js.map +1 -1
  904. package/dist/ir/integer-ranges.js +53 -27
  905. package/dist/ir/integer-ranges.js.map +1 -1
  906. package/dist/ir/ir.d.ts +309 -164
  907. package/dist/ir/ir.js +588 -879
  908. package/dist/ir/ir.js.map +1 -1
  909. package/dist/ir/ir.test.js +127 -1
  910. package/dist/ir/ir.test.js.map +1 -1
  911. package/dist/ir/scalar-records.js +165 -134
  912. package/dist/ir/scalar-records.js.map +1 -1
  913. package/dist/ir/scalar-records.test.js +1 -1
  914. package/dist/ir/serialize.d.ts +4 -2
  915. package/dist/ir/serialize.js +19 -12
  916. package/dist/ir/serialize.js.map +1 -1
  917. package/dist/ir/serialize.test.d.ts +1 -0
  918. package/dist/ir/serialize.test.js +53 -0
  919. package/dist/ir/serialize.test.js.map +1 -0
  920. package/dist/ir/traverse.d.ts +41 -0
  921. package/dist/ir/traverse.js +660 -0
  922. package/dist/ir/traverse.js.map +1 -0
  923. package/dist/ir/traverse.test.d.ts +1 -0
  924. package/dist/ir/traverse.test.js +242 -0
  925. package/dist/ir/traverse.test.js.map +1 -0
  926. package/dist/ir/validate.js +1956 -1496
  927. package/dist/ir/validate.js.map +1 -1
  928. package/dist/ir/validate.test.js +476 -2
  929. package/dist/ir/validate.test.js.map +1 -1
  930. package/dist/library/cache-primitives.d.ts +2 -3
  931. package/dist/library/cache-primitives.js +4 -6
  932. package/dist/library/cache-primitives.js.map +1 -1
  933. package/dist/library/compiler-self-identity.d.ts +1 -1
  934. package/dist/library/compiler-self-identity.js +31 -15
  935. package/dist/library/compiler-self-identity.js.map +1 -1
  936. package/dist/library/compiler-self-identity.test.d.ts +1 -0
  937. package/dist/library/compiler-self-identity.test.js +93 -0
  938. package/dist/library/compiler-self-identity.test.js.map +1 -0
  939. package/dist/library/fence-eval.js +2 -2
  940. package/dist/library/fence-eval.js.map +1 -1
  941. package/dist/library/int-infer.js +7 -6
  942. package/dist/library/int-infer.js.map +1 -1
  943. package/dist/library/int-infer.test.js +4 -4
  944. package/dist/library/library-cache.d.ts +3 -2
  945. package/dist/library/library-cache.js +5 -17
  946. package/dist/library/library-cache.js.map +1 -1
  947. package/dist/library/library-cache.test.js +54 -41
  948. package/dist/library/library-cache.test.js.map +1 -1
  949. package/dist/library/library-profile.d.ts +3 -1
  950. package/dist/library/library-profile.js +15 -6
  951. package/dist/library/library-profile.js.map +1 -1
  952. package/dist/library/prepare.d.ts +15 -0
  953. package/dist/library/prepare.js +584 -0
  954. package/dist/library/prepare.js.map +1 -0
  955. package/dist/library/semantic-source.d.ts +1 -1
  956. package/dist/library/semantic-source.js +8 -6
  957. package/dist/library/semantic-source.js.map +1 -1
  958. package/dist/library/sidecar-validate.js +4 -4
  959. package/dist/library/sidecar-validate.js.map +1 -1
  960. package/dist/library/sidecar.d.ts +2 -0
  961. package/dist/library/sidecar.js +10 -3
  962. package/dist/library/sidecar.js.map +1 -1
  963. package/dist/native/cache.d.ts +11 -0
  964. package/dist/native/cache.js +113 -0
  965. package/dist/native/cache.js.map +1 -0
  966. package/dist/native/cache.test.d.ts +1 -0
  967. package/dist/native/cache.test.js +66 -0
  968. package/dist/native/cache.test.js.map +1 -0
  969. package/dist/native/cli.d.ts +1 -0
  970. package/dist/native/cli.js +112 -0
  971. package/dist/native/cli.js.map +1 -0
  972. package/dist/native/compiler.d.ts +15 -0
  973. package/dist/native/compiler.js +336 -0
  974. package/dist/native/compiler.js.map +1 -0
  975. package/dist/native/compiler.test.d.ts +1 -0
  976. package/dist/native/compiler.test.js +174 -0
  977. package/dist/native/compiler.test.js.map +1 -0
  978. package/dist/native/comptime.d.ts +5 -0
  979. package/dist/native/comptime.js +73 -0
  980. package/dist/native/comptime.js.map +1 -0
  981. package/dist/native/comptime.test.d.ts +1 -0
  982. package/dist/native/comptime.test.js +65 -0
  983. package/dist/native/comptime.test.js.map +1 -0
  984. package/dist/native/executable-cache.d.ts +26 -0
  985. package/dist/native/executable-cache.js +228 -0
  986. package/dist/native/executable-cache.js.map +1 -0
  987. package/dist/native/executable-cache.test.d.ts +1 -0
  988. package/dist/native/executable-cache.test.js +151 -0
  989. package/dist/native/executable-cache.test.js.map +1 -0
  990. package/dist/native/file-identity.d.ts +4 -0
  991. package/dist/native/file-identity.js +14 -0
  992. package/dist/native/file-identity.js.map +1 -0
  993. package/dist/native/file-identity.test.d.ts +1 -0
  994. package/dist/native/file-identity.test.js +43 -0
  995. package/dist/native/file-identity.test.js.map +1 -0
  996. package/dist/native/library.d.ts +22 -0
  997. package/dist/native/library.js +83 -0
  998. package/dist/native/library.js.map +1 -0
  999. package/dist/native/prepare.d.ts +21 -0
  1000. package/dist/native/prepare.js +174 -0
  1001. package/dist/native/prepare.js.map +1 -0
  1002. package/dist/native/prepare.test.d.ts +1 -0
  1003. package/dist/native/prepare.test.js +70 -0
  1004. package/dist/native/prepare.test.js.map +1 -0
  1005. package/dist/native/sanitizer.d.ts +11 -0
  1006. package/dist/native/sanitizer.js +135 -0
  1007. package/dist/native/sanitizer.js.map +1 -0
  1008. package/dist/native/sanitizer.test.d.ts +1 -0
  1009. package/dist/native/sanitizer.test.js +58 -0
  1010. package/dist/native/sanitizer.test.js.map +1 -0
  1011. package/dist/native/task.d.ts +4 -0
  1012. package/dist/native/task.js +16 -0
  1013. package/dist/native/task.js.map +1 -0
  1014. package/dist/native/task.test.d.ts +1 -0
  1015. package/dist/native/task.test.js +17 -0
  1016. package/dist/native/task.test.js.map +1 -0
  1017. package/dist/native/toolchain.d.ts +45 -0
  1018. package/dist/native/toolchain.js +74 -0
  1019. package/dist/native/toolchain.js.map +1 -0
  1020. package/dist/native/toolchain.test.d.ts +1 -0
  1021. package/dist/native/toolchain.test.js +33 -0
  1022. package/dist/native/toolchain.test.js.map +1 -0
  1023. package/dist/startup-cache.d.ts +1 -1
  1024. package/dist/startup-cache.js +2 -5
  1025. package/dist/startup-cache.js.map +1 -1
  1026. package/dist/timing.d.ts +4 -0
  1027. package/dist/timing.js +19 -0
  1028. package/dist/timing.js.map +1 -0
  1029. package/dist/wasi-paths.js +10 -7
  1030. package/dist/wasi-paths.js.map +1 -1
  1031. package/package.json +28 -19
  1032. package/surface-manifest.json +171 -18
  1033. package/dist/backend/c/async.d.ts +0 -171
  1034. package/dist/backend/c/async.js +0 -1317
  1035. package/dist/backend/c/async.js.map +0 -1
  1036. package/dist/backend/c/c-emitter.d.ts +0 -531
  1037. package/dist/backend/c/c-emitter.js +0 -1917
  1038. package/dist/backend/c/c-emitter.js.map +0 -1
  1039. package/dist/backend/c/exprs.d.ts +0 -15
  1040. package/dist/backend/c/exprs.js +0 -8803
  1041. package/dist/backend/c/exprs.js.map +0 -1
  1042. package/dist/backend/c/island.d.ts +0 -45
  1043. package/dist/backend/c/island.js +0 -281
  1044. package/dist/backend/c/island.js.map +0 -1
  1045. package/dist/backend/c/may-throw.js.map +0 -1
  1046. package/dist/backend/c/shapes.d.ts +0 -142
  1047. package/dist/backend/c/shapes.js +0 -603
  1048. package/dist/backend/c/shapes.js.map +0 -1
  1049. package/dist/backend/c/stmts.d.ts +0 -76
  1050. package/dist/backend/c/stmts.js +0 -1084
  1051. package/dist/backend/c/stmts.js.map +0 -1
  1052. package/dist/backend/c/types.d.ts +0 -71
  1053. package/dist/backend/c/types.js +0 -459
  1054. package/dist/backend/c/types.js.map +0 -1
  1055. package/dist/backend/c/types.test.js +0 -32
  1056. package/dist/backend/c/types.test.js.map +0 -1
  1057. package/dist/backend/c/walkers.d.ts +0 -134
  1058. package/dist/backend/c/walkers.js +0 -1773
  1059. package/dist/backend/c/walkers.js.map +0 -1
  1060. /package/dist/backend/{c/types.test.d.ts → cycle-analysis.test.d.ts} +0 -0
@@ -0,0 +1,1951 @@
1
+ // Generated from typescript@7.0.2 by scripts/generate-ts7-ast-schema.mjs.
2
+ // TypeScript is Copyright Microsoft Corporation, licensed under Apache-2.0.
3
+ // Regenerate when changing the TypeScript pin; do not edit by hand.
4
+ import { SyntaxKind, NodeFlags, ScriptKind, OuterExpressionKinds } from "./enums.js";
5
+ export function isToken(node) {
6
+ if (node === undefined)
7
+ return false;
8
+ return isTokenKind(node.kind);
9
+ }
10
+ export function isIdentifier(node) {
11
+ if (node === undefined)
12
+ return false;
13
+ return node.kind === SyntaxKind.Identifier;
14
+ }
15
+ export function isPrivateIdentifier(node) {
16
+ if (node === undefined)
17
+ return false;
18
+ return node.kind === SyntaxKind.PrivateIdentifier;
19
+ }
20
+ export function isQualifiedName(node) {
21
+ if (node === undefined)
22
+ return false;
23
+ return node.kind === SyntaxKind.QualifiedName;
24
+ }
25
+ export function isComputedPropertyName(node) {
26
+ if (node === undefined)
27
+ return false;
28
+ return node.kind === SyntaxKind.ComputedPropertyName;
29
+ }
30
+ export function isDecorator(node) {
31
+ if (node === undefined)
32
+ return false;
33
+ return node.kind === SyntaxKind.Decorator;
34
+ }
35
+ export function isEmptyStatement(node) {
36
+ if (node === undefined)
37
+ return false;
38
+ return node.kind === SyntaxKind.EmptyStatement;
39
+ }
40
+ export function isIfStatement(node) {
41
+ if (node === undefined)
42
+ return false;
43
+ return node.kind === SyntaxKind.IfStatement;
44
+ }
45
+ export function isDoStatement(node) {
46
+ if (node === undefined)
47
+ return false;
48
+ return node.kind === SyntaxKind.DoStatement;
49
+ }
50
+ export function isWhileStatement(node) {
51
+ if (node === undefined)
52
+ return false;
53
+ return node.kind === SyntaxKind.WhileStatement;
54
+ }
55
+ export function isForStatement(node) {
56
+ if (node === undefined)
57
+ return false;
58
+ return node.kind === SyntaxKind.ForStatement;
59
+ }
60
+ export function isBreakStatement(node) {
61
+ if (node === undefined)
62
+ return false;
63
+ return node.kind === SyntaxKind.BreakStatement;
64
+ }
65
+ export function isContinueStatement(node) {
66
+ if (node === undefined)
67
+ return false;
68
+ return node.kind === SyntaxKind.ContinueStatement;
69
+ }
70
+ export function isReturnStatement(node) {
71
+ if (node === undefined)
72
+ return false;
73
+ return node.kind === SyntaxKind.ReturnStatement;
74
+ }
75
+ export function isWithStatement(node) {
76
+ if (node === undefined)
77
+ return false;
78
+ return node.kind === SyntaxKind.WithStatement;
79
+ }
80
+ export function isSwitchStatement(node) {
81
+ if (node === undefined)
82
+ return false;
83
+ return node.kind === SyntaxKind.SwitchStatement;
84
+ }
85
+ export function isCaseBlock(node) {
86
+ if (node === undefined)
87
+ return false;
88
+ return node.kind === SyntaxKind.CaseBlock;
89
+ }
90
+ export function isThrowStatement(node) {
91
+ if (node === undefined)
92
+ return false;
93
+ return node.kind === SyntaxKind.ThrowStatement;
94
+ }
95
+ export function isTryStatement(node) {
96
+ if (node === undefined)
97
+ return false;
98
+ return node.kind === SyntaxKind.TryStatement;
99
+ }
100
+ export function isCatchClause(node) {
101
+ if (node === undefined)
102
+ return false;
103
+ return node.kind === SyntaxKind.CatchClause;
104
+ }
105
+ export function isDebuggerStatement(node) {
106
+ if (node === undefined)
107
+ return false;
108
+ return node.kind === SyntaxKind.DebuggerStatement;
109
+ }
110
+ export function isLabeledStatement(node) {
111
+ if (node === undefined)
112
+ return false;
113
+ return node.kind === SyntaxKind.LabeledStatement;
114
+ }
115
+ export function isExpressionStatement(node) {
116
+ if (node === undefined)
117
+ return false;
118
+ return node.kind === SyntaxKind.ExpressionStatement;
119
+ }
120
+ export function isBlock(node) {
121
+ if (node === undefined)
122
+ return false;
123
+ return node.kind === SyntaxKind.Block;
124
+ }
125
+ export function isVariableStatement(node) {
126
+ if (node === undefined)
127
+ return false;
128
+ return node.kind === SyntaxKind.VariableStatement;
129
+ }
130
+ export function isVariableDeclaration(node) {
131
+ if (node === undefined)
132
+ return false;
133
+ return node.kind === SyntaxKind.VariableDeclaration;
134
+ }
135
+ export function isVariableDeclarationList(node) {
136
+ if (node === undefined)
137
+ return false;
138
+ return node.kind === SyntaxKind.VariableDeclarationList;
139
+ }
140
+ export function isParameterDeclaration(node) {
141
+ if (node === undefined)
142
+ return false;
143
+ return node.kind === SyntaxKind.Parameter;
144
+ }
145
+ export function isBindingElement(node) {
146
+ if (node === undefined)
147
+ return false;
148
+ return node.kind === SyntaxKind.BindingElement;
149
+ }
150
+ export function isMissingDeclaration(node) {
151
+ if (node === undefined)
152
+ return false;
153
+ return node.kind === SyntaxKind.MissingDeclaration;
154
+ }
155
+ export function isFunctionDeclaration(node) {
156
+ if (node === undefined)
157
+ return false;
158
+ return node.kind === SyntaxKind.FunctionDeclaration;
159
+ }
160
+ export function isClassDeclaration(node) {
161
+ if (node === undefined)
162
+ return false;
163
+ return node.kind === SyntaxKind.ClassDeclaration;
164
+ }
165
+ export function isClassExpression(node) {
166
+ if (node === undefined)
167
+ return false;
168
+ return node.kind === SyntaxKind.ClassExpression;
169
+ }
170
+ export function isHeritageClause(node) {
171
+ if (node === undefined)
172
+ return false;
173
+ return node.kind === SyntaxKind.HeritageClause;
174
+ }
175
+ export function isInterfaceDeclaration(node) {
176
+ if (node === undefined)
177
+ return false;
178
+ return node.kind === SyntaxKind.InterfaceDeclaration;
179
+ }
180
+ export function isTypeAliasDeclaration(node) {
181
+ if (node === undefined)
182
+ return false;
183
+ switch (node.kind) {
184
+ case SyntaxKind.TypeAliasDeclaration:
185
+ case SyntaxKind.JSTypeAliasDeclaration:
186
+ return true;
187
+ default:
188
+ return false;
189
+ }
190
+ }
191
+ export function isEnumMember(node) {
192
+ if (node === undefined)
193
+ return false;
194
+ return node.kind === SyntaxKind.EnumMember;
195
+ }
196
+ export function isEnumDeclaration(node) {
197
+ if (node === undefined)
198
+ return false;
199
+ return node.kind === SyntaxKind.EnumDeclaration;
200
+ }
201
+ export function isModuleBlock(node) {
202
+ if (node === undefined)
203
+ return false;
204
+ return node.kind === SyntaxKind.ModuleBlock;
205
+ }
206
+ export function isNotEmittedStatement(node) {
207
+ if (node === undefined)
208
+ return false;
209
+ return node.kind === SyntaxKind.NotEmittedStatement;
210
+ }
211
+ export function isNotEmittedTypeElement(node) {
212
+ if (node === undefined)
213
+ return false;
214
+ return node.kind === SyntaxKind.NotEmittedTypeElement;
215
+ }
216
+ export function isImportDeclaration(node) {
217
+ if (node === undefined)
218
+ return false;
219
+ switch (node.kind) {
220
+ case SyntaxKind.ImportDeclaration:
221
+ case SyntaxKind.JSImportDeclaration:
222
+ return true;
223
+ default:
224
+ return false;
225
+ }
226
+ }
227
+ export function isExternalModuleReference(node) {
228
+ if (node === undefined)
229
+ return false;
230
+ return node.kind === SyntaxKind.ExternalModuleReference;
231
+ }
232
+ export function isNamespaceImport(node) {
233
+ if (node === undefined)
234
+ return false;
235
+ return node.kind === SyntaxKind.NamespaceImport;
236
+ }
237
+ export function isNamedImports(node) {
238
+ if (node === undefined)
239
+ return false;
240
+ return node.kind === SyntaxKind.NamedImports;
241
+ }
242
+ export function isExportAssignment(node) {
243
+ if (node === undefined)
244
+ return false;
245
+ return node.kind === SyntaxKind.ExportAssignment;
246
+ }
247
+ export function isNamespaceExportDeclaration(node) {
248
+ if (node === undefined)
249
+ return false;
250
+ return node.kind === SyntaxKind.NamespaceExportDeclaration;
251
+ }
252
+ export function isNamespaceExport(node) {
253
+ if (node === undefined)
254
+ return false;
255
+ return node.kind === SyntaxKind.NamespaceExport;
256
+ }
257
+ export function isNamedExports(node) {
258
+ if (node === undefined)
259
+ return false;
260
+ return node.kind === SyntaxKind.NamedExports;
261
+ }
262
+ export function isExportSpecifier(node) {
263
+ if (node === undefined)
264
+ return false;
265
+ return node.kind === SyntaxKind.ExportSpecifier;
266
+ }
267
+ export function isCallSignatureDeclaration(node) {
268
+ if (node === undefined)
269
+ return false;
270
+ return node.kind === SyntaxKind.CallSignature;
271
+ }
272
+ export function isConstructSignatureDeclaration(node) {
273
+ if (node === undefined)
274
+ return false;
275
+ return node.kind === SyntaxKind.ConstructSignature;
276
+ }
277
+ export function isConstructorDeclaration(node) {
278
+ if (node === undefined)
279
+ return false;
280
+ return node.kind === SyntaxKind.Constructor;
281
+ }
282
+ export function isGetAccessorDeclaration(node) {
283
+ if (node === undefined)
284
+ return false;
285
+ return node.kind === SyntaxKind.GetAccessor;
286
+ }
287
+ export function isSetAccessorDeclaration(node) {
288
+ if (node === undefined)
289
+ return false;
290
+ return node.kind === SyntaxKind.SetAccessor;
291
+ }
292
+ export function isIndexSignatureDeclaration(node) {
293
+ if (node === undefined)
294
+ return false;
295
+ return node.kind === SyntaxKind.IndexSignature;
296
+ }
297
+ export function isMethodSignatureDeclaration(node) {
298
+ if (node === undefined)
299
+ return false;
300
+ return node.kind === SyntaxKind.MethodSignature;
301
+ }
302
+ export function isMethodDeclaration(node) {
303
+ if (node === undefined)
304
+ return false;
305
+ return node.kind === SyntaxKind.MethodDeclaration;
306
+ }
307
+ export function isPropertySignatureDeclaration(node) {
308
+ if (node === undefined)
309
+ return false;
310
+ return node.kind === SyntaxKind.PropertySignature;
311
+ }
312
+ export function isPropertyDeclaration(node) {
313
+ if (node === undefined)
314
+ return false;
315
+ return node.kind === SyntaxKind.PropertyDeclaration;
316
+ }
317
+ export function isSemicolonClassElement(node) {
318
+ if (node === undefined)
319
+ return false;
320
+ return node.kind === SyntaxKind.SemicolonClassElement;
321
+ }
322
+ export function isClassStaticBlockDeclaration(node) {
323
+ if (node === undefined)
324
+ return false;
325
+ return node.kind === SyntaxKind.ClassStaticBlockDeclaration;
326
+ }
327
+ export function isOmittedExpression(node) {
328
+ if (node === undefined)
329
+ return false;
330
+ return node.kind === SyntaxKind.OmittedExpression;
331
+ }
332
+ export function isKeywordExpression(node) {
333
+ if (node === undefined)
334
+ return false;
335
+ return isKeywordExpressionKind(node.kind);
336
+ }
337
+ export function isStringLiteral(node) {
338
+ if (node === undefined)
339
+ return false;
340
+ return node.kind === SyntaxKind.StringLiteral;
341
+ }
342
+ export function isNumericLiteral(node) {
343
+ if (node === undefined)
344
+ return false;
345
+ return node.kind === SyntaxKind.NumericLiteral;
346
+ }
347
+ export function isBigIntLiteral(node) {
348
+ if (node === undefined)
349
+ return false;
350
+ return node.kind === SyntaxKind.BigIntLiteral;
351
+ }
352
+ export function isRegularExpressionLiteral(node) {
353
+ if (node === undefined)
354
+ return false;
355
+ return node.kind === SyntaxKind.RegularExpressionLiteral;
356
+ }
357
+ export function isNoSubstitutionTemplateLiteral(node) {
358
+ if (node === undefined)
359
+ return false;
360
+ return node.kind === SyntaxKind.NoSubstitutionTemplateLiteral;
361
+ }
362
+ export function isBinaryExpression(node) {
363
+ if (node === undefined)
364
+ return false;
365
+ return node.kind === SyntaxKind.BinaryExpression;
366
+ }
367
+ export function isPrefixUnaryExpression(node) {
368
+ if (node === undefined)
369
+ return false;
370
+ return node.kind === SyntaxKind.PrefixUnaryExpression;
371
+ }
372
+ export function isPostfixUnaryExpression(node) {
373
+ if (node === undefined)
374
+ return false;
375
+ return node.kind === SyntaxKind.PostfixUnaryExpression;
376
+ }
377
+ export function isYieldExpression(node) {
378
+ if (node === undefined)
379
+ return false;
380
+ return node.kind === SyntaxKind.YieldExpression;
381
+ }
382
+ export function isArrowFunction(node) {
383
+ if (node === undefined)
384
+ return false;
385
+ return node.kind === SyntaxKind.ArrowFunction;
386
+ }
387
+ export function isFunctionExpression(node) {
388
+ if (node === undefined)
389
+ return false;
390
+ return node.kind === SyntaxKind.FunctionExpression;
391
+ }
392
+ export function isAsExpression(node) {
393
+ if (node === undefined)
394
+ return false;
395
+ return node.kind === SyntaxKind.AsExpression;
396
+ }
397
+ export function isSatisfiesExpression(node) {
398
+ if (node === undefined)
399
+ return false;
400
+ return node.kind === SyntaxKind.SatisfiesExpression;
401
+ }
402
+ export function isConditionalExpression(node) {
403
+ if (node === undefined)
404
+ return false;
405
+ return node.kind === SyntaxKind.ConditionalExpression;
406
+ }
407
+ export function isPropertyAccessExpression(node) {
408
+ if (node === undefined)
409
+ return false;
410
+ return node.kind === SyntaxKind.PropertyAccessExpression;
411
+ }
412
+ export function isElementAccessExpression(node) {
413
+ if (node === undefined)
414
+ return false;
415
+ return node.kind === SyntaxKind.ElementAccessExpression;
416
+ }
417
+ export function isCallExpression(node) {
418
+ if (node === undefined)
419
+ return false;
420
+ return node.kind === SyntaxKind.CallExpression;
421
+ }
422
+ export function isNewExpression(node) {
423
+ if (node === undefined)
424
+ return false;
425
+ return node.kind === SyntaxKind.NewExpression;
426
+ }
427
+ export function isMetaProperty(node) {
428
+ if (node === undefined)
429
+ return false;
430
+ return node.kind === SyntaxKind.MetaProperty;
431
+ }
432
+ export function isNonNullExpression(node) {
433
+ if (node === undefined)
434
+ return false;
435
+ return node.kind === SyntaxKind.NonNullExpression;
436
+ }
437
+ export function isSpreadElement(node) {
438
+ if (node === undefined)
439
+ return false;
440
+ return node.kind === SyntaxKind.SpreadElement;
441
+ }
442
+ export function isTemplateExpression(node) {
443
+ if (node === undefined)
444
+ return false;
445
+ return node.kind === SyntaxKind.TemplateExpression;
446
+ }
447
+ export function isTemplateSpan(node) {
448
+ if (node === undefined)
449
+ return false;
450
+ return node.kind === SyntaxKind.TemplateSpan;
451
+ }
452
+ export function isTaggedTemplateExpression(node) {
453
+ if (node === undefined)
454
+ return false;
455
+ return node.kind === SyntaxKind.TaggedTemplateExpression;
456
+ }
457
+ export function isParenthesizedExpression(node) {
458
+ if (node === undefined)
459
+ return false;
460
+ return node.kind === SyntaxKind.ParenthesizedExpression;
461
+ }
462
+ export function isArrayLiteralExpression(node) {
463
+ if (node === undefined)
464
+ return false;
465
+ return node.kind === SyntaxKind.ArrayLiteralExpression;
466
+ }
467
+ export function isObjectLiteralExpression(node) {
468
+ if (node === undefined)
469
+ return false;
470
+ return node.kind === SyntaxKind.ObjectLiteralExpression;
471
+ }
472
+ export function isSpreadAssignment(node) {
473
+ if (node === undefined)
474
+ return false;
475
+ return node.kind === SyntaxKind.SpreadAssignment;
476
+ }
477
+ export function isPropertyAssignment(node) {
478
+ if (node === undefined)
479
+ return false;
480
+ return node.kind === SyntaxKind.PropertyAssignment;
481
+ }
482
+ export function isShorthandPropertyAssignment(node) {
483
+ if (node === undefined)
484
+ return false;
485
+ return node.kind === SyntaxKind.ShorthandPropertyAssignment;
486
+ }
487
+ export function isDeleteExpression(node) {
488
+ if (node === undefined)
489
+ return false;
490
+ return node.kind === SyntaxKind.DeleteExpression;
491
+ }
492
+ export function isTypeOfExpression(node) {
493
+ if (node === undefined)
494
+ return false;
495
+ return node.kind === SyntaxKind.TypeOfExpression;
496
+ }
497
+ export function isVoidExpression(node) {
498
+ if (node === undefined)
499
+ return false;
500
+ return node.kind === SyntaxKind.VoidExpression;
501
+ }
502
+ export function isAwaitExpression(node) {
503
+ if (node === undefined)
504
+ return false;
505
+ return node.kind === SyntaxKind.AwaitExpression;
506
+ }
507
+ export function isTypeAssertion(node) {
508
+ if (node === undefined)
509
+ return false;
510
+ return node.kind === SyntaxKind.TypeAssertionExpression;
511
+ }
512
+ export function isKeywordTypeNode(node) {
513
+ if (node === undefined)
514
+ return false;
515
+ return isKeywordTypeKind(node.kind);
516
+ }
517
+ export function isUnionTypeNode(node) {
518
+ if (node === undefined)
519
+ return false;
520
+ return node.kind === SyntaxKind.UnionType;
521
+ }
522
+ export function isIntersectionTypeNode(node) {
523
+ if (node === undefined)
524
+ return false;
525
+ return node.kind === SyntaxKind.IntersectionType;
526
+ }
527
+ export function isConditionalTypeNode(node) {
528
+ if (node === undefined)
529
+ return false;
530
+ return node.kind === SyntaxKind.ConditionalType;
531
+ }
532
+ export function isTypeOperatorNode(node) {
533
+ if (node === undefined)
534
+ return false;
535
+ return node.kind === SyntaxKind.TypeOperator;
536
+ }
537
+ export function isInferTypeNode(node) {
538
+ if (node === undefined)
539
+ return false;
540
+ return node.kind === SyntaxKind.InferType;
541
+ }
542
+ export function isArrayTypeNode(node) {
543
+ if (node === undefined)
544
+ return false;
545
+ return node.kind === SyntaxKind.ArrayType;
546
+ }
547
+ export function isIndexedAccessTypeNode(node) {
548
+ if (node === undefined)
549
+ return false;
550
+ return node.kind === SyntaxKind.IndexedAccessType;
551
+ }
552
+ export function isTypeReferenceNode(node) {
553
+ if (node === undefined)
554
+ return false;
555
+ return node.kind === SyntaxKind.TypeReference;
556
+ }
557
+ export function isExpressionWithTypeArguments(node) {
558
+ if (node === undefined)
559
+ return false;
560
+ return node.kind === SyntaxKind.ExpressionWithTypeArguments;
561
+ }
562
+ export function isLiteralTypeNode(node) {
563
+ if (node === undefined)
564
+ return false;
565
+ return node.kind === SyntaxKind.LiteralType;
566
+ }
567
+ export function isThisTypeNode(node) {
568
+ if (node === undefined)
569
+ return false;
570
+ return node.kind === SyntaxKind.ThisType;
571
+ }
572
+ export function isTypePredicateNode(node) {
573
+ if (node === undefined)
574
+ return false;
575
+ return node.kind === SyntaxKind.TypePredicate;
576
+ }
577
+ export function isImportAttribute(node) {
578
+ if (node === undefined)
579
+ return false;
580
+ return node.kind === SyntaxKind.ImportAttribute;
581
+ }
582
+ export function isImportAttributes(node) {
583
+ if (node === undefined)
584
+ return false;
585
+ return node.kind === SyntaxKind.ImportAttributes;
586
+ }
587
+ export function isTypeQueryNode(node) {
588
+ if (node === undefined)
589
+ return false;
590
+ return node.kind === SyntaxKind.TypeQuery;
591
+ }
592
+ export function isMappedTypeNode(node) {
593
+ if (node === undefined)
594
+ return false;
595
+ return node.kind === SyntaxKind.MappedType;
596
+ }
597
+ export function isTypeLiteralNode(node) {
598
+ if (node === undefined)
599
+ return false;
600
+ return node.kind === SyntaxKind.TypeLiteral;
601
+ }
602
+ export function isTupleTypeNode(node) {
603
+ if (node === undefined)
604
+ return false;
605
+ return node.kind === SyntaxKind.TupleType;
606
+ }
607
+ export function isNamedTupleMember(node) {
608
+ if (node === undefined)
609
+ return false;
610
+ return node.kind === SyntaxKind.NamedTupleMember;
611
+ }
612
+ export function isOptionalTypeNode(node) {
613
+ if (node === undefined)
614
+ return false;
615
+ return node.kind === SyntaxKind.OptionalType;
616
+ }
617
+ export function isRestTypeNode(node) {
618
+ if (node === undefined)
619
+ return false;
620
+ return node.kind === SyntaxKind.RestType;
621
+ }
622
+ export function isParenthesizedTypeNode(node) {
623
+ if (node === undefined)
624
+ return false;
625
+ return node.kind === SyntaxKind.ParenthesizedType;
626
+ }
627
+ export function isFunctionTypeNode(node) {
628
+ if (node === undefined)
629
+ return false;
630
+ return node.kind === SyntaxKind.FunctionType;
631
+ }
632
+ export function isConstructorTypeNode(node) {
633
+ if (node === undefined)
634
+ return false;
635
+ return node.kind === SyntaxKind.ConstructorType;
636
+ }
637
+ export function isTemplateHead(node) {
638
+ if (node === undefined)
639
+ return false;
640
+ return node.kind === SyntaxKind.TemplateHead;
641
+ }
642
+ export function isTemplateMiddle(node) {
643
+ if (node === undefined)
644
+ return false;
645
+ return node.kind === SyntaxKind.TemplateMiddle;
646
+ }
647
+ export function isTemplateTail(node) {
648
+ if (node === undefined)
649
+ return false;
650
+ return node.kind === SyntaxKind.TemplateTail;
651
+ }
652
+ export function isTemplateLiteralTypeNode(node) {
653
+ if (node === undefined)
654
+ return false;
655
+ return node.kind === SyntaxKind.TemplateLiteralType;
656
+ }
657
+ export function isTemplateLiteralTypeSpan(node) {
658
+ if (node === undefined)
659
+ return false;
660
+ return node.kind === SyntaxKind.TemplateLiteralTypeSpan;
661
+ }
662
+ export function isSyntheticExpression(node) {
663
+ if (node === undefined)
664
+ return false;
665
+ return node.kind === SyntaxKind.SyntheticExpression;
666
+ }
667
+ export function isPartiallyEmittedExpression(node) {
668
+ if (node === undefined)
669
+ return false;
670
+ return node.kind === SyntaxKind.PartiallyEmittedExpression;
671
+ }
672
+ export function isJsxElement(node) {
673
+ if (node === undefined)
674
+ return false;
675
+ return node.kind === SyntaxKind.JsxElement;
676
+ }
677
+ export function isJsxAttributes(node) {
678
+ if (node === undefined)
679
+ return false;
680
+ return node.kind === SyntaxKind.JsxAttributes;
681
+ }
682
+ export function isJsxNamespacedName(node) {
683
+ if (node === undefined)
684
+ return false;
685
+ return node.kind === SyntaxKind.JsxNamespacedName;
686
+ }
687
+ export function isJsxOpeningElement(node) {
688
+ if (node === undefined)
689
+ return false;
690
+ return node.kind === SyntaxKind.JsxOpeningElement;
691
+ }
692
+ export function isJsxSelfClosingElement(node) {
693
+ if (node === undefined)
694
+ return false;
695
+ return node.kind === SyntaxKind.JsxSelfClosingElement;
696
+ }
697
+ export function isJsxFragment(node) {
698
+ if (node === undefined)
699
+ return false;
700
+ return node.kind === SyntaxKind.JsxFragment;
701
+ }
702
+ export function isJsxOpeningFragment(node) {
703
+ if (node === undefined)
704
+ return false;
705
+ return node.kind === SyntaxKind.JsxOpeningFragment;
706
+ }
707
+ export function isJsxClosingFragment(node) {
708
+ if (node === undefined)
709
+ return false;
710
+ return node.kind === SyntaxKind.JsxClosingFragment;
711
+ }
712
+ export function isJsxAttribute(node) {
713
+ if (node === undefined)
714
+ return false;
715
+ return node.kind === SyntaxKind.JsxAttribute;
716
+ }
717
+ export function isJsxSpreadAttribute(node) {
718
+ if (node === undefined)
719
+ return false;
720
+ return node.kind === SyntaxKind.JsxSpreadAttribute;
721
+ }
722
+ export function isJsxClosingElement(node) {
723
+ if (node === undefined)
724
+ return false;
725
+ return node.kind === SyntaxKind.JsxClosingElement;
726
+ }
727
+ export function isJsxExpression(node) {
728
+ if (node === undefined)
729
+ return false;
730
+ return node.kind === SyntaxKind.JsxExpression;
731
+ }
732
+ export function isJsxText(node) {
733
+ if (node === undefined)
734
+ return false;
735
+ return node.kind === SyntaxKind.JsxText;
736
+ }
737
+ export function isSyntaxList(node) {
738
+ if (node === undefined)
739
+ return false;
740
+ return node.kind === SyntaxKind.SyntaxList;
741
+ }
742
+ export function isJSDoc(node) {
743
+ if (node === undefined)
744
+ return false;
745
+ return node.kind === SyntaxKind.JSDoc;
746
+ }
747
+ export function isJSDocTypeExpression(node) {
748
+ if (node === undefined)
749
+ return false;
750
+ return node.kind === SyntaxKind.JSDocTypeExpression;
751
+ }
752
+ export function isJSDocNonNullableType(node) {
753
+ if (node === undefined)
754
+ return false;
755
+ return node.kind === SyntaxKind.JSDocNonNullableType;
756
+ }
757
+ export function isJSDocNullableType(node) {
758
+ if (node === undefined)
759
+ return false;
760
+ return node.kind === SyntaxKind.JSDocNullableType;
761
+ }
762
+ export function isJSDocAllType(node) {
763
+ if (node === undefined)
764
+ return false;
765
+ return node.kind === SyntaxKind.JSDocAllType;
766
+ }
767
+ export function isJSDocVariadicType(node) {
768
+ if (node === undefined)
769
+ return false;
770
+ return node.kind === SyntaxKind.JSDocVariadicType;
771
+ }
772
+ export function isJSDocOptionalType(node) {
773
+ if (node === undefined)
774
+ return false;
775
+ return node.kind === SyntaxKind.JSDocOptionalType;
776
+ }
777
+ export function isJSDocTypeTag(node) {
778
+ if (node === undefined)
779
+ return false;
780
+ return node.kind === SyntaxKind.JSDocTypeTag;
781
+ }
782
+ export function isJSDocUnknownTag(node) {
783
+ if (node === undefined)
784
+ return false;
785
+ return node.kind === SyntaxKind.JSDocUnknownTag;
786
+ }
787
+ export function isJSDocTemplateTag(node) {
788
+ if (node === undefined)
789
+ return false;
790
+ return node.kind === SyntaxKind.JSDocTemplateTag;
791
+ }
792
+ export function isJSDocReturnTag(node) {
793
+ if (node === undefined)
794
+ return false;
795
+ return node.kind === SyntaxKind.JSDocReturnTag;
796
+ }
797
+ export function isJSDocPublicTag(node) {
798
+ if (node === undefined)
799
+ return false;
800
+ return node.kind === SyntaxKind.JSDocPublicTag;
801
+ }
802
+ export function isJSDocPrivateTag(node) {
803
+ if (node === undefined)
804
+ return false;
805
+ return node.kind === SyntaxKind.JSDocPrivateTag;
806
+ }
807
+ export function isJSDocProtectedTag(node) {
808
+ if (node === undefined)
809
+ return false;
810
+ return node.kind === SyntaxKind.JSDocProtectedTag;
811
+ }
812
+ export function isJSDocReadonlyTag(node) {
813
+ if (node === undefined)
814
+ return false;
815
+ return node.kind === SyntaxKind.JSDocReadonlyTag;
816
+ }
817
+ export function isJSDocOverrideTag(node) {
818
+ if (node === undefined)
819
+ return false;
820
+ return node.kind === SyntaxKind.JSDocOverrideTag;
821
+ }
822
+ export function isJSDocDeprecatedTag(node) {
823
+ if (node === undefined)
824
+ return false;
825
+ return node.kind === SyntaxKind.JSDocDeprecatedTag;
826
+ }
827
+ export function isJSDocSeeTag(node) {
828
+ if (node === undefined)
829
+ return false;
830
+ return node.kind === SyntaxKind.JSDocSeeTag;
831
+ }
832
+ export function isJSDocImplementsTag(node) {
833
+ if (node === undefined)
834
+ return false;
835
+ return node.kind === SyntaxKind.JSDocImplementsTag;
836
+ }
837
+ export function isJSDocAugmentsTag(node) {
838
+ if (node === undefined)
839
+ return false;
840
+ return node.kind === SyntaxKind.JSDocAugmentsTag;
841
+ }
842
+ export function isJSDocSatisfiesTag(node) {
843
+ if (node === undefined)
844
+ return false;
845
+ return node.kind === SyntaxKind.JSDocSatisfiesTag;
846
+ }
847
+ export function isJSDocThrowsTag(node) {
848
+ if (node === undefined)
849
+ return false;
850
+ return node.kind === SyntaxKind.JSDocThrowsTag;
851
+ }
852
+ export function isJSDocThisTag(node) {
853
+ if (node === undefined)
854
+ return false;
855
+ return node.kind === SyntaxKind.JSDocThisTag;
856
+ }
857
+ export function isJSDocImportTag(node) {
858
+ if (node === undefined)
859
+ return false;
860
+ return node.kind === SyntaxKind.JSDocImportTag;
861
+ }
862
+ export function isJSDocCallbackTag(node) {
863
+ if (node === undefined)
864
+ return false;
865
+ return node.kind === SyntaxKind.JSDocCallbackTag;
866
+ }
867
+ export function isJSDocOverloadTag(node) {
868
+ if (node === undefined)
869
+ return false;
870
+ return node.kind === SyntaxKind.JSDocOverloadTag;
871
+ }
872
+ export function isJSDocTypedefTag(node) {
873
+ if (node === undefined)
874
+ return false;
875
+ return node.kind === SyntaxKind.JSDocTypedefTag;
876
+ }
877
+ export function isJSDocSignature(node) {
878
+ if (node === undefined)
879
+ return false;
880
+ return node.kind === SyntaxKind.JSDocSignature;
881
+ }
882
+ export function isJSDocNameReference(node) {
883
+ if (node === undefined)
884
+ return false;
885
+ return node.kind === SyntaxKind.JSDocNameReference;
886
+ }
887
+ export function isSourceFile(node) {
888
+ if (node === undefined)
889
+ return false;
890
+ return node.kind === SyntaxKind.SourceFile;
891
+ }
892
+ export function isModuleDeclaration(node) {
893
+ if (node === undefined)
894
+ return false;
895
+ return node.kind === SyntaxKind.ModuleDeclaration;
896
+ }
897
+ export function isImportEqualsDeclaration(node) {
898
+ if (node === undefined)
899
+ return false;
900
+ return node.kind === SyntaxKind.ImportEqualsDeclaration;
901
+ }
902
+ export function isExportDeclaration(node) {
903
+ if (node === undefined)
904
+ return false;
905
+ return node.kind === SyntaxKind.ExportDeclaration;
906
+ }
907
+ export function isImportTypeNode(node) {
908
+ if (node === undefined)
909
+ return false;
910
+ return node.kind === SyntaxKind.ImportType;
911
+ }
912
+ export function isImportClause(node) {
913
+ if (node === undefined)
914
+ return false;
915
+ return node.kind === SyntaxKind.ImportClause;
916
+ }
917
+ export function isImportSpecifier(node) {
918
+ if (node === undefined)
919
+ return false;
920
+ return node.kind === SyntaxKind.ImportSpecifier;
921
+ }
922
+ export function isJSDocText(node) {
923
+ if (node === undefined)
924
+ return false;
925
+ return node.kind === SyntaxKind.JSDocText;
926
+ }
927
+ export function isJSDocLink(node) {
928
+ if (node === undefined)
929
+ return false;
930
+ return node.kind === SyntaxKind.JSDocLink;
931
+ }
932
+ export function isJSDocLinkPlain(node) {
933
+ if (node === undefined)
934
+ return false;
935
+ return node.kind === SyntaxKind.JSDocLinkPlain;
936
+ }
937
+ export function isJSDocLinkCode(node) {
938
+ if (node === undefined)
939
+ return false;
940
+ return node.kind === SyntaxKind.JSDocLinkCode;
941
+ }
942
+ export function isTypeParameterDeclaration(node) {
943
+ if (node === undefined)
944
+ return false;
945
+ return node.kind === SyntaxKind.TypeParameter;
946
+ }
947
+ export function isSyntheticReferenceExpression(node) {
948
+ if (node === undefined)
949
+ return false;
950
+ return node.kind === SyntaxKind.SyntheticReferenceExpression;
951
+ }
952
+ export function isJSDocTypeLiteral(node) {
953
+ if (node === undefined)
954
+ return false;
955
+ return node.kind === SyntaxKind.JSDocTypeLiteral;
956
+ }
957
+ export function isForInStatement(node) {
958
+ if (node === undefined)
959
+ return false;
960
+ return node.kind === SyntaxKind.ForInStatement;
961
+ }
962
+ export function isForOfStatement(node) {
963
+ if (node === undefined)
964
+ return false;
965
+ return node.kind === SyntaxKind.ForOfStatement;
966
+ }
967
+ export function isCaseClause(node) {
968
+ if (node === undefined)
969
+ return false;
970
+ return node.kind === SyntaxKind.CaseClause;
971
+ }
972
+ export function isDefaultClause(node) {
973
+ if (node === undefined)
974
+ return false;
975
+ return node.kind === SyntaxKind.DefaultClause;
976
+ }
977
+ export function isObjectBindingPattern(node) {
978
+ if (node === undefined)
979
+ return false;
980
+ return node.kind === SyntaxKind.ObjectBindingPattern;
981
+ }
982
+ export function isArrayBindingPattern(node) {
983
+ if (node === undefined)
984
+ return false;
985
+ return node.kind === SyntaxKind.ArrayBindingPattern;
986
+ }
987
+ export function isJSDocParameterTag(node) {
988
+ if (node === undefined)
989
+ return false;
990
+ return node.kind === SyntaxKind.JSDocParameterTag;
991
+ }
992
+ export function isJSDocPropertyTag(node) {
993
+ if (node === undefined)
994
+ return false;
995
+ return node.kind === SyntaxKind.JSDocPropertyTag;
996
+ }
997
+ export function isAccessExpression(node) {
998
+ if (node === undefined)
999
+ return false;
1000
+ return node.kind === SyntaxKind.PropertyAccessExpression || node.kind === SyntaxKind.ElementAccessExpression;
1001
+ }
1002
+ export function isDeclarationName(node) {
1003
+ if (node === undefined)
1004
+ return false;
1005
+ const kind = node.kind;
1006
+ return kind === SyntaxKind.Identifier || kind === SyntaxKind.PrivateIdentifier || kind === SyntaxKind.StringLiteral || kind === SyntaxKind.NumericLiteral || kind === SyntaxKind.BigIntLiteral || kind === SyntaxKind.NoSubstitutionTemplateLiteral || kind === SyntaxKind.ComputedPropertyName || kind === SyntaxKind.ObjectBindingPattern || kind === SyntaxKind.ArrayBindingPattern || kind === SyntaxKind.ElementAccessExpression;
1007
+ }
1008
+ export function isModuleName(node) {
1009
+ if (node === undefined)
1010
+ return false;
1011
+ return node.kind === SyntaxKind.Identifier || node.kind === SyntaxKind.StringLiteral;
1012
+ }
1013
+ export function isModuleExportName(node) {
1014
+ if (node === undefined)
1015
+ return false;
1016
+ return node.kind === SyntaxKind.Identifier || node.kind === SyntaxKind.StringLiteral;
1017
+ }
1018
+ export function isPropertyName(node) {
1019
+ if (node === undefined)
1020
+ return false;
1021
+ const kind = node.kind;
1022
+ return kind === SyntaxKind.Identifier || kind === SyntaxKind.StringLiteral || kind === SyntaxKind.NoSubstitutionTemplateLiteral || kind === SyntaxKind.NumericLiteral || kind === SyntaxKind.ComputedPropertyName || kind === SyntaxKind.PrivateIdentifier || kind === SyntaxKind.BigIntLiteral;
1023
+ }
1024
+ export function isModuleBody(node) {
1025
+ if (node === undefined)
1026
+ return false;
1027
+ return node.kind === SyntaxKind.ModuleBlock || node.kind === SyntaxKind.ModuleDeclaration;
1028
+ }
1029
+ export function isJSDocFullName(node) {
1030
+ if (node === undefined)
1031
+ return false;
1032
+ return node.kind === SyntaxKind.Identifier || node.kind === SyntaxKind.ModuleDeclaration;
1033
+ }
1034
+ export function isModuleReference(node) {
1035
+ if (node === undefined)
1036
+ return false;
1037
+ return node.kind === SyntaxKind.Identifier || node.kind === SyntaxKind.QualifiedName || node.kind === SyntaxKind.ExternalModuleReference;
1038
+ }
1039
+ export function isNamedImportBindings(node) {
1040
+ if (node === undefined)
1041
+ return false;
1042
+ return node.kind === SyntaxKind.NamespaceImport || node.kind === SyntaxKind.NamedImports;
1043
+ }
1044
+ export function isNamedExportBindings(node) {
1045
+ if (node === undefined)
1046
+ return false;
1047
+ return node.kind === SyntaxKind.NamespaceExport || node.kind === SyntaxKind.NamedExports;
1048
+ }
1049
+ export function isMemberName(node) {
1050
+ if (node === undefined)
1051
+ return false;
1052
+ return node.kind === SyntaxKind.Identifier || node.kind === SyntaxKind.PrivateIdentifier;
1053
+ }
1054
+ export function isEntityName(node) {
1055
+ if (node === undefined)
1056
+ return false;
1057
+ return node.kind === SyntaxKind.Identifier || node.kind === SyntaxKind.QualifiedName;
1058
+ }
1059
+ export function isBindingName(node) {
1060
+ if (node === undefined)
1061
+ return false;
1062
+ return node.kind === SyntaxKind.Identifier || node.kind === SyntaxKind.ObjectBindingPattern || node.kind === SyntaxKind.ArrayBindingPattern;
1063
+ }
1064
+ export function isModifierLike(node) {
1065
+ if (node === undefined)
1066
+ return false;
1067
+ const kind = node.kind;
1068
+ return kind === SyntaxKind.AbstractKeyword || kind === SyntaxKind.AccessorKeyword || kind === SyntaxKind.AsyncKeyword || kind === SyntaxKind.ConstKeyword || kind === SyntaxKind.DeclareKeyword || kind === SyntaxKind.DefaultKeyword || kind === SyntaxKind.ExportKeyword || kind === SyntaxKind.InKeyword || kind === SyntaxKind.PrivateKeyword || kind === SyntaxKind.ProtectedKeyword || kind === SyntaxKind.PublicKeyword || kind === SyntaxKind.ReadonlyKeyword || kind === SyntaxKind.OutKeyword || kind === SyntaxKind.OverrideKeyword || kind === SyntaxKind.StaticKeyword || kind === SyntaxKind.Decorator;
1069
+ }
1070
+ export function isJsxChild(node) {
1071
+ if (node === undefined)
1072
+ return false;
1073
+ const kind = node.kind;
1074
+ return kind === SyntaxKind.JsxText || kind === SyntaxKind.JsxExpression || kind === SyntaxKind.JsxElement || kind === SyntaxKind.JsxSelfClosingElement || kind === SyntaxKind.JsxFragment;
1075
+ }
1076
+ export function isJsxAttributeLike(node) {
1077
+ if (node === undefined)
1078
+ return false;
1079
+ return node.kind === SyntaxKind.JsxAttribute || node.kind === SyntaxKind.JsxSpreadAttribute;
1080
+ }
1081
+ export function isJsxAttributeName(node) {
1082
+ if (node === undefined)
1083
+ return false;
1084
+ return node.kind === SyntaxKind.Identifier || node.kind === SyntaxKind.JsxNamespacedName;
1085
+ }
1086
+ export function isJsxAttributeValue(node) {
1087
+ if (node === undefined)
1088
+ return false;
1089
+ const kind = node.kind;
1090
+ return kind === SyntaxKind.StringLiteral || kind === SyntaxKind.JsxExpression || kind === SyntaxKind.JsxElement || kind === SyntaxKind.JsxSelfClosingElement || kind === SyntaxKind.JsxFragment;
1091
+ }
1092
+ export function isClassLikeDeclaration(node) {
1093
+ if (node === undefined)
1094
+ return false;
1095
+ return node.kind === SyntaxKind.ClassDeclaration || node.kind === SyntaxKind.ClassExpression;
1096
+ }
1097
+ export function isAccessorDeclaration(node) {
1098
+ if (node === undefined)
1099
+ return false;
1100
+ return node.kind === SyntaxKind.GetAccessor || node.kind === SyntaxKind.SetAccessor;
1101
+ }
1102
+ export function isLiteralLikeNode(node) {
1103
+ if (node === undefined)
1104
+ return false;
1105
+ const kind = node.kind;
1106
+ return kind === SyntaxKind.StringLiteral || kind === SyntaxKind.NumericLiteral || kind === SyntaxKind.BigIntLiteral || kind === SyntaxKind.RegularExpressionLiteral || kind === SyntaxKind.TemplateHead || kind === SyntaxKind.TemplateMiddle || kind === SyntaxKind.TemplateTail || kind === SyntaxKind.JsxText;
1107
+ }
1108
+ export function isLiteralExpression(node) {
1109
+ if (node === undefined)
1110
+ return false;
1111
+ const kind = node.kind;
1112
+ return kind === SyntaxKind.StringLiteral || kind === SyntaxKind.NumericLiteral || kind === SyntaxKind.BigIntLiteral || kind === SyntaxKind.RegularExpressionLiteral || kind === SyntaxKind.NoSubstitutionTemplateLiteral;
1113
+ }
1114
+ export function isUnionOrIntersectionTypeNode(node) {
1115
+ if (node === undefined)
1116
+ return false;
1117
+ return node.kind === SyntaxKind.UnionType || node.kind === SyntaxKind.IntersectionType;
1118
+ }
1119
+ export function isTemplateLiteralLikeNode(node) {
1120
+ if (node === undefined)
1121
+ return false;
1122
+ const kind = node.kind;
1123
+ return isPseudoLiteralKind(kind);
1124
+ }
1125
+ export function isTemplateMiddleOrTail(node) {
1126
+ if (node === undefined)
1127
+ return false;
1128
+ return node.kind === SyntaxKind.TemplateMiddle || node.kind === SyntaxKind.TemplateTail;
1129
+ }
1130
+ export function isTemplateLiteral(node) {
1131
+ if (node === undefined)
1132
+ return false;
1133
+ return node.kind === SyntaxKind.TemplateExpression || node.kind === SyntaxKind.NoSubstitutionTemplateLiteral;
1134
+ }
1135
+ export function isTypePredicateParameterName(node) {
1136
+ if (node === undefined)
1137
+ return false;
1138
+ return node.kind === SyntaxKind.Identifier || node.kind === SyntaxKind.ThisType;
1139
+ }
1140
+ export function isImportAttributeName(node) {
1141
+ if (node === undefined)
1142
+ return false;
1143
+ return node.kind === SyntaxKind.Identifier || node.kind === SyntaxKind.StringLiteral;
1144
+ }
1145
+ export function isJSDocComment(node) {
1146
+ if (node === undefined)
1147
+ return false;
1148
+ const kind = node.kind;
1149
+ return kind === SyntaxKind.JSDocText || kind === SyntaxKind.JSDocLink || kind === SyntaxKind.JSDocLinkCode || kind === SyntaxKind.JSDocLinkPlain;
1150
+ }
1151
+ export function isSignatureDeclaration(node) {
1152
+ if (node === undefined)
1153
+ return false;
1154
+ const kind = node.kind;
1155
+ return kind === SyntaxKind.CallSignature || kind === SyntaxKind.ConstructSignature || kind === SyntaxKind.MethodSignature || kind === SyntaxKind.IndexSignature || kind === SyntaxKind.FunctionType || kind === SyntaxKind.ConstructorType || kind === SyntaxKind.FunctionDeclaration || kind === SyntaxKind.MethodDeclaration || kind === SyntaxKind.Constructor || kind === SyntaxKind.GetAccessor || kind === SyntaxKind.SetAccessor || kind === SyntaxKind.FunctionExpression || kind === SyntaxKind.ArrowFunction;
1156
+ }
1157
+ export function isStringLiteralLikeNode(node) {
1158
+ if (node === undefined)
1159
+ return false;
1160
+ return node.kind === SyntaxKind.StringLiteral || node.kind === SyntaxKind.NoSubstitutionTemplateLiteral;
1161
+ }
1162
+ export function isNumericOrStringLikeLiteral(node) {
1163
+ if (node === undefined)
1164
+ return false;
1165
+ return node.kind === SyntaxKind.StringLiteral || node.kind === SyntaxKind.NoSubstitutionTemplateLiteral || node.kind === SyntaxKind.NumericLiteral;
1166
+ }
1167
+ export function isObjectLiteralLikeNode(node) {
1168
+ if (node === undefined)
1169
+ return false;
1170
+ return node.kind === SyntaxKind.ObjectLiteralExpression || node.kind === SyntaxKind.ObjectBindingPattern;
1171
+ }
1172
+ export function isObjectTypeDeclaration(node) {
1173
+ if (node === undefined)
1174
+ return false;
1175
+ const kind = node.kind;
1176
+ return kind === SyntaxKind.ClassDeclaration || kind === SyntaxKind.ClassExpression || kind === SyntaxKind.InterfaceDeclaration || kind === SyntaxKind.TypeLiteral;
1177
+ }
1178
+ export function isJsxOpeningLikeElement(node) {
1179
+ if (node === undefined)
1180
+ return false;
1181
+ return node.kind === SyntaxKind.JsxOpeningElement || node.kind === SyntaxKind.JsxSelfClosingElement;
1182
+ }
1183
+ export function isNamedImportsOrExports(node) {
1184
+ if (node === undefined)
1185
+ return false;
1186
+ return node.kind === SyntaxKind.NamedImports || node.kind === SyntaxKind.NamedExports;
1187
+ }
1188
+ export function isBreakOrContinueStatement(node) {
1189
+ if (node === undefined)
1190
+ return false;
1191
+ return node.kind === SyntaxKind.BreakStatement || node.kind === SyntaxKind.ContinueStatement;
1192
+ }
1193
+ export function isCallLikeExpression(node) {
1194
+ if (node === undefined)
1195
+ return false;
1196
+ const kind = node.kind;
1197
+ return kind === SyntaxKind.CallExpression || kind === SyntaxKind.NewExpression || kind === SyntaxKind.TaggedTemplateExpression || kind === SyntaxKind.Decorator || kind === SyntaxKind.JsxOpeningElement || kind === SyntaxKind.JsxSelfClosingElement || kind === SyntaxKind.BinaryExpression;
1198
+ }
1199
+ export function isFunctionLikeDeclaration(node) {
1200
+ if (node === undefined)
1201
+ return false;
1202
+ const kind = node.kind;
1203
+ return kind === SyntaxKind.FunctionDeclaration || kind === SyntaxKind.MethodDeclaration || kind === SyntaxKind.GetAccessor || kind === SyntaxKind.SetAccessor || kind === SyntaxKind.Constructor || kind === SyntaxKind.FunctionExpression || kind === SyntaxKind.ArrowFunction;
1204
+ }
1205
+ export function isVariableOrParameterDeclaration(node) {
1206
+ if (node === undefined)
1207
+ return false;
1208
+ return node.kind === SyntaxKind.VariableDeclaration || node.kind === SyntaxKind.Parameter;
1209
+ }
1210
+ export function isVariableOrPropertyDeclaration(node) {
1211
+ if (node === undefined)
1212
+ return false;
1213
+ return node.kind === SyntaxKind.VariableDeclaration || node.kind === SyntaxKind.PropertyDeclaration;
1214
+ }
1215
+ export function isCallOrNewExpression(node) {
1216
+ if (node === undefined)
1217
+ return false;
1218
+ return node.kind === SyntaxKind.CallExpression || node.kind === SyntaxKind.NewExpression;
1219
+ }
1220
+ export function isImportClauseOrBindingPattern(node) {
1221
+ if (node === undefined)
1222
+ return false;
1223
+ return node.kind === SyntaxKind.ImportClause || node.kind === SyntaxKind.ObjectBindingPattern || node.kind === SyntaxKind.ArrayBindingPattern;
1224
+ }
1225
+ export function isAnyImportSyntax(node) {
1226
+ if (node === undefined)
1227
+ return false;
1228
+ return node.kind === SyntaxKind.ImportDeclaration || node.kind === SyntaxKind.JSImportDeclaration || node.kind === SyntaxKind.ImportEqualsDeclaration;
1229
+ }
1230
+ export function isArrayBindingElement(node) {
1231
+ if (node === undefined)
1232
+ return false;
1233
+ return node.kind === SyntaxKind.BindingElement || node.kind === SyntaxKind.OmittedExpression;
1234
+ }
1235
+ export function isAssertionExpression(node) {
1236
+ if (node === undefined)
1237
+ return false;
1238
+ return node.kind === SyntaxKind.TypeAssertionExpression || node.kind === SyntaxKind.AsExpression;
1239
+ }
1240
+ export function isBooleanLiteral(node) {
1241
+ if (node === undefined)
1242
+ return false;
1243
+ return node.kind === SyntaxKind.TrueKeyword || node.kind === SyntaxKind.FalseKeyword;
1244
+ }
1245
+ export function isDestructuringAssignment(node) {
1246
+ if (node === undefined)
1247
+ return false;
1248
+ return node.kind === SyntaxKind.BinaryExpression;
1249
+ }
1250
+ export function isLiteralToken(node) {
1251
+ if (node === undefined)
1252
+ return false;
1253
+ const kind = node.kind;
1254
+ return kind === SyntaxKind.NumericLiteral || kind === SyntaxKind.BigIntLiteral || kind === SyntaxKind.StringLiteral || kind === SyntaxKind.JsxText || kind === SyntaxKind.RegularExpressionLiteral || kind === SyntaxKind.NoSubstitutionTemplateLiteral;
1255
+ }
1256
+ export function isModifier(node) {
1257
+ if (node === undefined)
1258
+ return false;
1259
+ const kind = node.kind;
1260
+ return isModifierKind(kind);
1261
+ }
1262
+ export function isObjectLiteralElementLike(node) {
1263
+ if (node === undefined)
1264
+ return false;
1265
+ const kind = node.kind;
1266
+ return kind === SyntaxKind.PropertyAssignment || kind === SyntaxKind.ShorthandPropertyAssignment || kind === SyntaxKind.SpreadAssignment || kind === SyntaxKind.MethodDeclaration || kind === SyntaxKind.GetAccessor || kind === SyntaxKind.SetAccessor;
1267
+ }
1268
+ export function isPropertyNameLiteral(node) {
1269
+ if (node === undefined)
1270
+ return false;
1271
+ return node.kind === SyntaxKind.Identifier || node.kind === SyntaxKind.StringLiteral || node.kind === SyntaxKind.NumericLiteral;
1272
+ }
1273
+ export function isPseudoLiteralToken(node) {
1274
+ if (node === undefined)
1275
+ return false;
1276
+ const kind = node.kind;
1277
+ return isPseudoLiteralKind(kind);
1278
+ }
1279
+ export function isTemplateLiteralToken(node) {
1280
+ if (node === undefined)
1281
+ return false;
1282
+ const kind = node.kind;
1283
+ return kind === SyntaxKind.NoSubstitutionTemplateLiteral || kind === SyntaxKind.TemplateHead || kind === SyntaxKind.TemplateMiddle || kind === SyntaxKind.TemplateTail;
1284
+ }
1285
+ export function isArrayDestructuringAssignment(node) {
1286
+ if (node === undefined)
1287
+ return false;
1288
+ return node.kind === SyntaxKind.BinaryExpression;
1289
+ }
1290
+ export function isObjectDestructuringAssignment(node) {
1291
+ if (node === undefined)
1292
+ return false;
1293
+ return node.kind === SyntaxKind.BinaryExpression;
1294
+ }
1295
+ export function isFunctionBody(node) {
1296
+ if (node === undefined)
1297
+ return false;
1298
+ return node.kind === SyntaxKind.Block;
1299
+ }
1300
+ export function isTriviaKind(kind) {
1301
+ return kind === SyntaxKind.SingleLineCommentTrivia
1302
+ || kind === SyntaxKind.MultiLineCommentTrivia
1303
+ || kind === SyntaxKind.NewLineTrivia
1304
+ || kind === SyntaxKind.WhitespaceTrivia
1305
+ || kind === SyntaxKind.ConflictMarkerTrivia;
1306
+ }
1307
+ export function isPseudoLiteralKind(kind) {
1308
+ return kind === SyntaxKind.TemplateHead
1309
+ || kind === SyntaxKind.TemplateMiddle
1310
+ || kind === SyntaxKind.TemplateTail;
1311
+ }
1312
+ export function isModifierKind(kind) {
1313
+ return kind === SyntaxKind.AbstractKeyword
1314
+ || kind === SyntaxKind.AccessorKeyword
1315
+ || kind === SyntaxKind.AsyncKeyword
1316
+ || kind === SyntaxKind.ConstKeyword
1317
+ || kind === SyntaxKind.DeclareKeyword
1318
+ || kind === SyntaxKind.DefaultKeyword
1319
+ || kind === SyntaxKind.ExportKeyword
1320
+ || kind === SyntaxKind.InKeyword
1321
+ || kind === SyntaxKind.PrivateKeyword
1322
+ || kind === SyntaxKind.ProtectedKeyword
1323
+ || kind === SyntaxKind.PublicKeyword
1324
+ || kind === SyntaxKind.ReadonlyKeyword
1325
+ || kind === SyntaxKind.OutKeyword
1326
+ || kind === SyntaxKind.OverrideKeyword
1327
+ || kind === SyntaxKind.StaticKeyword;
1328
+ }
1329
+ export function isKeywordTypeKind(kind) {
1330
+ return kind === SyntaxKind.AnyKeyword
1331
+ || kind === SyntaxKind.BigIntKeyword
1332
+ || kind === SyntaxKind.BooleanKeyword
1333
+ || kind === SyntaxKind.IntrinsicKeyword
1334
+ || kind === SyntaxKind.NeverKeyword
1335
+ || kind === SyntaxKind.NumberKeyword
1336
+ || kind === SyntaxKind.ObjectKeyword
1337
+ || kind === SyntaxKind.StringKeyword
1338
+ || kind === SyntaxKind.SymbolKeyword
1339
+ || kind === SyntaxKind.UndefinedKeyword
1340
+ || kind === SyntaxKind.UnknownKeyword
1341
+ || kind === SyntaxKind.VoidKeyword;
1342
+ }
1343
+ export function isKeywordExpressionKind(kind) {
1344
+ return kind === SyntaxKind.NullKeyword
1345
+ || kind === SyntaxKind.TrueKeyword
1346
+ || kind === SyntaxKind.FalseKeyword
1347
+ || kind === SyntaxKind.ThisKeyword
1348
+ || kind === SyntaxKind.SuperKeyword
1349
+ || kind === SyntaxKind.ImportKeyword;
1350
+ }
1351
+ export function isJsxTokenKind(kind) {
1352
+ return kind === SyntaxKind.LessThanSlashToken
1353
+ || kind === SyntaxKind.EndOfFile
1354
+ || kind === SyntaxKind.ConflictMarkerTrivia
1355
+ || kind === SyntaxKind.JsxText
1356
+ || kind === SyntaxKind.JsxTextAllWhiteSpaces
1357
+ || kind === SyntaxKind.OpenBraceToken
1358
+ || kind === SyntaxKind.LessThanToken;
1359
+ }
1360
+ export function isImportPhaseModifierKind(kind) {
1361
+ return kind === SyntaxKind.TypeKeyword
1362
+ || kind === SyntaxKind.DeferKeyword;
1363
+ }
1364
+ export function isPostfixUnaryOperator(kind) {
1365
+ return kind === SyntaxKind.PlusPlusToken
1366
+ || kind === SyntaxKind.MinusMinusToken;
1367
+ }
1368
+ export function isPrefixUnaryOperator(kind) {
1369
+ return kind === SyntaxKind.PlusToken
1370
+ || kind === SyntaxKind.MinusToken
1371
+ || kind === SyntaxKind.TildeToken
1372
+ || kind === SyntaxKind.ExclamationToken
1373
+ || kind === SyntaxKind.PlusPlusToken
1374
+ || kind === SyntaxKind.MinusMinusToken;
1375
+ }
1376
+ export function isAssignmentOperator(kind) {
1377
+ return kind === SyntaxKind.EqualsToken
1378
+ || isCompoundAssignmentOperator(kind);
1379
+ }
1380
+ export function isBinaryOperator(kind) {
1381
+ return isAssignmentOperatorOrHigher(kind)
1382
+ || kind === SyntaxKind.CommaToken;
1383
+ }
1384
+ export function isExponentiationOperator(kind) {
1385
+ return kind === SyntaxKind.AsteriskAsteriskToken;
1386
+ }
1387
+ export function isMultiplicativeOperator(kind) {
1388
+ return kind === SyntaxKind.AsteriskToken
1389
+ || kind === SyntaxKind.SlashToken
1390
+ || kind === SyntaxKind.PercentToken;
1391
+ }
1392
+ export function isMultiplicativeOperatorOrHigher(kind) {
1393
+ return isExponentiationOperator(kind)
1394
+ || isMultiplicativeOperator(kind);
1395
+ }
1396
+ export function isAdditiveOperator(kind) {
1397
+ return kind === SyntaxKind.PlusToken
1398
+ || kind === SyntaxKind.MinusToken;
1399
+ }
1400
+ export function isAdditiveOperatorOrHigher(kind) {
1401
+ return isMultiplicativeOperatorOrHigher(kind)
1402
+ || isAdditiveOperator(kind);
1403
+ }
1404
+ export function isShiftOperator(kind) {
1405
+ return kind === SyntaxKind.LessThanLessThanToken
1406
+ || kind === SyntaxKind.GreaterThanGreaterThanToken
1407
+ || kind === SyntaxKind.GreaterThanGreaterThanGreaterThanToken;
1408
+ }
1409
+ export function isShiftOperatorOrHigher(kind) {
1410
+ return isAdditiveOperatorOrHigher(kind)
1411
+ || isShiftOperator(kind);
1412
+ }
1413
+ export function isRelationalOperator(kind) {
1414
+ return kind === SyntaxKind.LessThanToken
1415
+ || kind === SyntaxKind.LessThanEqualsToken
1416
+ || kind === SyntaxKind.GreaterThanToken
1417
+ || kind === SyntaxKind.GreaterThanEqualsToken
1418
+ || kind === SyntaxKind.InstanceOfKeyword
1419
+ || kind === SyntaxKind.InKeyword;
1420
+ }
1421
+ export function isRelationalOperatorOrHigher(kind) {
1422
+ return isShiftOperatorOrHigher(kind)
1423
+ || isRelationalOperator(kind);
1424
+ }
1425
+ export function isEqualityOperator(kind) {
1426
+ return kind === SyntaxKind.EqualsEqualsToken
1427
+ || kind === SyntaxKind.EqualsEqualsEqualsToken
1428
+ || kind === SyntaxKind.ExclamationEqualsEqualsToken
1429
+ || kind === SyntaxKind.ExclamationEqualsToken;
1430
+ }
1431
+ export function isEqualityOperatorOrHigher(kind) {
1432
+ return isRelationalOperatorOrHigher(kind)
1433
+ || isEqualityOperator(kind);
1434
+ }
1435
+ export function isBitwiseOperator(kind) {
1436
+ return kind === SyntaxKind.AmpersandToken
1437
+ || kind === SyntaxKind.BarToken
1438
+ || kind === SyntaxKind.CaretToken;
1439
+ }
1440
+ export function isBitwiseOperatorOrHigher(kind) {
1441
+ return isEqualityOperatorOrHigher(kind)
1442
+ || isBitwiseOperator(kind);
1443
+ }
1444
+ export function isLogicalOperator(kind) {
1445
+ return kind === SyntaxKind.AmpersandAmpersandToken
1446
+ || kind === SyntaxKind.BarBarToken;
1447
+ }
1448
+ export function isLogicalOperatorOrHigher(kind) {
1449
+ return isBitwiseOperatorOrHigher(kind)
1450
+ || isLogicalOperator(kind);
1451
+ }
1452
+ export function isCompoundAssignmentOperator(kind) {
1453
+ return kind === SyntaxKind.PlusEqualsToken
1454
+ || kind === SyntaxKind.MinusEqualsToken
1455
+ || kind === SyntaxKind.AsteriskAsteriskEqualsToken
1456
+ || kind === SyntaxKind.AsteriskEqualsToken
1457
+ || kind === SyntaxKind.SlashEqualsToken
1458
+ || kind === SyntaxKind.PercentEqualsToken
1459
+ || kind === SyntaxKind.AmpersandEqualsToken
1460
+ || kind === SyntaxKind.BarEqualsToken
1461
+ || kind === SyntaxKind.CaretEqualsToken
1462
+ || kind === SyntaxKind.LessThanLessThanEqualsToken
1463
+ || kind === SyntaxKind.GreaterThanGreaterThanGreaterThanEqualsToken
1464
+ || kind === SyntaxKind.GreaterThanGreaterThanEqualsToken
1465
+ || kind === SyntaxKind.BarBarEqualsToken
1466
+ || kind === SyntaxKind.AmpersandAmpersandEqualsToken
1467
+ || kind === SyntaxKind.QuestionQuestionEqualsToken;
1468
+ }
1469
+ export function isAssignmentOperatorOrHigher(kind) {
1470
+ return kind === SyntaxKind.QuestionQuestionToken
1471
+ || isLogicalOperatorOrHigher(kind)
1472
+ || isAssignmentOperator(kind);
1473
+ }
1474
+ export function isLogicalOrCoalescingAssignmentOperator(kind) {
1475
+ return kind === SyntaxKind.AmpersandAmpersandEqualsToken
1476
+ || kind === SyntaxKind.BarBarEqualsToken
1477
+ || kind === SyntaxKind.QuestionQuestionEqualsToken;
1478
+ }
1479
+ export function isLiteralKind(kind) {
1480
+ return kind >= SyntaxKind.FirstLiteralToken && kind <= SyntaxKind.LastLiteralToken;
1481
+ }
1482
+ export function isPunctuationKind(kind) {
1483
+ return kind >= SyntaxKind.FirstPunctuation && kind <= SyntaxKind.LastPunctuation;
1484
+ }
1485
+ export function isKeywordKind(kind) {
1486
+ return kind >= SyntaxKind.FirstKeyword && kind <= SyntaxKind.LastKeyword;
1487
+ }
1488
+ export function isTokenKind(kind) {
1489
+ return kind >= SyntaxKind.FirstToken && kind <= SyntaxKind.LastToken;
1490
+ }
1491
+ export function isJSDocNodeKind(kind) {
1492
+ return kind >= SyntaxKind.FirstJSDocNode && kind <= SyntaxKind.LastJSDocNode;
1493
+ }
1494
+ export function isEndOfFile(node) {
1495
+ if (node === undefined)
1496
+ return false;
1497
+ return node.kind === SyntaxKind.EndOfFile;
1498
+ }
1499
+ export function isDotToken(node) {
1500
+ if (node === undefined)
1501
+ return false;
1502
+ return node.kind === SyntaxKind.DotToken;
1503
+ }
1504
+ export function isDotDotDotToken(node) {
1505
+ if (node === undefined)
1506
+ return false;
1507
+ return node.kind === SyntaxKind.DotDotDotToken;
1508
+ }
1509
+ export function isQuestionToken(node) {
1510
+ if (node === undefined)
1511
+ return false;
1512
+ return node.kind === SyntaxKind.QuestionToken;
1513
+ }
1514
+ export function isExclamationToken(node) {
1515
+ if (node === undefined)
1516
+ return false;
1517
+ return node.kind === SyntaxKind.ExclamationToken;
1518
+ }
1519
+ export function isColonToken(node) {
1520
+ if (node === undefined)
1521
+ return false;
1522
+ return node.kind === SyntaxKind.ColonToken;
1523
+ }
1524
+ export function isEqualsToken(node) {
1525
+ if (node === undefined)
1526
+ return false;
1527
+ return node.kind === SyntaxKind.EqualsToken;
1528
+ }
1529
+ export function isAsteriskToken(node) {
1530
+ if (node === undefined)
1531
+ return false;
1532
+ return node.kind === SyntaxKind.AsteriskToken;
1533
+ }
1534
+ export function isEqualsGreaterThanToken(node) {
1535
+ if (node === undefined)
1536
+ return false;
1537
+ return node.kind === SyntaxKind.EqualsGreaterThanToken;
1538
+ }
1539
+ export function isPlusToken(node) {
1540
+ if (node === undefined)
1541
+ return false;
1542
+ return node.kind === SyntaxKind.PlusToken;
1543
+ }
1544
+ export function isMinusToken(node) {
1545
+ if (node === undefined)
1546
+ return false;
1547
+ return node.kind === SyntaxKind.MinusToken;
1548
+ }
1549
+ export function isQuestionDotToken(node) {
1550
+ if (node === undefined)
1551
+ return false;
1552
+ return node.kind === SyntaxKind.QuestionDotToken;
1553
+ }
1554
+ export function isAssertsKeyword(node) {
1555
+ if (node === undefined)
1556
+ return false;
1557
+ return node.kind === SyntaxKind.AssertsKeyword;
1558
+ }
1559
+ export function isAssertKeyword(node) {
1560
+ if (node === undefined)
1561
+ return false;
1562
+ return node.kind === SyntaxKind.AssertKeyword;
1563
+ }
1564
+ export function isAwaitKeyword(node) {
1565
+ if (node === undefined)
1566
+ return false;
1567
+ return node.kind === SyntaxKind.AwaitKeyword;
1568
+ }
1569
+ export function isCaseKeyword(node) {
1570
+ if (node === undefined)
1571
+ return false;
1572
+ return node.kind === SyntaxKind.CaseKeyword;
1573
+ }
1574
+ export function isAbstractKeyword(node) {
1575
+ if (node === undefined)
1576
+ return false;
1577
+ return node.kind === SyntaxKind.AbstractKeyword;
1578
+ }
1579
+ export function isAccessorKeyword(node) {
1580
+ if (node === undefined)
1581
+ return false;
1582
+ return node.kind === SyntaxKind.AccessorKeyword;
1583
+ }
1584
+ export function isAsyncKeyword(node) {
1585
+ if (node === undefined)
1586
+ return false;
1587
+ return node.kind === SyntaxKind.AsyncKeyword;
1588
+ }
1589
+ export function isConstKeyword(node) {
1590
+ if (node === undefined)
1591
+ return false;
1592
+ return node.kind === SyntaxKind.ConstKeyword;
1593
+ }
1594
+ export function isDeclareKeyword(node) {
1595
+ if (node === undefined)
1596
+ return false;
1597
+ return node.kind === SyntaxKind.DeclareKeyword;
1598
+ }
1599
+ export function isDefaultKeyword(node) {
1600
+ if (node === undefined)
1601
+ return false;
1602
+ return node.kind === SyntaxKind.DefaultKeyword;
1603
+ }
1604
+ export function isExportKeyword(node) {
1605
+ if (node === undefined)
1606
+ return false;
1607
+ return node.kind === SyntaxKind.ExportKeyword;
1608
+ }
1609
+ export function isInKeyword(node) {
1610
+ if (node === undefined)
1611
+ return false;
1612
+ return node.kind === SyntaxKind.InKeyword;
1613
+ }
1614
+ export function isPrivateKeyword(node) {
1615
+ if (node === undefined)
1616
+ return false;
1617
+ return node.kind === SyntaxKind.PrivateKeyword;
1618
+ }
1619
+ export function isProtectedKeyword(node) {
1620
+ if (node === undefined)
1621
+ return false;
1622
+ return node.kind === SyntaxKind.ProtectedKeyword;
1623
+ }
1624
+ export function isPublicKeyword(node) {
1625
+ if (node === undefined)
1626
+ return false;
1627
+ return node.kind === SyntaxKind.PublicKeyword;
1628
+ }
1629
+ export function isReadonlyKeyword(node) {
1630
+ if (node === undefined)
1631
+ return false;
1632
+ return node.kind === SyntaxKind.ReadonlyKeyword;
1633
+ }
1634
+ export function isOutKeyword(node) {
1635
+ if (node === undefined)
1636
+ return false;
1637
+ return node.kind === SyntaxKind.OutKeyword;
1638
+ }
1639
+ export function isOverrideKeyword(node) {
1640
+ if (node === undefined)
1641
+ return false;
1642
+ return node.kind === SyntaxKind.OverrideKeyword;
1643
+ }
1644
+ export function isStaticKeyword(node) {
1645
+ if (node === undefined)
1646
+ return false;
1647
+ return node.kind === SyntaxKind.StaticKeyword;
1648
+ }
1649
+ export function isBinaryOperatorToken(node) {
1650
+ if (node === undefined)
1651
+ return false;
1652
+ return isBinaryOperator(node.kind);
1653
+ }
1654
+ export function isAssignmentOperatorToken(node) {
1655
+ if (node === undefined)
1656
+ return false;
1657
+ return isAssignmentOperator(node.kind);
1658
+ }
1659
+ export function isNullLiteral(node) {
1660
+ if (node === undefined)
1661
+ return false;
1662
+ return node.kind === SyntaxKind.NullKeyword;
1663
+ }
1664
+ export function isTrueLiteral(node) {
1665
+ if (node === undefined)
1666
+ return false;
1667
+ return node.kind === SyntaxKind.TrueKeyword;
1668
+ }
1669
+ export function isFalseLiteral(node) {
1670
+ if (node === undefined)
1671
+ return false;
1672
+ return node.kind === SyntaxKind.FalseKeyword;
1673
+ }
1674
+ export function isThisExpression(node) {
1675
+ if (node === undefined)
1676
+ return false;
1677
+ return node.kind === SyntaxKind.ThisKeyword;
1678
+ }
1679
+ export function isSuperExpression(node) {
1680
+ if (node === undefined)
1681
+ return false;
1682
+ return node.kind === SyntaxKind.SuperKeyword;
1683
+ }
1684
+ export function isImportExpression(node) {
1685
+ if (node === undefined)
1686
+ return false;
1687
+ return node.kind === SyntaxKind.ImportKeyword;
1688
+ }
1689
+ export function isTypeNode(node) {
1690
+ if (node === undefined)
1691
+ return false;
1692
+ return isTypeNodeKind(node.kind);
1693
+ }
1694
+ function isTypeNodeKind(kind) {
1695
+ return kind >= SyntaxKind.FirstTypeNode && kind <= SyntaxKind.LastTypeNode
1696
+ || kind === SyntaxKind.AnyKeyword
1697
+ || kind === SyntaxKind.UnknownKeyword
1698
+ || kind === SyntaxKind.NumberKeyword
1699
+ || kind === SyntaxKind.BigIntKeyword
1700
+ || kind === SyntaxKind.ObjectKeyword
1701
+ || kind === SyntaxKind.BooleanKeyword
1702
+ || kind === SyntaxKind.StringKeyword
1703
+ || kind === SyntaxKind.SymbolKeyword
1704
+ || kind === SyntaxKind.VoidKeyword
1705
+ || kind === SyntaxKind.UndefinedKeyword
1706
+ || kind === SyntaxKind.NeverKeyword
1707
+ || kind === SyntaxKind.IntrinsicKeyword
1708
+ || kind === SyntaxKind.ExpressionWithTypeArguments
1709
+ || kind === SyntaxKind.JSDocAllType
1710
+ || kind === SyntaxKind.JSDocNullableType
1711
+ || kind === SyntaxKind.JSDocNonNullableType
1712
+ || kind === SyntaxKind.JSDocOptionalType
1713
+ || kind === SyntaxKind.JSDocVariadicType
1714
+ || kind === SyntaxKind.JSDocTypeExpression
1715
+ || kind === SyntaxKind.JSDocTypeLiteral
1716
+ || kind === SyntaxKind.JSDocSignature;
1717
+ }
1718
+ export function isStatement(node) {
1719
+ if (node === undefined)
1720
+ return false;
1721
+ const kind = node.kind;
1722
+ return kind === SyntaxKind.VariableStatement || kind === SyntaxKind.EmptyStatement
1723
+ || kind === SyntaxKind.ExpressionStatement || kind === SyntaxKind.IfStatement
1724
+ || kind === SyntaxKind.DoStatement || kind === SyntaxKind.WhileStatement
1725
+ || kind === SyntaxKind.ForStatement || kind === SyntaxKind.ForInStatement
1726
+ || kind === SyntaxKind.ForOfStatement || kind === SyntaxKind.ContinueStatement
1727
+ || kind === SyntaxKind.BreakStatement || kind === SyntaxKind.ReturnStatement
1728
+ || kind === SyntaxKind.WithStatement || kind === SyntaxKind.SwitchStatement
1729
+ || kind === SyntaxKind.LabeledStatement || kind === SyntaxKind.ThrowStatement
1730
+ || kind === SyntaxKind.TryStatement || kind === SyntaxKind.DebuggerStatement
1731
+ || kind === SyntaxKind.InterfaceDeclaration || kind === SyntaxKind.TypeAliasDeclaration
1732
+ || kind === SyntaxKind.EnumDeclaration || kind === SyntaxKind.ModuleDeclaration
1733
+ || kind === SyntaxKind.ImportDeclaration || kind === SyntaxKind.ImportEqualsDeclaration
1734
+ || kind === SyntaxKind.ExportDeclaration || kind === SyntaxKind.ExportAssignment
1735
+ || kind === SyntaxKind.NamespaceExportDeclaration || kind === SyntaxKind.FunctionDeclaration
1736
+ || kind === SyntaxKind.ClassDeclaration || kind === SyntaxKind.MissingDeclaration
1737
+ || kind === SyntaxKind.NotEmittedStatement || kind === SyntaxKind.Block;
1738
+ }
1739
+ export function isExpression(node) {
1740
+ if (node === undefined)
1741
+ return false;
1742
+ const kind = node.kind;
1743
+ return kind === SyntaxKind.ConditionalExpression || kind === SyntaxKind.YieldExpression
1744
+ || kind === SyntaxKind.ArrowFunction || kind === SyntaxKind.BinaryExpression
1745
+ || kind === SyntaxKind.SpreadElement || kind === SyntaxKind.AsExpression
1746
+ || kind === SyntaxKind.OmittedExpression
1747
+ || kind === SyntaxKind.SatisfiesExpression
1748
+ || kind === SyntaxKind.PrefixUnaryExpression || kind === SyntaxKind.PostfixUnaryExpression
1749
+ || kind === SyntaxKind.DeleteExpression || kind === SyntaxKind.TypeOfExpression
1750
+ || kind === SyntaxKind.VoidExpression || kind === SyntaxKind.AwaitExpression
1751
+ || kind === SyntaxKind.TypeAssertionExpression
1752
+ || kind === SyntaxKind.CallExpression || kind === SyntaxKind.NewExpression
1753
+ || kind === SyntaxKind.TaggedTemplateExpression || kind === SyntaxKind.NonNullExpression
1754
+ || kind === SyntaxKind.MetaProperty || kind === SyntaxKind.JsxExpression
1755
+ || kind === SyntaxKind.PropertyAccessExpression || kind === SyntaxKind.ElementAccessExpression
1756
+ || kind === SyntaxKind.FunctionExpression || kind === SyntaxKind.ClassExpression
1757
+ || kind === SyntaxKind.ParenthesizedExpression || kind === SyntaxKind.ArrayLiteralExpression
1758
+ || kind === SyntaxKind.ObjectLiteralExpression || kind === SyntaxKind.TemplateExpression
1759
+ || kind === SyntaxKind.Identifier
1760
+ || kind === SyntaxKind.PrivateIdentifier
1761
+ || kind === SyntaxKind.NumericLiteral || kind === SyntaxKind.BigIntLiteral
1762
+ || kind === SyntaxKind.StringLiteral || kind === SyntaxKind.RegularExpressionLiteral
1763
+ || kind === SyntaxKind.NoSubstitutionTemplateLiteral || kind === SyntaxKind.JsxElement
1764
+ || kind === SyntaxKind.JsxSelfClosingElement || kind === SyntaxKind.JsxFragment
1765
+ || kind === SyntaxKind.NullKeyword || kind === SyntaxKind.TrueKeyword
1766
+ || kind === SyntaxKind.FalseKeyword || kind === SyntaxKind.ThisKeyword
1767
+ || kind === SyntaxKind.SuperKeyword || kind === SyntaxKind.ImportKeyword
1768
+ || kind === SyntaxKind.ExpressionWithTypeArguments;
1769
+ }
1770
+ export function isBlockOrExpression(node) {
1771
+ if (node === undefined)
1772
+ return false;
1773
+ return node.kind === SyntaxKind.Block || isExpression(node);
1774
+ }
1775
+ export function isLeftHandSideExpression(node) {
1776
+ if (node === undefined)
1777
+ return false;
1778
+ return isLeftHandSideExpressionKind(skipPartiallyEmittedExpressions(node).kind);
1779
+ }
1780
+ export function skipPartiallyEmittedExpressions(node) {
1781
+ return skipOuterExpressions(node, OuterExpressionKinds.PartiallyEmittedExpressions);
1782
+ }
1783
+ function isLeftHandSideExpressionKind(kind) {
1784
+ switch (kind) {
1785
+ case SyntaxKind.PropertyAccessExpression:
1786
+ case SyntaxKind.ElementAccessExpression:
1787
+ case SyntaxKind.NewExpression:
1788
+ case SyntaxKind.CallExpression:
1789
+ case SyntaxKind.JsxElement:
1790
+ case SyntaxKind.JsxSelfClosingElement:
1791
+ case SyntaxKind.JsxFragment:
1792
+ case SyntaxKind.TaggedTemplateExpression:
1793
+ case SyntaxKind.ArrayLiteralExpression:
1794
+ case SyntaxKind.ParenthesizedExpression:
1795
+ case SyntaxKind.ObjectLiteralExpression:
1796
+ case SyntaxKind.ClassExpression:
1797
+ case SyntaxKind.FunctionExpression:
1798
+ case SyntaxKind.Identifier:
1799
+ case SyntaxKind.PrivateIdentifier: // technically this is only an Expression if it's in a `#field in expr` BinaryExpression
1800
+ case SyntaxKind.RegularExpressionLiteral:
1801
+ case SyntaxKind.NumericLiteral:
1802
+ case SyntaxKind.BigIntLiteral:
1803
+ case SyntaxKind.StringLiteral:
1804
+ case SyntaxKind.NoSubstitutionTemplateLiteral:
1805
+ case SyntaxKind.TemplateExpression:
1806
+ case SyntaxKind.FalseKeyword:
1807
+ case SyntaxKind.NullKeyword:
1808
+ case SyntaxKind.ThisKeyword:
1809
+ case SyntaxKind.TrueKeyword:
1810
+ case SyntaxKind.SuperKeyword:
1811
+ case SyntaxKind.NonNullExpression:
1812
+ case SyntaxKind.ExpressionWithTypeArguments:
1813
+ case SyntaxKind.MetaProperty:
1814
+ case SyntaxKind.ImportKeyword: // technically this is only an Expression if it's in a CallExpression
1815
+ case SyntaxKind.MissingDeclaration:
1816
+ return true;
1817
+ default:
1818
+ return false;
1819
+ }
1820
+ }
1821
+ export function isUnaryExpression(node) {
1822
+ if (node === undefined)
1823
+ return false;
1824
+ return isUnaryExpressionKind(skipPartiallyEmittedExpressions(node).kind);
1825
+ }
1826
+ function isUnaryExpressionKind(kind) {
1827
+ switch (kind) {
1828
+ case SyntaxKind.PrefixUnaryExpression:
1829
+ case SyntaxKind.PostfixUnaryExpression:
1830
+ case SyntaxKind.DeleteExpression:
1831
+ case SyntaxKind.TypeOfExpression:
1832
+ case SyntaxKind.VoidExpression:
1833
+ case SyntaxKind.AwaitExpression:
1834
+ case SyntaxKind.TypeAssertionExpression:
1835
+ return true;
1836
+ default:
1837
+ return isLeftHandSideExpressionKind(kind);
1838
+ }
1839
+ }
1840
+ export function isOuterExpression(node, kinds = OuterExpressionKinds.All) {
1841
+ if (node === undefined)
1842
+ return false;
1843
+ switch (node.kind) {
1844
+ case SyntaxKind.ParenthesizedExpression:
1845
+ if (kinds & OuterExpressionKinds.ExcludeJSDocTypeAssertion && isJSDocTypeAssertion(node)) {
1846
+ return false;
1847
+ }
1848
+ return (kinds & OuterExpressionKinds.Parentheses) !== 0;
1849
+ case SyntaxKind.TypeAssertionExpression:
1850
+ case SyntaxKind.AsExpression:
1851
+ return (kinds & OuterExpressionKinds.TypeAssertions) !== 0;
1852
+ case SyntaxKind.SatisfiesExpression:
1853
+ return (kinds & (OuterExpressionKinds.ExpressionsWithTypeArguments | OuterExpressionKinds.Satisfies)) !== 0;
1854
+ case SyntaxKind.ExpressionWithTypeArguments:
1855
+ return (kinds & OuterExpressionKinds.ExpressionsWithTypeArguments) !== 0;
1856
+ case SyntaxKind.NonNullExpression:
1857
+ return (kinds & OuterExpressionKinds.NonNullAssertions) !== 0;
1858
+ case SyntaxKind.PartiallyEmittedExpression:
1859
+ return (kinds & OuterExpressionKinds.PartiallyEmittedExpressions) !== 0;
1860
+ }
1861
+ return false;
1862
+ }
1863
+ export function skipOuterExpressions(node, kinds = OuterExpressionKinds.All) {
1864
+ while (isOuterExpression(node, kinds)) {
1865
+ node = node.expression;
1866
+ }
1867
+ return node;
1868
+ }
1869
+ function isJSDocTypeAssertion(node) {
1870
+ if (node === undefined)
1871
+ return false;
1872
+ const sourceFile = node.getSourceFile();
1873
+ if (sourceFile.scriptKind !== ScriptKind.JS && sourceFile.scriptKind !== ScriptKind.JSX) {
1874
+ return false;
1875
+ }
1876
+ const expression = node.expression;
1877
+ if (expression === undefined || expression.kind !== SyntaxKind.AsExpression) {
1878
+ return false;
1879
+ }
1880
+ const asExpression = expression;
1881
+ return !!asExpression.type
1882
+ && (asExpression.type.flags & NodeFlags.Reparsed) !== 0;
1883
+ }
1884
+ export function isBindingPattern(node) {
1885
+ if (node === undefined)
1886
+ return false;
1887
+ return node.kind === SyntaxKind.ObjectBindingPattern || node.kind === SyntaxKind.ArrayBindingPattern;
1888
+ }
1889
+ export function isConciseBody(node) {
1890
+ if (node === undefined)
1891
+ return false;
1892
+ return node.kind === SyntaxKind.Block || isExpression(node);
1893
+ }
1894
+ export function isForInitializer(node) {
1895
+ if (node === undefined)
1896
+ return false;
1897
+ return node.kind === SyntaxKind.VariableDeclarationList || isExpression(node);
1898
+ }
1899
+ export function isQuestionOrExclamationToken(node) {
1900
+ if (node === undefined)
1901
+ return false;
1902
+ return node.kind === SyntaxKind.QuestionToken || node.kind === SyntaxKind.ExclamationToken;
1903
+ }
1904
+ export function isIdentifierOrThisTypeNode(node) {
1905
+ if (node === undefined)
1906
+ return false;
1907
+ return node.kind === SyntaxKind.Identifier || node.kind === SyntaxKind.ThisType;
1908
+ }
1909
+ export function isReadonlyKeywordOrPlusOrMinusToken(node) {
1910
+ if (node === undefined)
1911
+ return false;
1912
+ return node.kind === SyntaxKind.ReadonlyKeyword || node.kind === SyntaxKind.PlusToken || node.kind === SyntaxKind.MinusToken;
1913
+ }
1914
+ export function isQuestionOrPlusOrMinusToken(node) {
1915
+ if (node === undefined)
1916
+ return false;
1917
+ return node.kind === SyntaxKind.QuestionToken || node.kind === SyntaxKind.PlusToken || node.kind === SyntaxKind.MinusToken;
1918
+ }
1919
+ export function isTemplateMiddleOrTemplateTail(node) {
1920
+ if (node === undefined)
1921
+ return false;
1922
+ return node.kind === SyntaxKind.TemplateMiddle || node.kind === SyntaxKind.TemplateTail;
1923
+ }
1924
+ export function isLiteralTypeLiteral(node) {
1925
+ if (node === undefined)
1926
+ return false;
1927
+ const kind = node.kind;
1928
+ return kind === SyntaxKind.NullKeyword || kind === SyntaxKind.TrueKeyword
1929
+ || kind === SyntaxKind.FalseKeyword || kind === SyntaxKind.PrefixUnaryExpression
1930
+ || isLiteralExpression(node);
1931
+ }
1932
+ export function isIdentifierOrJSDocNamespaceDeclaration(node) {
1933
+ if (node === undefined)
1934
+ return false;
1935
+ return node.kind === SyntaxKind.Identifier || node.kind === SyntaxKind.ModuleDeclaration;
1936
+ }
1937
+ export function isJSDocTypeExpressionOrJSDocTypeLiteral(node) {
1938
+ if (node === undefined)
1939
+ return false;
1940
+ return node.kind === SyntaxKind.JSDocTypeExpression || node.kind === SyntaxKind.JSDocTypeLiteral;
1941
+ }
1942
+ export function isJsxTagNameExpression(node) {
1943
+ if (node === undefined)
1944
+ return false;
1945
+ const kind = node.kind;
1946
+ return kind === SyntaxKind.ThisKeyword
1947
+ || kind === SyntaxKind.Identifier
1948
+ || kind === SyntaxKind.PropertyAccessExpression
1949
+ || kind === SyntaxKind.JsxNamespacedName;
1950
+ }
1951
+ //# sourceMappingURL=ast-guards.generated.js.map