@voidzero-dev/vite-plus-test 0.0.0-0bfcc90f.20260209-0731

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 (318) hide show
  1. package/LICENSE.md +691 -0
  2. package/browser/context.d.ts +4 -0
  3. package/browser/context.js +20 -0
  4. package/config.d.ts +3 -0
  5. package/coverage.d.ts +1 -0
  6. package/dist/@vitest/browser/client/.vite/manifest.json +24 -0
  7. package/dist/@vitest/browser/client/__vitest__/assets/index-BUCFJtth.js +57 -0
  8. package/dist/@vitest/browser/client/__vitest__/assets/index-DlhE0rqZ.css +1 -0
  9. package/dist/@vitest/browser/client/__vitest__/bg.png +0 -0
  10. package/dist/@vitest/browser/client/__vitest__/favicon.ico +0 -0
  11. package/dist/@vitest/browser/client/__vitest__/favicon.svg +5 -0
  12. package/dist/@vitest/browser/client/__vitest__/index.html +32 -0
  13. package/dist/@vitest/browser/client/__vitest_browser__/orchestrator-S_3e_uzt.js +345 -0
  14. package/dist/@vitest/browser/client/__vitest_browser__/tester-k74mgIRa.js +2171 -0
  15. package/dist/@vitest/browser/client/__vitest_browser__/utils-uxqdqUz8.js +223 -0
  16. package/dist/@vitest/browser/client/error-catcher.js +82 -0
  17. package/dist/@vitest/browser/client/esm-client-injector.js +67 -0
  18. package/dist/@vitest/browser/client/favicon.svg +5 -0
  19. package/dist/@vitest/browser/client/orchestrator.html +35 -0
  20. package/dist/@vitest/browser/client/tester/tester.html +13 -0
  21. package/dist/@vitest/browser/client.js +456 -0
  22. package/dist/@vitest/browser/context.d.ts +792 -0
  23. package/dist/@vitest/browser/context.js +541 -0
  24. package/dist/@vitest/browser/expect-element.js +32 -0
  25. package/dist/@vitest/browser/index-D6m36C6U.js +11 -0
  26. package/dist/@vitest/browser/index.d.ts +73 -0
  27. package/dist/@vitest/browser/index.js +3513 -0
  28. package/dist/@vitest/browser/jest-dom.d.ts +724 -0
  29. package/dist/@vitest/browser/locators.d.ts +354 -0
  30. package/dist/@vitest/browser/locators.js +1 -0
  31. package/dist/@vitest/browser/matchers.d.ts +29 -0
  32. package/dist/@vitest/browser/shared/screenshotMatcher/types.d.ts +22 -0
  33. package/dist/@vitest/browser/state.js +280 -0
  34. package/dist/@vitest/browser/types.d.ts +69 -0
  35. package/dist/@vitest/browser-playwright/context.d.ts +1 -0
  36. package/dist/@vitest/browser-playwright/index.d.ts +106 -0
  37. package/dist/@vitest/browser-playwright/index.js +1111 -0
  38. package/dist/@vitest/browser-playwright/locators.js +114 -0
  39. package/dist/@vitest/browser-preview/context.d.ts +1 -0
  40. package/dist/@vitest/browser-preview/index.d.ts +19 -0
  41. package/dist/@vitest/browser-preview/index.js +148 -0
  42. package/dist/@vitest/browser-preview/locators.js +79 -0
  43. package/dist/@vitest/browser-webdriverio/context.d.ts +1 -0
  44. package/dist/@vitest/browser-webdriverio/index.d.ts +63 -0
  45. package/dist/@vitest/browser-webdriverio/index.js +600 -0
  46. package/dist/@vitest/browser-webdriverio/locators.js +163 -0
  47. package/dist/@vitest/expect/index.d.ts +807 -0
  48. package/dist/@vitest/expect/index.js +1875 -0
  49. package/dist/@vitest/mocker/auto-register.d.ts +2 -0
  50. package/dist/@vitest/mocker/auto-register.js +9 -0
  51. package/dist/@vitest/mocker/automock.d.ts +12 -0
  52. package/dist/@vitest/mocker/automock.js +1 -0
  53. package/dist/@vitest/mocker/browser.d.ts +53 -0
  54. package/dist/@vitest/mocker/browser.js +91 -0
  55. package/dist/@vitest/mocker/chunk-automock.js +354 -0
  56. package/dist/@vitest/mocker/chunk-interceptor-native.js +15 -0
  57. package/dist/@vitest/mocker/chunk-mocker.js +521 -0
  58. package/dist/@vitest/mocker/chunk-pathe.M-eThtNZ.js +174 -0
  59. package/dist/@vitest/mocker/chunk-registry.js +185 -0
  60. package/dist/@vitest/mocker/chunk-utils.js +16 -0
  61. package/dist/@vitest/mocker/index.d-C-sLYZi-.d.ts +25 -0
  62. package/dist/@vitest/mocker/index.d.ts +2 -0
  63. package/dist/@vitest/mocker/index.js +185 -0
  64. package/dist/@vitest/mocker/mocker.d-TnKRhz7N.d.ts +81 -0
  65. package/dist/@vitest/mocker/node.d.ts +800 -0
  66. package/dist/@vitest/mocker/node.js +966 -0
  67. package/dist/@vitest/mocker/redirect.d.ts +3 -0
  68. package/dist/@vitest/mocker/redirect.js +79 -0
  69. package/dist/@vitest/mocker/register.d.ts +9 -0
  70. package/dist/@vitest/mocker/register.js +41 -0
  71. package/dist/@vitest/mocker/types.d-B8CCKmHt.d.ts +107 -0
  72. package/dist/@vitest/pretty-format/index.d.ts +124 -0
  73. package/dist/@vitest/pretty-format/index.js +1022 -0
  74. package/dist/@vitest/runner/chunk-tasks.js +340 -0
  75. package/dist/@vitest/runner/index.d.ts +180 -0
  76. package/dist/@vitest/runner/index.js +2114 -0
  77. package/dist/@vitest/runner/tasks.d-C7UxawJ9.d.ts +834 -0
  78. package/dist/@vitest/runner/types.d.ts +183 -0
  79. package/dist/@vitest/runner/types.js +1 -0
  80. package/dist/@vitest/runner/utils.d.ts +45 -0
  81. package/dist/@vitest/runner/utils.js +5 -0
  82. package/dist/@vitest/snapshot/environment.d-DHdQ1Csl.d.ts +22 -0
  83. package/dist/@vitest/snapshot/environment.d.ts +16 -0
  84. package/dist/@vitest/snapshot/environment.js +40 -0
  85. package/dist/@vitest/snapshot/index.d.ts +130 -0
  86. package/dist/@vitest/snapshot/index.js +1437 -0
  87. package/dist/@vitest/snapshot/manager.d.ts +18 -0
  88. package/dist/@vitest/snapshot/manager.js +73 -0
  89. package/dist/@vitest/snapshot/rawSnapshot.d-lFsMJFUd.d.ts +61 -0
  90. package/dist/@vitest/spy/index.d.ts +384 -0
  91. package/dist/@vitest/spy/index.js +433 -0
  92. package/dist/@vitest/utils/chunk-_commonjsHelpers.js +5 -0
  93. package/dist/@vitest/utils/chunk-pathe.M-eThtNZ.js +156 -0
  94. package/dist/@vitest/utils/constants.d.ts +21 -0
  95. package/dist/@vitest/utils/constants.js +49 -0
  96. package/dist/@vitest/utils/diff.d.ts +93 -0
  97. package/dist/@vitest/utils/diff.js +2199 -0
  98. package/dist/@vitest/utils/display.d.ts +29 -0
  99. package/dist/@vitest/utils/display.js +742 -0
  100. package/dist/@vitest/utils/error.d.ts +7 -0
  101. package/dist/@vitest/utils/error.js +42 -0
  102. package/dist/@vitest/utils/helpers.d.ts +73 -0
  103. package/dist/@vitest/utils/helpers.js +295 -0
  104. package/dist/@vitest/utils/highlight.d.ts +9 -0
  105. package/dist/@vitest/utils/highlight.js +538 -0
  106. package/dist/@vitest/utils/index.d.ts +5 -0
  107. package/dist/@vitest/utils/index.js +1 -0
  108. package/dist/@vitest/utils/offset.d.ts +5 -0
  109. package/dist/@vitest/utils/offset.js +32 -0
  110. package/dist/@vitest/utils/resolver.d.ts +7 -0
  111. package/dist/@vitest/utils/resolver.js +71 -0
  112. package/dist/@vitest/utils/serialize.d.ts +3 -0
  113. package/dist/@vitest/utils/serialize.js +118 -0
  114. package/dist/@vitest/utils/source-map.d.ts +55 -0
  115. package/dist/@vitest/utils/source-map.js +478 -0
  116. package/dist/@vitest/utils/timers.d.ts +33 -0
  117. package/dist/@vitest/utils/timers.js +49 -0
  118. package/dist/@vitest/utils/types.d-BCElaP-c.d.ts +53 -0
  119. package/dist/@vitest/utils/types.d.ts +34 -0
  120. package/dist/@vitest/utils/types.js +1 -0
  121. package/dist/browser-compat.js +3 -0
  122. package/dist/browser.d.ts +46 -0
  123. package/dist/browser.js +20 -0
  124. package/dist/chunks/_commonjsHelpers.D26ty3Ew.js +6 -0
  125. package/dist/chunks/base.CJ0Y4ePK.js +165 -0
  126. package/dist/chunks/benchmark.B3N2zMcH.js +40 -0
  127. package/dist/chunks/benchmark.d.DAaHLpsq.d.ts +24 -0
  128. package/dist/chunks/browser.d.ChKACdzH.d.ts +59 -0
  129. package/dist/chunks/cac.DVeoLl0M.js +1409 -0
  130. package/dist/chunks/cli-api.B7PN_QUv.js +13672 -0
  131. package/dist/chunks/config.d.Cy95HiCx.d.ts +210 -0
  132. package/dist/chunks/console.Cf-YriPC.js +146 -0
  133. package/dist/chunks/constants.D_Q9UYh-.js +36 -0
  134. package/dist/chunks/coverage.AVPTjMgw.js +3292 -0
  135. package/dist/chunks/coverage.D_JHT54q.js +25 -0
  136. package/dist/chunks/coverage.d.BZtK59WP.d.ts +37 -0
  137. package/dist/chunks/creator.DAmOKTvJ.js +673 -0
  138. package/dist/chunks/date.Bq6ZW5rf.js +73 -0
  139. package/dist/chunks/defaults.BOqNVLsY.js +74 -0
  140. package/dist/chunks/env.D4Lgay0q.js +8 -0
  141. package/dist/chunks/environment.d.CrsxCzP1.d.ts +29 -0
  142. package/dist/chunks/evaluatedModules.Dg1zASAC.js +17 -0
  143. package/dist/chunks/evaluatedModules.d.BxJ5omdx.d.ts +7 -0
  144. package/dist/chunks/git.Bm2pzPAa.js +71 -0
  145. package/dist/chunks/global.d.B15mdLcR.d.ts +99 -0
  146. package/dist/chunks/globals.DOayXfHP.js +30 -0
  147. package/dist/chunks/index.6Qv1eEA6.js +109 -0
  148. package/dist/chunks/index.C5r1PdPD.js +231 -0
  149. package/dist/chunks/index.Chj8NDwU.js +206 -0
  150. package/dist/chunks/index.CyBMJtT7.js +727 -0
  151. package/dist/chunks/index.D3XRDfWc.js +213 -0
  152. package/dist/chunks/index.D4KonVSU.js +6343 -0
  153. package/dist/chunks/index.M8mOzt4Y.js +3839 -0
  154. package/dist/chunks/index.Z5E_ObnR.js +37 -0
  155. package/dist/chunks/init-forks._y3TW739.js +41 -0
  156. package/dist/chunks/init-threads.DBO2kn-p.js +18 -0
  157. package/dist/chunks/init.B6MLFIaN.js +334 -0
  158. package/dist/chunks/inspector.CvyFGlXm.js +53 -0
  159. package/dist/chunks/modules.BJuCwlRJ.js +36 -0
  160. package/dist/chunks/node.Ce0vMQM7.js +14 -0
  161. package/dist/chunks/plugin.d.CtqpEehP.d.ts +38 -0
  162. package/dist/chunks/reporters.d.CWXNI2jG.d.ts +3271 -0
  163. package/dist/chunks/rpc.BoxB0q7B.js +76 -0
  164. package/dist/chunks/rpc.d.RH3apGEf.d.ts +64 -0
  165. package/dist/chunks/setup-common.Cm-kSBVi.js +60 -0
  166. package/dist/chunks/startModuleRunner.DEj0jb3e.js +861 -0
  167. package/dist/chunks/suite.d.BJWk38HB.d.ts +10 -0
  168. package/dist/chunks/test.B8ej_ZHS.js +254 -0
  169. package/dist/chunks/traces.CCmnQaNT.js +217 -0
  170. package/dist/chunks/traces.d.402V_yFI.d.ts +18 -0
  171. package/dist/chunks/utils.DvEY5TfP.js +52 -0
  172. package/dist/chunks/vi.2VT5v0um.js +3919 -0
  173. package/dist/chunks/vm.D3epNOPZ.js +744 -0
  174. package/dist/chunks/worker.d.Dyxm8DEL.d.ts +255 -0
  175. package/dist/cli.js +28 -0
  176. package/dist/client/.vite/manifest.json +24 -0
  177. package/dist/client/__vitest__/assets/index-BUCFJtth.js +57 -0
  178. package/dist/client/__vitest__/assets/index-DlhE0rqZ.css +1 -0
  179. package/dist/client/__vitest__/bg.png +0 -0
  180. package/dist/client/__vitest__/favicon.ico +0 -0
  181. package/dist/client/__vitest__/favicon.svg +5 -0
  182. package/dist/client/__vitest__/index.html +32 -0
  183. package/dist/client/__vitest_browser__/orchestrator-S_3e_uzt.js +345 -0
  184. package/dist/client/__vitest_browser__/tester-k74mgIRa.js +2171 -0
  185. package/dist/client/__vitest_browser__/utils-uxqdqUz8.js +223 -0
  186. package/dist/client/error-catcher.js +82 -0
  187. package/dist/client/esm-client-injector.js +67 -0
  188. package/dist/client/favicon.svg +5 -0
  189. package/dist/client/orchestrator.html +35 -0
  190. package/dist/client/tester/tester.html +13 -0
  191. package/dist/client.js +456 -0
  192. package/dist/config.cjs +94 -0
  193. package/dist/config.d.ts +104 -0
  194. package/dist/config.js +15 -0
  195. package/dist/context.js +541 -0
  196. package/dist/coverage.d.ts +118 -0
  197. package/dist/coverage.js +23 -0
  198. package/dist/dummy.js +2 -0
  199. package/dist/environments.d.ts +22 -0
  200. package/dist/environments.js +3 -0
  201. package/dist/expect-element.js +27 -0
  202. package/dist/index-D6m36C6U.js +6 -0
  203. package/dist/index-node.js +7 -0
  204. package/dist/index.d.ts +510 -0
  205. package/dist/index.js +19 -0
  206. package/dist/locators.d.ts +354 -0
  207. package/dist/locators.js +1 -0
  208. package/dist/mocker.d.ts +1 -0
  209. package/dist/mocker.js +1 -0
  210. package/dist/module-evaluator.d.ts +124 -0
  211. package/dist/module-evaluator.js +343 -0
  212. package/dist/module-runner-stub.js +44 -0
  213. package/dist/module-runner.js +17 -0
  214. package/dist/node.d.ts +251 -0
  215. package/dist/node.js +98 -0
  216. package/dist/path.js +7 -0
  217. package/dist/plugins/browser-client.mjs +2 -0
  218. package/dist/plugins/browser-context.mjs +2 -0
  219. package/dist/plugins/browser-locators.mjs +2 -0
  220. package/dist/plugins/browser-playwright.mjs +2 -0
  221. package/dist/plugins/browser-preview.mjs +2 -0
  222. package/dist/plugins/browser-webdriverio.mjs +2 -0
  223. package/dist/plugins/browser.mjs +2 -0
  224. package/dist/plugins/expect.mjs +2 -0
  225. package/dist/plugins/mocker-automock.mjs +2 -0
  226. package/dist/plugins/mocker-browser.mjs +2 -0
  227. package/dist/plugins/mocker-node.mjs +2 -0
  228. package/dist/plugins/mocker-redirect.mjs +2 -0
  229. package/dist/plugins/mocker-register.mjs +2 -0
  230. package/dist/plugins/mocker.mjs +2 -0
  231. package/dist/plugins/pretty-format.mjs +2 -0
  232. package/dist/plugins/runner-types.mjs +2 -0
  233. package/dist/plugins/runner-utils.mjs +2 -0
  234. package/dist/plugins/runner.mjs +2 -0
  235. package/dist/plugins/snapshot-environment.mjs +2 -0
  236. package/dist/plugins/snapshot-manager.mjs +2 -0
  237. package/dist/plugins/snapshot.mjs +2 -0
  238. package/dist/plugins/spy.mjs +2 -0
  239. package/dist/plugins/utils-constants.mjs +2 -0
  240. package/dist/plugins/utils-diff.mjs +2 -0
  241. package/dist/plugins/utils-display.mjs +2 -0
  242. package/dist/plugins/utils-error.mjs +2 -0
  243. package/dist/plugins/utils-helpers.mjs +2 -0
  244. package/dist/plugins/utils-highlight.mjs +2 -0
  245. package/dist/plugins/utils-offset.mjs +2 -0
  246. package/dist/plugins/utils-resolver.mjs +2 -0
  247. package/dist/plugins/utils-serialize.mjs +2 -0
  248. package/dist/plugins/utils-source-map.mjs +2 -0
  249. package/dist/plugins/utils-timers.mjs +2 -0
  250. package/dist/plugins/utils.mjs +2 -0
  251. package/dist/reporters.d.ts +27 -0
  252. package/dist/reporters.js +24 -0
  253. package/dist/runners.d.ts +50 -0
  254. package/dist/runners.js +19 -0
  255. package/dist/shared/screenshotMatcher/types.d.ts +22 -0
  256. package/dist/snapshot.d.ts +9 -0
  257. package/dist/snapshot.js +4 -0
  258. package/dist/spy.js +1 -0
  259. package/dist/state.js +280 -0
  260. package/dist/suite.d.ts +5 -0
  261. package/dist/suite.js +6 -0
  262. package/dist/types.d.ts +69 -0
  263. package/dist/vendor/chai.d.mts +1 -0
  264. package/dist/vendor/chai.mjs +3577 -0
  265. package/dist/vendor/es-module-lexer.d.mts +193 -0
  266. package/dist/vendor/es-module-lexer.mjs +79 -0
  267. package/dist/vendor/estree-walker.d.mts +583 -0
  268. package/dist/vendor/estree-walker.mjs +339 -0
  269. package/dist/vendor/expect-type.d.mts +1574 -0
  270. package/dist/vendor/expect-type.mjs +214 -0
  271. package/dist/vendor/magic-string.d.mts +261 -0
  272. package/dist/vendor/magic-string.mjs +1700 -0
  273. package/dist/vendor/obug.d.mts +56 -0
  274. package/dist/vendor/obug.mjs +276 -0
  275. package/dist/vendor/pathe.d.mts +46 -0
  276. package/dist/vendor/pathe.mjs +496 -0
  277. package/dist/vendor/picomatch.d.mts +1 -0
  278. package/dist/vendor/picomatch.mjs +1855 -0
  279. package/dist/vendor/shared-3g9mwCWP.mjs +31 -0
  280. package/dist/vendor/std-env.d.mts +88 -0
  281. package/dist/vendor/std-env.mjs +159 -0
  282. package/dist/vendor/tinybench.d.mts +317 -0
  283. package/dist/vendor/tinybench.mjs +504 -0
  284. package/dist/vendor/tinyexec.d.mts +72 -0
  285. package/dist/vendor/tinyexec.mjs +637 -0
  286. package/dist/vendor/tinyglobby.d.mts +157 -0
  287. package/dist/vendor/tinyglobby.mjs +832 -0
  288. package/dist/vendor/tinyrainbow.d.mts +60 -0
  289. package/dist/vendor/tinyrainbow.mjs +93 -0
  290. package/dist/vendor/vitest_browser.mjs +2 -0
  291. package/dist/vendor/vitest_internal_browser.mjs +2 -0
  292. package/dist/vendor/vitest_runner.mjs +2 -0
  293. package/dist/vendor/vitest_runners.mjs +2 -0
  294. package/dist/worker.d.ts +32 -0
  295. package/dist/worker.js +48 -0
  296. package/dist/workers/forks.js +54 -0
  297. package/dist/workers/runVmTests.js +95 -0
  298. package/dist/workers/threads.js +55 -0
  299. package/dist/workers/vmForks.js +36 -0
  300. package/dist/workers/vmThreads.js +37 -0
  301. package/environments.d.ts +1 -0
  302. package/globals.d.ts +20 -0
  303. package/import-meta.d.ts +5 -0
  304. package/importMeta.d.ts +4 -0
  305. package/index.cjs +5 -0
  306. package/index.d.cts +1 -0
  307. package/jsdom.d.ts +6 -0
  308. package/mocker.d.ts +1 -0
  309. package/node.d.ts +1 -0
  310. package/optional-types.d.ts +7 -0
  311. package/package.json +335 -0
  312. package/reporters.d.ts +1 -0
  313. package/runners.d.ts +1 -0
  314. package/snapshot.d.ts +1 -0
  315. package/suite.d.ts +1 -0
  316. package/suppress-warnings.cjs +21 -0
  317. package/vitest.mjs +2 -0
  318. package/worker.d.ts +1 -0
@@ -0,0 +1,339 @@
1
+ //#region ../../node_modules/.pnpm/estree-walker@3.0.3/node_modules/estree-walker/src/walker.js
2
+ /**
3
+ * @typedef { import('estree').Node} Node
4
+ * @typedef {{
5
+ * skip: () => void;
6
+ * remove: () => void;
7
+ * replace: (node: Node) => void;
8
+ * }} WalkerContext
9
+ */
10
+ var WalkerBase = class {
11
+ constructor() {
12
+ /** @type {boolean} */
13
+ this.should_skip = false;
14
+ /** @type {boolean} */
15
+ this.should_remove = false;
16
+ /** @type {Node | null} */
17
+ this.replacement = null;
18
+ /** @type {WalkerContext} */
19
+ this.context = {
20
+ skip: () => this.should_skip = true,
21
+ remove: () => this.should_remove = true,
22
+ replace: (node) => this.replacement = node
23
+ };
24
+ }
25
+ /**
26
+ * @template {Node} Parent
27
+ * @param {Parent | null | undefined} parent
28
+ * @param {keyof Parent | null | undefined} prop
29
+ * @param {number | null | undefined} index
30
+ * @param {Node} node
31
+ */
32
+ replace(parent, prop, index, node) {
33
+ if (parent && prop) {
34
+ if (index != null) {
35
+ /** @type {Array<Node>} */ parent[prop][index] = node;
36
+ } else {
37
+ /** @type {Node} */ parent[prop] = node;
38
+ }
39
+ }
40
+ }
41
+ /**
42
+ * @template {Node} Parent
43
+ * @param {Parent | null | undefined} parent
44
+ * @param {keyof Parent | null | undefined} prop
45
+ * @param {number | null | undefined} index
46
+ */
47
+ remove(parent, prop, index) {
48
+ if (parent && prop) {
49
+ if (index !== null && index !== undefined) {
50
+ /** @type {Array<Node>} */ parent[prop].splice(index, 1);
51
+ } else {
52
+ delete parent[prop];
53
+ }
54
+ }
55
+ }
56
+ };
57
+
58
+ //#endregion
59
+ //#region ../../node_modules/.pnpm/estree-walker@3.0.3/node_modules/estree-walker/src/sync.js
60
+ /**
61
+ * @typedef { import('estree').Node} Node
62
+ * @typedef { import('./walker.js').WalkerContext} WalkerContext
63
+ * @typedef {(
64
+ * this: WalkerContext,
65
+ * node: Node,
66
+ * parent: Node | null,
67
+ * key: string | number | symbol | null | undefined,
68
+ * index: number | null | undefined
69
+ * ) => void} SyncHandler
70
+ */
71
+ var SyncWalker = class extends WalkerBase {
72
+ /**
73
+ *
74
+ * @param {SyncHandler} [enter]
75
+ * @param {SyncHandler} [leave]
76
+ */
77
+ constructor(enter, leave) {
78
+ super();
79
+ /** @type {boolean} */
80
+ this.should_skip = false;
81
+ /** @type {boolean} */
82
+ this.should_remove = false;
83
+ /** @type {Node | null} */
84
+ this.replacement = null;
85
+ /** @type {WalkerContext} */
86
+ this.context = {
87
+ skip: () => this.should_skip = true,
88
+ remove: () => this.should_remove = true,
89
+ replace: (node) => this.replacement = node
90
+ };
91
+ /** @type {SyncHandler | undefined} */
92
+ this.enter = enter;
93
+ /** @type {SyncHandler | undefined} */
94
+ this.leave = leave;
95
+ }
96
+ /**
97
+ * @template {Node} Parent
98
+ * @param {Node} node
99
+ * @param {Parent | null} parent
100
+ * @param {keyof Parent} [prop]
101
+ * @param {number | null} [index]
102
+ * @returns {Node | null}
103
+ */
104
+ visit(node, parent, prop, index) {
105
+ if (node) {
106
+ if (this.enter) {
107
+ const _should_skip = this.should_skip;
108
+ const _should_remove = this.should_remove;
109
+ const _replacement = this.replacement;
110
+ this.should_skip = false;
111
+ this.should_remove = false;
112
+ this.replacement = null;
113
+ this.enter.call(this.context, node, parent, prop, index);
114
+ if (this.replacement) {
115
+ node = this.replacement;
116
+ this.replace(parent, prop, index, node);
117
+ }
118
+ if (this.should_remove) {
119
+ this.remove(parent, prop, index);
120
+ }
121
+ const skipped = this.should_skip;
122
+ const removed = this.should_remove;
123
+ this.should_skip = _should_skip;
124
+ this.should_remove = _should_remove;
125
+ this.replacement = _replacement;
126
+ if (skipped) return node;
127
+ if (removed) return null;
128
+ }
129
+ /** @type {keyof Node} */
130
+ let key;
131
+ for (key in node) {
132
+ /** @type {unknown} */
133
+ const value = node[key];
134
+ if (value && typeof value === "object") {
135
+ if (Array.isArray(value)) {
136
+ const nodes = value;
137
+ for (let i = 0; i < nodes.length; i += 1) {
138
+ const item = nodes[i];
139
+ if (isNode$1(item)) {
140
+ if (!this.visit(item, node, key, i)) {
141
+ i--;
142
+ }
143
+ }
144
+ }
145
+ } else if (isNode$1(value)) {
146
+ this.visit(value, node, key, null);
147
+ }
148
+ }
149
+ }
150
+ if (this.leave) {
151
+ const _replacement = this.replacement;
152
+ const _should_remove = this.should_remove;
153
+ this.replacement = null;
154
+ this.should_remove = false;
155
+ this.leave.call(this.context, node, parent, prop, index);
156
+ if (this.replacement) {
157
+ node = this.replacement;
158
+ this.replace(parent, prop, index, node);
159
+ }
160
+ if (this.should_remove) {
161
+ this.remove(parent, prop, index);
162
+ }
163
+ const removed = this.should_remove;
164
+ this.replacement = _replacement;
165
+ this.should_remove = _should_remove;
166
+ if (removed) return null;
167
+ }
168
+ }
169
+ return node;
170
+ }
171
+ };
172
+ /**
173
+ * Ducktype a node.
174
+ *
175
+ * @param {unknown} value
176
+ * @returns {value is Node}
177
+ */
178
+ function isNode$1(value) {
179
+ return value !== null && typeof value === "object" && "type" in value && typeof value.type === "string";
180
+ }
181
+
182
+ //#endregion
183
+ //#region ../../node_modules/.pnpm/estree-walker@3.0.3/node_modules/estree-walker/src/async.js
184
+ /**
185
+ * @typedef { import('estree').Node} Node
186
+ * @typedef { import('./walker.js').WalkerContext} WalkerContext
187
+ * @typedef {(
188
+ * this: WalkerContext,
189
+ * node: Node,
190
+ * parent: Node | null,
191
+ * key: string | number | symbol | null | undefined,
192
+ * index: number | null | undefined
193
+ * ) => Promise<void>} AsyncHandler
194
+ */
195
+ var AsyncWalker = class extends WalkerBase {
196
+ /**
197
+ *
198
+ * @param {AsyncHandler} [enter]
199
+ * @param {AsyncHandler} [leave]
200
+ */
201
+ constructor(enter, leave) {
202
+ super();
203
+ /** @type {boolean} */
204
+ this.should_skip = false;
205
+ /** @type {boolean} */
206
+ this.should_remove = false;
207
+ /** @type {Node | null} */
208
+ this.replacement = null;
209
+ /** @type {WalkerContext} */
210
+ this.context = {
211
+ skip: () => this.should_skip = true,
212
+ remove: () => this.should_remove = true,
213
+ replace: (node) => this.replacement = node
214
+ };
215
+ /** @type {AsyncHandler | undefined} */
216
+ this.enter = enter;
217
+ /** @type {AsyncHandler | undefined} */
218
+ this.leave = leave;
219
+ }
220
+ /**
221
+ * @template {Node} Parent
222
+ * @param {Node} node
223
+ * @param {Parent | null} parent
224
+ * @param {keyof Parent} [prop]
225
+ * @param {number | null} [index]
226
+ * @returns {Promise<Node | null>}
227
+ */
228
+ async visit(node, parent, prop, index) {
229
+ if (node) {
230
+ if (this.enter) {
231
+ const _should_skip = this.should_skip;
232
+ const _should_remove = this.should_remove;
233
+ const _replacement = this.replacement;
234
+ this.should_skip = false;
235
+ this.should_remove = false;
236
+ this.replacement = null;
237
+ await this.enter.call(this.context, node, parent, prop, index);
238
+ if (this.replacement) {
239
+ node = this.replacement;
240
+ this.replace(parent, prop, index, node);
241
+ }
242
+ if (this.should_remove) {
243
+ this.remove(parent, prop, index);
244
+ }
245
+ const skipped = this.should_skip;
246
+ const removed = this.should_remove;
247
+ this.should_skip = _should_skip;
248
+ this.should_remove = _should_remove;
249
+ this.replacement = _replacement;
250
+ if (skipped) return node;
251
+ if (removed) return null;
252
+ }
253
+ /** @type {keyof Node} */
254
+ let key;
255
+ for (key in node) {
256
+ /** @type {unknown} */
257
+ const value = node[key];
258
+ if (value && typeof value === "object") {
259
+ if (Array.isArray(value)) {
260
+ const nodes = value;
261
+ for (let i = 0; i < nodes.length; i += 1) {
262
+ const item = nodes[i];
263
+ if (isNode(item)) {
264
+ if (!await this.visit(item, node, key, i)) {
265
+ i--;
266
+ }
267
+ }
268
+ }
269
+ } else if (isNode(value)) {
270
+ await this.visit(value, node, key, null);
271
+ }
272
+ }
273
+ }
274
+ if (this.leave) {
275
+ const _replacement = this.replacement;
276
+ const _should_remove = this.should_remove;
277
+ this.replacement = null;
278
+ this.should_remove = false;
279
+ await this.leave.call(this.context, node, parent, prop, index);
280
+ if (this.replacement) {
281
+ node = this.replacement;
282
+ this.replace(parent, prop, index, node);
283
+ }
284
+ if (this.should_remove) {
285
+ this.remove(parent, prop, index);
286
+ }
287
+ const removed = this.should_remove;
288
+ this.replacement = _replacement;
289
+ this.should_remove = _should_remove;
290
+ if (removed) return null;
291
+ }
292
+ }
293
+ return node;
294
+ }
295
+ };
296
+ /**
297
+ * Ducktype a node.
298
+ *
299
+ * @param {unknown} value
300
+ * @returns {value is Node}
301
+ */
302
+ function isNode(value) {
303
+ return value !== null && typeof value === "object" && "type" in value && typeof value.type === "string";
304
+ }
305
+
306
+ //#endregion
307
+ //#region ../../node_modules/.pnpm/estree-walker@3.0.3/node_modules/estree-walker/src/index.js
308
+ /**
309
+ * @typedef {import('estree').Node} Node
310
+ * @typedef {import('./sync.js').SyncHandler} SyncHandler
311
+ * @typedef {import('./async.js').AsyncHandler} AsyncHandler
312
+ */
313
+ /**
314
+ * @param {Node} ast
315
+ * @param {{
316
+ * enter?: SyncHandler
317
+ * leave?: SyncHandler
318
+ * }} walker
319
+ * @returns {Node | null}
320
+ */
321
+ function walk(ast, { enter, leave }) {
322
+ const instance = new SyncWalker(enter, leave);
323
+ return instance.visit(ast, null);
324
+ }
325
+ /**
326
+ * @param {Node} ast
327
+ * @param {{
328
+ * enter?: AsyncHandler
329
+ * leave?: AsyncHandler
330
+ * }} walker
331
+ * @returns {Promise<Node | null>}
332
+ */
333
+ async function asyncWalk(ast, { enter, leave }) {
334
+ const instance = new AsyncWalker(enter, leave);
335
+ return await instance.visit(ast, null);
336
+ }
337
+
338
+ //#endregion
339
+ export { asyncWalk, walk };