mockaton 13.7.0 → 13.9.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 (288) hide show
  1. package/README.md +27 -8
  2. package/package.json +5 -3
  3. package/src/client/ApiConstants.js +0 -2
  4. package/src/client/Filename.js +2 -2
  5. package/src/client/app-payload-viewer.js +4 -2
  6. package/src/client/dir/groupByFolder.js +16 -14
  7. package/src/server/MockBroker.js +7 -2
  8. package/src/server/MockDispatcher.js +3 -2
  9. package/src/server/Mockaton.js +10 -12
  10. package/src/server/Mockaton.test.js +42 -0
  11. package/src/server/cli.js +9 -8
  12. package/src/server/importResolver.js +35 -0
  13. package/src/server/utils/logger.js +2 -4
  14. package/src/server/utils/openInBrowser.js +1 -1
  15. package/vite-plugin/README.md +29 -0
  16. package/vite-plugin/index.ts +21 -0
  17. package/vite-plugin/node_modules/.package-lock.json +356 -0
  18. package/vite-plugin/node_modules/@oxc-project/types/LICENSE +22 -0
  19. package/vite-plugin/node_modules/@oxc-project/types/README.md +3 -0
  20. package/vite-plugin/node_modules/@oxc-project/types/package.json +26 -0
  21. package/vite-plugin/node_modules/@oxc-project/types/types.d.ts +1912 -0
  22. package/vite-plugin/node_modules/@rolldown/binding-darwin-arm64/README.md +3 -0
  23. package/vite-plugin/node_modules/@rolldown/binding-darwin-arm64/package.json +37 -0
  24. package/vite-plugin/node_modules/@rolldown/binding-darwin-arm64/rolldown-binding.darwin-arm64.node +0 -0
  25. package/vite-plugin/node_modules/@rolldown/pluginutils/LICENSE +25 -0
  26. package/vite-plugin/node_modules/@rolldown/pluginutils/README.md +83 -0
  27. package/vite-plugin/node_modules/@rolldown/pluginutils/dist/filter/composable-filters.d.ts +90 -0
  28. package/vite-plugin/node_modules/@rolldown/pluginutils/dist/filter/composable-filters.js +256 -0
  29. package/vite-plugin/node_modules/@rolldown/pluginutils/dist/filter/filter-vite-plugins.d.ts +28 -0
  30. package/vite-plugin/node_modules/@rolldown/pluginutils/dist/filter/filter-vite-plugins.js +75 -0
  31. package/vite-plugin/node_modules/@rolldown/pluginutils/dist/filter/index.d.ts +3 -0
  32. package/vite-plugin/node_modules/@rolldown/pluginutils/dist/filter/index.js +3 -0
  33. package/vite-plugin/node_modules/@rolldown/pluginutils/dist/filter/simple-filters.d.ts +71 -0
  34. package/vite-plugin/node_modules/@rolldown/pluginutils/dist/filter/simple-filters.js +70 -0
  35. package/vite-plugin/node_modules/@rolldown/pluginutils/dist/index.d.ts +1 -0
  36. package/vite-plugin/node_modules/@rolldown/pluginutils/dist/index.js +1 -0
  37. package/vite-plugin/node_modules/@rolldown/pluginutils/dist/utils.d.ts +2 -0
  38. package/vite-plugin/node_modules/@rolldown/pluginutils/dist/utils.js +17 -0
  39. package/vite-plugin/node_modules/@rolldown/pluginutils/package.json +37 -0
  40. package/vite-plugin/node_modules/detect-libc/LICENSE +201 -0
  41. package/vite-plugin/node_modules/detect-libc/README.md +163 -0
  42. package/vite-plugin/node_modules/detect-libc/index.d.ts +14 -0
  43. package/vite-plugin/node_modules/detect-libc/lib/detect-libc.js +313 -0
  44. package/vite-plugin/node_modules/detect-libc/lib/elf.js +39 -0
  45. package/vite-plugin/node_modules/detect-libc/lib/filesystem.js +51 -0
  46. package/vite-plugin/node_modules/detect-libc/lib/process.js +24 -0
  47. package/vite-plugin/node_modules/detect-libc/package.json +44 -0
  48. package/vite-plugin/node_modules/fdir/LICENSE +7 -0
  49. package/vite-plugin/node_modules/fdir/README.md +91 -0
  50. package/vite-plugin/node_modules/fdir/dist/index.cjs +588 -0
  51. package/vite-plugin/node_modules/fdir/dist/index.d.cts +155 -0
  52. package/vite-plugin/node_modules/fdir/dist/index.d.mts +155 -0
  53. package/vite-plugin/node_modules/fdir/dist/index.mjs +570 -0
  54. package/vite-plugin/node_modules/fdir/package.json +103 -0
  55. package/vite-plugin/node_modules/fsevents/LICENSE +22 -0
  56. package/vite-plugin/node_modules/fsevents/README.md +89 -0
  57. package/vite-plugin/node_modules/fsevents/fsevents.d.ts +46 -0
  58. package/vite-plugin/node_modules/fsevents/fsevents.js +83 -0
  59. package/vite-plugin/node_modules/fsevents/fsevents.node +0 -0
  60. package/vite-plugin/node_modules/fsevents/package.json +62 -0
  61. package/vite-plugin/node_modules/lightningcss/LICENSE +373 -0
  62. package/vite-plugin/node_modules/lightningcss/README.md +105 -0
  63. package/vite-plugin/node_modules/lightningcss/node/ast.d.ts +9892 -0
  64. package/vite-plugin/node_modules/lightningcss/node/ast.js.flow +10539 -0
  65. package/vite-plugin/node_modules/lightningcss/node/browserslistToTargets.js +48 -0
  66. package/vite-plugin/node_modules/lightningcss/node/composeVisitors.js +450 -0
  67. package/vite-plugin/node_modules/lightningcss/node/flags.js +28 -0
  68. package/vite-plugin/node_modules/lightningcss/node/index.d.ts +494 -0
  69. package/vite-plugin/node_modules/lightningcss/node/index.js +59 -0
  70. package/vite-plugin/node_modules/lightningcss/node/index.js.flow +843 -0
  71. package/vite-plugin/node_modules/lightningcss/node/index.mjs +4 -0
  72. package/vite-plugin/node_modules/lightningcss/node/targets.d.ts +40 -0
  73. package/vite-plugin/node_modules/lightningcss/node/targets.js.flow +39 -0
  74. package/vite-plugin/node_modules/lightningcss/package.json +110 -0
  75. package/vite-plugin/node_modules/lightningcss-darwin-arm64/LICENSE +373 -0
  76. package/vite-plugin/node_modules/lightningcss-darwin-arm64/README.md +1 -0
  77. package/vite-plugin/node_modules/lightningcss-darwin-arm64/lightningcss.darwin-arm64.node +0 -0
  78. package/vite-plugin/node_modules/lightningcss-darwin-arm64/package.json +34 -0
  79. package/vite-plugin/node_modules/nanoid/LICENSE +20 -0
  80. package/vite-plugin/node_modules/nanoid/README.md +39 -0
  81. package/vite-plugin/node_modules/nanoid/async/index.browser.cjs +69 -0
  82. package/vite-plugin/node_modules/nanoid/async/index.browser.js +34 -0
  83. package/vite-plugin/node_modules/nanoid/async/index.cjs +71 -0
  84. package/vite-plugin/node_modules/nanoid/async/index.d.ts +56 -0
  85. package/vite-plugin/node_modules/nanoid/async/index.js +35 -0
  86. package/vite-plugin/node_modules/nanoid/async/index.native.js +26 -0
  87. package/vite-plugin/node_modules/nanoid/async/package.json +12 -0
  88. package/vite-plugin/node_modules/nanoid/bin/nanoid.cjs +55 -0
  89. package/vite-plugin/node_modules/nanoid/index.browser.cjs +72 -0
  90. package/vite-plugin/node_modules/nanoid/index.browser.js +34 -0
  91. package/vite-plugin/node_modules/nanoid/index.cjs +85 -0
  92. package/vite-plugin/node_modules/nanoid/index.d.cts +91 -0
  93. package/vite-plugin/node_modules/nanoid/index.d.ts +91 -0
  94. package/vite-plugin/node_modules/nanoid/index.js +45 -0
  95. package/vite-plugin/node_modules/nanoid/nanoid.js +1 -0
  96. package/vite-plugin/node_modules/nanoid/non-secure/index.cjs +34 -0
  97. package/vite-plugin/node_modules/nanoid/non-secure/index.d.ts +33 -0
  98. package/vite-plugin/node_modules/nanoid/non-secure/index.js +21 -0
  99. package/vite-plugin/node_modules/nanoid/non-secure/package.json +6 -0
  100. package/vite-plugin/node_modules/nanoid/package.json +89 -0
  101. package/vite-plugin/node_modules/nanoid/url-alphabet/index.cjs +7 -0
  102. package/vite-plugin/node_modules/nanoid/url-alphabet/index.js +3 -0
  103. package/vite-plugin/node_modules/nanoid/url-alphabet/package.json +6 -0
  104. package/vite-plugin/node_modules/picocolors/LICENSE +15 -0
  105. package/vite-plugin/node_modules/picocolors/README.md +21 -0
  106. package/vite-plugin/node_modules/picocolors/package.json +25 -0
  107. package/vite-plugin/node_modules/picocolors/picocolors.browser.js +4 -0
  108. package/vite-plugin/node_modules/picocolors/picocolors.d.ts +5 -0
  109. package/vite-plugin/node_modules/picocolors/picocolors.js +75 -0
  110. package/vite-plugin/node_modules/picocolors/types.d.ts +51 -0
  111. package/vite-plugin/node_modules/picomatch/LICENSE +21 -0
  112. package/vite-plugin/node_modules/picomatch/README.md +749 -0
  113. package/vite-plugin/node_modules/picomatch/index.js +17 -0
  114. package/vite-plugin/node_modules/picomatch/lib/constants.js +184 -0
  115. package/vite-plugin/node_modules/picomatch/lib/parse.js +1386 -0
  116. package/vite-plugin/node_modules/picomatch/lib/picomatch.js +349 -0
  117. package/vite-plugin/node_modules/picomatch/lib/scan.js +391 -0
  118. package/vite-plugin/node_modules/picomatch/lib/utils.js +72 -0
  119. package/vite-plugin/node_modules/picomatch/package.json +82 -0
  120. package/vite-plugin/node_modules/picomatch/posix.js +3 -0
  121. package/vite-plugin/node_modules/postcss/LICENSE +20 -0
  122. package/vite-plugin/node_modules/postcss/README.md +28 -0
  123. package/vite-plugin/node_modules/postcss/lib/at-rule.d.ts +139 -0
  124. package/vite-plugin/node_modules/postcss/lib/at-rule.js +25 -0
  125. package/vite-plugin/node_modules/postcss/lib/comment.d.ts +67 -0
  126. package/vite-plugin/node_modules/postcss/lib/comment.js +13 -0
  127. package/vite-plugin/node_modules/postcss/lib/container.d.ts +478 -0
  128. package/vite-plugin/node_modules/postcss/lib/container.js +447 -0
  129. package/vite-plugin/node_modules/postcss/lib/css-syntax-error.d.ts +247 -0
  130. package/vite-plugin/node_modules/postcss/lib/css-syntax-error.js +133 -0
  131. package/vite-plugin/node_modules/postcss/lib/declaration.d.ts +150 -0
  132. package/vite-plugin/node_modules/postcss/lib/declaration.js +24 -0
  133. package/vite-plugin/node_modules/postcss/lib/document.d.ts +68 -0
  134. package/vite-plugin/node_modules/postcss/lib/document.js +33 -0
  135. package/vite-plugin/node_modules/postcss/lib/fromJSON.d.ts +9 -0
  136. package/vite-plugin/node_modules/postcss/lib/fromJSON.js +54 -0
  137. package/vite-plugin/node_modules/postcss/lib/input.d.ts +226 -0
  138. package/vite-plugin/node_modules/postcss/lib/input.js +273 -0
  139. package/vite-plugin/node_modules/postcss/lib/lazy-result.d.ts +189 -0
  140. package/vite-plugin/node_modules/postcss/lib/lazy-result.js +550 -0
  141. package/vite-plugin/node_modules/postcss/lib/list.d.ts +60 -0
  142. package/vite-plugin/node_modules/postcss/lib/list.js +58 -0
  143. package/vite-plugin/node_modules/postcss/lib/map-generator.js +376 -0
  144. package/vite-plugin/node_modules/postcss/lib/no-work-result.d.ts +45 -0
  145. package/vite-plugin/node_modules/postcss/lib/no-work-result.js +137 -0
  146. package/vite-plugin/node_modules/postcss/lib/node.d.ts +555 -0
  147. package/vite-plugin/node_modules/postcss/lib/node.js +449 -0
  148. package/vite-plugin/node_modules/postcss/lib/parse.d.ts +9 -0
  149. package/vite-plugin/node_modules/postcss/lib/parse.js +42 -0
  150. package/vite-plugin/node_modules/postcss/lib/parser.js +611 -0
  151. package/vite-plugin/node_modules/postcss/lib/postcss.d.mts +66 -0
  152. package/vite-plugin/node_modules/postcss/lib/postcss.d.ts +456 -0
  153. package/vite-plugin/node_modules/postcss/lib/postcss.js +101 -0
  154. package/vite-plugin/node_modules/postcss/lib/postcss.mjs +30 -0
  155. package/vite-plugin/node_modules/postcss/lib/previous-map.d.ts +80 -0
  156. package/vite-plugin/node_modules/postcss/lib/previous-map.js +145 -0
  157. package/vite-plugin/node_modules/postcss/lib/processor.d.ts +114 -0
  158. package/vite-plugin/node_modules/postcss/lib/processor.js +67 -0
  159. package/vite-plugin/node_modules/postcss/lib/result.d.ts +204 -0
  160. package/vite-plugin/node_modules/postcss/lib/result.js +42 -0
  161. package/vite-plugin/node_modules/postcss/lib/root.d.ts +86 -0
  162. package/vite-plugin/node_modules/postcss/lib/root.js +61 -0
  163. package/vite-plugin/node_modules/postcss/lib/rule.d.ts +126 -0
  164. package/vite-plugin/node_modules/postcss/lib/rule.js +27 -0
  165. package/vite-plugin/node_modules/postcss/lib/stringifier.d.ts +45 -0
  166. package/vite-plugin/node_modules/postcss/lib/stringifier.js +370 -0
  167. package/vite-plugin/node_modules/postcss/lib/stringify.d.ts +9 -0
  168. package/vite-plugin/node_modules/postcss/lib/stringify.js +11 -0
  169. package/vite-plugin/node_modules/postcss/lib/symbols.js +5 -0
  170. package/vite-plugin/node_modules/postcss/lib/terminal-highlight.js +70 -0
  171. package/vite-plugin/node_modules/postcss/lib/tokenize.js +266 -0
  172. package/vite-plugin/node_modules/postcss/lib/warn-once.js +13 -0
  173. package/vite-plugin/node_modules/postcss/lib/warning.d.ts +146 -0
  174. package/vite-plugin/node_modules/postcss/lib/warning.js +37 -0
  175. package/vite-plugin/node_modules/postcss/package.json +88 -0
  176. package/vite-plugin/node_modules/rolldown/LICENSE +25 -0
  177. package/vite-plugin/node_modules/rolldown/README.md +11 -0
  178. package/vite-plugin/node_modules/rolldown/bin/cli.mjs +2 -0
  179. package/vite-plugin/node_modules/rolldown/dist/cli.d.mts +1 -0
  180. package/vite-plugin/node_modules/rolldown/dist/cli.mjs +1191 -0
  181. package/vite-plugin/node_modules/rolldown/dist/config.d.mts +14 -0
  182. package/vite-plugin/node_modules/rolldown/dist/config.mjs +4 -0
  183. package/vite-plugin/node_modules/rolldown/dist/experimental-index.d.mts +253 -0
  184. package/vite-plugin/node_modules/rolldown/dist/experimental-index.mjs +320 -0
  185. package/vite-plugin/node_modules/rolldown/dist/experimental-runtime-types.d.ts +98 -0
  186. package/vite-plugin/node_modules/rolldown/dist/filter-index.d.mts +196 -0
  187. package/vite-plugin/node_modules/rolldown/dist/filter-index.mjs +386 -0
  188. package/vite-plugin/node_modules/rolldown/dist/get-log-filter.d.mts +3 -0
  189. package/vite-plugin/node_modules/rolldown/dist/get-log-filter.mjs +68 -0
  190. package/vite-plugin/node_modules/rolldown/dist/index.d.mts +4 -0
  191. package/vite-plugin/node_modules/rolldown/dist/index.mjs +50 -0
  192. package/vite-plugin/node_modules/rolldown/dist/parallel-plugin-worker.d.mts +1 -0
  193. package/vite-plugin/node_modules/rolldown/dist/parallel-plugin-worker.mjs +28 -0
  194. package/vite-plugin/node_modules/rolldown/dist/parallel-plugin.d.mts +13 -0
  195. package/vite-plugin/node_modules/rolldown/dist/parallel-plugin.mjs +6 -0
  196. package/vite-plugin/node_modules/rolldown/dist/parse-ast-index.d.mts +32 -0
  197. package/vite-plugin/node_modules/rolldown/dist/parse-ast-index.mjs +60 -0
  198. package/vite-plugin/node_modules/rolldown/dist/plugins-index.d.mts +33 -0
  199. package/vite-plugin/node_modules/rolldown/dist/plugins-index.mjs +40 -0
  200. package/vite-plugin/node_modules/rolldown/dist/shared/binding-BeU_1iEk.mjs +582 -0
  201. package/vite-plugin/node_modules/rolldown/dist/shared/binding-zH1vcmbM.d.mts +1899 -0
  202. package/vite-plugin/node_modules/rolldown/dist/shared/bindingify-input-options-DbbBhzky.mjs +2211 -0
  203. package/vite-plugin/node_modules/rolldown/dist/shared/constructors-C2EWPKW3.mjs +68 -0
  204. package/vite-plugin/node_modules/rolldown/dist/shared/constructors-D0W3rNfA.d.mts +37 -0
  205. package/vite-plugin/node_modules/rolldown/dist/shared/define-config-5HJ1b9vG.d.mts +3829 -0
  206. package/vite-plugin/node_modules/rolldown/dist/shared/define-config-DJOr6Iwt.mjs +6 -0
  207. package/vite-plugin/node_modules/rolldown/dist/shared/error-DL-e8-oE.mjs +85 -0
  208. package/vite-plugin/node_modules/rolldown/dist/shared/get-log-filter-semyr3Lj.d.mts +35 -0
  209. package/vite-plugin/node_modules/rolldown/dist/shared/load-config-BoVO31Un.mjs +120 -0
  210. package/vite-plugin/node_modules/rolldown/dist/shared/logging-C6h4g8dA.d.mts +50 -0
  211. package/vite-plugin/node_modules/rolldown/dist/shared/logs-D80CXhvg.mjs +180 -0
  212. package/vite-plugin/node_modules/rolldown/dist/shared/misc-DJYbNKZX.mjs +21 -0
  213. package/vite-plugin/node_modules/rolldown/dist/shared/normalize-string-or-regex-CbQQ69gT.mjs +66 -0
  214. package/vite-plugin/node_modules/rolldown/dist/shared/parse-B_ZnWxLZ.mjs +74 -0
  215. package/vite-plugin/node_modules/rolldown/dist/shared/prompt-U5ajztzG.mjs +847 -0
  216. package/vite-plugin/node_modules/rolldown/dist/shared/resolve-tsconfig-CfYpGzid.mjs +113 -0
  217. package/vite-plugin/node_modules/rolldown/dist/shared/rolldown-D3JZ9rMt.mjs +40 -0
  218. package/vite-plugin/node_modules/rolldown/dist/shared/rolldown-build-DSxL8qiP.mjs +3325 -0
  219. package/vite-plugin/node_modules/rolldown/dist/shared/transform-DgZ3paSD.d.mts +149 -0
  220. package/vite-plugin/node_modules/rolldown/dist/shared/watch-Bd8v9ewv.mjs +374 -0
  221. package/vite-plugin/node_modules/rolldown/dist/utils-index.d.mts +376 -0
  222. package/vite-plugin/node_modules/rolldown/dist/utils-index.mjs +2414 -0
  223. package/vite-plugin/node_modules/rolldown/package.json +153 -0
  224. package/vite-plugin/node_modules/source-map-js/LICENSE +28 -0
  225. package/vite-plugin/node_modules/source-map-js/README.md +765 -0
  226. package/vite-plugin/node_modules/source-map-js/lib/array-set.js +121 -0
  227. package/vite-plugin/node_modules/source-map-js/lib/base64-vlq.js +140 -0
  228. package/vite-plugin/node_modules/source-map-js/lib/base64.js +67 -0
  229. package/vite-plugin/node_modules/source-map-js/lib/binary-search.js +111 -0
  230. package/vite-plugin/node_modules/source-map-js/lib/mapping-list.js +79 -0
  231. package/vite-plugin/node_modules/source-map-js/lib/quick-sort.js +132 -0
  232. package/vite-plugin/node_modules/source-map-js/lib/source-map-consumer.d.ts +1 -0
  233. package/vite-plugin/node_modules/source-map-js/lib/source-map-consumer.js +1188 -0
  234. package/vite-plugin/node_modules/source-map-js/lib/source-map-generator.d.ts +1 -0
  235. package/vite-plugin/node_modules/source-map-js/lib/source-map-generator.js +444 -0
  236. package/vite-plugin/node_modules/source-map-js/lib/source-node.d.ts +1 -0
  237. package/vite-plugin/node_modules/source-map-js/lib/source-node.js +413 -0
  238. package/vite-plugin/node_modules/source-map-js/lib/util.js +594 -0
  239. package/vite-plugin/node_modules/source-map-js/package.json +71 -0
  240. package/vite-plugin/node_modules/source-map-js/source-map.d.ts +104 -0
  241. package/vite-plugin/node_modules/source-map-js/source-map.js +8 -0
  242. package/vite-plugin/node_modules/tinyglobby/LICENSE +21 -0
  243. package/vite-plugin/node_modules/tinyglobby/README.md +25 -0
  244. package/vite-plugin/node_modules/tinyglobby/dist/index.cjs +334 -0
  245. package/vite-plugin/node_modules/tinyglobby/dist/index.d.cts +148 -0
  246. package/vite-plugin/node_modules/tinyglobby/dist/index.d.mts +148 -0
  247. package/vite-plugin/node_modules/tinyglobby/dist/index.mjs +306 -0
  248. package/vite-plugin/node_modules/tinyglobby/package.json +73 -0
  249. package/vite-plugin/node_modules/vite/LICENSE.md +2230 -0
  250. package/vite-plugin/node_modules/vite/README.md +20 -0
  251. package/vite-plugin/node_modules/vite/bin/openChrome.js +68 -0
  252. package/vite-plugin/node_modules/vite/bin/vite.js +79 -0
  253. package/vite-plugin/node_modules/vite/client.d.ts +282 -0
  254. package/vite-plugin/node_modules/vite/dist/client/client.mjs +1237 -0
  255. package/vite-plugin/node_modules/vite/dist/client/env.mjs +18 -0
  256. package/vite-plugin/node_modules/vite/dist/node/chunks/build.js +5381 -0
  257. package/vite-plugin/node_modules/vite/dist/node/chunks/chunk.js +37 -0
  258. package/vite-plugin/node_modules/vite/dist/node/chunks/dist.js +6784 -0
  259. package/vite-plugin/node_modules/vite/dist/node/chunks/lib.js +371 -0
  260. package/vite-plugin/node_modules/vite/dist/node/chunks/logger.js +322 -0
  261. package/vite-plugin/node_modules/vite/dist/node/chunks/moduleRunnerTransport.d.ts +96 -0
  262. package/vite-plugin/node_modules/vite/dist/node/chunks/node.js +34874 -0
  263. package/vite-plugin/node_modules/vite/dist/node/chunks/postcss-import.js +467 -0
  264. package/vite-plugin/node_modules/vite/dist/node/cli.js +837 -0
  265. package/vite-plugin/node_modules/vite/dist/node/index.d.ts +3867 -0
  266. package/vite-plugin/node_modules/vite/dist/node/index.js +3 -0
  267. package/vite-plugin/node_modules/vite/dist/node/internal.d.ts +2 -0
  268. package/vite-plugin/node_modules/vite/dist/node/internal.js +2 -0
  269. package/vite-plugin/node_modules/vite/dist/node/module-runner.d.ts +315 -0
  270. package/vite-plugin/node_modules/vite/dist/node/module-runner.js +1262 -0
  271. package/vite-plugin/node_modules/vite/misc/false.js +1 -0
  272. package/vite-plugin/node_modules/vite/misc/true.js +1 -0
  273. package/vite-plugin/node_modules/vite/package.json +192 -0
  274. package/vite-plugin/node_modules/vite/types/customEvent.d.ts +79 -0
  275. package/vite-plugin/node_modules/vite/types/hmrPayload.d.ts +80 -0
  276. package/vite-plugin/node_modules/vite/types/hot.d.ts +39 -0
  277. package/vite-plugin/node_modules/vite/types/import-meta.d.ts +5 -0
  278. package/vite-plugin/node_modules/vite/types/importGlob.d.ts +89 -0
  279. package/vite-plugin/node_modules/vite/types/importMeta.d.ts +30 -0
  280. package/vite-plugin/node_modules/vite/types/internal/cssPreprocessorOptions.d.ts +44 -0
  281. package/vite-plugin/node_modules/vite/types/internal/esbuildOptions.d.ts +28 -0
  282. package/vite-plugin/node_modules/vite/types/internal/lightningcssOptions.d.ts +18 -0
  283. package/vite-plugin/node_modules/vite/types/internal/rollupTypeCompat.d.ts +24 -0
  284. package/vite-plugin/node_modules/vite/types/internal/terserOptions.d.ts +11 -0
  285. package/vite-plugin/node_modules/vite/types/metadata.d.ts +47 -0
  286. package/vite-plugin/package.json +14 -0
  287. package/www/src/{assets → .well-known/agent-skills/mockaton}/SKILLS.md +21 -9
  288. package/src/server/cacheBustResolver.js +0 -19
@@ -0,0 +1,2414 @@
1
+ import { n as parseSync, t as parse } from "./shared/parse-B_ZnWxLZ.mjs";
2
+ import { a as minify, i as transformSync, o as minifySync, r as transform, t as TsconfigCache } from "./shared/resolve-tsconfig-CfYpGzid.mjs";
3
+ //#region ../../node_modules/.pnpm/oxc-parser@0.127.0/node_modules/oxc-parser/src-js/generated/visit/walk.js
4
+ function walkNode(node, visitors) {
5
+ if (node == null) return;
6
+ if (Array.isArray(node)) {
7
+ let len = node.length;
8
+ for (let i = 0; i < len; i++) walkNode(node[i], visitors);
9
+ } else switch (node.type) {
10
+ case "DebuggerStatement":
11
+ walkDebuggerStatement(node, visitors);
12
+ break;
13
+ case "EmptyStatement":
14
+ walkEmptyStatement(node, visitors);
15
+ break;
16
+ case "Literal":
17
+ walkLiteral(node, visitors);
18
+ break;
19
+ case "PrivateIdentifier":
20
+ walkPrivateIdentifier(node, visitors);
21
+ break;
22
+ case "Super":
23
+ walkSuper(node, visitors);
24
+ break;
25
+ case "TemplateElement":
26
+ walkTemplateElement(node, visitors);
27
+ break;
28
+ case "ThisExpression":
29
+ walkThisExpression(node, visitors);
30
+ break;
31
+ case "JSXClosingFragment":
32
+ walkJSXClosingFragment(node, visitors);
33
+ break;
34
+ case "JSXEmptyExpression":
35
+ walkJSXEmptyExpression(node, visitors);
36
+ break;
37
+ case "JSXIdentifier":
38
+ walkJSXIdentifier(node, visitors);
39
+ break;
40
+ case "JSXOpeningFragment":
41
+ walkJSXOpeningFragment(node, visitors);
42
+ break;
43
+ case "JSXText":
44
+ walkJSXText(node, visitors);
45
+ break;
46
+ case "TSAnyKeyword":
47
+ walkTSAnyKeyword(node, visitors);
48
+ break;
49
+ case "TSBigIntKeyword":
50
+ walkTSBigIntKeyword(node, visitors);
51
+ break;
52
+ case "TSBooleanKeyword":
53
+ walkTSBooleanKeyword(node, visitors);
54
+ break;
55
+ case "TSIntrinsicKeyword":
56
+ walkTSIntrinsicKeyword(node, visitors);
57
+ break;
58
+ case "TSJSDocUnknownType":
59
+ walkTSJSDocUnknownType(node, visitors);
60
+ break;
61
+ case "TSNeverKeyword":
62
+ walkTSNeverKeyword(node, visitors);
63
+ break;
64
+ case "TSNullKeyword":
65
+ walkTSNullKeyword(node, visitors);
66
+ break;
67
+ case "TSNumberKeyword":
68
+ walkTSNumberKeyword(node, visitors);
69
+ break;
70
+ case "TSObjectKeyword":
71
+ walkTSObjectKeyword(node, visitors);
72
+ break;
73
+ case "TSStringKeyword":
74
+ walkTSStringKeyword(node, visitors);
75
+ break;
76
+ case "TSSymbolKeyword":
77
+ walkTSSymbolKeyword(node, visitors);
78
+ break;
79
+ case "TSThisType":
80
+ walkTSThisType(node, visitors);
81
+ break;
82
+ case "TSUndefinedKeyword":
83
+ walkTSUndefinedKeyword(node, visitors);
84
+ break;
85
+ case "TSUnknownKeyword":
86
+ walkTSUnknownKeyword(node, visitors);
87
+ break;
88
+ case "TSVoidKeyword":
89
+ walkTSVoidKeyword(node, visitors);
90
+ break;
91
+ case "AccessorProperty":
92
+ walkAccessorProperty(node, visitors);
93
+ break;
94
+ case "ArrayExpression":
95
+ walkArrayExpression(node, visitors);
96
+ break;
97
+ case "ArrayPattern":
98
+ walkArrayPattern(node, visitors);
99
+ break;
100
+ case "ArrowFunctionExpression":
101
+ walkArrowFunctionExpression(node, visitors);
102
+ break;
103
+ case "AssignmentExpression":
104
+ walkAssignmentExpression(node, visitors);
105
+ break;
106
+ case "AssignmentPattern":
107
+ walkAssignmentPattern(node, visitors);
108
+ break;
109
+ case "AwaitExpression":
110
+ walkAwaitExpression(node, visitors);
111
+ break;
112
+ case "BinaryExpression":
113
+ walkBinaryExpression(node, visitors);
114
+ break;
115
+ case "BlockStatement":
116
+ walkBlockStatement(node, visitors);
117
+ break;
118
+ case "BreakStatement":
119
+ walkBreakStatement(node, visitors);
120
+ break;
121
+ case "CallExpression":
122
+ walkCallExpression(node, visitors);
123
+ break;
124
+ case "CatchClause":
125
+ walkCatchClause(node, visitors);
126
+ break;
127
+ case "ChainExpression":
128
+ walkChainExpression(node, visitors);
129
+ break;
130
+ case "ClassBody":
131
+ walkClassBody(node, visitors);
132
+ break;
133
+ case "ClassDeclaration":
134
+ walkClassDeclaration(node, visitors);
135
+ break;
136
+ case "ClassExpression":
137
+ walkClassExpression(node, visitors);
138
+ break;
139
+ case "ConditionalExpression":
140
+ walkConditionalExpression(node, visitors);
141
+ break;
142
+ case "ContinueStatement":
143
+ walkContinueStatement(node, visitors);
144
+ break;
145
+ case "Decorator":
146
+ walkDecorator(node, visitors);
147
+ break;
148
+ case "DoWhileStatement":
149
+ walkDoWhileStatement(node, visitors);
150
+ break;
151
+ case "ExportAllDeclaration":
152
+ walkExportAllDeclaration(node, visitors);
153
+ break;
154
+ case "ExportDefaultDeclaration":
155
+ walkExportDefaultDeclaration(node, visitors);
156
+ break;
157
+ case "ExportNamedDeclaration":
158
+ walkExportNamedDeclaration(node, visitors);
159
+ break;
160
+ case "ExportSpecifier":
161
+ walkExportSpecifier(node, visitors);
162
+ break;
163
+ case "ExpressionStatement":
164
+ walkExpressionStatement(node, visitors);
165
+ break;
166
+ case "ForInStatement":
167
+ walkForInStatement(node, visitors);
168
+ break;
169
+ case "ForOfStatement":
170
+ walkForOfStatement(node, visitors);
171
+ break;
172
+ case "ForStatement":
173
+ walkForStatement(node, visitors);
174
+ break;
175
+ case "FunctionDeclaration":
176
+ walkFunctionDeclaration(node, visitors);
177
+ break;
178
+ case "FunctionExpression":
179
+ walkFunctionExpression(node, visitors);
180
+ break;
181
+ case "Identifier":
182
+ walkIdentifier(node, visitors);
183
+ break;
184
+ case "IfStatement":
185
+ walkIfStatement(node, visitors);
186
+ break;
187
+ case "ImportAttribute":
188
+ walkImportAttribute(node, visitors);
189
+ break;
190
+ case "ImportDeclaration":
191
+ walkImportDeclaration(node, visitors);
192
+ break;
193
+ case "ImportDefaultSpecifier":
194
+ walkImportDefaultSpecifier(node, visitors);
195
+ break;
196
+ case "ImportExpression":
197
+ walkImportExpression(node, visitors);
198
+ break;
199
+ case "ImportNamespaceSpecifier":
200
+ walkImportNamespaceSpecifier(node, visitors);
201
+ break;
202
+ case "ImportSpecifier":
203
+ walkImportSpecifier(node, visitors);
204
+ break;
205
+ case "LabeledStatement":
206
+ walkLabeledStatement(node, visitors);
207
+ break;
208
+ case "LogicalExpression":
209
+ walkLogicalExpression(node, visitors);
210
+ break;
211
+ case "MemberExpression":
212
+ walkMemberExpression(node, visitors);
213
+ break;
214
+ case "MetaProperty":
215
+ walkMetaProperty(node, visitors);
216
+ break;
217
+ case "MethodDefinition":
218
+ walkMethodDefinition(node, visitors);
219
+ break;
220
+ case "NewExpression":
221
+ walkNewExpression(node, visitors);
222
+ break;
223
+ case "ObjectExpression":
224
+ walkObjectExpression(node, visitors);
225
+ break;
226
+ case "ObjectPattern":
227
+ walkObjectPattern(node, visitors);
228
+ break;
229
+ case "ParenthesizedExpression":
230
+ walkParenthesizedExpression(node, visitors);
231
+ break;
232
+ case "Program":
233
+ walkProgram(node, visitors);
234
+ break;
235
+ case "Property":
236
+ walkProperty(node, visitors);
237
+ break;
238
+ case "PropertyDefinition":
239
+ walkPropertyDefinition(node, visitors);
240
+ break;
241
+ case "RestElement":
242
+ walkRestElement(node, visitors);
243
+ break;
244
+ case "ReturnStatement":
245
+ walkReturnStatement(node, visitors);
246
+ break;
247
+ case "SequenceExpression":
248
+ walkSequenceExpression(node, visitors);
249
+ break;
250
+ case "SpreadElement":
251
+ walkSpreadElement(node, visitors);
252
+ break;
253
+ case "StaticBlock":
254
+ walkStaticBlock(node, visitors);
255
+ break;
256
+ case "SwitchCase":
257
+ walkSwitchCase(node, visitors);
258
+ break;
259
+ case "SwitchStatement":
260
+ walkSwitchStatement(node, visitors);
261
+ break;
262
+ case "TaggedTemplateExpression":
263
+ walkTaggedTemplateExpression(node, visitors);
264
+ break;
265
+ case "TemplateLiteral":
266
+ walkTemplateLiteral(node, visitors);
267
+ break;
268
+ case "ThrowStatement":
269
+ walkThrowStatement(node, visitors);
270
+ break;
271
+ case "TryStatement":
272
+ walkTryStatement(node, visitors);
273
+ break;
274
+ case "UnaryExpression":
275
+ walkUnaryExpression(node, visitors);
276
+ break;
277
+ case "UpdateExpression":
278
+ walkUpdateExpression(node, visitors);
279
+ break;
280
+ case "V8IntrinsicExpression":
281
+ walkV8IntrinsicExpression(node, visitors);
282
+ break;
283
+ case "VariableDeclaration":
284
+ walkVariableDeclaration(node, visitors);
285
+ break;
286
+ case "VariableDeclarator":
287
+ walkVariableDeclarator(node, visitors);
288
+ break;
289
+ case "WhileStatement":
290
+ walkWhileStatement(node, visitors);
291
+ break;
292
+ case "WithStatement":
293
+ walkWithStatement(node, visitors);
294
+ break;
295
+ case "YieldExpression":
296
+ walkYieldExpression(node, visitors);
297
+ break;
298
+ case "JSXAttribute":
299
+ walkJSXAttribute(node, visitors);
300
+ break;
301
+ case "JSXClosingElement":
302
+ walkJSXClosingElement(node, visitors);
303
+ break;
304
+ case "JSXElement":
305
+ walkJSXElement(node, visitors);
306
+ break;
307
+ case "JSXExpressionContainer":
308
+ walkJSXExpressionContainer(node, visitors);
309
+ break;
310
+ case "JSXFragment":
311
+ walkJSXFragment(node, visitors);
312
+ break;
313
+ case "JSXMemberExpression":
314
+ walkJSXMemberExpression(node, visitors);
315
+ break;
316
+ case "JSXNamespacedName":
317
+ walkJSXNamespacedName(node, visitors);
318
+ break;
319
+ case "JSXOpeningElement":
320
+ walkJSXOpeningElement(node, visitors);
321
+ break;
322
+ case "JSXSpreadAttribute":
323
+ walkJSXSpreadAttribute(node, visitors);
324
+ break;
325
+ case "JSXSpreadChild":
326
+ walkJSXSpreadChild(node, visitors);
327
+ break;
328
+ case "TSAbstractAccessorProperty":
329
+ walkTSAbstractAccessorProperty(node, visitors);
330
+ break;
331
+ case "TSAbstractMethodDefinition":
332
+ walkTSAbstractMethodDefinition(node, visitors);
333
+ break;
334
+ case "TSAbstractPropertyDefinition":
335
+ walkTSAbstractPropertyDefinition(node, visitors);
336
+ break;
337
+ case "TSArrayType":
338
+ walkTSArrayType(node, visitors);
339
+ break;
340
+ case "TSAsExpression":
341
+ walkTSAsExpression(node, visitors);
342
+ break;
343
+ case "TSCallSignatureDeclaration":
344
+ walkTSCallSignatureDeclaration(node, visitors);
345
+ break;
346
+ case "TSClassImplements":
347
+ walkTSClassImplements(node, visitors);
348
+ break;
349
+ case "TSConditionalType":
350
+ walkTSConditionalType(node, visitors);
351
+ break;
352
+ case "TSConstructSignatureDeclaration":
353
+ walkTSConstructSignatureDeclaration(node, visitors);
354
+ break;
355
+ case "TSConstructorType":
356
+ walkTSConstructorType(node, visitors);
357
+ break;
358
+ case "TSDeclareFunction":
359
+ walkTSDeclareFunction(node, visitors);
360
+ break;
361
+ case "TSEmptyBodyFunctionExpression":
362
+ walkTSEmptyBodyFunctionExpression(node, visitors);
363
+ break;
364
+ case "TSEnumBody":
365
+ walkTSEnumBody(node, visitors);
366
+ break;
367
+ case "TSEnumDeclaration":
368
+ walkTSEnumDeclaration(node, visitors);
369
+ break;
370
+ case "TSEnumMember":
371
+ walkTSEnumMember(node, visitors);
372
+ break;
373
+ case "TSExportAssignment":
374
+ walkTSExportAssignment(node, visitors);
375
+ break;
376
+ case "TSExternalModuleReference":
377
+ walkTSExternalModuleReference(node, visitors);
378
+ break;
379
+ case "TSFunctionType":
380
+ walkTSFunctionType(node, visitors);
381
+ break;
382
+ case "TSImportEqualsDeclaration":
383
+ walkTSImportEqualsDeclaration(node, visitors);
384
+ break;
385
+ case "TSImportType":
386
+ walkTSImportType(node, visitors);
387
+ break;
388
+ case "TSIndexSignature":
389
+ walkTSIndexSignature(node, visitors);
390
+ break;
391
+ case "TSIndexedAccessType":
392
+ walkTSIndexedAccessType(node, visitors);
393
+ break;
394
+ case "TSInferType":
395
+ walkTSInferType(node, visitors);
396
+ break;
397
+ case "TSInstantiationExpression":
398
+ walkTSInstantiationExpression(node, visitors);
399
+ break;
400
+ case "TSInterfaceBody":
401
+ walkTSInterfaceBody(node, visitors);
402
+ break;
403
+ case "TSInterfaceDeclaration":
404
+ walkTSInterfaceDeclaration(node, visitors);
405
+ break;
406
+ case "TSInterfaceHeritage":
407
+ walkTSInterfaceHeritage(node, visitors);
408
+ break;
409
+ case "TSIntersectionType":
410
+ walkTSIntersectionType(node, visitors);
411
+ break;
412
+ case "TSJSDocNonNullableType":
413
+ walkTSJSDocNonNullableType(node, visitors);
414
+ break;
415
+ case "TSJSDocNullableType":
416
+ walkTSJSDocNullableType(node, visitors);
417
+ break;
418
+ case "TSLiteralType":
419
+ walkTSLiteralType(node, visitors);
420
+ break;
421
+ case "TSMappedType":
422
+ walkTSMappedType(node, visitors);
423
+ break;
424
+ case "TSMethodSignature":
425
+ walkTSMethodSignature(node, visitors);
426
+ break;
427
+ case "TSModuleBlock":
428
+ walkTSModuleBlock(node, visitors);
429
+ break;
430
+ case "TSModuleDeclaration":
431
+ walkTSModuleDeclaration(node, visitors);
432
+ break;
433
+ case "TSNamedTupleMember":
434
+ walkTSNamedTupleMember(node, visitors);
435
+ break;
436
+ case "TSNamespaceExportDeclaration":
437
+ walkTSNamespaceExportDeclaration(node, visitors);
438
+ break;
439
+ case "TSNonNullExpression":
440
+ walkTSNonNullExpression(node, visitors);
441
+ break;
442
+ case "TSOptionalType":
443
+ walkTSOptionalType(node, visitors);
444
+ break;
445
+ case "TSParameterProperty":
446
+ walkTSParameterProperty(node, visitors);
447
+ break;
448
+ case "TSParenthesizedType":
449
+ walkTSParenthesizedType(node, visitors);
450
+ break;
451
+ case "TSPropertySignature":
452
+ walkTSPropertySignature(node, visitors);
453
+ break;
454
+ case "TSQualifiedName":
455
+ walkTSQualifiedName(node, visitors);
456
+ break;
457
+ case "TSRestType":
458
+ walkTSRestType(node, visitors);
459
+ break;
460
+ case "TSSatisfiesExpression":
461
+ walkTSSatisfiesExpression(node, visitors);
462
+ break;
463
+ case "TSTemplateLiteralType":
464
+ walkTSTemplateLiteralType(node, visitors);
465
+ break;
466
+ case "TSTupleType":
467
+ walkTSTupleType(node, visitors);
468
+ break;
469
+ case "TSTypeAliasDeclaration":
470
+ walkTSTypeAliasDeclaration(node, visitors);
471
+ break;
472
+ case "TSTypeAnnotation":
473
+ walkTSTypeAnnotation(node, visitors);
474
+ break;
475
+ case "TSTypeAssertion":
476
+ walkTSTypeAssertion(node, visitors);
477
+ break;
478
+ case "TSTypeLiteral":
479
+ walkTSTypeLiteral(node, visitors);
480
+ break;
481
+ case "TSTypeOperator":
482
+ walkTSTypeOperator(node, visitors);
483
+ break;
484
+ case "TSTypeParameter":
485
+ walkTSTypeParameter(node, visitors);
486
+ break;
487
+ case "TSTypeParameterDeclaration":
488
+ walkTSTypeParameterDeclaration(node, visitors);
489
+ break;
490
+ case "TSTypeParameterInstantiation":
491
+ walkTSTypeParameterInstantiation(node, visitors);
492
+ break;
493
+ case "TSTypePredicate":
494
+ walkTSTypePredicate(node, visitors);
495
+ break;
496
+ case "TSTypeQuery":
497
+ walkTSTypeQuery(node, visitors);
498
+ break;
499
+ case "TSTypeReference":
500
+ walkTSTypeReference(node, visitors);
501
+ break;
502
+ case "TSUnionType":
503
+ walkTSUnionType(node, visitors);
504
+ break;
505
+ }
506
+ }
507
+ function walkDebuggerStatement(node, visitors) {
508
+ let visit = visitors[0];
509
+ visit !== null && visit(node);
510
+ }
511
+ function walkEmptyStatement(node, visitors) {
512
+ let visit = visitors[1];
513
+ visit !== null && visit(node);
514
+ }
515
+ function walkLiteral(node, visitors) {
516
+ let visit = visitors[2];
517
+ visit !== null && visit(node);
518
+ }
519
+ function walkPrivateIdentifier(node, visitors) {
520
+ let visit = visitors[3];
521
+ visit !== null && visit(node);
522
+ }
523
+ function walkSuper(node, visitors) {
524
+ let visit = visitors[4];
525
+ visit !== null && visit(node);
526
+ }
527
+ function walkTemplateElement(node, visitors) {
528
+ let visit = visitors[5];
529
+ visit !== null && visit(node);
530
+ }
531
+ function walkThisExpression(node, visitors) {
532
+ let visit = visitors[6];
533
+ visit !== null && visit(node);
534
+ }
535
+ function walkJSXClosingFragment(node, visitors) {
536
+ let visit = visitors[7];
537
+ visit !== null && visit(node);
538
+ }
539
+ function walkJSXEmptyExpression(node, visitors) {
540
+ let visit = visitors[8];
541
+ visit !== null && visit(node);
542
+ }
543
+ function walkJSXIdentifier(node, visitors) {
544
+ let visit = visitors[9];
545
+ visit !== null && visit(node);
546
+ }
547
+ function walkJSXOpeningFragment(node, visitors) {
548
+ let visit = visitors[10];
549
+ visit !== null && visit(node);
550
+ }
551
+ function walkJSXText(node, visitors) {
552
+ let visit = visitors[11];
553
+ visit !== null && visit(node);
554
+ }
555
+ function walkTSAnyKeyword(node, visitors) {
556
+ let visit = visitors[12];
557
+ visit !== null && visit(node);
558
+ }
559
+ function walkTSBigIntKeyword(node, visitors) {
560
+ let visit = visitors[13];
561
+ visit !== null && visit(node);
562
+ }
563
+ function walkTSBooleanKeyword(node, visitors) {
564
+ let visit = visitors[14];
565
+ visit !== null && visit(node);
566
+ }
567
+ function walkTSIntrinsicKeyword(node, visitors) {
568
+ let visit = visitors[15];
569
+ visit !== null && visit(node);
570
+ }
571
+ function walkTSJSDocUnknownType(node, visitors) {
572
+ let visit = visitors[16];
573
+ visit !== null && visit(node);
574
+ }
575
+ function walkTSNeverKeyword(node, visitors) {
576
+ let visit = visitors[17];
577
+ visit !== null && visit(node);
578
+ }
579
+ function walkTSNullKeyword(node, visitors) {
580
+ let visit = visitors[18];
581
+ visit !== null && visit(node);
582
+ }
583
+ function walkTSNumberKeyword(node, visitors) {
584
+ let visit = visitors[19];
585
+ visit !== null && visit(node);
586
+ }
587
+ function walkTSObjectKeyword(node, visitors) {
588
+ let visit = visitors[20];
589
+ visit !== null && visit(node);
590
+ }
591
+ function walkTSStringKeyword(node, visitors) {
592
+ let visit = visitors[21];
593
+ visit !== null && visit(node);
594
+ }
595
+ function walkTSSymbolKeyword(node, visitors) {
596
+ let visit = visitors[22];
597
+ visit !== null && visit(node);
598
+ }
599
+ function walkTSThisType(node, visitors) {
600
+ let visit = visitors[23];
601
+ visit !== null && visit(node);
602
+ }
603
+ function walkTSUndefinedKeyword(node, visitors) {
604
+ let visit = visitors[24];
605
+ visit !== null && visit(node);
606
+ }
607
+ function walkTSUnknownKeyword(node, visitors) {
608
+ let visit = visitors[25];
609
+ visit !== null && visit(node);
610
+ }
611
+ function walkTSVoidKeyword(node, visitors) {
612
+ let visit = visitors[26];
613
+ visit !== null && visit(node);
614
+ }
615
+ function walkAccessorProperty(node, visitors) {
616
+ let enterExit = visitors[27], exit = null, enter;
617
+ if (enterExit !== null) {
618
+ ({enter, exit} = enterExit);
619
+ enter !== null && enter(node);
620
+ }
621
+ walkNode(node.decorators, visitors);
622
+ walkNode(node.key, visitors);
623
+ walkNode(node.typeAnnotation, visitors);
624
+ walkNode(node.value, visitors);
625
+ exit !== null && exit(node);
626
+ }
627
+ function walkArrayExpression(node, visitors) {
628
+ let enterExit = visitors[28], exit = null, enter;
629
+ if (enterExit !== null) {
630
+ ({enter, exit} = enterExit);
631
+ enter !== null && enter(node);
632
+ }
633
+ walkNode(node.elements, visitors);
634
+ exit !== null && exit(node);
635
+ }
636
+ function walkArrayPattern(node, visitors) {
637
+ let enterExit = visitors[29], exit = null, enter;
638
+ if (enterExit !== null) {
639
+ ({enter, exit} = enterExit);
640
+ enter !== null && enter(node);
641
+ }
642
+ walkNode(node.decorators, visitors);
643
+ walkNode(node.elements, visitors);
644
+ walkNode(node.typeAnnotation, visitors);
645
+ exit !== null && exit(node);
646
+ }
647
+ function walkArrowFunctionExpression(node, visitors) {
648
+ let enterExit = visitors[30], exit = null, enter;
649
+ if (enterExit !== null) {
650
+ ({enter, exit} = enterExit);
651
+ enter !== null && enter(node);
652
+ }
653
+ walkNode(node.typeParameters, visitors);
654
+ walkNode(node.params, visitors);
655
+ walkNode(node.returnType, visitors);
656
+ walkNode(node.body, visitors);
657
+ exit !== null && exit(node);
658
+ }
659
+ function walkAssignmentExpression(node, visitors) {
660
+ let enterExit = visitors[31], exit = null, enter;
661
+ if (enterExit !== null) {
662
+ ({enter, exit} = enterExit);
663
+ enter !== null && enter(node);
664
+ }
665
+ walkNode(node.left, visitors);
666
+ walkNode(node.right, visitors);
667
+ exit !== null && exit(node);
668
+ }
669
+ function walkAssignmentPattern(node, visitors) {
670
+ let enterExit = visitors[32], exit = null, enter;
671
+ if (enterExit !== null) {
672
+ ({enter, exit} = enterExit);
673
+ enter !== null && enter(node);
674
+ }
675
+ walkNode(node.decorators, visitors);
676
+ walkNode(node.left, visitors);
677
+ walkNode(node.right, visitors);
678
+ walkNode(node.typeAnnotation, visitors);
679
+ exit !== null && exit(node);
680
+ }
681
+ function walkAwaitExpression(node, visitors) {
682
+ let enterExit = visitors[33], exit = null, enter;
683
+ if (enterExit !== null) {
684
+ ({enter, exit} = enterExit);
685
+ enter !== null && enter(node);
686
+ }
687
+ walkNode(node.argument, visitors);
688
+ exit !== null && exit(node);
689
+ }
690
+ function walkBinaryExpression(node, visitors) {
691
+ let enterExit = visitors[34], exit = null, enter;
692
+ if (enterExit !== null) {
693
+ ({enter, exit} = enterExit);
694
+ enter !== null && enter(node);
695
+ }
696
+ walkNode(node.left, visitors);
697
+ walkNode(node.right, visitors);
698
+ exit !== null && exit(node);
699
+ }
700
+ function walkBlockStatement(node, visitors) {
701
+ let enterExit = visitors[35], exit = null, enter;
702
+ if (enterExit !== null) {
703
+ ({enter, exit} = enterExit);
704
+ enter !== null && enter(node);
705
+ }
706
+ walkNode(node.body, visitors);
707
+ exit !== null && exit(node);
708
+ }
709
+ function walkBreakStatement(node, visitors) {
710
+ let enterExit = visitors[36], exit = null, enter;
711
+ if (enterExit !== null) {
712
+ ({enter, exit} = enterExit);
713
+ enter !== null && enter(node);
714
+ }
715
+ walkNode(node.label, visitors);
716
+ exit !== null && exit(node);
717
+ }
718
+ function walkCallExpression(node, visitors) {
719
+ let enterExit = visitors[37], exit = null, enter;
720
+ if (enterExit !== null) {
721
+ ({enter, exit} = enterExit);
722
+ enter !== null && enter(node);
723
+ }
724
+ walkNode(node.callee, visitors);
725
+ walkNode(node.typeArguments, visitors);
726
+ walkNode(node.arguments, visitors);
727
+ exit !== null && exit(node);
728
+ }
729
+ function walkCatchClause(node, visitors) {
730
+ let enterExit = visitors[38], exit = null, enter;
731
+ if (enterExit !== null) {
732
+ ({enter, exit} = enterExit);
733
+ enter !== null && enter(node);
734
+ }
735
+ walkNode(node.param, visitors);
736
+ walkNode(node.body, visitors);
737
+ exit !== null && exit(node);
738
+ }
739
+ function walkChainExpression(node, visitors) {
740
+ let enterExit = visitors[39], exit = null, enter;
741
+ if (enterExit !== null) {
742
+ ({enter, exit} = enterExit);
743
+ enter !== null && enter(node);
744
+ }
745
+ walkNode(node.expression, visitors);
746
+ exit !== null && exit(node);
747
+ }
748
+ function walkClassBody(node, visitors) {
749
+ let enterExit = visitors[40], exit = null, enter;
750
+ if (enterExit !== null) {
751
+ ({enter, exit} = enterExit);
752
+ enter !== null && enter(node);
753
+ }
754
+ walkNode(node.body, visitors);
755
+ exit !== null && exit(node);
756
+ }
757
+ function walkClassDeclaration(node, visitors) {
758
+ let enterExit = visitors[41], exit = null, enter;
759
+ if (enterExit !== null) {
760
+ ({enter, exit} = enterExit);
761
+ enter !== null && enter(node);
762
+ }
763
+ walkNode(node.decorators, visitors);
764
+ walkNode(node.id, visitors);
765
+ walkNode(node.typeParameters, visitors);
766
+ walkNode(node.superClass, visitors);
767
+ walkNode(node.superTypeArguments, visitors);
768
+ walkNode(node.implements, visitors);
769
+ walkNode(node.body, visitors);
770
+ exit !== null && exit(node);
771
+ }
772
+ function walkClassExpression(node, visitors) {
773
+ let enterExit = visitors[42], exit = null, enter;
774
+ if (enterExit !== null) {
775
+ ({enter, exit} = enterExit);
776
+ enter !== null && enter(node);
777
+ }
778
+ walkNode(node.decorators, visitors);
779
+ walkNode(node.id, visitors);
780
+ walkNode(node.typeParameters, visitors);
781
+ walkNode(node.superClass, visitors);
782
+ walkNode(node.superTypeArguments, visitors);
783
+ walkNode(node.implements, visitors);
784
+ walkNode(node.body, visitors);
785
+ exit !== null && exit(node);
786
+ }
787
+ function walkConditionalExpression(node, visitors) {
788
+ let enterExit = visitors[43], exit = null, enter;
789
+ if (enterExit !== null) {
790
+ ({enter, exit} = enterExit);
791
+ enter !== null && enter(node);
792
+ }
793
+ walkNode(node.test, visitors);
794
+ walkNode(node.consequent, visitors);
795
+ walkNode(node.alternate, visitors);
796
+ exit !== null && exit(node);
797
+ }
798
+ function walkContinueStatement(node, visitors) {
799
+ let enterExit = visitors[44], exit = null, enter;
800
+ if (enterExit !== null) {
801
+ ({enter, exit} = enterExit);
802
+ enter !== null && enter(node);
803
+ }
804
+ walkNode(node.label, visitors);
805
+ exit !== null && exit(node);
806
+ }
807
+ function walkDecorator(node, visitors) {
808
+ let enterExit = visitors[45], exit = null, enter;
809
+ if (enterExit !== null) {
810
+ ({enter, exit} = enterExit);
811
+ enter !== null && enter(node);
812
+ }
813
+ walkNode(node.expression, visitors);
814
+ exit !== null && exit(node);
815
+ }
816
+ function walkDoWhileStatement(node, visitors) {
817
+ let enterExit = visitors[46], exit = null, enter;
818
+ if (enterExit !== null) {
819
+ ({enter, exit} = enterExit);
820
+ enter !== null && enter(node);
821
+ }
822
+ walkNode(node.body, visitors);
823
+ walkNode(node.test, visitors);
824
+ exit !== null && exit(node);
825
+ }
826
+ function walkExportAllDeclaration(node, visitors) {
827
+ let enterExit = visitors[47], exit = null, enter;
828
+ if (enterExit !== null) {
829
+ ({enter, exit} = enterExit);
830
+ enter !== null && enter(node);
831
+ }
832
+ walkNode(node.exported, visitors);
833
+ walkNode(node.source, visitors);
834
+ walkNode(node.attributes, visitors);
835
+ exit !== null && exit(node);
836
+ }
837
+ function walkExportDefaultDeclaration(node, visitors) {
838
+ let enterExit = visitors[48], exit = null, enter;
839
+ if (enterExit !== null) {
840
+ ({enter, exit} = enterExit);
841
+ enter !== null && enter(node);
842
+ }
843
+ walkNode(node.declaration, visitors);
844
+ exit !== null && exit(node);
845
+ }
846
+ function walkExportNamedDeclaration(node, visitors) {
847
+ let enterExit = visitors[49], exit = null, enter;
848
+ if (enterExit !== null) {
849
+ ({enter, exit} = enterExit);
850
+ enter !== null && enter(node);
851
+ }
852
+ walkNode(node.declaration, visitors);
853
+ walkNode(node.specifiers, visitors);
854
+ walkNode(node.source, visitors);
855
+ walkNode(node.attributes, visitors);
856
+ exit !== null && exit(node);
857
+ }
858
+ function walkExportSpecifier(node, visitors) {
859
+ let enterExit = visitors[50], exit = null, enter;
860
+ if (enterExit !== null) {
861
+ ({enter, exit} = enterExit);
862
+ enter !== null && enter(node);
863
+ }
864
+ walkNode(node.local, visitors);
865
+ walkNode(node.exported, visitors);
866
+ exit !== null && exit(node);
867
+ }
868
+ function walkExpressionStatement(node, visitors) {
869
+ let enterExit = visitors[51], exit = null, enter;
870
+ if (enterExit !== null) {
871
+ ({enter, exit} = enterExit);
872
+ enter !== null && enter(node);
873
+ }
874
+ walkNode(node.expression, visitors);
875
+ exit !== null && exit(node);
876
+ }
877
+ function walkForInStatement(node, visitors) {
878
+ let enterExit = visitors[52], exit = null, enter;
879
+ if (enterExit !== null) {
880
+ ({enter, exit} = enterExit);
881
+ enter !== null && enter(node);
882
+ }
883
+ walkNode(node.left, visitors);
884
+ walkNode(node.right, visitors);
885
+ walkNode(node.body, visitors);
886
+ exit !== null && exit(node);
887
+ }
888
+ function walkForOfStatement(node, visitors) {
889
+ let enterExit = visitors[53], exit = null, enter;
890
+ if (enterExit !== null) {
891
+ ({enter, exit} = enterExit);
892
+ enter !== null && enter(node);
893
+ }
894
+ walkNode(node.left, visitors);
895
+ walkNode(node.right, visitors);
896
+ walkNode(node.body, visitors);
897
+ exit !== null && exit(node);
898
+ }
899
+ function walkForStatement(node, visitors) {
900
+ let enterExit = visitors[54], exit = null, enter;
901
+ if (enterExit !== null) {
902
+ ({enter, exit} = enterExit);
903
+ enter !== null && enter(node);
904
+ }
905
+ walkNode(node.init, visitors);
906
+ walkNode(node.test, visitors);
907
+ walkNode(node.update, visitors);
908
+ walkNode(node.body, visitors);
909
+ exit !== null && exit(node);
910
+ }
911
+ function walkFunctionDeclaration(node, visitors) {
912
+ let enterExit = visitors[55], exit = null, enter;
913
+ if (enterExit !== null) {
914
+ ({enter, exit} = enterExit);
915
+ enter !== null && enter(node);
916
+ }
917
+ walkNode(node.id, visitors);
918
+ walkNode(node.typeParameters, visitors);
919
+ walkNode(node.params, visitors);
920
+ walkNode(node.returnType, visitors);
921
+ walkNode(node.body, visitors);
922
+ exit !== null && exit(node);
923
+ }
924
+ function walkFunctionExpression(node, visitors) {
925
+ let enterExit = visitors[56], exit = null, enter;
926
+ if (enterExit !== null) {
927
+ ({enter, exit} = enterExit);
928
+ enter !== null && enter(node);
929
+ }
930
+ walkNode(node.id, visitors);
931
+ walkNode(node.typeParameters, visitors);
932
+ walkNode(node.params, visitors);
933
+ walkNode(node.returnType, visitors);
934
+ walkNode(node.body, visitors);
935
+ exit !== null && exit(node);
936
+ }
937
+ function walkIdentifier(node, visitors) {
938
+ let enterExit = visitors[57], exit = null, enter;
939
+ if (enterExit !== null) {
940
+ ({enter, exit} = enterExit);
941
+ enter !== null && enter(node);
942
+ }
943
+ walkNode(node.decorators, visitors);
944
+ walkNode(node.typeAnnotation, visitors);
945
+ exit !== null && exit(node);
946
+ }
947
+ function walkIfStatement(node, visitors) {
948
+ let enterExit = visitors[58], exit = null, enter;
949
+ if (enterExit !== null) {
950
+ ({enter, exit} = enterExit);
951
+ enter !== null && enter(node);
952
+ }
953
+ walkNode(node.test, visitors);
954
+ walkNode(node.consequent, visitors);
955
+ walkNode(node.alternate, visitors);
956
+ exit !== null && exit(node);
957
+ }
958
+ function walkImportAttribute(node, visitors) {
959
+ let enterExit = visitors[59], exit = null, enter;
960
+ if (enterExit !== null) {
961
+ ({enter, exit} = enterExit);
962
+ enter !== null && enter(node);
963
+ }
964
+ walkNode(node.key, visitors);
965
+ walkNode(node.value, visitors);
966
+ exit !== null && exit(node);
967
+ }
968
+ function walkImportDeclaration(node, visitors) {
969
+ let enterExit = visitors[60], exit = null, enter;
970
+ if (enterExit !== null) {
971
+ ({enter, exit} = enterExit);
972
+ enter !== null && enter(node);
973
+ }
974
+ walkNode(node.specifiers, visitors);
975
+ walkNode(node.source, visitors);
976
+ walkNode(node.attributes, visitors);
977
+ exit !== null && exit(node);
978
+ }
979
+ function walkImportDefaultSpecifier(node, visitors) {
980
+ let enterExit = visitors[61], exit = null, enter;
981
+ if (enterExit !== null) {
982
+ ({enter, exit} = enterExit);
983
+ enter !== null && enter(node);
984
+ }
985
+ walkNode(node.local, visitors);
986
+ exit !== null && exit(node);
987
+ }
988
+ function walkImportExpression(node, visitors) {
989
+ let enterExit = visitors[62], exit = null, enter;
990
+ if (enterExit !== null) {
991
+ ({enter, exit} = enterExit);
992
+ enter !== null && enter(node);
993
+ }
994
+ walkNode(node.source, visitors);
995
+ walkNode(node.options, visitors);
996
+ exit !== null && exit(node);
997
+ }
998
+ function walkImportNamespaceSpecifier(node, visitors) {
999
+ let enterExit = visitors[63], exit = null, enter;
1000
+ if (enterExit !== null) {
1001
+ ({enter, exit} = enterExit);
1002
+ enter !== null && enter(node);
1003
+ }
1004
+ walkNode(node.local, visitors);
1005
+ exit !== null && exit(node);
1006
+ }
1007
+ function walkImportSpecifier(node, visitors) {
1008
+ let enterExit = visitors[64], exit = null, enter;
1009
+ if (enterExit !== null) {
1010
+ ({enter, exit} = enterExit);
1011
+ enter !== null && enter(node);
1012
+ }
1013
+ walkNode(node.imported, visitors);
1014
+ walkNode(node.local, visitors);
1015
+ exit !== null && exit(node);
1016
+ }
1017
+ function walkLabeledStatement(node, visitors) {
1018
+ let enterExit = visitors[65], exit = null, enter;
1019
+ if (enterExit !== null) {
1020
+ ({enter, exit} = enterExit);
1021
+ enter !== null && enter(node);
1022
+ }
1023
+ walkNode(node.label, visitors);
1024
+ walkNode(node.body, visitors);
1025
+ exit !== null && exit(node);
1026
+ }
1027
+ function walkLogicalExpression(node, visitors) {
1028
+ let enterExit = visitors[66], exit = null, enter;
1029
+ if (enterExit !== null) {
1030
+ ({enter, exit} = enterExit);
1031
+ enter !== null && enter(node);
1032
+ }
1033
+ walkNode(node.left, visitors);
1034
+ walkNode(node.right, visitors);
1035
+ exit !== null && exit(node);
1036
+ }
1037
+ function walkMemberExpression(node, visitors) {
1038
+ let enterExit = visitors[67], exit = null, enter;
1039
+ if (enterExit !== null) {
1040
+ ({enter, exit} = enterExit);
1041
+ enter !== null && enter(node);
1042
+ }
1043
+ walkNode(node.object, visitors);
1044
+ walkNode(node.property, visitors);
1045
+ exit !== null && exit(node);
1046
+ }
1047
+ function walkMetaProperty(node, visitors) {
1048
+ let enterExit = visitors[68], exit = null, enter;
1049
+ if (enterExit !== null) {
1050
+ ({enter, exit} = enterExit);
1051
+ enter !== null && enter(node);
1052
+ }
1053
+ walkNode(node.meta, visitors);
1054
+ walkNode(node.property, visitors);
1055
+ exit !== null && exit(node);
1056
+ }
1057
+ function walkMethodDefinition(node, visitors) {
1058
+ let enterExit = visitors[69], exit = null, enter;
1059
+ if (enterExit !== null) {
1060
+ ({enter, exit} = enterExit);
1061
+ enter !== null && enter(node);
1062
+ }
1063
+ walkNode(node.decorators, visitors);
1064
+ walkNode(node.key, visitors);
1065
+ walkNode(node.value, visitors);
1066
+ exit !== null && exit(node);
1067
+ }
1068
+ function walkNewExpression(node, visitors) {
1069
+ let enterExit = visitors[70], exit = null, enter;
1070
+ if (enterExit !== null) {
1071
+ ({enter, exit} = enterExit);
1072
+ enter !== null && enter(node);
1073
+ }
1074
+ walkNode(node.callee, visitors);
1075
+ walkNode(node.typeArguments, visitors);
1076
+ walkNode(node.arguments, visitors);
1077
+ exit !== null && exit(node);
1078
+ }
1079
+ function walkObjectExpression(node, visitors) {
1080
+ let enterExit = visitors[71], exit = null, enter;
1081
+ if (enterExit !== null) {
1082
+ ({enter, exit} = enterExit);
1083
+ enter !== null && enter(node);
1084
+ }
1085
+ walkNode(node.properties, visitors);
1086
+ exit !== null && exit(node);
1087
+ }
1088
+ function walkObjectPattern(node, visitors) {
1089
+ let enterExit = visitors[72], exit = null, enter;
1090
+ if (enterExit !== null) {
1091
+ ({enter, exit} = enterExit);
1092
+ enter !== null && enter(node);
1093
+ }
1094
+ walkNode(node.decorators, visitors);
1095
+ walkNode(node.properties, visitors);
1096
+ walkNode(node.typeAnnotation, visitors);
1097
+ exit !== null && exit(node);
1098
+ }
1099
+ function walkParenthesizedExpression(node, visitors) {
1100
+ let enterExit = visitors[73], exit = null, enter;
1101
+ if (enterExit !== null) {
1102
+ ({enter, exit} = enterExit);
1103
+ enter !== null && enter(node);
1104
+ }
1105
+ walkNode(node.expression, visitors);
1106
+ exit !== null && exit(node);
1107
+ }
1108
+ function walkProgram(node, visitors) {
1109
+ let enterExit = visitors[74], exit = null, enter;
1110
+ if (enterExit !== null) {
1111
+ ({enter, exit} = enterExit);
1112
+ enter !== null && enter(node);
1113
+ }
1114
+ walkNode(node.body, visitors);
1115
+ exit !== null && exit(node);
1116
+ }
1117
+ function walkProperty(node, visitors) {
1118
+ let enterExit = visitors[75], exit = null, enter;
1119
+ if (enterExit !== null) {
1120
+ ({enter, exit} = enterExit);
1121
+ enter !== null && enter(node);
1122
+ }
1123
+ walkNode(node.key, visitors);
1124
+ walkNode(node.value, visitors);
1125
+ exit !== null && exit(node);
1126
+ }
1127
+ function walkPropertyDefinition(node, visitors) {
1128
+ let enterExit = visitors[76], exit = null, enter;
1129
+ if (enterExit !== null) {
1130
+ ({enter, exit} = enterExit);
1131
+ enter !== null && enter(node);
1132
+ }
1133
+ walkNode(node.decorators, visitors);
1134
+ walkNode(node.key, visitors);
1135
+ walkNode(node.typeAnnotation, visitors);
1136
+ walkNode(node.value, visitors);
1137
+ exit !== null && exit(node);
1138
+ }
1139
+ function walkRestElement(node, visitors) {
1140
+ let enterExit = visitors[77], exit = null, enter;
1141
+ if (enterExit !== null) {
1142
+ ({enter, exit} = enterExit);
1143
+ enter !== null && enter(node);
1144
+ }
1145
+ walkNode(node.decorators, visitors);
1146
+ walkNode(node.argument, visitors);
1147
+ walkNode(node.typeAnnotation, visitors);
1148
+ exit !== null && exit(node);
1149
+ }
1150
+ function walkReturnStatement(node, visitors) {
1151
+ let enterExit = visitors[78], exit = null, enter;
1152
+ if (enterExit !== null) {
1153
+ ({enter, exit} = enterExit);
1154
+ enter !== null && enter(node);
1155
+ }
1156
+ walkNode(node.argument, visitors);
1157
+ exit !== null && exit(node);
1158
+ }
1159
+ function walkSequenceExpression(node, visitors) {
1160
+ let enterExit = visitors[79], exit = null, enter;
1161
+ if (enterExit !== null) {
1162
+ ({enter, exit} = enterExit);
1163
+ enter !== null && enter(node);
1164
+ }
1165
+ walkNode(node.expressions, visitors);
1166
+ exit !== null && exit(node);
1167
+ }
1168
+ function walkSpreadElement(node, visitors) {
1169
+ let enterExit = visitors[80], exit = null, enter;
1170
+ if (enterExit !== null) {
1171
+ ({enter, exit} = enterExit);
1172
+ enter !== null && enter(node);
1173
+ }
1174
+ walkNode(node.argument, visitors);
1175
+ exit !== null && exit(node);
1176
+ }
1177
+ function walkStaticBlock(node, visitors) {
1178
+ let enterExit = visitors[81], exit = null, enter;
1179
+ if (enterExit !== null) {
1180
+ ({enter, exit} = enterExit);
1181
+ enter !== null && enter(node);
1182
+ }
1183
+ walkNode(node.body, visitors);
1184
+ exit !== null && exit(node);
1185
+ }
1186
+ function walkSwitchCase(node, visitors) {
1187
+ let enterExit = visitors[82], exit = null, enter;
1188
+ if (enterExit !== null) {
1189
+ ({enter, exit} = enterExit);
1190
+ enter !== null && enter(node);
1191
+ }
1192
+ walkNode(node.test, visitors);
1193
+ walkNode(node.consequent, visitors);
1194
+ exit !== null && exit(node);
1195
+ }
1196
+ function walkSwitchStatement(node, visitors) {
1197
+ let enterExit = visitors[83], exit = null, enter;
1198
+ if (enterExit !== null) {
1199
+ ({enter, exit} = enterExit);
1200
+ enter !== null && enter(node);
1201
+ }
1202
+ walkNode(node.discriminant, visitors);
1203
+ walkNode(node.cases, visitors);
1204
+ exit !== null && exit(node);
1205
+ }
1206
+ function walkTaggedTemplateExpression(node, visitors) {
1207
+ let enterExit = visitors[84], exit = null, enter;
1208
+ if (enterExit !== null) {
1209
+ ({enter, exit} = enterExit);
1210
+ enter !== null && enter(node);
1211
+ }
1212
+ walkNode(node.tag, visitors);
1213
+ walkNode(node.typeArguments, visitors);
1214
+ walkNode(node.quasi, visitors);
1215
+ exit !== null && exit(node);
1216
+ }
1217
+ function walkTemplateLiteral(node, visitors) {
1218
+ let enterExit = visitors[85], exit = null, enter;
1219
+ if (enterExit !== null) {
1220
+ ({enter, exit} = enterExit);
1221
+ enter !== null && enter(node);
1222
+ }
1223
+ walkNode(node.quasis, visitors);
1224
+ walkNode(node.expressions, visitors);
1225
+ exit !== null && exit(node);
1226
+ }
1227
+ function walkThrowStatement(node, visitors) {
1228
+ let enterExit = visitors[86], exit = null, enter;
1229
+ if (enterExit !== null) {
1230
+ ({enter, exit} = enterExit);
1231
+ enter !== null && enter(node);
1232
+ }
1233
+ walkNode(node.argument, visitors);
1234
+ exit !== null && exit(node);
1235
+ }
1236
+ function walkTryStatement(node, visitors) {
1237
+ let enterExit = visitors[87], exit = null, enter;
1238
+ if (enterExit !== null) {
1239
+ ({enter, exit} = enterExit);
1240
+ enter !== null && enter(node);
1241
+ }
1242
+ walkNode(node.block, visitors);
1243
+ walkNode(node.handler, visitors);
1244
+ walkNode(node.finalizer, visitors);
1245
+ exit !== null && exit(node);
1246
+ }
1247
+ function walkUnaryExpression(node, visitors) {
1248
+ let enterExit = visitors[88], exit = null, enter;
1249
+ if (enterExit !== null) {
1250
+ ({enter, exit} = enterExit);
1251
+ enter !== null && enter(node);
1252
+ }
1253
+ walkNode(node.argument, visitors);
1254
+ exit !== null && exit(node);
1255
+ }
1256
+ function walkUpdateExpression(node, visitors) {
1257
+ let enterExit = visitors[89], exit = null, enter;
1258
+ if (enterExit !== null) {
1259
+ ({enter, exit} = enterExit);
1260
+ enter !== null && enter(node);
1261
+ }
1262
+ walkNode(node.argument, visitors);
1263
+ exit !== null && exit(node);
1264
+ }
1265
+ function walkV8IntrinsicExpression(node, visitors) {
1266
+ let enterExit = visitors[90], exit = null, enter;
1267
+ if (enterExit !== null) {
1268
+ ({enter, exit} = enterExit);
1269
+ enter !== null && enter(node);
1270
+ }
1271
+ walkNode(node.name, visitors);
1272
+ walkNode(node.arguments, visitors);
1273
+ exit !== null && exit(node);
1274
+ }
1275
+ function walkVariableDeclaration(node, visitors) {
1276
+ let enterExit = visitors[91], exit = null, enter;
1277
+ if (enterExit !== null) {
1278
+ ({enter, exit} = enterExit);
1279
+ enter !== null && enter(node);
1280
+ }
1281
+ walkNode(node.declarations, visitors);
1282
+ exit !== null && exit(node);
1283
+ }
1284
+ function walkVariableDeclarator(node, visitors) {
1285
+ let enterExit = visitors[92], exit = null, enter;
1286
+ if (enterExit !== null) {
1287
+ ({enter, exit} = enterExit);
1288
+ enter !== null && enter(node);
1289
+ }
1290
+ walkNode(node.id, visitors);
1291
+ walkNode(node.init, visitors);
1292
+ exit !== null && exit(node);
1293
+ }
1294
+ function walkWhileStatement(node, visitors) {
1295
+ let enterExit = visitors[93], exit = null, enter;
1296
+ if (enterExit !== null) {
1297
+ ({enter, exit} = enterExit);
1298
+ enter !== null && enter(node);
1299
+ }
1300
+ walkNode(node.test, visitors);
1301
+ walkNode(node.body, visitors);
1302
+ exit !== null && exit(node);
1303
+ }
1304
+ function walkWithStatement(node, visitors) {
1305
+ let enterExit = visitors[94], exit = null, enter;
1306
+ if (enterExit !== null) {
1307
+ ({enter, exit} = enterExit);
1308
+ enter !== null && enter(node);
1309
+ }
1310
+ walkNode(node.object, visitors);
1311
+ walkNode(node.body, visitors);
1312
+ exit !== null && exit(node);
1313
+ }
1314
+ function walkYieldExpression(node, visitors) {
1315
+ let enterExit = visitors[95], exit = null, enter;
1316
+ if (enterExit !== null) {
1317
+ ({enter, exit} = enterExit);
1318
+ enter !== null && enter(node);
1319
+ }
1320
+ walkNode(node.argument, visitors);
1321
+ exit !== null && exit(node);
1322
+ }
1323
+ function walkJSXAttribute(node, visitors) {
1324
+ let enterExit = visitors[96], exit = null, enter;
1325
+ if (enterExit !== null) {
1326
+ ({enter, exit} = enterExit);
1327
+ enter !== null && enter(node);
1328
+ }
1329
+ walkNode(node.name, visitors);
1330
+ walkNode(node.value, visitors);
1331
+ exit !== null && exit(node);
1332
+ }
1333
+ function walkJSXClosingElement(node, visitors) {
1334
+ let enterExit = visitors[97], exit = null, enter;
1335
+ if (enterExit !== null) {
1336
+ ({enter, exit} = enterExit);
1337
+ enter !== null && enter(node);
1338
+ }
1339
+ walkNode(node.name, visitors);
1340
+ exit !== null && exit(node);
1341
+ }
1342
+ function walkJSXElement(node, visitors) {
1343
+ let enterExit = visitors[98], exit = null, enter;
1344
+ if (enterExit !== null) {
1345
+ ({enter, exit} = enterExit);
1346
+ enter !== null && enter(node);
1347
+ }
1348
+ walkNode(node.openingElement, visitors);
1349
+ walkNode(node.children, visitors);
1350
+ walkNode(node.closingElement, visitors);
1351
+ exit !== null && exit(node);
1352
+ }
1353
+ function walkJSXExpressionContainer(node, visitors) {
1354
+ let enterExit = visitors[99], exit = null, enter;
1355
+ if (enterExit !== null) {
1356
+ ({enter, exit} = enterExit);
1357
+ enter !== null && enter(node);
1358
+ }
1359
+ walkNode(node.expression, visitors);
1360
+ exit !== null && exit(node);
1361
+ }
1362
+ function walkJSXFragment(node, visitors) {
1363
+ let enterExit = visitors[100], exit = null, enter;
1364
+ if (enterExit !== null) {
1365
+ ({enter, exit} = enterExit);
1366
+ enter !== null && enter(node);
1367
+ }
1368
+ walkNode(node.openingFragment, visitors);
1369
+ walkNode(node.children, visitors);
1370
+ walkNode(node.closingFragment, visitors);
1371
+ exit !== null && exit(node);
1372
+ }
1373
+ function walkJSXMemberExpression(node, visitors) {
1374
+ let enterExit = visitors[101], exit = null, enter;
1375
+ if (enterExit !== null) {
1376
+ ({enter, exit} = enterExit);
1377
+ enter !== null && enter(node);
1378
+ }
1379
+ walkNode(node.object, visitors);
1380
+ walkNode(node.property, visitors);
1381
+ exit !== null && exit(node);
1382
+ }
1383
+ function walkJSXNamespacedName(node, visitors) {
1384
+ let enterExit = visitors[102], exit = null, enter;
1385
+ if (enterExit !== null) {
1386
+ ({enter, exit} = enterExit);
1387
+ enter !== null && enter(node);
1388
+ }
1389
+ walkNode(node.namespace, visitors);
1390
+ walkNode(node.name, visitors);
1391
+ exit !== null && exit(node);
1392
+ }
1393
+ function walkJSXOpeningElement(node, visitors) {
1394
+ let enterExit = visitors[103], exit = null, enter;
1395
+ if (enterExit !== null) {
1396
+ ({enter, exit} = enterExit);
1397
+ enter !== null && enter(node);
1398
+ }
1399
+ walkNode(node.name, visitors);
1400
+ walkNode(node.typeArguments, visitors);
1401
+ walkNode(node.attributes, visitors);
1402
+ exit !== null && exit(node);
1403
+ }
1404
+ function walkJSXSpreadAttribute(node, visitors) {
1405
+ let enterExit = visitors[104], exit = null, enter;
1406
+ if (enterExit !== null) {
1407
+ ({enter, exit} = enterExit);
1408
+ enter !== null && enter(node);
1409
+ }
1410
+ walkNode(node.argument, visitors);
1411
+ exit !== null && exit(node);
1412
+ }
1413
+ function walkJSXSpreadChild(node, visitors) {
1414
+ let enterExit = visitors[105], exit = null, enter;
1415
+ if (enterExit !== null) {
1416
+ ({enter, exit} = enterExit);
1417
+ enter !== null && enter(node);
1418
+ }
1419
+ walkNode(node.expression, visitors);
1420
+ exit !== null && exit(node);
1421
+ }
1422
+ function walkTSAbstractAccessorProperty(node, visitors) {
1423
+ let enterExit = visitors[106], exit = null, enter;
1424
+ if (enterExit !== null) {
1425
+ ({enter, exit} = enterExit);
1426
+ enter !== null && enter(node);
1427
+ }
1428
+ walkNode(node.decorators, visitors);
1429
+ walkNode(node.key, visitors);
1430
+ walkNode(node.typeAnnotation, visitors);
1431
+ exit !== null && exit(node);
1432
+ }
1433
+ function walkTSAbstractMethodDefinition(node, visitors) {
1434
+ let enterExit = visitors[107], exit = null, enter;
1435
+ if (enterExit !== null) {
1436
+ ({enter, exit} = enterExit);
1437
+ enter !== null && enter(node);
1438
+ }
1439
+ walkNode(node.key, visitors);
1440
+ walkNode(node.value, visitors);
1441
+ exit !== null && exit(node);
1442
+ }
1443
+ function walkTSAbstractPropertyDefinition(node, visitors) {
1444
+ let enterExit = visitors[108], exit = null, enter;
1445
+ if (enterExit !== null) {
1446
+ ({enter, exit} = enterExit);
1447
+ enter !== null && enter(node);
1448
+ }
1449
+ walkNode(node.decorators, visitors);
1450
+ walkNode(node.key, visitors);
1451
+ walkNode(node.typeAnnotation, visitors);
1452
+ exit !== null && exit(node);
1453
+ }
1454
+ function walkTSArrayType(node, visitors) {
1455
+ let enterExit = visitors[109], exit = null, enter;
1456
+ if (enterExit !== null) {
1457
+ ({enter, exit} = enterExit);
1458
+ enter !== null && enter(node);
1459
+ }
1460
+ walkNode(node.elementType, visitors);
1461
+ exit !== null && exit(node);
1462
+ }
1463
+ function walkTSAsExpression(node, visitors) {
1464
+ let enterExit = visitors[110], exit = null, enter;
1465
+ if (enterExit !== null) {
1466
+ ({enter, exit} = enterExit);
1467
+ enter !== null && enter(node);
1468
+ }
1469
+ walkNode(node.expression, visitors);
1470
+ walkNode(node.typeAnnotation, visitors);
1471
+ exit !== null && exit(node);
1472
+ }
1473
+ function walkTSCallSignatureDeclaration(node, visitors) {
1474
+ let enterExit = visitors[111], exit = null, enter;
1475
+ if (enterExit !== null) {
1476
+ ({enter, exit} = enterExit);
1477
+ enter !== null && enter(node);
1478
+ }
1479
+ walkNode(node.typeParameters, visitors);
1480
+ walkNode(node.params, visitors);
1481
+ walkNode(node.returnType, visitors);
1482
+ exit !== null && exit(node);
1483
+ }
1484
+ function walkTSClassImplements(node, visitors) {
1485
+ let enterExit = visitors[112], exit = null, enter;
1486
+ if (enterExit !== null) {
1487
+ ({enter, exit} = enterExit);
1488
+ enter !== null && enter(node);
1489
+ }
1490
+ walkNode(node.expression, visitors);
1491
+ walkNode(node.typeArguments, visitors);
1492
+ exit !== null && exit(node);
1493
+ }
1494
+ function walkTSConditionalType(node, visitors) {
1495
+ let enterExit = visitors[113], exit = null, enter;
1496
+ if (enterExit !== null) {
1497
+ ({enter, exit} = enterExit);
1498
+ enter !== null && enter(node);
1499
+ }
1500
+ walkNode(node.checkType, visitors);
1501
+ walkNode(node.extendsType, visitors);
1502
+ walkNode(node.trueType, visitors);
1503
+ walkNode(node.falseType, visitors);
1504
+ exit !== null && exit(node);
1505
+ }
1506
+ function walkTSConstructSignatureDeclaration(node, visitors) {
1507
+ let enterExit = visitors[114], exit = null, enter;
1508
+ if (enterExit !== null) {
1509
+ ({enter, exit} = enterExit);
1510
+ enter !== null && enter(node);
1511
+ }
1512
+ walkNode(node.typeParameters, visitors);
1513
+ walkNode(node.params, visitors);
1514
+ walkNode(node.returnType, visitors);
1515
+ exit !== null && exit(node);
1516
+ }
1517
+ function walkTSConstructorType(node, visitors) {
1518
+ let enterExit = visitors[115], exit = null, enter;
1519
+ if (enterExit !== null) {
1520
+ ({enter, exit} = enterExit);
1521
+ enter !== null && enter(node);
1522
+ }
1523
+ walkNode(node.typeParameters, visitors);
1524
+ walkNode(node.params, visitors);
1525
+ walkNode(node.returnType, visitors);
1526
+ exit !== null && exit(node);
1527
+ }
1528
+ function walkTSDeclareFunction(node, visitors) {
1529
+ let enterExit = visitors[116], exit = null, enter;
1530
+ if (enterExit !== null) {
1531
+ ({enter, exit} = enterExit);
1532
+ enter !== null && enter(node);
1533
+ }
1534
+ walkNode(node.id, visitors);
1535
+ walkNode(node.typeParameters, visitors);
1536
+ walkNode(node.params, visitors);
1537
+ walkNode(node.returnType, visitors);
1538
+ walkNode(node.body, visitors);
1539
+ exit !== null && exit(node);
1540
+ }
1541
+ function walkTSEmptyBodyFunctionExpression(node, visitors) {
1542
+ let enterExit = visitors[117], exit = null, enter;
1543
+ if (enterExit !== null) {
1544
+ ({enter, exit} = enterExit);
1545
+ enter !== null && enter(node);
1546
+ }
1547
+ walkNode(node.id, visitors);
1548
+ walkNode(node.typeParameters, visitors);
1549
+ walkNode(node.params, visitors);
1550
+ walkNode(node.returnType, visitors);
1551
+ exit !== null && exit(node);
1552
+ }
1553
+ function walkTSEnumBody(node, visitors) {
1554
+ let enterExit = visitors[118], exit = null, enter;
1555
+ if (enterExit !== null) {
1556
+ ({enter, exit} = enterExit);
1557
+ enter !== null && enter(node);
1558
+ }
1559
+ walkNode(node.members, visitors);
1560
+ exit !== null && exit(node);
1561
+ }
1562
+ function walkTSEnumDeclaration(node, visitors) {
1563
+ let enterExit = visitors[119], exit = null, enter;
1564
+ if (enterExit !== null) {
1565
+ ({enter, exit} = enterExit);
1566
+ enter !== null && enter(node);
1567
+ }
1568
+ walkNode(node.id, visitors);
1569
+ walkNode(node.body, visitors);
1570
+ exit !== null && exit(node);
1571
+ }
1572
+ function walkTSEnumMember(node, visitors) {
1573
+ let enterExit = visitors[120], exit = null, enter;
1574
+ if (enterExit !== null) {
1575
+ ({enter, exit} = enterExit);
1576
+ enter !== null && enter(node);
1577
+ }
1578
+ walkNode(node.id, visitors);
1579
+ walkNode(node.initializer, visitors);
1580
+ exit !== null && exit(node);
1581
+ }
1582
+ function walkTSExportAssignment(node, visitors) {
1583
+ let enterExit = visitors[121], exit = null, enter;
1584
+ if (enterExit !== null) {
1585
+ ({enter, exit} = enterExit);
1586
+ enter !== null && enter(node);
1587
+ }
1588
+ walkNode(node.expression, visitors);
1589
+ exit !== null && exit(node);
1590
+ }
1591
+ function walkTSExternalModuleReference(node, visitors) {
1592
+ let enterExit = visitors[122], exit = null, enter;
1593
+ if (enterExit !== null) {
1594
+ ({enter, exit} = enterExit);
1595
+ enter !== null && enter(node);
1596
+ }
1597
+ walkNode(node.expression, visitors);
1598
+ exit !== null && exit(node);
1599
+ }
1600
+ function walkTSFunctionType(node, visitors) {
1601
+ let enterExit = visitors[123], exit = null, enter;
1602
+ if (enterExit !== null) {
1603
+ ({enter, exit} = enterExit);
1604
+ enter !== null && enter(node);
1605
+ }
1606
+ walkNode(node.typeParameters, visitors);
1607
+ walkNode(node.params, visitors);
1608
+ walkNode(node.returnType, visitors);
1609
+ exit !== null && exit(node);
1610
+ }
1611
+ function walkTSImportEqualsDeclaration(node, visitors) {
1612
+ let enterExit = visitors[124], exit = null, enter;
1613
+ if (enterExit !== null) {
1614
+ ({enter, exit} = enterExit);
1615
+ enter !== null && enter(node);
1616
+ }
1617
+ walkNode(node.id, visitors);
1618
+ walkNode(node.moduleReference, visitors);
1619
+ exit !== null && exit(node);
1620
+ }
1621
+ function walkTSImportType(node, visitors) {
1622
+ let enterExit = visitors[125], exit = null, enter;
1623
+ if (enterExit !== null) {
1624
+ ({enter, exit} = enterExit);
1625
+ enter !== null && enter(node);
1626
+ }
1627
+ walkNode(node.source, visitors);
1628
+ walkNode(node.options, visitors);
1629
+ walkNode(node.qualifier, visitors);
1630
+ walkNode(node.typeArguments, visitors);
1631
+ exit !== null && exit(node);
1632
+ }
1633
+ function walkTSIndexSignature(node, visitors) {
1634
+ let enterExit = visitors[126], exit = null, enter;
1635
+ if (enterExit !== null) {
1636
+ ({enter, exit} = enterExit);
1637
+ enter !== null && enter(node);
1638
+ }
1639
+ walkNode(node.parameters, visitors);
1640
+ walkNode(node.typeAnnotation, visitors);
1641
+ exit !== null && exit(node);
1642
+ }
1643
+ function walkTSIndexedAccessType(node, visitors) {
1644
+ let enterExit = visitors[127], exit = null, enter;
1645
+ if (enterExit !== null) {
1646
+ ({enter, exit} = enterExit);
1647
+ enter !== null && enter(node);
1648
+ }
1649
+ walkNode(node.objectType, visitors);
1650
+ walkNode(node.indexType, visitors);
1651
+ exit !== null && exit(node);
1652
+ }
1653
+ function walkTSInferType(node, visitors) {
1654
+ let enterExit = visitors[128], exit = null, enter;
1655
+ if (enterExit !== null) {
1656
+ ({enter, exit} = enterExit);
1657
+ enter !== null && enter(node);
1658
+ }
1659
+ walkNode(node.typeParameter, visitors);
1660
+ exit !== null && exit(node);
1661
+ }
1662
+ function walkTSInstantiationExpression(node, visitors) {
1663
+ let enterExit = visitors[129], exit = null, enter;
1664
+ if (enterExit !== null) {
1665
+ ({enter, exit} = enterExit);
1666
+ enter !== null && enter(node);
1667
+ }
1668
+ walkNode(node.expression, visitors);
1669
+ walkNode(node.typeArguments, visitors);
1670
+ exit !== null && exit(node);
1671
+ }
1672
+ function walkTSInterfaceBody(node, visitors) {
1673
+ let enterExit = visitors[130], exit = null, enter;
1674
+ if (enterExit !== null) {
1675
+ ({enter, exit} = enterExit);
1676
+ enter !== null && enter(node);
1677
+ }
1678
+ walkNode(node.body, visitors);
1679
+ exit !== null && exit(node);
1680
+ }
1681
+ function walkTSInterfaceDeclaration(node, visitors) {
1682
+ let enterExit = visitors[131], exit = null, enter;
1683
+ if (enterExit !== null) {
1684
+ ({enter, exit} = enterExit);
1685
+ enter !== null && enter(node);
1686
+ }
1687
+ walkNode(node.id, visitors);
1688
+ walkNode(node.typeParameters, visitors);
1689
+ walkNode(node.extends, visitors);
1690
+ walkNode(node.body, visitors);
1691
+ exit !== null && exit(node);
1692
+ }
1693
+ function walkTSInterfaceHeritage(node, visitors) {
1694
+ let enterExit = visitors[132], exit = null, enter;
1695
+ if (enterExit !== null) {
1696
+ ({enter, exit} = enterExit);
1697
+ enter !== null && enter(node);
1698
+ }
1699
+ walkNode(node.expression, visitors);
1700
+ walkNode(node.typeArguments, visitors);
1701
+ exit !== null && exit(node);
1702
+ }
1703
+ function walkTSIntersectionType(node, visitors) {
1704
+ let enterExit = visitors[133], exit = null, enter;
1705
+ if (enterExit !== null) {
1706
+ ({enter, exit} = enterExit);
1707
+ enter !== null && enter(node);
1708
+ }
1709
+ walkNode(node.types, visitors);
1710
+ exit !== null && exit(node);
1711
+ }
1712
+ function walkTSJSDocNonNullableType(node, visitors) {
1713
+ let enterExit = visitors[134], exit = null, enter;
1714
+ if (enterExit !== null) {
1715
+ ({enter, exit} = enterExit);
1716
+ enter !== null && enter(node);
1717
+ }
1718
+ walkNode(node.typeAnnotation, visitors);
1719
+ exit !== null && exit(node);
1720
+ }
1721
+ function walkTSJSDocNullableType(node, visitors) {
1722
+ let enterExit = visitors[135], exit = null, enter;
1723
+ if (enterExit !== null) {
1724
+ ({enter, exit} = enterExit);
1725
+ enter !== null && enter(node);
1726
+ }
1727
+ walkNode(node.typeAnnotation, visitors);
1728
+ exit !== null && exit(node);
1729
+ }
1730
+ function walkTSLiteralType(node, visitors) {
1731
+ let enterExit = visitors[136], exit = null, enter;
1732
+ if (enterExit !== null) {
1733
+ ({enter, exit} = enterExit);
1734
+ enter !== null && enter(node);
1735
+ }
1736
+ walkNode(node.literal, visitors);
1737
+ exit !== null && exit(node);
1738
+ }
1739
+ function walkTSMappedType(node, visitors) {
1740
+ let enterExit = visitors[137], exit = null, enter;
1741
+ if (enterExit !== null) {
1742
+ ({enter, exit} = enterExit);
1743
+ enter !== null && enter(node);
1744
+ }
1745
+ walkNode(node.key, visitors);
1746
+ walkNode(node.constraint, visitors);
1747
+ walkNode(node.nameType, visitors);
1748
+ walkNode(node.typeAnnotation, visitors);
1749
+ exit !== null && exit(node);
1750
+ }
1751
+ function walkTSMethodSignature(node, visitors) {
1752
+ let enterExit = visitors[138], exit = null, enter;
1753
+ if (enterExit !== null) {
1754
+ ({enter, exit} = enterExit);
1755
+ enter !== null && enter(node);
1756
+ }
1757
+ walkNode(node.key, visitors);
1758
+ walkNode(node.typeParameters, visitors);
1759
+ walkNode(node.params, visitors);
1760
+ walkNode(node.returnType, visitors);
1761
+ exit !== null && exit(node);
1762
+ }
1763
+ function walkTSModuleBlock(node, visitors) {
1764
+ let enterExit = visitors[139], exit = null, enter;
1765
+ if (enterExit !== null) {
1766
+ ({enter, exit} = enterExit);
1767
+ enter !== null && enter(node);
1768
+ }
1769
+ walkNode(node.body, visitors);
1770
+ exit !== null && exit(node);
1771
+ }
1772
+ function walkTSModuleDeclaration(node, visitors) {
1773
+ let enterExit = visitors[140], exit = null, enter;
1774
+ if (enterExit !== null) {
1775
+ ({enter, exit} = enterExit);
1776
+ enter !== null && enter(node);
1777
+ }
1778
+ walkNode(node.id, visitors);
1779
+ walkNode(node.body, visitors);
1780
+ exit !== null && exit(node);
1781
+ }
1782
+ function walkTSNamedTupleMember(node, visitors) {
1783
+ let enterExit = visitors[141], exit = null, enter;
1784
+ if (enterExit !== null) {
1785
+ ({enter, exit} = enterExit);
1786
+ enter !== null && enter(node);
1787
+ }
1788
+ walkNode(node.label, visitors);
1789
+ walkNode(node.elementType, visitors);
1790
+ exit !== null && exit(node);
1791
+ }
1792
+ function walkTSNamespaceExportDeclaration(node, visitors) {
1793
+ let enterExit = visitors[142], exit = null, enter;
1794
+ if (enterExit !== null) {
1795
+ ({enter, exit} = enterExit);
1796
+ enter !== null && enter(node);
1797
+ }
1798
+ walkNode(node.id, visitors);
1799
+ exit !== null && exit(node);
1800
+ }
1801
+ function walkTSNonNullExpression(node, visitors) {
1802
+ let enterExit = visitors[143], exit = null, enter;
1803
+ if (enterExit !== null) {
1804
+ ({enter, exit} = enterExit);
1805
+ enter !== null && enter(node);
1806
+ }
1807
+ walkNode(node.expression, visitors);
1808
+ exit !== null && exit(node);
1809
+ }
1810
+ function walkTSOptionalType(node, visitors) {
1811
+ let enterExit = visitors[144], exit = null, enter;
1812
+ if (enterExit !== null) {
1813
+ ({enter, exit} = enterExit);
1814
+ enter !== null && enter(node);
1815
+ }
1816
+ walkNode(node.typeAnnotation, visitors);
1817
+ exit !== null && exit(node);
1818
+ }
1819
+ function walkTSParameterProperty(node, visitors) {
1820
+ let enterExit = visitors[145], exit = null, enter;
1821
+ if (enterExit !== null) {
1822
+ ({enter, exit} = enterExit);
1823
+ enter !== null && enter(node);
1824
+ }
1825
+ walkNode(node.decorators, visitors);
1826
+ walkNode(node.parameter, visitors);
1827
+ exit !== null && exit(node);
1828
+ }
1829
+ function walkTSParenthesizedType(node, visitors) {
1830
+ let enterExit = visitors[146], exit = null, enter;
1831
+ if (enterExit !== null) {
1832
+ ({enter, exit} = enterExit);
1833
+ enter !== null && enter(node);
1834
+ }
1835
+ walkNode(node.typeAnnotation, visitors);
1836
+ exit !== null && exit(node);
1837
+ }
1838
+ function walkTSPropertySignature(node, visitors) {
1839
+ let enterExit = visitors[147], exit = null, enter;
1840
+ if (enterExit !== null) {
1841
+ ({enter, exit} = enterExit);
1842
+ enter !== null && enter(node);
1843
+ }
1844
+ walkNode(node.key, visitors);
1845
+ walkNode(node.typeAnnotation, visitors);
1846
+ exit !== null && exit(node);
1847
+ }
1848
+ function walkTSQualifiedName(node, visitors) {
1849
+ let enterExit = visitors[148], exit = null, enter;
1850
+ if (enterExit !== null) {
1851
+ ({enter, exit} = enterExit);
1852
+ enter !== null && enter(node);
1853
+ }
1854
+ walkNode(node.left, visitors);
1855
+ walkNode(node.right, visitors);
1856
+ exit !== null && exit(node);
1857
+ }
1858
+ function walkTSRestType(node, visitors) {
1859
+ let enterExit = visitors[149], exit = null, enter;
1860
+ if (enterExit !== null) {
1861
+ ({enter, exit} = enterExit);
1862
+ enter !== null && enter(node);
1863
+ }
1864
+ walkNode(node.typeAnnotation, visitors);
1865
+ exit !== null && exit(node);
1866
+ }
1867
+ function walkTSSatisfiesExpression(node, visitors) {
1868
+ let enterExit = visitors[150], exit = null, enter;
1869
+ if (enterExit !== null) {
1870
+ ({enter, exit} = enterExit);
1871
+ enter !== null && enter(node);
1872
+ }
1873
+ walkNode(node.expression, visitors);
1874
+ walkNode(node.typeAnnotation, visitors);
1875
+ exit !== null && exit(node);
1876
+ }
1877
+ function walkTSTemplateLiteralType(node, visitors) {
1878
+ let enterExit = visitors[151], exit = null, enter;
1879
+ if (enterExit !== null) {
1880
+ ({enter, exit} = enterExit);
1881
+ enter !== null && enter(node);
1882
+ }
1883
+ walkNode(node.quasis, visitors);
1884
+ walkNode(node.types, visitors);
1885
+ exit !== null && exit(node);
1886
+ }
1887
+ function walkTSTupleType(node, visitors) {
1888
+ let enterExit = visitors[152], exit = null, enter;
1889
+ if (enterExit !== null) {
1890
+ ({enter, exit} = enterExit);
1891
+ enter !== null && enter(node);
1892
+ }
1893
+ walkNode(node.elementTypes, visitors);
1894
+ exit !== null && exit(node);
1895
+ }
1896
+ function walkTSTypeAliasDeclaration(node, visitors) {
1897
+ let enterExit = visitors[153], exit = null, enter;
1898
+ if (enterExit !== null) {
1899
+ ({enter, exit} = enterExit);
1900
+ enter !== null && enter(node);
1901
+ }
1902
+ walkNode(node.id, visitors);
1903
+ walkNode(node.typeParameters, visitors);
1904
+ walkNode(node.typeAnnotation, visitors);
1905
+ exit !== null && exit(node);
1906
+ }
1907
+ function walkTSTypeAnnotation(node, visitors) {
1908
+ let enterExit = visitors[154], exit = null, enter;
1909
+ if (enterExit !== null) {
1910
+ ({enter, exit} = enterExit);
1911
+ enter !== null && enter(node);
1912
+ }
1913
+ walkNode(node.typeAnnotation, visitors);
1914
+ exit !== null && exit(node);
1915
+ }
1916
+ function walkTSTypeAssertion(node, visitors) {
1917
+ let enterExit = visitors[155], exit = null, enter;
1918
+ if (enterExit !== null) {
1919
+ ({enter, exit} = enterExit);
1920
+ enter !== null && enter(node);
1921
+ }
1922
+ walkNode(node.typeAnnotation, visitors);
1923
+ walkNode(node.expression, visitors);
1924
+ exit !== null && exit(node);
1925
+ }
1926
+ function walkTSTypeLiteral(node, visitors) {
1927
+ let enterExit = visitors[156], exit = null, enter;
1928
+ if (enterExit !== null) {
1929
+ ({enter, exit} = enterExit);
1930
+ enter !== null && enter(node);
1931
+ }
1932
+ walkNode(node.members, visitors);
1933
+ exit !== null && exit(node);
1934
+ }
1935
+ function walkTSTypeOperator(node, visitors) {
1936
+ let enterExit = visitors[157], exit = null, enter;
1937
+ if (enterExit !== null) {
1938
+ ({enter, exit} = enterExit);
1939
+ enter !== null && enter(node);
1940
+ }
1941
+ walkNode(node.typeAnnotation, visitors);
1942
+ exit !== null && exit(node);
1943
+ }
1944
+ function walkTSTypeParameter(node, visitors) {
1945
+ let enterExit = visitors[158], exit = null, enter;
1946
+ if (enterExit !== null) {
1947
+ ({enter, exit} = enterExit);
1948
+ enter !== null && enter(node);
1949
+ }
1950
+ walkNode(node.name, visitors);
1951
+ walkNode(node.constraint, visitors);
1952
+ walkNode(node.default, visitors);
1953
+ exit !== null && exit(node);
1954
+ }
1955
+ function walkTSTypeParameterDeclaration(node, visitors) {
1956
+ let enterExit = visitors[159], exit = null, enter;
1957
+ if (enterExit !== null) {
1958
+ ({enter, exit} = enterExit);
1959
+ enter !== null && enter(node);
1960
+ }
1961
+ walkNode(node.params, visitors);
1962
+ exit !== null && exit(node);
1963
+ }
1964
+ function walkTSTypeParameterInstantiation(node, visitors) {
1965
+ let enterExit = visitors[160], exit = null, enter;
1966
+ if (enterExit !== null) {
1967
+ ({enter, exit} = enterExit);
1968
+ enter !== null && enter(node);
1969
+ }
1970
+ walkNode(node.params, visitors);
1971
+ exit !== null && exit(node);
1972
+ }
1973
+ function walkTSTypePredicate(node, visitors) {
1974
+ let enterExit = visitors[161], exit = null, enter;
1975
+ if (enterExit !== null) {
1976
+ ({enter, exit} = enterExit);
1977
+ enter !== null && enter(node);
1978
+ }
1979
+ walkNode(node.parameterName, visitors);
1980
+ walkNode(node.typeAnnotation, visitors);
1981
+ exit !== null && exit(node);
1982
+ }
1983
+ function walkTSTypeQuery(node, visitors) {
1984
+ let enterExit = visitors[162], exit = null, enter;
1985
+ if (enterExit !== null) {
1986
+ ({enter, exit} = enterExit);
1987
+ enter !== null && enter(node);
1988
+ }
1989
+ walkNode(node.exprName, visitors);
1990
+ walkNode(node.typeArguments, visitors);
1991
+ exit !== null && exit(node);
1992
+ }
1993
+ function walkTSTypeReference(node, visitors) {
1994
+ let enterExit = visitors[163], exit = null, enter;
1995
+ if (enterExit !== null) {
1996
+ ({enter, exit} = enterExit);
1997
+ enter !== null && enter(node);
1998
+ }
1999
+ walkNode(node.typeName, visitors);
2000
+ walkNode(node.typeArguments, visitors);
2001
+ exit !== null && exit(node);
2002
+ }
2003
+ function walkTSUnionType(node, visitors) {
2004
+ let enterExit = visitors[164], exit = null, enter;
2005
+ if (enterExit !== null) {
2006
+ ({enter, exit} = enterExit);
2007
+ enter !== null && enter(node);
2008
+ }
2009
+ walkNode(node.types, visitors);
2010
+ exit !== null && exit(node);
2011
+ }
2012
+ //#endregion
2013
+ //#region ../../node_modules/.pnpm/oxc-parser@0.127.0/node_modules/oxc-parser/src-js/generated/visit/type_ids.js
2014
+ /** Mapping from node type name to node type ID */
2015
+ const NODE_TYPE_IDS_MAP = new Map([
2016
+ ["DebuggerStatement", 0],
2017
+ ["EmptyStatement", 1],
2018
+ ["Literal", 2],
2019
+ ["PrivateIdentifier", 3],
2020
+ ["Super", 4],
2021
+ ["TemplateElement", 5],
2022
+ ["ThisExpression", 6],
2023
+ ["JSXClosingFragment", 7],
2024
+ ["JSXEmptyExpression", 8],
2025
+ ["JSXIdentifier", 9],
2026
+ ["JSXOpeningFragment", 10],
2027
+ ["JSXText", 11],
2028
+ ["TSAnyKeyword", 12],
2029
+ ["TSBigIntKeyword", 13],
2030
+ ["TSBooleanKeyword", 14],
2031
+ ["TSIntrinsicKeyword", 15],
2032
+ ["TSJSDocUnknownType", 16],
2033
+ ["TSNeverKeyword", 17],
2034
+ ["TSNullKeyword", 18],
2035
+ ["TSNumberKeyword", 19],
2036
+ ["TSObjectKeyword", 20],
2037
+ ["TSStringKeyword", 21],
2038
+ ["TSSymbolKeyword", 22],
2039
+ ["TSThisType", 23],
2040
+ ["TSUndefinedKeyword", 24],
2041
+ ["TSUnknownKeyword", 25],
2042
+ ["TSVoidKeyword", 26],
2043
+ ["AccessorProperty", 27],
2044
+ ["ArrayExpression", 28],
2045
+ ["ArrayPattern", 29],
2046
+ ["ArrowFunctionExpression", 30],
2047
+ ["AssignmentExpression", 31],
2048
+ ["AssignmentPattern", 32],
2049
+ ["AwaitExpression", 33],
2050
+ ["BinaryExpression", 34],
2051
+ ["BlockStatement", 35],
2052
+ ["BreakStatement", 36],
2053
+ ["CallExpression", 37],
2054
+ ["CatchClause", 38],
2055
+ ["ChainExpression", 39],
2056
+ ["ClassBody", 40],
2057
+ ["ClassDeclaration", 41],
2058
+ ["ClassExpression", 42],
2059
+ ["ConditionalExpression", 43],
2060
+ ["ContinueStatement", 44],
2061
+ ["Decorator", 45],
2062
+ ["DoWhileStatement", 46],
2063
+ ["ExportAllDeclaration", 47],
2064
+ ["ExportDefaultDeclaration", 48],
2065
+ ["ExportNamedDeclaration", 49],
2066
+ ["ExportSpecifier", 50],
2067
+ ["ExpressionStatement", 51],
2068
+ ["ForInStatement", 52],
2069
+ ["ForOfStatement", 53],
2070
+ ["ForStatement", 54],
2071
+ ["FunctionDeclaration", 55],
2072
+ ["FunctionExpression", 56],
2073
+ ["Identifier", 57],
2074
+ ["IfStatement", 58],
2075
+ ["ImportAttribute", 59],
2076
+ ["ImportDeclaration", 60],
2077
+ ["ImportDefaultSpecifier", 61],
2078
+ ["ImportExpression", 62],
2079
+ ["ImportNamespaceSpecifier", 63],
2080
+ ["ImportSpecifier", 64],
2081
+ ["LabeledStatement", 65],
2082
+ ["LogicalExpression", 66],
2083
+ ["MemberExpression", 67],
2084
+ ["MetaProperty", 68],
2085
+ ["MethodDefinition", 69],
2086
+ ["NewExpression", 70],
2087
+ ["ObjectExpression", 71],
2088
+ ["ObjectPattern", 72],
2089
+ ["ParenthesizedExpression", 73],
2090
+ ["Program", 74],
2091
+ ["Property", 75],
2092
+ ["PropertyDefinition", 76],
2093
+ ["RestElement", 77],
2094
+ ["ReturnStatement", 78],
2095
+ ["SequenceExpression", 79],
2096
+ ["SpreadElement", 80],
2097
+ ["StaticBlock", 81],
2098
+ ["SwitchCase", 82],
2099
+ ["SwitchStatement", 83],
2100
+ ["TaggedTemplateExpression", 84],
2101
+ ["TemplateLiteral", 85],
2102
+ ["ThrowStatement", 86],
2103
+ ["TryStatement", 87],
2104
+ ["UnaryExpression", 88],
2105
+ ["UpdateExpression", 89],
2106
+ ["V8IntrinsicExpression", 90],
2107
+ ["VariableDeclaration", 91],
2108
+ ["VariableDeclarator", 92],
2109
+ ["WhileStatement", 93],
2110
+ ["WithStatement", 94],
2111
+ ["YieldExpression", 95],
2112
+ ["JSXAttribute", 96],
2113
+ ["JSXClosingElement", 97],
2114
+ ["JSXElement", 98],
2115
+ ["JSXExpressionContainer", 99],
2116
+ ["JSXFragment", 100],
2117
+ ["JSXMemberExpression", 101],
2118
+ ["JSXNamespacedName", 102],
2119
+ ["JSXOpeningElement", 103],
2120
+ ["JSXSpreadAttribute", 104],
2121
+ ["JSXSpreadChild", 105],
2122
+ ["TSAbstractAccessorProperty", 106],
2123
+ ["TSAbstractMethodDefinition", 107],
2124
+ ["TSAbstractPropertyDefinition", 108],
2125
+ ["TSArrayType", 109],
2126
+ ["TSAsExpression", 110],
2127
+ ["TSCallSignatureDeclaration", 111],
2128
+ ["TSClassImplements", 112],
2129
+ ["TSConditionalType", 113],
2130
+ ["TSConstructSignatureDeclaration", 114],
2131
+ ["TSConstructorType", 115],
2132
+ ["TSDeclareFunction", 116],
2133
+ ["TSEmptyBodyFunctionExpression", 117],
2134
+ ["TSEnumBody", 118],
2135
+ ["TSEnumDeclaration", 119],
2136
+ ["TSEnumMember", 120],
2137
+ ["TSExportAssignment", 121],
2138
+ ["TSExternalModuleReference", 122],
2139
+ ["TSFunctionType", 123],
2140
+ ["TSImportEqualsDeclaration", 124],
2141
+ ["TSImportType", 125],
2142
+ ["TSIndexSignature", 126],
2143
+ ["TSIndexedAccessType", 127],
2144
+ ["TSInferType", 128],
2145
+ ["TSInstantiationExpression", 129],
2146
+ ["TSInterfaceBody", 130],
2147
+ ["TSInterfaceDeclaration", 131],
2148
+ ["TSInterfaceHeritage", 132],
2149
+ ["TSIntersectionType", 133],
2150
+ ["TSJSDocNonNullableType", 134],
2151
+ ["TSJSDocNullableType", 135],
2152
+ ["TSLiteralType", 136],
2153
+ ["TSMappedType", 137],
2154
+ ["TSMethodSignature", 138],
2155
+ ["TSModuleBlock", 139],
2156
+ ["TSModuleDeclaration", 140],
2157
+ ["TSNamedTupleMember", 141],
2158
+ ["TSNamespaceExportDeclaration", 142],
2159
+ ["TSNonNullExpression", 143],
2160
+ ["TSOptionalType", 144],
2161
+ ["TSParameterProperty", 145],
2162
+ ["TSParenthesizedType", 146],
2163
+ ["TSPropertySignature", 147],
2164
+ ["TSQualifiedName", 148],
2165
+ ["TSRestType", 149],
2166
+ ["TSSatisfiesExpression", 150],
2167
+ ["TSTemplateLiteralType", 151],
2168
+ ["TSTupleType", 152],
2169
+ ["TSTypeAliasDeclaration", 153],
2170
+ ["TSTypeAnnotation", 154],
2171
+ ["TSTypeAssertion", 155],
2172
+ ["TSTypeLiteral", 156],
2173
+ ["TSTypeOperator", 157],
2174
+ ["TSTypeParameter", 158],
2175
+ ["TSTypeParameterDeclaration", 159],
2176
+ ["TSTypeParameterInstantiation", 160],
2177
+ ["TSTypePredicate", 161],
2178
+ ["TSTypeQuery", 162],
2179
+ ["TSTypeReference", 163],
2180
+ ["TSUnionType", 164]
2181
+ ]);
2182
+ //#endregion
2183
+ //#region ../../node_modules/.pnpm/oxc-parser@0.127.0/node_modules/oxc-parser/src-js/visit/visitor.js
2184
+ let compiledVisitor;
2185
+ function createCompiledVisitor() {
2186
+ compiledVisitor = [];
2187
+ for (let i = 165; i !== 0; i--) compiledVisitor.push(null);
2188
+ return compiledVisitor;
2189
+ }
2190
+ const mergedLeafVisitorTypeIds = [], mergedEnterVisitorTypeIds = [], mergedExitVisitorTypeIds = [];
2191
+ for (let i = 27; i !== 0; i--) mergedLeafVisitorTypeIds.push(0);
2192
+ for (let i = 138; i !== 0; i--) {
2193
+ mergedEnterVisitorTypeIds.push(0);
2194
+ mergedExitVisitorTypeIds.push(0);
2195
+ }
2196
+ mergedLeafVisitorTypeIds.length = 0;
2197
+ mergedEnterVisitorTypeIds.length = 0;
2198
+ mergedExitVisitorTypeIds.length = 0;
2199
+ let hasActiveVisitors = false;
2200
+ const enterExitObjectCache = [];
2201
+ let enterExitObjectCacheNextIndex = 0;
2202
+ function getEnterExitObject() {
2203
+ if (enterExitObjectCacheNextIndex < enterExitObjectCache.length) return enterExitObjectCache[enterExitObjectCacheNextIndex++];
2204
+ const enterExit = {
2205
+ enter: null,
2206
+ exit: null
2207
+ };
2208
+ enterExitObjectCache.push(enterExit);
2209
+ enterExitObjectCacheNextIndex++;
2210
+ return enterExit;
2211
+ }
2212
+ const visitFnArrayCache = [];
2213
+ let visitFnArrayCacheNextIndex = 0;
2214
+ function createVisitFnArray(visit1, visit2) {
2215
+ if (visitFnArrayCacheNextIndex < visitFnArrayCache.length) {
2216
+ const arr = visitFnArrayCache[visitFnArrayCacheNextIndex++];
2217
+ arr.push(visit1, visit2);
2218
+ return arr;
2219
+ }
2220
+ const arr = [visit1, visit2];
2221
+ visitFnArrayCache.push(arr);
2222
+ visitFnArrayCacheNextIndex++;
2223
+ return arr;
2224
+ }
2225
+ /**
2226
+ * Add a visitor to compiled visitor.
2227
+ *
2228
+ * @param visitor - Visitor object
2229
+ */
2230
+ function addVisitorToCompiled(visitor) {
2231
+ if (visitor === null || typeof visitor !== "object") throw new TypeError("Visitor must be an object");
2232
+ const keys = Object.keys(visitor), keysLen = keys.length;
2233
+ if (keysLen === 0) return;
2234
+ hasActiveVisitors = true;
2235
+ for (let i = 0; i < keysLen; i++) {
2236
+ let name = keys[i];
2237
+ const visitFn = visitor[name];
2238
+ if (typeof visitFn !== "function") throw new TypeError(`'${name}' property of visitor object is not a function`);
2239
+ const isExit = name.endsWith(":exit");
2240
+ if (isExit) name = name.slice(0, -5);
2241
+ const typeId = NODE_TYPE_IDS_MAP.get(name);
2242
+ if (typeId === void 0) throw new Error(`Unknown node type '${name}' in visitor object`);
2243
+ const existing = compiledVisitor[typeId];
2244
+ if (typeId < 27) if (existing === null) compiledVisitor[typeId] = visitFn;
2245
+ else if (Array.isArray(existing)) if (isExit) existing.push(visitFn);
2246
+ else existing.splice(existing.length - 1, 0, visitFn);
2247
+ else {
2248
+ compiledVisitor[typeId] = isExit ? createVisitFnArray(existing, visitFn) : createVisitFnArray(visitFn, existing);
2249
+ mergedLeafVisitorTypeIds.push(typeId);
2250
+ }
2251
+ else if (existing === null) {
2252
+ const enterExit = compiledVisitor[typeId] = getEnterExitObject();
2253
+ if (isExit) enterExit.exit = visitFn;
2254
+ else enterExit.enter = visitFn;
2255
+ } else if (isExit) {
2256
+ const { exit } = existing;
2257
+ if (exit === null) existing.exit = visitFn;
2258
+ else if (Array.isArray(exit)) exit.push(visitFn);
2259
+ else {
2260
+ existing.exit = createVisitFnArray(exit, visitFn);
2261
+ mergedExitVisitorTypeIds.push(typeId);
2262
+ }
2263
+ } else {
2264
+ const { enter } = existing;
2265
+ if (enter === null) existing.enter = visitFn;
2266
+ else if (Array.isArray(enter)) enter.push(visitFn);
2267
+ else {
2268
+ existing.enter = createVisitFnArray(enter, visitFn);
2269
+ mergedEnterVisitorTypeIds.push(typeId);
2270
+ }
2271
+ }
2272
+ }
2273
+ }
2274
+ /**
2275
+ * Finalize compiled visitor.
2276
+ *
2277
+ * After calling this function, `compiledVisitor` is ready to be used to walk the AST.
2278
+ *
2279
+ * @returns {boolean} - `true` if compiled visitor visits at least 1 AST type
2280
+ */
2281
+ function finalizeCompiledVisitor() {
2282
+ if (hasActiveVisitors === false) return false;
2283
+ for (let i = mergedLeafVisitorTypeIds.length - 1; i >= 0; i--) {
2284
+ const typeId = mergedLeafVisitorTypeIds[i];
2285
+ compiledVisitor[typeId] = mergeVisitFns(compiledVisitor[typeId]);
2286
+ }
2287
+ for (let i = mergedEnterVisitorTypeIds.length - 1; i >= 0; i--) {
2288
+ const typeId = mergedEnterVisitorTypeIds[i];
2289
+ const enterExit = compiledVisitor[typeId];
2290
+ enterExit.enter = mergeVisitFns(enterExit.enter);
2291
+ }
2292
+ for (let i = mergedExitVisitorTypeIds.length - 1; i >= 0; i--) {
2293
+ const typeId = mergedExitVisitorTypeIds[i];
2294
+ const enterExit = compiledVisitor[typeId];
2295
+ enterExit.exit = mergeVisitFns(enterExit.exit);
2296
+ }
2297
+ mergedLeafVisitorTypeIds.length = 0;
2298
+ mergedEnterVisitorTypeIds.length = 0;
2299
+ mergedExitVisitorTypeIds.length = 0;
2300
+ visitFnArrayCacheNextIndex = 0;
2301
+ hasActiveVisitors = false;
2302
+ return true;
2303
+ }
2304
+ /**
2305
+ * Merge array of visit functions into a single function, which calls each of input functions in turn.
2306
+ *
2307
+ * The array passed is cleared (length set to 0), so the array can be reused.
2308
+ *
2309
+ * The merged function is statically defined and does not contain a loop, to hopefully allow
2310
+ * JS engine to heavily optimize it.
2311
+ *
2312
+ * `mergers` contains pre-defined functions to merge up to 5 visit functions.
2313
+ * Merger functions for merging more than 5 visit functions are created dynamically on demand.
2314
+ *
2315
+ * @param visitFns - Array of visit functions
2316
+ * @returns Function which calls all of `visitFns` in turn.
2317
+ */
2318
+ function mergeVisitFns(visitFns) {
2319
+ const numVisitFns = visitFns.length;
2320
+ let merger;
2321
+ if (mergers.length <= numVisitFns) {
2322
+ while (mergers.length < numVisitFns) mergers.push(null);
2323
+ merger = createMerger(numVisitFns);
2324
+ mergers.push(merger);
2325
+ } else {
2326
+ merger = mergers[numVisitFns];
2327
+ if (merger === null) merger = mergers[numVisitFns] = createMerger(numVisitFns);
2328
+ }
2329
+ const mergedFn = merger(...visitFns);
2330
+ visitFns.length = 0;
2331
+ return mergedFn;
2332
+ }
2333
+ /**
2334
+ * Create a merger function that merges `fnCount` functions.
2335
+ *
2336
+ * @param fnCount - Number of functions to be merged
2337
+ * @returns Function to merge `fnCount` functions
2338
+ */
2339
+ function createMerger(fnCount) {
2340
+ const args = [];
2341
+ let body = "return node=>{";
2342
+ for (let i = 1; i <= fnCount; i++) {
2343
+ args.push(`visit${i}`);
2344
+ body += `visit${i}(node);`;
2345
+ }
2346
+ body += "}";
2347
+ args.push(body);
2348
+ return new Function(...args);
2349
+ }
2350
+ const mergers = [
2351
+ null,
2352
+ null,
2353
+ (visit1, visit2) => (node) => {
2354
+ visit1(node);
2355
+ visit2(node);
2356
+ },
2357
+ (visit1, visit2, visit3) => (node) => {
2358
+ visit1(node);
2359
+ visit2(node);
2360
+ visit3(node);
2361
+ },
2362
+ (visit1, visit2, visit3, visit4) => (node) => {
2363
+ visit1(node);
2364
+ visit2(node);
2365
+ visit3(node);
2366
+ visit4(node);
2367
+ },
2368
+ (visit1, visit2, visit3, visit4, visit5) => (node) => {
2369
+ visit1(node);
2370
+ visit2(node);
2371
+ visit3(node);
2372
+ visit4(node);
2373
+ visit5(node);
2374
+ }
2375
+ ];
2376
+ //#endregion
2377
+ //#region src/utils/visitor.ts
2378
+ /**
2379
+ * Visitor class for traversing AST.
2380
+ *
2381
+ * @example
2382
+ * ```ts
2383
+ * import { Visitor } from 'rolldown/utils';
2384
+ * import { parseSync } from 'rolldown/utils';
2385
+ *
2386
+ * const result = parseSync(...);
2387
+ * const visitor = new Visitor({
2388
+ * VariableDeclaration(path) {
2389
+ * // Do something with the variable declaration
2390
+ * },
2391
+ * "VariableDeclaration:exit"(path) {
2392
+ * // Do something after visiting the variable declaration
2393
+ * }
2394
+ * });
2395
+ * visitor.visit(result.program);
2396
+ * ```
2397
+ *
2398
+ * @category Utilities
2399
+ * @experimental
2400
+ */
2401
+ var Visitor = class {
2402
+ #compiledVisitor = null;
2403
+ constructor(visitor) {
2404
+ const compiledVisitor = createCompiledVisitor();
2405
+ addVisitorToCompiled(visitor);
2406
+ if (finalizeCompiledVisitor()) this.#compiledVisitor = compiledVisitor;
2407
+ }
2408
+ visit(program) {
2409
+ const compiledVisitor = this.#compiledVisitor;
2410
+ if (compiledVisitor !== null) walkProgram(program, compiledVisitor);
2411
+ }
2412
+ };
2413
+ //#endregion
2414
+ export { TsconfigCache, Visitor, minify, minifySync, parse, parseSync, transform, transformSync };