@jcheesepkg/nanobot 0.9.1 → 0.9.2

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 (245) hide show
  1. package/README.md +18 -18
  2. package/dist/agent/context.d.mts +4 -4
  3. package/dist/agent/context.d.mts.map +1 -1
  4. package/dist/agent/context.mjs +27 -28
  5. package/dist/agent/context.mjs.map +1 -1
  6. package/dist/agent/loop.d.mts +5 -3
  7. package/dist/agent/loop.d.mts.map +1 -1
  8. package/dist/agent/loop.mjs +64 -55
  9. package/dist/agent/loop.mjs.map +1 -1
  10. package/dist/agent/memory.d.mts.map +1 -1
  11. package/dist/agent/memory.mjs +3 -3
  12. package/dist/agent/memory.mjs.map +1 -1
  13. package/dist/agent/skills.d.mts.map +1 -1
  14. package/dist/agent/skills.mjs +4 -4
  15. package/dist/agent/skills.mjs.map +1 -1
  16. package/dist/agent/subagent.d.mts.map +1 -1
  17. package/dist/agent/subagent.mjs +22 -22
  18. package/dist/agent/subagent.mjs.map +1 -1
  19. package/dist/agent/tools/base.mjs +2 -2
  20. package/dist/agent/tools/base.mjs.map +1 -1
  21. package/dist/agent/tools/cron.d.mts +1 -1
  22. package/dist/agent/tools/cron.d.mts.map +1 -1
  23. package/dist/agent/tools/cron.mjs +11 -11
  24. package/dist/agent/tools/cron.mjs.map +1 -1
  25. package/dist/agent/tools/filesystem.d.mts +4 -4
  26. package/dist/agent/tools/filesystem.d.mts.map +1 -1
  27. package/dist/agent/tools/filesystem.mjs +20 -20
  28. package/dist/agent/tools/filesystem.mjs.map +1 -1
  29. package/dist/agent/tools/flex.d.mts +1 -1
  30. package/dist/agent/tools/flex.d.mts.map +1 -1
  31. package/dist/agent/tools/flex.mjs +112 -112
  32. package/dist/agent/tools/flex.mjs.map +1 -1
  33. package/dist/agent/tools/flex.test.mjs +60 -59
  34. package/dist/agent/tools/flex.test.mjs.map +1 -1
  35. package/dist/agent/tools/message.d.mts +1 -1
  36. package/dist/agent/tools/message.d.mts.map +1 -1
  37. package/dist/agent/tools/message.mjs +4 -4
  38. package/dist/agent/tools/message.mjs.map +1 -1
  39. package/dist/agent/tools/registry.d.mts.map +1 -1
  40. package/dist/agent/tools/registry.mjs +4 -4
  41. package/dist/agent/tools/registry.mjs.map +1 -1
  42. package/dist/agent/tools/shell.d.mts +1 -1
  43. package/dist/agent/tools/shell.mjs +4 -4
  44. package/dist/agent/tools/shell.mjs.map +1 -1
  45. package/dist/agent/tools/spawn.d.mts +1 -1
  46. package/dist/agent/tools/spawn.d.mts.map +1 -1
  47. package/dist/agent/tools/spawn.mjs +4 -4
  48. package/dist/agent/tools/spawn.mjs.map +1 -1
  49. package/dist/agent/tools/web.d.mts +2 -2
  50. package/dist/agent/tools/web.d.mts.map +1 -1
  51. package/dist/agent/tools/web.mjs +36 -36
  52. package/dist/agent/tools/web.mjs.map +1 -1
  53. package/dist/bus/events.mjs +1 -1
  54. package/dist/bus/events.mjs.map +1 -1
  55. package/dist/bus/queue.d.mts.map +1 -1
  56. package/dist/bus/queue.mjs.map +1 -1
  57. package/dist/channels/base.d.mts.map +1 -1
  58. package/dist/channels/base.mjs +2 -2
  59. package/dist/channels/base.mjs.map +1 -1
  60. package/dist/channels/line.d.mts +1 -0
  61. package/dist/channels/line.d.mts.map +1 -1
  62. package/dist/channels/line.mjs +65 -65
  63. package/dist/channels/line.mjs.map +1 -1
  64. package/dist/channels/line.test.mjs +26 -27
  65. package/dist/channels/line.test.mjs.map +1 -1
  66. package/dist/channels/manager.d.mts.map +1 -1
  67. package/dist/channels/manager.mjs +9 -9
  68. package/dist/channels/manager.mjs.map +1 -1
  69. package/dist/channels/telegram.mjs +34 -34
  70. package/dist/channels/telegram.mjs.map +1 -1
  71. package/dist/cli/index.mjs +36 -36
  72. package/dist/cli/index.mjs.map +1 -1
  73. package/dist/config/loader.d.mts.map +1 -1
  74. package/dist/config/loader.mjs +1 -1
  75. package/dist/config/loader.mjs.map +1 -1
  76. package/dist/config/schema.d.mts +387 -387
  77. package/dist/config/schema.d.mts.map +1 -1
  78. package/dist/config/schema.mjs +42 -42
  79. package/dist/config/schema.mjs.map +1 -1
  80. package/dist/gateway/server.d.mts.map +1 -1
  81. package/dist/gateway/server.mjs +48 -54
  82. package/dist/gateway/server.mjs.map +1 -1
  83. package/dist/heartbeat/service.d.mts.map +1 -1
  84. package/dist/heartbeat/service.mjs +8 -8
  85. package/dist/heartbeat/service.mjs.map +1 -1
  86. package/dist/index.d.mts +1 -1
  87. package/dist/index.d.mts.map +1 -1
  88. package/dist/index.mjs +2 -2
  89. package/dist/index.mjs.map +1 -1
  90. package/dist/node_modules/{@jridgewell → .bun/@jridgewell_sourcemap-codec@1.5.5/node_modules/@jridgewell}/sourcemap-codec/dist/sourcemap-codec.mjs +1 -1
  91. package/dist/node_modules/.bun/@jridgewell_sourcemap-codec@1.5.5/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs.map +1 -0
  92. package/dist/node_modules/{@vitest → .bun/@vitest_expect@2.1.9/node_modules/@vitest}/expect/dist/index.mjs +8 -8
  93. package/dist/node_modules/.bun/@vitest_expect@2.1.9/node_modules/@vitest/expect/dist/index.mjs.map +1 -0
  94. package/dist/node_modules/{@vitest → .bun/@vitest_pretty-format@2.1.9/node_modules/@vitest}/pretty-format/dist/index.mjs +2 -2
  95. package/dist/node_modules/.bun/@vitest_pretty-format@2.1.9/node_modules/@vitest/pretty-format/dist/index.mjs.map +1 -0
  96. package/dist/node_modules/{@vitest → .bun/@vitest_runner@2.1.9/node_modules/@vitest}/runner/dist/chunk-tasks.mjs +1 -1
  97. package/dist/node_modules/.bun/@vitest_runner@2.1.9/node_modules/@vitest/runner/dist/chunk-tasks.mjs.map +1 -0
  98. package/dist/node_modules/{@vitest → .bun/@vitest_runner@2.1.9/node_modules/@vitest}/runner/dist/index.mjs +6 -6
  99. package/dist/node_modules/.bun/@vitest_runner@2.1.9/node_modules/@vitest/runner/dist/index.mjs.map +1 -0
  100. package/dist/node_modules/{@vitest → .bun/@vitest_snapshot@2.1.9/node_modules/@vitest}/snapshot/dist/index.mjs +5 -5
  101. package/dist/node_modules/.bun/@vitest_snapshot@2.1.9/node_modules/@vitest/snapshot/dist/index.mjs.map +1 -0
  102. package/dist/node_modules/{@vitest → .bun/@vitest_spy@2.1.9/node_modules/@vitest}/spy/dist/index.mjs +2 -2
  103. package/dist/node_modules/.bun/@vitest_spy@2.1.9/node_modules/@vitest/spy/dist/index.mjs.map +1 -0
  104. package/dist/node_modules/{@vitest → .bun/@vitest_utils@2.1.9/node_modules/@vitest}/utils/dist/chunk-_commonjsHelpers.mjs +3 -3
  105. package/dist/node_modules/.bun/@vitest_utils@2.1.9/node_modules/@vitest/utils/dist/chunk-_commonjsHelpers.mjs.map +1 -0
  106. package/dist/node_modules/{@vitest → .bun/@vitest_utils@2.1.9/node_modules/@vitest}/utils/dist/diff.mjs +4 -4
  107. package/dist/node_modules/.bun/@vitest_utils@2.1.9/node_modules/@vitest/utils/dist/diff.mjs.map +1 -0
  108. package/dist/node_modules/{@vitest → .bun/@vitest_utils@2.1.9/node_modules/@vitest}/utils/dist/error.mjs +3 -3
  109. package/dist/node_modules/.bun/@vitest_utils@2.1.9/node_modules/@vitest/utils/dist/error.mjs.map +1 -0
  110. package/dist/node_modules/{@vitest → .bun/@vitest_utils@2.1.9/node_modules/@vitest}/utils/dist/helpers.mjs +1 -1
  111. package/dist/node_modules/.bun/@vitest_utils@2.1.9/node_modules/@vitest/utils/dist/helpers.mjs.map +1 -0
  112. package/dist/node_modules/{@vitest → .bun/@vitest_utils@2.1.9/node_modules/@vitest}/utils/dist/index.mjs +3 -3
  113. package/dist/node_modules/.bun/@vitest_utils@2.1.9/node_modules/@vitest/utils/dist/index.mjs.map +1 -0
  114. package/dist/node_modules/{@vitest → .bun/@vitest_utils@2.1.9/node_modules/@vitest}/utils/dist/source-map.mjs +1 -1
  115. package/dist/node_modules/.bun/@vitest_utils@2.1.9/node_modules/@vitest/utils/dist/source-map.mjs.map +1 -0
  116. package/dist/node_modules/{chai → .bun/chai@5.3.3/node_modules/chai}/index.mjs +1 -1
  117. package/dist/node_modules/.bun/chai@5.3.3/node_modules/chai/index.mjs.map +1 -0
  118. package/dist/node_modules/{loupe → .bun/loupe@3.2.1/node_modules/loupe}/lib/arguments.mjs +1 -1
  119. package/dist/node_modules/.bun/loupe@3.2.1/node_modules/loupe/lib/arguments.mjs.map +1 -0
  120. package/dist/node_modules/{loupe → .bun/loupe@3.2.1/node_modules/loupe}/lib/array.mjs +1 -1
  121. package/dist/node_modules/.bun/loupe@3.2.1/node_modules/loupe/lib/array.mjs.map +1 -0
  122. package/dist/node_modules/{loupe → .bun/loupe@3.2.1/node_modules/loupe}/lib/bigint.mjs +1 -1
  123. package/dist/node_modules/.bun/loupe@3.2.1/node_modules/loupe/lib/bigint.mjs.map +1 -0
  124. package/dist/node_modules/{loupe → .bun/loupe@3.2.1/node_modules/loupe}/lib/class.mjs +1 -1
  125. package/dist/node_modules/.bun/loupe@3.2.1/node_modules/loupe/lib/class.mjs.map +1 -0
  126. package/dist/node_modules/{loupe → .bun/loupe@3.2.1/node_modules/loupe}/lib/date.mjs +1 -1
  127. package/dist/node_modules/.bun/loupe@3.2.1/node_modules/loupe/lib/date.mjs.map +1 -0
  128. package/dist/node_modules/{loupe → .bun/loupe@3.2.1/node_modules/loupe}/lib/error.mjs +1 -1
  129. package/dist/node_modules/.bun/loupe@3.2.1/node_modules/loupe/lib/error.mjs.map +1 -0
  130. package/dist/node_modules/{loupe → .bun/loupe@3.2.1/node_modules/loupe}/lib/function.mjs +1 -1
  131. package/dist/node_modules/.bun/loupe@3.2.1/node_modules/loupe/lib/function.mjs.map +1 -0
  132. package/dist/node_modules/{loupe → .bun/loupe@3.2.1/node_modules/loupe}/lib/helpers.mjs +1 -1
  133. package/dist/node_modules/.bun/loupe@3.2.1/node_modules/loupe/lib/helpers.mjs.map +1 -0
  134. package/dist/node_modules/{loupe → .bun/loupe@3.2.1/node_modules/loupe}/lib/html.mjs +1 -1
  135. package/dist/node_modules/.bun/loupe@3.2.1/node_modules/loupe/lib/html.mjs.map +1 -0
  136. package/dist/node_modules/{loupe → .bun/loupe@3.2.1/node_modules/loupe}/lib/index.mjs +1 -1
  137. package/dist/node_modules/.bun/loupe@3.2.1/node_modules/loupe/lib/index.mjs.map +1 -0
  138. package/dist/node_modules/{loupe → .bun/loupe@3.2.1/node_modules/loupe}/lib/map.mjs +1 -1
  139. package/dist/node_modules/.bun/loupe@3.2.1/node_modules/loupe/lib/map.mjs.map +1 -0
  140. package/dist/node_modules/{loupe → .bun/loupe@3.2.1/node_modules/loupe}/lib/number.mjs +1 -1
  141. package/dist/node_modules/.bun/loupe@3.2.1/node_modules/loupe/lib/number.mjs.map +1 -0
  142. package/dist/node_modules/{loupe → .bun/loupe@3.2.1/node_modules/loupe}/lib/object.mjs +1 -1
  143. package/dist/node_modules/.bun/loupe@3.2.1/node_modules/loupe/lib/object.mjs.map +1 -0
  144. package/dist/node_modules/.bun/loupe@3.2.1/node_modules/loupe/lib/promise.mjs +6 -0
  145. package/dist/node_modules/.bun/loupe@3.2.1/node_modules/loupe/lib/promise.mjs.map +1 -0
  146. package/dist/node_modules/{loupe → .bun/loupe@3.2.1/node_modules/loupe}/lib/regexp.mjs +1 -1
  147. package/dist/node_modules/.bun/loupe@3.2.1/node_modules/loupe/lib/regexp.mjs.map +1 -0
  148. package/dist/node_modules/{loupe → .bun/loupe@3.2.1/node_modules/loupe}/lib/set.mjs +1 -1
  149. package/dist/node_modules/.bun/loupe@3.2.1/node_modules/loupe/lib/set.mjs.map +1 -0
  150. package/dist/node_modules/{loupe → .bun/loupe@3.2.1/node_modules/loupe}/lib/string.mjs +1 -1
  151. package/dist/node_modules/.bun/loupe@3.2.1/node_modules/loupe/lib/string.mjs.map +1 -0
  152. package/dist/node_modules/{loupe → .bun/loupe@3.2.1/node_modules/loupe}/lib/symbol.mjs +1 -1
  153. package/dist/node_modules/.bun/loupe@3.2.1/node_modules/loupe/lib/symbol.mjs.map +1 -0
  154. package/dist/node_modules/{loupe → .bun/loupe@3.2.1/node_modules/loupe}/lib/typedarray.mjs +1 -1
  155. package/dist/node_modules/.bun/loupe@3.2.1/node_modules/loupe/lib/typedarray.mjs.map +1 -0
  156. package/dist/node_modules/{magic-string → .bun/magic-string@0.30.21/node_modules/magic-string}/dist/magic-string.es.mjs +2 -2
  157. package/dist/node_modules/.bun/magic-string@0.30.21/node_modules/magic-string/dist/magic-string.es.mjs.map +1 -0
  158. package/dist/node_modules/{@vitest/snapshot → .bun/pathe@1.1.2}/node_modules/pathe/dist/shared/pathe.ff20891b.mjs +1 -1
  159. package/dist/node_modules/.bun/pathe@1.1.2/node_modules/pathe/dist/shared/pathe.ff20891b.mjs.map +1 -0
  160. package/dist/node_modules/{tinyrainbow → .bun/tinyrainbow@1.2.0/node_modules/tinyrainbow}/dist/chunk-BVHSVHOK.mjs +1 -1
  161. package/dist/node_modules/.bun/tinyrainbow@1.2.0/node_modules/tinyrainbow/dist/chunk-BVHSVHOK.mjs.map +1 -0
  162. package/dist/node_modules/{tinyrainbow → .bun/tinyrainbow@1.2.0/node_modules/tinyrainbow}/dist/node.mjs +1 -1
  163. package/dist/node_modules/.bun/tinyrainbow@1.2.0/node_modules/tinyrainbow/dist/node.mjs.map +1 -0
  164. package/dist/node_modules/{tinyspy → .bun/tinyspy@3.0.2/node_modules/tinyspy}/dist/index.mjs +1 -1
  165. package/dist/node_modules/.bun/tinyspy@3.0.2/node_modules/tinyspy/dist/index.mjs.map +1 -0
  166. package/dist/node_modules/{vitest → .bun/vitest@2.1.9_7700f9e9ace41f23/node_modules/vitest}/dist/chunks/_commonjsHelpers.BFTU3MAI.mjs +1 -1
  167. package/dist/node_modules/.bun/vitest@2.1.9_7700f9e9ace41f23/node_modules/vitest/dist/chunks/_commonjsHelpers.BFTU3MAI.mjs.map +1 -0
  168. package/dist/node_modules/{vitest → .bun/vitest@2.1.9_7700f9e9ace41f23/node_modules/vitest}/dist/chunks/date.W2xKR2qe.mjs +1 -1
  169. package/dist/node_modules/.bun/vitest@2.1.9_7700f9e9ace41f23/node_modules/vitest/dist/chunks/date.W2xKR2qe.mjs.map +1 -0
  170. package/dist/node_modules/{vitest → .bun/vitest@2.1.9_7700f9e9ace41f23/node_modules/vitest}/dist/chunks/utils.C8RiOc4B.mjs +2 -2
  171. package/dist/node_modules/.bun/vitest@2.1.9_7700f9e9ace41f23/node_modules/vitest/dist/chunks/utils.C8RiOc4B.mjs.map +1 -0
  172. package/dist/node_modules/{vitest → .bun/vitest@2.1.9_7700f9e9ace41f23/node_modules/vitest}/dist/chunks/vi.DgezovHB.mjs +11 -11
  173. package/dist/node_modules/.bun/vitest@2.1.9_7700f9e9ace41f23/node_modules/vitest/dist/chunks/vi.DgezovHB.mjs.map +1 -0
  174. package/dist/providers/base.d.mts +2 -2
  175. package/dist/providers/base.d.mts.map +1 -1
  176. package/dist/providers/openai-provider.d.mts.map +1 -1
  177. package/dist/providers/openai-provider.mjs +10 -9
  178. package/dist/providers/openai-provider.mjs.map +1 -1
  179. package/dist/providers/registry.d.mts +1 -1
  180. package/dist/providers/registry.d.mts.map +1 -1
  181. package/dist/providers/registry.mjs +99 -99
  182. package/dist/providers/registry.mjs.map +1 -1
  183. package/dist/session/manager.d.mts +2 -2
  184. package/dist/session/manager.d.mts.map +1 -1
  185. package/dist/session/manager.mjs +18 -19
  186. package/dist/session/manager.mjs.map +1 -1
  187. package/dist/utils/helpers.d.mts.map +1 -1
  188. package/dist/utils/helpers.mjs.map +1 -1
  189. package/package.json +11 -11
  190. package/skills/cron/SKILL.md +12 -8
  191. package/skills/daily-summary/SKILL.md +4 -0
  192. package/skills/english/SKILL.md +21 -7
  193. package/skills/expense/SKILL.md +11 -7
  194. package/skills/fortune/SKILL.md +24 -20
  195. package/skills/habit/SKILL.md +2 -1
  196. package/skills/hydration/SKILL.md +3 -0
  197. package/skills/memory/SKILL.md +1 -0
  198. package/skills/mood/SKILL.md +10 -6
  199. package/skills/skill-creator/SKILL.md +3 -0
  200. package/skills/summarize/SKILL.md +1 -0
  201. package/skills/weather/SKILL.md +10 -8
  202. package/dist/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs.map +0 -1
  203. package/dist/node_modules/@vitest/expect/dist/index.mjs.map +0 -1
  204. package/dist/node_modules/@vitest/pretty-format/dist/index.mjs.map +0 -1
  205. package/dist/node_modules/@vitest/runner/dist/chunk-tasks.mjs.map +0 -1
  206. package/dist/node_modules/@vitest/runner/dist/index.mjs.map +0 -1
  207. package/dist/node_modules/@vitest/snapshot/dist/index.mjs.map +0 -1
  208. package/dist/node_modules/@vitest/snapshot/node_modules/pathe/dist/shared/pathe.ff20891b.mjs.map +0 -1
  209. package/dist/node_modules/@vitest/spy/dist/index.mjs.map +0 -1
  210. package/dist/node_modules/@vitest/utils/dist/chunk-_commonjsHelpers.mjs.map +0 -1
  211. package/dist/node_modules/@vitest/utils/dist/diff.mjs.map +0 -1
  212. package/dist/node_modules/@vitest/utils/dist/error.mjs.map +0 -1
  213. package/dist/node_modules/@vitest/utils/dist/helpers.mjs.map +0 -1
  214. package/dist/node_modules/@vitest/utils/dist/index.mjs.map +0 -1
  215. package/dist/node_modules/@vitest/utils/dist/source-map.mjs.map +0 -1
  216. package/dist/node_modules/chai/index.mjs.map +0 -1
  217. package/dist/node_modules/loupe/lib/arguments.mjs.map +0 -1
  218. package/dist/node_modules/loupe/lib/array.mjs.map +0 -1
  219. package/dist/node_modules/loupe/lib/bigint.mjs.map +0 -1
  220. package/dist/node_modules/loupe/lib/class.mjs.map +0 -1
  221. package/dist/node_modules/loupe/lib/date.mjs.map +0 -1
  222. package/dist/node_modules/loupe/lib/error.mjs.map +0 -1
  223. package/dist/node_modules/loupe/lib/function.mjs.map +0 -1
  224. package/dist/node_modules/loupe/lib/helpers.mjs.map +0 -1
  225. package/dist/node_modules/loupe/lib/html.mjs.map +0 -1
  226. package/dist/node_modules/loupe/lib/index.mjs.map +0 -1
  227. package/dist/node_modules/loupe/lib/map.mjs.map +0 -1
  228. package/dist/node_modules/loupe/lib/number.mjs.map +0 -1
  229. package/dist/node_modules/loupe/lib/object.mjs.map +0 -1
  230. package/dist/node_modules/loupe/lib/promise.mjs +0 -6
  231. package/dist/node_modules/loupe/lib/promise.mjs.map +0 -1
  232. package/dist/node_modules/loupe/lib/regexp.mjs.map +0 -1
  233. package/dist/node_modules/loupe/lib/set.mjs.map +0 -1
  234. package/dist/node_modules/loupe/lib/string.mjs.map +0 -1
  235. package/dist/node_modules/loupe/lib/symbol.mjs.map +0 -1
  236. package/dist/node_modules/loupe/lib/typedarray.mjs.map +0 -1
  237. package/dist/node_modules/magic-string/dist/magic-string.es.mjs.map +0 -1
  238. package/dist/node_modules/tinyrainbow/dist/chunk-BVHSVHOK.mjs.map +0 -1
  239. package/dist/node_modules/tinyrainbow/dist/node.mjs.map +0 -1
  240. package/dist/node_modules/tinyspy/dist/index.mjs.map +0 -1
  241. package/dist/node_modules/vitest/dist/chunks/_commonjsHelpers.BFTU3MAI.mjs.map +0 -1
  242. package/dist/node_modules/vitest/dist/chunks/date.W2xKR2qe.mjs.map +0 -1
  243. package/dist/node_modules/vitest/dist/chunks/utils.C8RiOc4B.mjs.map +0 -1
  244. package/dist/node_modules/vitest/dist/chunks/vi.DgezovHB.mjs.map +0 -1
  245. /package/dist/node_modules/{@vitest → .bun/@vitest_runner@2.1.9/node_modules/@vitest}/runner/dist/utils.mjs +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"error.mjs","names":[],"sources":["../../../../../node_modules/@vitest/utils/dist/error.js"],"sourcesContent":["import { printDiffOrStringify } from './diff.js';\nimport { f as format, s as stringify } from './chunk-_commonjsHelpers.js';\nimport '@vitest/pretty-format';\nimport 'tinyrainbow';\nimport './helpers.js';\nimport 'loupe';\n\nconst IS_RECORD_SYMBOL = \"@@__IMMUTABLE_RECORD__@@\";\nconst IS_COLLECTION_SYMBOL = \"@@__IMMUTABLE_ITERABLE__@@\";\nfunction isImmutable(v) {\n return v && (v[IS_COLLECTION_SYMBOL] || v[IS_RECORD_SYMBOL]);\n}\nconst OBJECT_PROTO = Object.getPrototypeOf({});\nfunction getUnserializableMessage(err) {\n if (err instanceof Error) {\n return `<unserializable>: ${err.message}`;\n }\n if (typeof err === \"string\") {\n return `<unserializable>: ${err}`;\n }\n return \"<unserializable>\";\n}\nfunction serializeValue(val, seen = /* @__PURE__ */ new WeakMap()) {\n if (!val || typeof val === \"string\") {\n return val;\n }\n if (typeof val === \"function\") {\n return `Function<${val.name || \"anonymous\"}>`;\n }\n if (typeof val === \"symbol\") {\n return val.toString();\n }\n if (typeof val !== \"object\") {\n return val;\n }\n if (isImmutable(val)) {\n return serializeValue(val.toJSON(), seen);\n }\n if (val instanceof Promise || val.constructor && val.constructor.prototype === \"AsyncFunction\") {\n return \"Promise\";\n }\n if (typeof Element !== \"undefined\" && val instanceof Element) {\n return val.tagName;\n }\n if (typeof val.asymmetricMatch === \"function\") {\n return `${val.toString()} ${format(val.sample)}`;\n }\n if (typeof val.toJSON === \"function\") {\n return serializeValue(val.toJSON(), seen);\n }\n if (seen.has(val)) {\n return seen.get(val);\n }\n if (Array.isArray(val)) {\n const clone = new Array(val.length);\n seen.set(val, clone);\n val.forEach((e, i) => {\n try {\n clone[i] = serializeValue(e, seen);\n } catch (err) {\n clone[i] = getUnserializableMessage(err);\n }\n });\n return clone;\n } else {\n const clone = /* @__PURE__ */ Object.create(null);\n seen.set(val, clone);\n let obj = val;\n while (obj && obj !== OBJECT_PROTO) {\n Object.getOwnPropertyNames(obj).forEach((key) => {\n if (key in clone) {\n return;\n }\n try {\n clone[key] = serializeValue(val[key], seen);\n } catch (err) {\n delete clone[key];\n clone[key] = getUnserializableMessage(err);\n }\n });\n obj = Object.getPrototypeOf(obj);\n }\n return clone;\n }\n}\nfunction normalizeErrorMessage(message) {\n return message.replace(/__(vite_ssr_import|vi_import)_\\d+__\\./g, \"\");\n}\nfunction processError(_err, diffOptions, seen = /* @__PURE__ */ new WeakSet()) {\n if (!_err || typeof _err !== \"object\") {\n return { message: String(_err) };\n }\n const err = _err;\n if (err.stack) {\n err.stackStr = String(err.stack);\n }\n if (err.name) {\n err.nameStr = String(err.name);\n }\n if (err.showDiff || err.showDiff === void 0 && err.expected !== void 0 && err.actual !== void 0) {\n err.diff = printDiffOrStringify(err.actual, err.expected, {\n ...diffOptions,\n ...err.diffOptions\n });\n }\n if (typeof err.expected !== \"string\") {\n err.expected = stringify(err.expected, 10);\n }\n if (typeof err.actual !== \"string\") {\n err.actual = stringify(err.actual, 10);\n }\n try {\n if (typeof err.message === \"string\") {\n err.message = normalizeErrorMessage(err.message);\n }\n } catch {\n }\n try {\n if (!seen.has(err) && typeof err.cause === \"object\") {\n seen.add(err);\n err.cause = processError(err.cause, diffOptions, seen);\n }\n } catch {\n }\n try {\n return serializeValue(err);\n } catch (e) {\n return serializeValue(\n new Error(\n `Failed to fully serialize error: ${e == null ? void 0 : e.message}\nInner error message: ${err == null ? void 0 : err.message}`\n )\n );\n }\n}\n\nexport { processError, serializeValue as serializeError, serializeValue };\n"],"x_google_ignoreList":[0],"mappings":";;;;;;AAOA,MAAM,mBAAmB;AACzB,MAAM,uBAAuB;AAC7B,SAAS,YAAY,GAAG;AACtB,QAAO,MAAM,EAAE,yBAAyB,EAAE;;AAE5C,MAAM,eAAe,OAAO,eAAe,EAAE,CAAC;AAC9C,SAAS,yBAAyB,KAAK;AACrC,KAAI,eAAe,MACjB,QAAO,qBAAqB,IAAI;AAElC,KAAI,OAAO,QAAQ,SACjB,QAAO,qBAAqB;AAE9B,QAAO;;AAET,SAAS,eAAe,KAAK,uBAAuB,IAAI,SAAS,EAAE;AACjE,KAAI,CAAC,OAAO,OAAO,QAAQ,SACzB,QAAO;AAET,KAAI,OAAO,QAAQ,WACjB,QAAO,YAAY,IAAI,QAAQ,YAAY;AAE7C,KAAI,OAAO,QAAQ,SACjB,QAAO,IAAI,UAAU;AAEvB,KAAI,OAAO,QAAQ,SACjB,QAAO;AAET,KAAI,YAAY,IAAI,CAClB,QAAO,eAAe,IAAI,QAAQ,EAAE,KAAK;AAE3C,KAAI,eAAe,WAAW,IAAI,eAAe,IAAI,YAAY,cAAc,gBAC7E,QAAO;AAET,KAAI,OAAO,YAAY,eAAe,eAAe,QACnD,QAAO,IAAI;AAEb,KAAI,OAAO,IAAI,oBAAoB,WACjC,QAAO,GAAG,IAAI,UAAU,CAAC,GAAG,OAAO,IAAI,OAAO;AAEhD,KAAI,OAAO,IAAI,WAAW,WACxB,QAAO,eAAe,IAAI,QAAQ,EAAE,KAAK;AAE3C,KAAI,KAAK,IAAI,IAAI,CACf,QAAO,KAAK,IAAI,IAAI;AAEtB,KAAI,MAAM,QAAQ,IAAI,EAAE;EACtB,MAAM,QAAQ,IAAI,MAAM,IAAI,OAAO;AACnC,OAAK,IAAI,KAAK,MAAM;AACpB,MAAI,SAAS,GAAG,MAAM;AACpB,OAAI;AACF,UAAM,KAAK,eAAe,GAAG,KAAK;YAC3B,KAAK;AACZ,UAAM,KAAK,yBAAyB,IAAI;;IAE1C;AACF,SAAO;QACF;EACL,MAAM,QAAwB,uBAAO,OAAO,KAAK;AACjD,OAAK,IAAI,KAAK,MAAM;EACpB,IAAI,MAAM;AACV,SAAO,OAAO,QAAQ,cAAc;AAClC,UAAO,oBAAoB,IAAI,CAAC,SAAS,QAAQ;AAC/C,QAAI,OAAO,MACT;AAEF,QAAI;AACF,WAAM,OAAO,eAAe,IAAI,MAAM,KAAK;aACpC,KAAK;AACZ,YAAO,MAAM;AACb,WAAM,OAAO,yBAAyB,IAAI;;KAE5C;AACF,SAAM,OAAO,eAAe,IAAI;;AAElC,SAAO;;;AAGX,SAAS,sBAAsB,SAAS;AACtC,QAAO,QAAQ,QAAQ,0CAA0C,GAAG;;AAEtE,SAAS,aAAa,MAAM,aAAa,uBAAuB,IAAI,SAAS,EAAE;AAC7E,KAAI,CAAC,QAAQ,OAAO,SAAS,SAC3B,QAAO,EAAE,SAAS,OAAO,KAAK,EAAE;CAElC,MAAM,MAAM;AACZ,KAAI,IAAI,MACN,KAAI,WAAW,OAAO,IAAI,MAAM;AAElC,KAAI,IAAI,KACN,KAAI,UAAU,OAAO,IAAI,KAAK;AAEhC,KAAI,IAAI,YAAY,IAAI,aAAa,KAAK,KAAK,IAAI,aAAa,KAAK,KAAK,IAAI,WAAW,KAAK,EAC5F,KAAI,OAAO,qBAAqB,IAAI,QAAQ,IAAI,UAAU;EACxD,GAAG;EACH,GAAG,IAAI;EACR,CAAC;AAEJ,KAAI,OAAO,IAAI,aAAa,SAC1B,KAAI,WAAW,UAAU,IAAI,UAAU,GAAG;AAE5C,KAAI,OAAO,IAAI,WAAW,SACxB,KAAI,SAAS,UAAU,IAAI,QAAQ,GAAG;AAExC,KAAI;AACF,MAAI,OAAO,IAAI,YAAY,SACzB,KAAI,UAAU,sBAAsB,IAAI,QAAQ;SAE5C;AAER,KAAI;AACF,MAAI,CAAC,KAAK,IAAI,IAAI,IAAI,OAAO,IAAI,UAAU,UAAU;AACnD,QAAK,IAAI,IAAI;AACb,OAAI,QAAQ,aAAa,IAAI,OAAO,aAAa,KAAK;;SAElD;AAER,KAAI;AACF,SAAO,eAAe,IAAI;UACnB,GAAG;AACV,SAAO,+BACL,IAAI,MACF,oCAAoC,KAAK,OAAO,KAAK,IAAI,EAAE,QAAQ;uBACpD,OAAO,OAAO,KAAK,IAAI,IAAI,UAC3C,CACF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"helpers.mjs","names":[],"sources":["../../../../../node_modules/@vitest/utils/dist/helpers.js"],"sourcesContent":["function createSimpleStackTrace(options) {\n const { message = \"$$stack trace error\", stackTraceLimit = 1 } = options || {};\n const limit = Error.stackTraceLimit;\n const prepareStackTrace = Error.prepareStackTrace;\n Error.stackTraceLimit = stackTraceLimit;\n Error.prepareStackTrace = (e) => e.stack;\n const err = new Error(message);\n const stackTrace = err.stack || \"\";\n Error.prepareStackTrace = prepareStackTrace;\n Error.stackTraceLimit = limit;\n return stackTrace;\n}\nfunction notNullish(v) {\n return v != null;\n}\nfunction assertTypes(value, name, types) {\n const receivedType = typeof value;\n const pass = types.includes(receivedType);\n if (!pass) {\n throw new TypeError(\n `${name} value must be ${types.join(\" or \")}, received \"${receivedType}\"`\n );\n }\n}\nfunction isPrimitive(value) {\n return value === null || typeof value !== \"function\" && typeof value !== \"object\";\n}\nfunction slash(path) {\n return path.replace(/\\\\/g, \"/\");\n}\nfunction parseRegexp(input) {\n const m = input.match(/(\\/?)(.+)\\1([a-z]*)/i);\n if (!m) {\n return /$^/;\n }\n if (m[3] && !/^(?!.*?(.).*?\\1)[gmixXsuUAJ]+$/.test(m[3])) {\n return new RegExp(input);\n }\n return new RegExp(m[2], m[3]);\n}\nfunction toArray(array) {\n if (array === null || array === void 0) {\n array = [];\n }\n if (Array.isArray(array)) {\n return array;\n }\n return [array];\n}\nfunction isObject(item) {\n return item != null && typeof item === \"object\" && !Array.isArray(item);\n}\nfunction isFinalObj(obj) {\n return obj === Object.prototype || obj === Function.prototype || obj === RegExp.prototype;\n}\nfunction getType(value) {\n return Object.prototype.toString.apply(value).slice(8, -1);\n}\nfunction collectOwnProperties(obj, collector) {\n const collect = typeof collector === \"function\" ? collector : (key) => collector.add(key);\n Object.getOwnPropertyNames(obj).forEach(collect);\n Object.getOwnPropertySymbols(obj).forEach(collect);\n}\nfunction getOwnProperties(obj) {\n const ownProps = /* @__PURE__ */ new Set();\n if (isFinalObj(obj)) {\n return [];\n }\n collectOwnProperties(obj, ownProps);\n return Array.from(ownProps);\n}\nconst defaultCloneOptions = { forceWritable: false };\nfunction deepClone(val, options = defaultCloneOptions) {\n const seen = /* @__PURE__ */ new WeakMap();\n return clone(val, seen, options);\n}\nfunction clone(val, seen, options = defaultCloneOptions) {\n let k, out;\n if (seen.has(val)) {\n return seen.get(val);\n }\n if (Array.isArray(val)) {\n out = Array.from({ length: k = val.length });\n seen.set(val, out);\n while (k--) {\n out[k] = clone(val[k], seen, options);\n }\n return out;\n }\n if (Object.prototype.toString.call(val) === \"[object Object]\") {\n out = Object.create(Object.getPrototypeOf(val));\n seen.set(val, out);\n const props = getOwnProperties(val);\n for (const k2 of props) {\n const descriptor = Object.getOwnPropertyDescriptor(val, k2);\n if (!descriptor) {\n continue;\n }\n const cloned = clone(val[k2], seen, options);\n if (options.forceWritable) {\n Object.defineProperty(out, k2, {\n enumerable: descriptor.enumerable,\n configurable: true,\n writable: true,\n value: cloned\n });\n } else if (\"get\" in descriptor) {\n Object.defineProperty(out, k2, {\n ...descriptor,\n get() {\n return cloned;\n }\n });\n } else {\n Object.defineProperty(out, k2, {\n ...descriptor,\n value: cloned\n });\n }\n }\n return out;\n }\n return val;\n}\nfunction noop() {\n}\nfunction objectAttr(source, path, defaultValue = void 0) {\n const paths = path.replace(/\\[(\\d+)\\]/g, \".$1\").split(\".\");\n let result = source;\n for (const p of paths) {\n result = new Object(result)[p];\n if (result === void 0) {\n return defaultValue;\n }\n }\n return result;\n}\nfunction createDefer() {\n let resolve = null;\n let reject = null;\n const p = new Promise((_resolve, _reject) => {\n resolve = _resolve;\n reject = _reject;\n });\n p.resolve = resolve;\n p.reject = reject;\n return p;\n}\nfunction getCallLastIndex(code) {\n let charIndex = -1;\n let inString = null;\n let startedBracers = 0;\n let endedBracers = 0;\n let beforeChar = null;\n while (charIndex <= code.length) {\n beforeChar = code[charIndex];\n charIndex++;\n const char = code[charIndex];\n const isCharString = char === '\"' || char === \"'\" || char === \"`\";\n if (isCharString && beforeChar !== \"\\\\\") {\n if (inString === char) {\n inString = null;\n } else if (!inString) {\n inString = char;\n }\n }\n if (!inString) {\n if (char === \"(\") {\n startedBracers++;\n }\n if (char === \")\") {\n endedBracers++;\n }\n }\n if (startedBracers && endedBracers && startedBracers === endedBracers) {\n return charIndex;\n }\n }\n return null;\n}\nfunction isNegativeNaN(val) {\n if (!Number.isNaN(val)) {\n return false;\n }\n const f64 = new Float64Array(1);\n f64[0] = val;\n const u32 = new Uint32Array(f64.buffer);\n const isNegative = u32[1] >>> 31 === 1;\n return isNegative;\n}\nfunction toString(v) {\n return Object.prototype.toString.call(v);\n}\nfunction isPlainObject(val) {\n return toString(val) === \"[object Object]\" && (!val.constructor || val.constructor.name === \"Object\");\n}\nfunction isMergeableObject(item) {\n return isPlainObject(item) && !Array.isArray(item);\n}\nfunction deepMerge(target, ...sources) {\n if (!sources.length) {\n return target;\n }\n const source = sources.shift();\n if (source === void 0) {\n return target;\n }\n if (isMergeableObject(target) && isMergeableObject(source)) {\n Object.keys(source).forEach((key) => {\n const _source = source;\n if (isMergeableObject(_source[key])) {\n if (!target[key]) {\n target[key] = {};\n }\n deepMerge(target[key], _source[key]);\n } else {\n target[key] = _source[key];\n }\n });\n }\n return deepMerge(target, ...sources);\n}\n\nexport { assertTypes, clone, createDefer, createSimpleStackTrace, deepClone, deepMerge, getCallLastIndex, getOwnProperties, getType, isNegativeNaN, isObject, isPrimitive, noop, notNullish, objectAttr, parseRegexp, slash, toArray };\n"],"x_google_ignoreList":[0],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.mjs","names":[],"sources":["../../../../../node_modules/@vitest/utils/dist/index.js"],"sourcesContent":["import { g as getDefaultExportFromCjs } from './chunk-_commonjsHelpers.js';\nexport { f as format, i as inspect, o as objDisplay, s as stringify } from './chunk-_commonjsHelpers.js';\nexport { assertTypes, clone, createDefer, createSimpleStackTrace, deepClone, deepMerge, getCallLastIndex, getOwnProperties, getType, isNegativeNaN, isObject, isPrimitive, noop, notNullish, objectAttr, parseRegexp, slash, toArray } from './helpers.js';\nimport c from 'tinyrainbow';\nimport '@vitest/pretty-format';\nimport 'loupe';\n\nvar jsTokens_1;\nvar hasRequiredJsTokens;\n\nfunction requireJsTokens () {\n\tif (hasRequiredJsTokens) return jsTokens_1;\n\thasRequiredJsTokens = 1;\n\t// Copyright 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Simon Lydell\n\t// License: MIT.\n\tvar Identifier, JSXIdentifier, JSXPunctuator, JSXString, JSXText, KeywordsWithExpressionAfter, KeywordsWithNoLineTerminatorAfter, LineTerminatorSequence, MultiLineComment, Newline, NumericLiteral, Punctuator, RegularExpressionLiteral, SingleLineComment, StringLiteral, Template, TokensNotPrecedingObjectLiteral, TokensPrecedingExpression, WhiteSpace;\n\tRegularExpressionLiteral = /\\/(?![*\\/])(?:\\[(?:(?![\\]\\\\]).|\\\\.)*\\]|(?![\\/\\\\]).|\\\\.)*(\\/[$_\\u200C\\u200D\\p{ID_Continue}]*|\\\\)?/yu;\n\tPunctuator = /--|\\+\\+|=>|\\.{3}|\\??\\.(?!\\d)|(?:&&|\\|\\||\\?\\?|[+\\-%&|^]|\\*{1,2}|<{1,2}|>{1,3}|!=?|={1,2}|\\/(?![\\/*]))=?|[?~,:;[\\](){}]/y;\n\tIdentifier = /(\\x23?)(?=[$_\\p{ID_Start}\\\\])(?:[$_\\u200C\\u200D\\p{ID_Continue}]|\\\\u[\\da-fA-F]{4}|\\\\u\\{[\\da-fA-F]+\\})+/yu;\n\tStringLiteral = /(['\"])(?:(?!\\1)[^\\\\\\n\\r]|\\\\(?:\\r\\n|[^]))*(\\1)?/y;\n\tNumericLiteral = /(?:0[xX][\\da-fA-F](?:_?[\\da-fA-F])*|0[oO][0-7](?:_?[0-7])*|0[bB][01](?:_?[01])*)n?|0n|[1-9](?:_?\\d)*n|(?:(?:0(?!\\d)|0\\d*[89]\\d*|[1-9](?:_?\\d)*)(?:\\.(?:\\d(?:_?\\d)*)?)?|\\.\\d(?:_?\\d)*)(?:[eE][+-]?\\d(?:_?\\d)*)?|0[0-7]+/y;\n\tTemplate = /[`}](?:[^`\\\\$]|\\\\[^]|\\$(?!\\{))*(`|\\$\\{)?/y;\n\tWhiteSpace = /[\\t\\v\\f\\ufeff\\p{Zs}]+/yu;\n\tLineTerminatorSequence = /\\r?\\n|[\\r\\u2028\\u2029]/y;\n\tMultiLineComment = /\\/\\*(?:[^*]|\\*(?!\\/))*(\\*\\/)?/y;\n\tSingleLineComment = /\\/\\/.*/y;\n\tJSXPunctuator = /[<>.:={}]|\\/(?![\\/*])/y;\n\tJSXIdentifier = /[$_\\p{ID_Start}][$_\\u200C\\u200D\\p{ID_Continue}-]*/yu;\n\tJSXString = /(['\"])(?:(?!\\1)[^])*(\\1)?/y;\n\tJSXText = /[^<>{}]+/y;\n\tTokensPrecedingExpression = /^(?:[\\/+-]|\\.{3}|\\?(?:InterpolationIn(?:JSX|Template)|NoLineTerminatorHere|NonExpressionParenEnd|UnaryIncDec))?$|[{}([,;<>=*%&|^!~?:]$/;\n\tTokensNotPrecedingObjectLiteral = /^(?:=>|[;\\]){}]|else|\\?(?:NoLineTerminatorHere|NonExpressionParenEnd))?$/;\n\tKeywordsWithExpressionAfter = /^(?:await|case|default|delete|do|else|instanceof|new|return|throw|typeof|void|yield)$/;\n\tKeywordsWithNoLineTerminatorAfter = /^(?:return|throw|yield)$/;\n\tNewline = RegExp(LineTerminatorSequence.source);\n\tjsTokens_1 = function*(input, {jsx = false} = {}) {\n\t\tvar braces, firstCodePoint, isExpression, lastIndex, lastSignificantToken, length, match, mode, nextLastIndex, nextLastSignificantToken, parenNesting, postfixIncDec, punctuator, stack;\n\t\t({length} = input);\n\t\tlastIndex = 0;\n\t\tlastSignificantToken = \"\";\n\t\tstack = [\n\t\t\t{tag: \"JS\"}\n\t\t];\n\t\tbraces = [];\n\t\tparenNesting = 0;\n\t\tpostfixIncDec = false;\n\t\twhile (lastIndex < length) {\n\t\t\tmode = stack[stack.length - 1];\n\t\t\tswitch (mode.tag) {\n\t\t\t\tcase \"JS\":\n\t\t\t\tcase \"JSNonExpressionParen\":\n\t\t\t\tcase \"InterpolationInTemplate\":\n\t\t\t\tcase \"InterpolationInJSX\":\n\t\t\t\t\tif (input[lastIndex] === \"/\" && (TokensPrecedingExpression.test(lastSignificantToken) || KeywordsWithExpressionAfter.test(lastSignificantToken))) {\n\t\t\t\t\t\tRegularExpressionLiteral.lastIndex = lastIndex;\n\t\t\t\t\t\tif (match = RegularExpressionLiteral.exec(input)) {\n\t\t\t\t\t\t\tlastIndex = RegularExpressionLiteral.lastIndex;\n\t\t\t\t\t\t\tlastSignificantToken = match[0];\n\t\t\t\t\t\t\tpostfixIncDec = true;\n\t\t\t\t\t\t\tyield ({\n\t\t\t\t\t\t\t\ttype: \"RegularExpressionLiteral\",\n\t\t\t\t\t\t\t\tvalue: match[0],\n\t\t\t\t\t\t\t\tclosed: match[1] !== void 0 && match[1] !== \"\\\\\"\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tPunctuator.lastIndex = lastIndex;\n\t\t\t\t\tif (match = Punctuator.exec(input)) {\n\t\t\t\t\t\tpunctuator = match[0];\n\t\t\t\t\t\tnextLastIndex = Punctuator.lastIndex;\n\t\t\t\t\t\tnextLastSignificantToken = punctuator;\n\t\t\t\t\t\tswitch (punctuator) {\n\t\t\t\t\t\t\tcase \"(\":\n\t\t\t\t\t\t\t\tif (lastSignificantToken === \"?NonExpressionParenKeyword\") {\n\t\t\t\t\t\t\t\t\tstack.push({\n\t\t\t\t\t\t\t\t\t\ttag: \"JSNonExpressionParen\",\n\t\t\t\t\t\t\t\t\t\tnesting: parenNesting\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tparenNesting++;\n\t\t\t\t\t\t\t\tpostfixIncDec = false;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \")\":\n\t\t\t\t\t\t\t\tparenNesting--;\n\t\t\t\t\t\t\t\tpostfixIncDec = true;\n\t\t\t\t\t\t\t\tif (mode.tag === \"JSNonExpressionParen\" && parenNesting === mode.nesting) {\n\t\t\t\t\t\t\t\t\tstack.pop();\n\t\t\t\t\t\t\t\t\tnextLastSignificantToken = \"?NonExpressionParenEnd\";\n\t\t\t\t\t\t\t\t\tpostfixIncDec = false;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"{\":\n\t\t\t\t\t\t\t\tPunctuator.lastIndex = 0;\n\t\t\t\t\t\t\t\tisExpression = !TokensNotPrecedingObjectLiteral.test(lastSignificantToken) && (TokensPrecedingExpression.test(lastSignificantToken) || KeywordsWithExpressionAfter.test(lastSignificantToken));\n\t\t\t\t\t\t\t\tbraces.push(isExpression);\n\t\t\t\t\t\t\t\tpostfixIncDec = false;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"}\":\n\t\t\t\t\t\t\t\tswitch (mode.tag) {\n\t\t\t\t\t\t\t\t\tcase \"InterpolationInTemplate\":\n\t\t\t\t\t\t\t\t\t\tif (braces.length === mode.nesting) {\n\t\t\t\t\t\t\t\t\t\t\tTemplate.lastIndex = lastIndex;\n\t\t\t\t\t\t\t\t\t\t\tmatch = Template.exec(input);\n\t\t\t\t\t\t\t\t\t\t\tlastIndex = Template.lastIndex;\n\t\t\t\t\t\t\t\t\t\t\tlastSignificantToken = match[0];\n\t\t\t\t\t\t\t\t\t\t\tif (match[1] === \"${\") {\n\t\t\t\t\t\t\t\t\t\t\t\tlastSignificantToken = \"?InterpolationInTemplate\";\n\t\t\t\t\t\t\t\t\t\t\t\tpostfixIncDec = false;\n\t\t\t\t\t\t\t\t\t\t\t\tyield ({\n\t\t\t\t\t\t\t\t\t\t\t\t\ttype: \"TemplateMiddle\",\n\t\t\t\t\t\t\t\t\t\t\t\t\tvalue: match[0]\n\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\t\tstack.pop();\n\t\t\t\t\t\t\t\t\t\t\t\tpostfixIncDec = true;\n\t\t\t\t\t\t\t\t\t\t\t\tyield ({\n\t\t\t\t\t\t\t\t\t\t\t\t\ttype: \"TemplateTail\",\n\t\t\t\t\t\t\t\t\t\t\t\t\tvalue: match[0],\n\t\t\t\t\t\t\t\t\t\t\t\t\tclosed: match[1] === \"`\"\n\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\tcase \"InterpolationInJSX\":\n\t\t\t\t\t\t\t\t\t\tif (braces.length === mode.nesting) {\n\t\t\t\t\t\t\t\t\t\t\tstack.pop();\n\t\t\t\t\t\t\t\t\t\t\tlastIndex += 1;\n\t\t\t\t\t\t\t\t\t\t\tlastSignificantToken = \"}\";\n\t\t\t\t\t\t\t\t\t\t\tyield ({\n\t\t\t\t\t\t\t\t\t\t\t\ttype: \"JSXPunctuator\",\n\t\t\t\t\t\t\t\t\t\t\t\tvalue: \"}\"\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tpostfixIncDec = braces.pop();\n\t\t\t\t\t\t\t\tnextLastSignificantToken = postfixIncDec ? \"?ExpressionBraceEnd\" : \"}\";\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"]\":\n\t\t\t\t\t\t\t\tpostfixIncDec = true;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"++\":\n\t\t\t\t\t\t\tcase \"--\":\n\t\t\t\t\t\t\t\tnextLastSignificantToken = postfixIncDec ? \"?PostfixIncDec\" : \"?UnaryIncDec\";\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"<\":\n\t\t\t\t\t\t\t\tif (jsx && (TokensPrecedingExpression.test(lastSignificantToken) || KeywordsWithExpressionAfter.test(lastSignificantToken))) {\n\t\t\t\t\t\t\t\t\tstack.push({tag: \"JSXTag\"});\n\t\t\t\t\t\t\t\t\tlastIndex += 1;\n\t\t\t\t\t\t\t\t\tlastSignificantToken = \"<\";\n\t\t\t\t\t\t\t\t\tyield ({\n\t\t\t\t\t\t\t\t\t\ttype: \"JSXPunctuator\",\n\t\t\t\t\t\t\t\t\t\tvalue: punctuator\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tpostfixIncDec = false;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\tpostfixIncDec = false;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tlastIndex = nextLastIndex;\n\t\t\t\t\t\tlastSignificantToken = nextLastSignificantToken;\n\t\t\t\t\t\tyield ({\n\t\t\t\t\t\t\ttype: \"Punctuator\",\n\t\t\t\t\t\t\tvalue: punctuator\n\t\t\t\t\t\t});\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t\tIdentifier.lastIndex = lastIndex;\n\t\t\t\t\tif (match = Identifier.exec(input)) {\n\t\t\t\t\t\tlastIndex = Identifier.lastIndex;\n\t\t\t\t\t\tnextLastSignificantToken = match[0];\n\t\t\t\t\t\tswitch (match[0]) {\n\t\t\t\t\t\t\tcase \"for\":\n\t\t\t\t\t\t\tcase \"if\":\n\t\t\t\t\t\t\tcase \"while\":\n\t\t\t\t\t\t\tcase \"with\":\n\t\t\t\t\t\t\t\tif (lastSignificantToken !== \".\" && lastSignificantToken !== \"?.\") {\n\t\t\t\t\t\t\t\t\tnextLastSignificantToken = \"?NonExpressionParenKeyword\";\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tlastSignificantToken = nextLastSignificantToken;\n\t\t\t\t\t\tpostfixIncDec = !KeywordsWithExpressionAfter.test(match[0]);\n\t\t\t\t\t\tyield ({\n\t\t\t\t\t\t\ttype: match[1] === \"#\" ? \"PrivateIdentifier\" : \"IdentifierName\",\n\t\t\t\t\t\t\tvalue: match[0]\n\t\t\t\t\t\t});\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t\tStringLiteral.lastIndex = lastIndex;\n\t\t\t\t\tif (match = StringLiteral.exec(input)) {\n\t\t\t\t\t\tlastIndex = StringLiteral.lastIndex;\n\t\t\t\t\t\tlastSignificantToken = match[0];\n\t\t\t\t\t\tpostfixIncDec = true;\n\t\t\t\t\t\tyield ({\n\t\t\t\t\t\t\ttype: \"StringLiteral\",\n\t\t\t\t\t\t\tvalue: match[0],\n\t\t\t\t\t\t\tclosed: match[2] !== void 0\n\t\t\t\t\t\t});\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t\tNumericLiteral.lastIndex = lastIndex;\n\t\t\t\t\tif (match = NumericLiteral.exec(input)) {\n\t\t\t\t\t\tlastIndex = NumericLiteral.lastIndex;\n\t\t\t\t\t\tlastSignificantToken = match[0];\n\t\t\t\t\t\tpostfixIncDec = true;\n\t\t\t\t\t\tyield ({\n\t\t\t\t\t\t\ttype: \"NumericLiteral\",\n\t\t\t\t\t\t\tvalue: match[0]\n\t\t\t\t\t\t});\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t\tTemplate.lastIndex = lastIndex;\n\t\t\t\t\tif (match = Template.exec(input)) {\n\t\t\t\t\t\tlastIndex = Template.lastIndex;\n\t\t\t\t\t\tlastSignificantToken = match[0];\n\t\t\t\t\t\tif (match[1] === \"${\") {\n\t\t\t\t\t\t\tlastSignificantToken = \"?InterpolationInTemplate\";\n\t\t\t\t\t\t\tstack.push({\n\t\t\t\t\t\t\t\ttag: \"InterpolationInTemplate\",\n\t\t\t\t\t\t\t\tnesting: braces.length\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tpostfixIncDec = false;\n\t\t\t\t\t\t\tyield ({\n\t\t\t\t\t\t\t\ttype: \"TemplateHead\",\n\t\t\t\t\t\t\t\tvalue: match[0]\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tpostfixIncDec = true;\n\t\t\t\t\t\t\tyield ({\n\t\t\t\t\t\t\t\ttype: \"NoSubstitutionTemplate\",\n\t\t\t\t\t\t\t\tvalue: match[0],\n\t\t\t\t\t\t\t\tclosed: match[1] === \"`\"\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"JSXTag\":\n\t\t\t\tcase \"JSXTagEnd\":\n\t\t\t\t\tJSXPunctuator.lastIndex = lastIndex;\n\t\t\t\t\tif (match = JSXPunctuator.exec(input)) {\n\t\t\t\t\t\tlastIndex = JSXPunctuator.lastIndex;\n\t\t\t\t\t\tnextLastSignificantToken = match[0];\n\t\t\t\t\t\tswitch (match[0]) {\n\t\t\t\t\t\t\tcase \"<\":\n\t\t\t\t\t\t\t\tstack.push({tag: \"JSXTag\"});\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \">\":\n\t\t\t\t\t\t\t\tstack.pop();\n\t\t\t\t\t\t\t\tif (lastSignificantToken === \"/\" || mode.tag === \"JSXTagEnd\") {\n\t\t\t\t\t\t\t\t\tnextLastSignificantToken = \"?JSX\";\n\t\t\t\t\t\t\t\t\tpostfixIncDec = true;\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tstack.push({tag: \"JSXChildren\"});\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"{\":\n\t\t\t\t\t\t\t\tstack.push({\n\t\t\t\t\t\t\t\t\ttag: \"InterpolationInJSX\",\n\t\t\t\t\t\t\t\t\tnesting: braces.length\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tnextLastSignificantToken = \"?InterpolationInJSX\";\n\t\t\t\t\t\t\t\tpostfixIncDec = false;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"/\":\n\t\t\t\t\t\t\t\tif (lastSignificantToken === \"<\") {\n\t\t\t\t\t\t\t\t\tstack.pop();\n\t\t\t\t\t\t\t\t\tif (stack[stack.length - 1].tag === \"JSXChildren\") {\n\t\t\t\t\t\t\t\t\t\tstack.pop();\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tstack.push({tag: \"JSXTagEnd\"});\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tlastSignificantToken = nextLastSignificantToken;\n\t\t\t\t\t\tyield ({\n\t\t\t\t\t\t\ttype: \"JSXPunctuator\",\n\t\t\t\t\t\t\tvalue: match[0]\n\t\t\t\t\t\t});\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t\tJSXIdentifier.lastIndex = lastIndex;\n\t\t\t\t\tif (match = JSXIdentifier.exec(input)) {\n\t\t\t\t\t\tlastIndex = JSXIdentifier.lastIndex;\n\t\t\t\t\t\tlastSignificantToken = match[0];\n\t\t\t\t\t\tyield ({\n\t\t\t\t\t\t\ttype: \"JSXIdentifier\",\n\t\t\t\t\t\t\tvalue: match[0]\n\t\t\t\t\t\t});\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t\tJSXString.lastIndex = lastIndex;\n\t\t\t\t\tif (match = JSXString.exec(input)) {\n\t\t\t\t\t\tlastIndex = JSXString.lastIndex;\n\t\t\t\t\t\tlastSignificantToken = match[0];\n\t\t\t\t\t\tyield ({\n\t\t\t\t\t\t\ttype: \"JSXString\",\n\t\t\t\t\t\t\tvalue: match[0],\n\t\t\t\t\t\t\tclosed: match[2] !== void 0\n\t\t\t\t\t\t});\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"JSXChildren\":\n\t\t\t\t\tJSXText.lastIndex = lastIndex;\n\t\t\t\t\tif (match = JSXText.exec(input)) {\n\t\t\t\t\t\tlastIndex = JSXText.lastIndex;\n\t\t\t\t\t\tlastSignificantToken = match[0];\n\t\t\t\t\t\tyield ({\n\t\t\t\t\t\t\ttype: \"JSXText\",\n\t\t\t\t\t\t\tvalue: match[0]\n\t\t\t\t\t\t});\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t\tswitch (input[lastIndex]) {\n\t\t\t\t\t\tcase \"<\":\n\t\t\t\t\t\t\tstack.push({tag: \"JSXTag\"});\n\t\t\t\t\t\t\tlastIndex++;\n\t\t\t\t\t\t\tlastSignificantToken = \"<\";\n\t\t\t\t\t\t\tyield ({\n\t\t\t\t\t\t\t\ttype: \"JSXPunctuator\",\n\t\t\t\t\t\t\t\tvalue: \"<\"\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\tcase \"{\":\n\t\t\t\t\t\t\tstack.push({\n\t\t\t\t\t\t\t\ttag: \"InterpolationInJSX\",\n\t\t\t\t\t\t\t\tnesting: braces.length\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tlastIndex++;\n\t\t\t\t\t\t\tlastSignificantToken = \"?InterpolationInJSX\";\n\t\t\t\t\t\t\tpostfixIncDec = false;\n\t\t\t\t\t\t\tyield ({\n\t\t\t\t\t\t\t\ttype: \"JSXPunctuator\",\n\t\t\t\t\t\t\t\tvalue: \"{\"\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t}\n\t\t\tWhiteSpace.lastIndex = lastIndex;\n\t\t\tif (match = WhiteSpace.exec(input)) {\n\t\t\t\tlastIndex = WhiteSpace.lastIndex;\n\t\t\t\tyield ({\n\t\t\t\t\ttype: \"WhiteSpace\",\n\t\t\t\t\tvalue: match[0]\n\t\t\t\t});\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tLineTerminatorSequence.lastIndex = lastIndex;\n\t\t\tif (match = LineTerminatorSequence.exec(input)) {\n\t\t\t\tlastIndex = LineTerminatorSequence.lastIndex;\n\t\t\t\tpostfixIncDec = false;\n\t\t\t\tif (KeywordsWithNoLineTerminatorAfter.test(lastSignificantToken)) {\n\t\t\t\t\tlastSignificantToken = \"?NoLineTerminatorHere\";\n\t\t\t\t}\n\t\t\t\tyield ({\n\t\t\t\t\ttype: \"LineTerminatorSequence\",\n\t\t\t\t\tvalue: match[0]\n\t\t\t\t});\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tMultiLineComment.lastIndex = lastIndex;\n\t\t\tif (match = MultiLineComment.exec(input)) {\n\t\t\t\tlastIndex = MultiLineComment.lastIndex;\n\t\t\t\tif (Newline.test(match[0])) {\n\t\t\t\t\tpostfixIncDec = false;\n\t\t\t\t\tif (KeywordsWithNoLineTerminatorAfter.test(lastSignificantToken)) {\n\t\t\t\t\t\tlastSignificantToken = \"?NoLineTerminatorHere\";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tyield ({\n\t\t\t\t\ttype: \"MultiLineComment\",\n\t\t\t\t\tvalue: match[0],\n\t\t\t\t\tclosed: match[1] !== void 0\n\t\t\t\t});\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tSingleLineComment.lastIndex = lastIndex;\n\t\t\tif (match = SingleLineComment.exec(input)) {\n\t\t\t\tlastIndex = SingleLineComment.lastIndex;\n\t\t\t\tpostfixIncDec = false;\n\t\t\t\tyield ({\n\t\t\t\t\ttype: \"SingleLineComment\",\n\t\t\t\t\tvalue: match[0]\n\t\t\t\t});\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tfirstCodePoint = String.fromCodePoint(input.codePointAt(lastIndex));\n\t\t\tlastIndex += firstCodePoint.length;\n\t\t\tlastSignificantToken = firstCodePoint;\n\t\t\tpostfixIncDec = false;\n\t\t\tyield ({\n\t\t\t\ttype: mode.tag.startsWith(\"JSX\") ? \"JSXInvalid\" : \"Invalid\",\n\t\t\t\tvalue: firstCodePoint\n\t\t\t});\n\t\t}\n\t\treturn void 0;\n\t};\n\treturn jsTokens_1;\n}\n\nvar jsTokensExports = requireJsTokens();\nvar jsTokens = /*@__PURE__*/getDefaultExportFromCjs(jsTokensExports);\n\n// src/index.ts\nvar reservedWords = {\n keyword: [\n \"break\",\n \"case\",\n \"catch\",\n \"continue\",\n \"debugger\",\n \"default\",\n \"do\",\n \"else\",\n \"finally\",\n \"for\",\n \"function\",\n \"if\",\n \"return\",\n \"switch\",\n \"throw\",\n \"try\",\n \"var\",\n \"const\",\n \"while\",\n \"with\",\n \"new\",\n \"this\",\n \"super\",\n \"class\",\n \"extends\",\n \"export\",\n \"import\",\n \"null\",\n \"true\",\n \"false\",\n \"in\",\n \"instanceof\",\n \"typeof\",\n \"void\",\n \"delete\"\n ],\n strict: [\n \"implements\",\n \"interface\",\n \"let\",\n \"package\",\n \"private\",\n \"protected\",\n \"public\",\n \"static\",\n \"yield\"\n ]\n}, keywords = new Set(reservedWords.keyword), reservedWordsStrictSet = new Set(reservedWords.strict), sometimesKeywords = /* @__PURE__ */ new Set([\"as\", \"async\", \"from\", \"get\", \"of\", \"set\"]);\nfunction isReservedWord(word) {\n return word === \"await\" || word === \"enum\";\n}\nfunction isStrictReservedWord(word) {\n return isReservedWord(word) || reservedWordsStrictSet.has(word);\n}\nfunction isKeyword(word) {\n return keywords.has(word);\n}\nvar BRACKET = /^[()[\\]{}]$/, getTokenType = function(token) {\n if (token.type === \"IdentifierName\") {\n if (isKeyword(token.value) || isStrictReservedWord(token.value) || sometimesKeywords.has(token.value))\n return \"Keyword\";\n if (token.value[0] && token.value[0] !== token.value[0].toLowerCase())\n return \"IdentifierCapitalized\";\n }\n return token.type === \"Punctuator\" && BRACKET.test(token.value) ? \"Bracket\" : token.type === \"Invalid\" && (token.value === \"@\" || token.value === \"#\") ? \"Punctuator\" : token.type;\n};\nfunction getCallableType(token) {\n if (token.type === \"IdentifierName\")\n return \"IdentifierCallable\";\n if (token.type === \"PrivateIdentifier\")\n return \"PrivateIdentifierCallable\";\n throw new Error(\"Not a callable token\");\n}\nvar colorize = (defs, type, value) => {\n let colorize2 = defs[type];\n return colorize2 ? colorize2(value) : value;\n}, highlightTokens = (defs, text, jsx) => {\n let highlighted = \"\", lastPotentialCallable = null, stackedHighlight = \"\";\n for (let token of jsTokens(text, { jsx })) {\n let type = getTokenType(token);\n if (type === \"IdentifierName\" || type === \"PrivateIdentifier\") {\n lastPotentialCallable && (highlighted += colorize(defs, getTokenType(lastPotentialCallable), lastPotentialCallable.value) + stackedHighlight, stackedHighlight = \"\"), lastPotentialCallable = token;\n continue;\n }\n if (lastPotentialCallable && (token.type === \"WhiteSpace\" || token.type === \"LineTerminatorSequence\" || token.type === \"Punctuator\" && (token.value === \"?.\" || token.value === \"!\"))) {\n stackedHighlight += colorize(defs, type, token.value);\n continue;\n }\n if (stackedHighlight && !lastPotentialCallable && (highlighted += stackedHighlight, stackedHighlight = \"\"), lastPotentialCallable) {\n let type2 = token.type === \"Punctuator\" && token.value === \"(\" ? getCallableType(lastPotentialCallable) : getTokenType(lastPotentialCallable);\n highlighted += colorize(defs, type2, lastPotentialCallable.value) + stackedHighlight, stackedHighlight = \"\", lastPotentialCallable = null;\n }\n highlighted += colorize(defs, type, token.value);\n }\n return highlighted;\n};\nfunction highlight$1(code, options = { jsx: !1, colors: {} }) {\n return code && highlightTokens(options.colors || {}, code, options.jsx);\n}\n\nfunction getDefs(c2) {\n const Invalid = (text) => c2.white(c2.bgRed(c2.bold(text)));\n return {\n Keyword: c2.magenta,\n IdentifierCapitalized: c2.yellow,\n Punctuator: c2.yellow,\n StringLiteral: c2.green,\n NoSubstitutionTemplate: c2.green,\n MultiLineComment: c2.gray,\n SingleLineComment: c2.gray,\n RegularExpressionLiteral: c2.cyan,\n NumericLiteral: c2.blue,\n TemplateHead: (text) => c2.green(text.slice(0, text.length - 2)) + c2.cyan(text.slice(-2)),\n TemplateTail: (text) => c2.cyan(text.slice(0, 1)) + c2.green(text.slice(1)),\n TemplateMiddle: (text) => c2.cyan(text.slice(0, 1)) + c2.green(text.slice(1, text.length - 2)) + c2.cyan(text.slice(-2)),\n IdentifierCallable: c2.blue,\n PrivateIdentifierCallable: (text) => `#${c2.blue(text.slice(1))}`,\n Invalid,\n JSXString: c2.green,\n JSXIdentifier: c2.yellow,\n JSXInvalid: Invalid,\n JSXPunctuator: c2.yellow\n };\n}\nfunction highlight(code, options = { jsx: false }) {\n return highlight$1(code, {\n jsx: options.jsx,\n colors: getDefs(options.colors || c)\n });\n}\n\nconst urlAlphabet = \"useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict\";\nfunction nanoid(size = 21) {\n let id = \"\";\n let i = size;\n while (i--) {\n id += urlAlphabet[Math.random() * 64 | 0];\n }\n return id;\n}\n\nconst lineSplitRE = /\\r?\\n/;\nfunction positionToOffset(source, lineNumber, columnNumber) {\n const lines = source.split(lineSplitRE);\n const nl = /\\r\\n/.test(source) ? 2 : 1;\n let start = 0;\n if (lineNumber > lines.length) {\n return source.length;\n }\n for (let i = 0; i < lineNumber - 1; i++) {\n start += lines[i].length + nl;\n }\n return start + columnNumber;\n}\nfunction offsetToLineNumber(source, offset) {\n if (offset > source.length) {\n throw new Error(\n `offset is longer than source length! offset ${offset} > length ${source.length}`\n );\n }\n const lines = source.split(lineSplitRE);\n const nl = /\\r\\n/.test(source) ? 2 : 1;\n let counted = 0;\n let line = 0;\n for (; line < lines.length; line++) {\n const lineLength = lines[line].length + nl;\n if (counted + lineLength >= offset) {\n break;\n }\n counted += lineLength;\n }\n return line + 1;\n}\n\nconst RealDate = Date;\nfunction random(seed) {\n const x = Math.sin(seed++) * 1e4;\n return x - Math.floor(x);\n}\nfunction shuffle(array, seed = RealDate.now()) {\n let length = array.length;\n while (length) {\n const index = Math.floor(random(seed) * length--);\n const previous = array[length];\n array[length] = array[index];\n array[index] = previous;\n ++seed;\n }\n return array;\n}\n\nconst SAFE_TIMERS_SYMBOL = Symbol(\"vitest:SAFE_TIMERS\");\nfunction getSafeTimers() {\n const {\n setTimeout: safeSetTimeout,\n setInterval: safeSetInterval,\n clearInterval: safeClearInterval,\n clearTimeout: safeClearTimeout,\n setImmediate: safeSetImmediate,\n clearImmediate: safeClearImmediate\n } = globalThis[SAFE_TIMERS_SYMBOL] || globalThis;\n const { nextTick: safeNextTick } = globalThis[SAFE_TIMERS_SYMBOL] || globalThis.process || { nextTick: (cb) => cb() };\n return {\n nextTick: safeNextTick,\n setTimeout: safeSetTimeout,\n setInterval: safeSetInterval,\n clearInterval: safeClearInterval,\n clearTimeout: safeClearTimeout,\n setImmediate: safeSetImmediate,\n clearImmediate: safeClearImmediate\n };\n}\nfunction setSafeTimers() {\n const {\n setTimeout: safeSetTimeout,\n setInterval: safeSetInterval,\n clearInterval: safeClearInterval,\n clearTimeout: safeClearTimeout,\n setImmediate: safeSetImmediate,\n clearImmediate: safeClearImmediate\n } = globalThis;\n const { nextTick: safeNextTick } = globalThis.process || {\n nextTick: (cb) => cb()\n };\n const timers = {\n nextTick: safeNextTick,\n setTimeout: safeSetTimeout,\n setInterval: safeSetInterval,\n clearInterval: safeClearInterval,\n clearTimeout: safeClearTimeout,\n setImmediate: safeSetImmediate,\n clearImmediate: safeClearImmediate\n };\n globalThis[SAFE_TIMERS_SYMBOL] = timers;\n}\n\nexport { getSafeTimers, highlight, lineSplitRE, nanoid, offsetToLineNumber, positionToOffset, setSafeTimers, shuffle };\n"],"x_google_ignoreList":[0],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"source-map.mjs","names":[],"sources":["../../../../../node_modules/@vitest/utils/dist/source-map.js"],"sourcesContent":["import { notNullish, isPrimitive } from './helpers.js';\n\nconst comma = ','.charCodeAt(0);\nconst chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\nconst intToChar = new Uint8Array(64); // 64 possible chars.\nconst charToInt = new Uint8Array(128); // z is 122 in ASCII\nfor (let i = 0; i < chars.length; i++) {\n const c = chars.charCodeAt(i);\n intToChar[i] = c;\n charToInt[c] = i;\n}\nfunction decodeInteger(reader, relative) {\n let value = 0;\n let shift = 0;\n let integer = 0;\n do {\n const c = reader.next();\n integer = charToInt[c];\n value |= (integer & 31) << shift;\n shift += 5;\n } while (integer & 32);\n const shouldNegate = value & 1;\n value >>>= 1;\n if (shouldNegate) {\n value = -0x80000000 | -value;\n }\n return relative + value;\n}\nfunction hasMoreVlq(reader, max) {\n if (reader.pos >= max)\n return false;\n return reader.peek() !== comma;\n}\nclass StringReader {\n constructor(buffer) {\n this.pos = 0;\n this.buffer = buffer;\n }\n next() {\n return this.buffer.charCodeAt(this.pos++);\n }\n peek() {\n return this.buffer.charCodeAt(this.pos);\n }\n indexOf(char) {\n const { buffer, pos } = this;\n const idx = buffer.indexOf(char, pos);\n return idx === -1 ? buffer.length : idx;\n }\n}\n\nfunction decode(mappings) {\n const { length } = mappings;\n const reader = new StringReader(mappings);\n const decoded = [];\n let genColumn = 0;\n let sourcesIndex = 0;\n let sourceLine = 0;\n let sourceColumn = 0;\n let namesIndex = 0;\n do {\n const semi = reader.indexOf(';');\n const line = [];\n let sorted = true;\n let lastCol = 0;\n genColumn = 0;\n while (reader.pos < semi) {\n let seg;\n genColumn = decodeInteger(reader, genColumn);\n if (genColumn < lastCol)\n sorted = false;\n lastCol = genColumn;\n if (hasMoreVlq(reader, semi)) {\n sourcesIndex = decodeInteger(reader, sourcesIndex);\n sourceLine = decodeInteger(reader, sourceLine);\n sourceColumn = decodeInteger(reader, sourceColumn);\n if (hasMoreVlq(reader, semi)) {\n namesIndex = decodeInteger(reader, namesIndex);\n seg = [genColumn, sourcesIndex, sourceLine, sourceColumn, namesIndex];\n }\n else {\n seg = [genColumn, sourcesIndex, sourceLine, sourceColumn];\n }\n }\n else {\n seg = [genColumn];\n }\n line.push(seg);\n reader.pos++;\n }\n if (!sorted)\n sort(line);\n decoded.push(line);\n reader.pos = semi + 1;\n } while (reader.pos <= length);\n return decoded;\n}\nfunction sort(line) {\n line.sort(sortComparator$1);\n}\nfunction sortComparator$1(a, b) {\n return a[0] - b[0];\n}\n\n// Matches the scheme of a URL, eg \"http://\"\nconst schemeRegex = /^[\\w+.-]+:\\/\\//;\n/**\n * Matches the parts of a URL:\n * 1. Scheme, including \":\", guaranteed.\n * 2. User/password, including \"@\", optional.\n * 3. Host, guaranteed.\n * 4. Port, including \":\", optional.\n * 5. Path, including \"/\", optional.\n * 6. Query, including \"?\", optional.\n * 7. Hash, including \"#\", optional.\n */\nconst urlRegex = /^([\\w+.-]+:)\\/\\/([^@/#?]*@)?([^:/#?]*)(:\\d+)?(\\/[^#?]*)?(\\?[^#]*)?(#.*)?/;\n/**\n * File URLs are weird. They dont' need the regular `//` in the scheme, they may or may not start\n * with a leading `/`, they can have a domain (but only if they don't start with a Windows drive).\n *\n * 1. Host, optional.\n * 2. Path, which may include \"/\", guaranteed.\n * 3. Query, including \"?\", optional.\n * 4. Hash, including \"#\", optional.\n */\nconst fileRegex = /^file:(?:\\/\\/((?![a-z]:)[^/#?]*)?)?(\\/?[^#?]*)(\\?[^#]*)?(#.*)?/i;\nvar UrlType;\n(function (UrlType) {\n UrlType[UrlType[\"Empty\"] = 1] = \"Empty\";\n UrlType[UrlType[\"Hash\"] = 2] = \"Hash\";\n UrlType[UrlType[\"Query\"] = 3] = \"Query\";\n UrlType[UrlType[\"RelativePath\"] = 4] = \"RelativePath\";\n UrlType[UrlType[\"AbsolutePath\"] = 5] = \"AbsolutePath\";\n UrlType[UrlType[\"SchemeRelative\"] = 6] = \"SchemeRelative\";\n UrlType[UrlType[\"Absolute\"] = 7] = \"Absolute\";\n})(UrlType || (UrlType = {}));\nfunction isAbsoluteUrl(input) {\n return schemeRegex.test(input);\n}\nfunction isSchemeRelativeUrl(input) {\n return input.startsWith('//');\n}\nfunction isAbsolutePath(input) {\n return input.startsWith('/');\n}\nfunction isFileUrl(input) {\n return input.startsWith('file:');\n}\nfunction isRelative(input) {\n return /^[.?#]/.test(input);\n}\nfunction parseAbsoluteUrl(input) {\n const match = urlRegex.exec(input);\n return makeUrl(match[1], match[2] || '', match[3], match[4] || '', match[5] || '/', match[6] || '', match[7] || '');\n}\nfunction parseFileUrl(input) {\n const match = fileRegex.exec(input);\n const path = match[2];\n return makeUrl('file:', '', match[1] || '', '', isAbsolutePath(path) ? path : '/' + path, match[3] || '', match[4] || '');\n}\nfunction makeUrl(scheme, user, host, port, path, query, hash) {\n return {\n scheme,\n user,\n host,\n port,\n path,\n query,\n hash,\n type: UrlType.Absolute,\n };\n}\nfunction parseUrl(input) {\n if (isSchemeRelativeUrl(input)) {\n const url = parseAbsoluteUrl('http:' + input);\n url.scheme = '';\n url.type = UrlType.SchemeRelative;\n return url;\n }\n if (isAbsolutePath(input)) {\n const url = parseAbsoluteUrl('http://foo.com' + input);\n url.scheme = '';\n url.host = '';\n url.type = UrlType.AbsolutePath;\n return url;\n }\n if (isFileUrl(input))\n return parseFileUrl(input);\n if (isAbsoluteUrl(input))\n return parseAbsoluteUrl(input);\n const url = parseAbsoluteUrl('http://foo.com/' + input);\n url.scheme = '';\n url.host = '';\n url.type = input\n ? input.startsWith('?')\n ? UrlType.Query\n : input.startsWith('#')\n ? UrlType.Hash\n : UrlType.RelativePath\n : UrlType.Empty;\n return url;\n}\nfunction stripPathFilename(path) {\n // If a path ends with a parent directory \"..\", then it's a relative path with excess parent\n // paths. It's not a file, so we can't strip it.\n if (path.endsWith('/..'))\n return path;\n const index = path.lastIndexOf('/');\n return path.slice(0, index + 1);\n}\nfunction mergePaths(url, base) {\n normalizePath(base, base.type);\n // If the path is just a \"/\", then it was an empty path to begin with (remember, we're a relative\n // path).\n if (url.path === '/') {\n url.path = base.path;\n }\n else {\n // Resolution happens relative to the base path's directory, not the file.\n url.path = stripPathFilename(base.path) + url.path;\n }\n}\n/**\n * The path can have empty directories \"//\", unneeded parents \"foo/..\", or current directory\n * \"foo/.\". We need to normalize to a standard representation.\n */\nfunction normalizePath(url, type) {\n const rel = type <= UrlType.RelativePath;\n const pieces = url.path.split('/');\n // We need to preserve the first piece always, so that we output a leading slash. The item at\n // pieces[0] is an empty string.\n let pointer = 1;\n // Positive is the number of real directories we've output, used for popping a parent directory.\n // Eg, \"foo/bar/..\" will have a positive 2, and we can decrement to be left with just \"foo\".\n let positive = 0;\n // We need to keep a trailing slash if we encounter an empty directory (eg, splitting \"foo/\" will\n // generate `[\"foo\", \"\"]` pieces). And, if we pop a parent directory. But once we encounter a\n // real directory, we won't need to append, unless the other conditions happen again.\n let addTrailingSlash = false;\n for (let i = 1; i < pieces.length; i++) {\n const piece = pieces[i];\n // An empty directory, could be a trailing slash, or just a double \"//\" in the path.\n if (!piece) {\n addTrailingSlash = true;\n continue;\n }\n // If we encounter a real directory, then we don't need to append anymore.\n addTrailingSlash = false;\n // A current directory, which we can always drop.\n if (piece === '.')\n continue;\n // A parent directory, we need to see if there are any real directories we can pop. Else, we\n // have an excess of parents, and we'll need to keep the \"..\".\n if (piece === '..') {\n if (positive) {\n addTrailingSlash = true;\n positive--;\n pointer--;\n }\n else if (rel) {\n // If we're in a relativePath, then we need to keep the excess parents. Else, in an absolute\n // URL, protocol relative URL, or an absolute path, we don't need to keep excess.\n pieces[pointer++] = piece;\n }\n continue;\n }\n // We've encountered a real directory. Move it to the next insertion pointer, which accounts for\n // any popped or dropped directories.\n pieces[pointer++] = piece;\n positive++;\n }\n let path = '';\n for (let i = 1; i < pointer; i++) {\n path += '/' + pieces[i];\n }\n if (!path || (addTrailingSlash && !path.endsWith('/..'))) {\n path += '/';\n }\n url.path = path;\n}\n/**\n * Attempts to resolve `input` URL/path relative to `base`.\n */\nfunction resolve$2(input, base) {\n if (!input && !base)\n return '';\n const url = parseUrl(input);\n let inputType = url.type;\n if (base && inputType !== UrlType.Absolute) {\n const baseUrl = parseUrl(base);\n const baseType = baseUrl.type;\n switch (inputType) {\n case UrlType.Empty:\n url.hash = baseUrl.hash;\n // fall through\n case UrlType.Hash:\n url.query = baseUrl.query;\n // fall through\n case UrlType.Query:\n case UrlType.RelativePath:\n mergePaths(url, baseUrl);\n // fall through\n case UrlType.AbsolutePath:\n // The host, user, and port are joined, you can't copy one without the others.\n url.user = baseUrl.user;\n url.host = baseUrl.host;\n url.port = baseUrl.port;\n // fall through\n case UrlType.SchemeRelative:\n // The input doesn't have a schema at least, so we need to copy at least that over.\n url.scheme = baseUrl.scheme;\n }\n if (baseType > inputType)\n inputType = baseType;\n }\n normalizePath(url, inputType);\n const queryHash = url.query + url.hash;\n switch (inputType) {\n // This is impossible, because of the empty checks at the start of the function.\n // case UrlType.Empty:\n case UrlType.Hash:\n case UrlType.Query:\n return queryHash;\n case UrlType.RelativePath: {\n // The first char is always a \"/\", and we need it to be relative.\n const path = url.path.slice(1);\n if (!path)\n return queryHash || '.';\n if (isRelative(base || input) && !isRelative(path)) {\n // If base started with a leading \".\", or there is no base and input started with a \".\",\n // then we need to ensure that the relative path starts with a \".\". We don't know if\n // relative starts with a \"..\", though, so check before prepending.\n return './' + path + queryHash;\n }\n return path + queryHash;\n }\n case UrlType.AbsolutePath:\n return url.path + queryHash;\n default:\n return url.scheme + '//' + url.user + url.host + url.port + url.path + queryHash;\n }\n}\n\nfunction resolve$1(input, base) {\n // The base is always treated as a directory, if it's not empty.\n // https://github.com/mozilla/source-map/blob/8cb3ee57/lib/util.js#L327\n // https://github.com/chromium/chromium/blob/da4adbb3/third_party/blink/renderer/devtools/front_end/sdk/SourceMap.js#L400-L401\n if (base && !base.endsWith('/'))\n base += '/';\n return resolve$2(input, base);\n}\n\n/**\n * Removes everything after the last \"/\", but leaves the slash.\n */\nfunction stripFilename(path) {\n if (!path)\n return '';\n const index = path.lastIndexOf('/');\n return path.slice(0, index + 1);\n}\n\nconst COLUMN = 0;\nconst SOURCES_INDEX = 1;\nconst SOURCE_LINE = 2;\nconst SOURCE_COLUMN = 3;\nconst NAMES_INDEX = 4;\nconst REV_GENERATED_LINE = 1;\nconst REV_GENERATED_COLUMN = 2;\n\nfunction maybeSort(mappings, owned) {\n const unsortedIndex = nextUnsortedSegmentLine(mappings, 0);\n if (unsortedIndex === mappings.length)\n return mappings;\n // If we own the array (meaning we parsed it from JSON), then we're free to directly mutate it. If\n // not, we do not want to modify the consumer's input array.\n if (!owned)\n mappings = mappings.slice();\n for (let i = unsortedIndex; i < mappings.length; i = nextUnsortedSegmentLine(mappings, i + 1)) {\n mappings[i] = sortSegments(mappings[i], owned);\n }\n return mappings;\n}\nfunction nextUnsortedSegmentLine(mappings, start) {\n for (let i = start; i < mappings.length; i++) {\n if (!isSorted(mappings[i]))\n return i;\n }\n return mappings.length;\n}\nfunction isSorted(line) {\n for (let j = 1; j < line.length; j++) {\n if (line[j][COLUMN] < line[j - 1][COLUMN]) {\n return false;\n }\n }\n return true;\n}\nfunction sortSegments(line, owned) {\n if (!owned)\n line = line.slice();\n return line.sort(sortComparator);\n}\nfunction sortComparator(a, b) {\n return a[COLUMN] - b[COLUMN];\n}\n\nlet found = false;\n/**\n * A binary search implementation that returns the index if a match is found.\n * If no match is found, then the left-index (the index associated with the item that comes just\n * before the desired index) is returned. To maintain proper sort order, a splice would happen at\n * the next index:\n *\n * ```js\n * const array = [1, 3];\n * const needle = 2;\n * const index = binarySearch(array, needle, (item, needle) => item - needle);\n *\n * assert.equal(index, 0);\n * array.splice(index + 1, 0, needle);\n * assert.deepEqual(array, [1, 2, 3]);\n * ```\n */\nfunction binarySearch(haystack, needle, low, high) {\n while (low <= high) {\n const mid = low + ((high - low) >> 1);\n const cmp = haystack[mid][COLUMN] - needle;\n if (cmp === 0) {\n found = true;\n return mid;\n }\n if (cmp < 0) {\n low = mid + 1;\n }\n else {\n high = mid - 1;\n }\n }\n found = false;\n return low - 1;\n}\nfunction upperBound(haystack, needle, index) {\n for (let i = index + 1; i < haystack.length; index = i++) {\n if (haystack[i][COLUMN] !== needle)\n break;\n }\n return index;\n}\nfunction lowerBound(haystack, needle, index) {\n for (let i = index - 1; i >= 0; index = i--) {\n if (haystack[i][COLUMN] !== needle)\n break;\n }\n return index;\n}\nfunction memoizedState() {\n return {\n lastKey: -1,\n lastNeedle: -1,\n lastIndex: -1,\n };\n}\n/**\n * This overly complicated beast is just to record the last tested line/column and the resulting\n * index, allowing us to skip a few tests if mappings are monotonically increasing.\n */\nfunction memoizedBinarySearch(haystack, needle, state, key) {\n const { lastKey, lastNeedle, lastIndex } = state;\n let low = 0;\n let high = haystack.length - 1;\n if (key === lastKey) {\n if (needle === lastNeedle) {\n found = lastIndex !== -1 && haystack[lastIndex][COLUMN] === needle;\n return lastIndex;\n }\n if (needle >= lastNeedle) {\n // lastIndex may be -1 if the previous needle was not found.\n low = lastIndex === -1 ? 0 : lastIndex;\n }\n else {\n high = lastIndex;\n }\n }\n state.lastKey = key;\n state.lastNeedle = needle;\n return (state.lastIndex = binarySearch(haystack, needle, low, high));\n}\n\n// Rebuilds the original source files, with mappings that are ordered by source line/column instead\n// of generated line/column.\nfunction buildBySources(decoded, memos) {\n const sources = memos.map(buildNullArray);\n for (let i = 0; i < decoded.length; i++) {\n const line = decoded[i];\n for (let j = 0; j < line.length; j++) {\n const seg = line[j];\n if (seg.length === 1)\n continue;\n const sourceIndex = seg[SOURCES_INDEX];\n const sourceLine = seg[SOURCE_LINE];\n const sourceColumn = seg[SOURCE_COLUMN];\n const originalSource = sources[sourceIndex];\n const originalLine = (originalSource[sourceLine] || (originalSource[sourceLine] = []));\n const memo = memos[sourceIndex];\n // The binary search either found a match, or it found the left-index just before where the\n // segment should go. Either way, we want to insert after that. And there may be multiple\n // generated segments associated with an original location, so there may need to move several\n // indexes before we find where we need to insert.\n let index = upperBound(originalLine, sourceColumn, memoizedBinarySearch(originalLine, sourceColumn, memo, sourceLine));\n memo.lastIndex = ++index;\n insert(originalLine, index, [sourceColumn, i, seg[COLUMN]]);\n }\n }\n return sources;\n}\nfunction insert(array, index, value) {\n for (let i = array.length; i > index; i--) {\n array[i] = array[i - 1];\n }\n array[index] = value;\n}\n// Null arrays allow us to use ordered index keys without actually allocating contiguous memory like\n// a real array. We use a null-prototype object to avoid prototype pollution and deoptimizations.\n// Numeric properties on objects are magically sorted in ascending order by the engine regardless of\n// the insertion order. So, by setting any numeric keys, even out of order, we'll get ascending\n// order when iterating with for-in.\nfunction buildNullArray() {\n return { __proto__: null };\n}\n\nconst LINE_GTR_ZERO = '`line` must be greater than 0 (lines start at line 1)';\nconst COL_GTR_EQ_ZERO = '`column` must be greater than or equal to 0 (columns start at column 0)';\nconst LEAST_UPPER_BOUND = -1;\nconst GREATEST_LOWER_BOUND = 1;\nclass TraceMap {\n constructor(map, mapUrl) {\n const isString = typeof map === 'string';\n if (!isString && map._decodedMemo)\n return map;\n const parsed = (isString ? JSON.parse(map) : map);\n const { version, file, names, sourceRoot, sources, sourcesContent } = parsed;\n this.version = version;\n this.file = file;\n this.names = names || [];\n this.sourceRoot = sourceRoot;\n this.sources = sources;\n this.sourcesContent = sourcesContent;\n this.ignoreList = parsed.ignoreList || parsed.x_google_ignoreList || undefined;\n const from = resolve$1(sourceRoot || '', stripFilename(mapUrl));\n this.resolvedSources = sources.map((s) => resolve$1(s || '', from));\n const { mappings } = parsed;\n if (typeof mappings === 'string') {\n this._encoded = mappings;\n this._decoded = undefined;\n }\n else {\n this._encoded = undefined;\n this._decoded = maybeSort(mappings, isString);\n }\n this._decodedMemo = memoizedState();\n this._bySources = undefined;\n this._bySourceMemos = undefined;\n }\n}\n/**\n * Typescript doesn't allow friend access to private fields, so this just casts the map into a type\n * with public access modifiers.\n */\nfunction cast(map) {\n return map;\n}\n/**\n * Returns the decoded (array of lines of segments) form of the SourceMap's mappings field.\n */\nfunction decodedMappings(map) {\n var _a;\n return ((_a = cast(map))._decoded || (_a._decoded = decode(cast(map)._encoded)));\n}\n/**\n * A higher-level API to find the source/line/column associated with a generated line/column\n * (think, from a stack trace). Line is 1-based, but column is 0-based, due to legacy behavior in\n * `source-map` library.\n */\nfunction originalPositionFor(map, needle) {\n let { line, column, bias } = needle;\n line--;\n if (line < 0)\n throw new Error(LINE_GTR_ZERO);\n if (column < 0)\n throw new Error(COL_GTR_EQ_ZERO);\n const decoded = decodedMappings(map);\n // It's common for parent source maps to have pointers to lines that have no\n // mapping (like a \"//# sourceMappingURL=\") at the end of the child file.\n if (line >= decoded.length)\n return OMapping(null, null, null, null);\n const segments = decoded[line];\n const index = traceSegmentInternal(segments, cast(map)._decodedMemo, line, column, bias || GREATEST_LOWER_BOUND);\n if (index === -1)\n return OMapping(null, null, null, null);\n const segment = segments[index];\n if (segment.length === 1)\n return OMapping(null, null, null, null);\n const { names, resolvedSources } = map;\n return OMapping(resolvedSources[segment[SOURCES_INDEX]], segment[SOURCE_LINE] + 1, segment[SOURCE_COLUMN], segment.length === 5 ? names[segment[NAMES_INDEX]] : null);\n}\n/**\n * Finds the generated line/column position of the provided source/line/column source position.\n */\nfunction generatedPositionFor(map, needle) {\n const { source, line, column, bias } = needle;\n return generatedPosition(map, source, line, column, bias || GREATEST_LOWER_BOUND, false);\n}\nfunction OMapping(source, line, column, name) {\n return { source, line, column, name };\n}\nfunction GMapping(line, column) {\n return { line, column };\n}\nfunction traceSegmentInternal(segments, memo, line, column, bias) {\n let index = memoizedBinarySearch(segments, column, memo, line);\n if (found) {\n index = (bias === LEAST_UPPER_BOUND ? upperBound : lowerBound)(segments, column, index);\n }\n else if (bias === LEAST_UPPER_BOUND)\n index++;\n if (index === -1 || index === segments.length)\n return -1;\n return index;\n}\nfunction sliceGeneratedPositions(segments, memo, line, column, bias) {\n let min = traceSegmentInternal(segments, memo, line, column, GREATEST_LOWER_BOUND);\n // We ignored the bias when tracing the segment so that we're guarnateed to find the first (in\n // insertion order) segment that matched. Even if we did respect the bias when tracing, we would\n // still need to call `lowerBound()` to find the first segment, which is slower than just looking\n // for the GREATEST_LOWER_BOUND to begin with. The only difference that matters for us is when the\n // binary search didn't match, in which case GREATEST_LOWER_BOUND just needs to increment to\n // match LEAST_UPPER_BOUND.\n if (!found && bias === LEAST_UPPER_BOUND)\n min++;\n if (min === -1 || min === segments.length)\n return [];\n // We may have found the segment that started at an earlier column. If this is the case, then we\n // need to slice all generated segments that match _that_ column, because all such segments span\n // to our desired column.\n const matchedColumn = found ? column : segments[min][COLUMN];\n // The binary search is not guaranteed to find the lower bound when a match wasn't found.\n if (!found)\n min = lowerBound(segments, matchedColumn, min);\n const max = upperBound(segments, matchedColumn, min);\n const result = [];\n for (; min <= max; min++) {\n const segment = segments[min];\n result.push(GMapping(segment[REV_GENERATED_LINE] + 1, segment[REV_GENERATED_COLUMN]));\n }\n return result;\n}\nfunction generatedPosition(map, source, line, column, bias, all) {\n var _a;\n line--;\n if (line < 0)\n throw new Error(LINE_GTR_ZERO);\n if (column < 0)\n throw new Error(COL_GTR_EQ_ZERO);\n const { sources, resolvedSources } = map;\n let sourceIndex = sources.indexOf(source);\n if (sourceIndex === -1)\n sourceIndex = resolvedSources.indexOf(source);\n if (sourceIndex === -1)\n return all ? [] : GMapping(null, null);\n const generated = ((_a = cast(map))._bySources || (_a._bySources = buildBySources(decodedMappings(map), (cast(map)._bySourceMemos = sources.map(memoizedState)))));\n const segments = generated[sourceIndex][line];\n if (segments == null)\n return all ? [] : GMapping(null, null);\n const memo = cast(map)._bySourceMemos[sourceIndex];\n if (all)\n return sliceGeneratedPositions(segments, memo, line, column, bias);\n const index = traceSegmentInternal(segments, memo, line, column, bias);\n if (index === -1)\n return GMapping(null, null);\n const segment = segments[index];\n return GMapping(segment[REV_GENERATED_LINE] + 1, segment[REV_GENERATED_COLUMN]);\n}\n\nconst _DRIVE_LETTER_START_RE = /^[A-Za-z]:\\//;\nfunction normalizeWindowsPath(input = \"\") {\n if (!input) {\n return input;\n }\n return input.replace(/\\\\/g, \"/\").replace(_DRIVE_LETTER_START_RE, (r) => r.toUpperCase());\n}\nconst _IS_ABSOLUTE_RE = /^[/\\\\](?![/\\\\])|^[/\\\\]{2}(?!\\.)|^[A-Za-z]:[/\\\\]/;\nfunction cwd() {\n if (typeof process !== \"undefined\" && typeof process.cwd === \"function\") {\n return process.cwd().replace(/\\\\/g, \"/\");\n }\n return \"/\";\n}\nconst resolve = function(...arguments_) {\n arguments_ = arguments_.map((argument) => normalizeWindowsPath(argument));\n let resolvedPath = \"\";\n let resolvedAbsolute = false;\n for (let index = arguments_.length - 1; index >= -1 && !resolvedAbsolute; index--) {\n const path = index >= 0 ? arguments_[index] : cwd();\n if (!path || path.length === 0) {\n continue;\n }\n resolvedPath = `${path}/${resolvedPath}`;\n resolvedAbsolute = isAbsolute(path);\n }\n resolvedPath = normalizeString(resolvedPath, !resolvedAbsolute);\n if (resolvedAbsolute && !isAbsolute(resolvedPath)) {\n return `/${resolvedPath}`;\n }\n return resolvedPath.length > 0 ? resolvedPath : \".\";\n};\nfunction normalizeString(path, allowAboveRoot) {\n let res = \"\";\n let lastSegmentLength = 0;\n let lastSlash = -1;\n let dots = 0;\n let char = null;\n for (let index = 0; index <= path.length; ++index) {\n if (index < path.length) {\n char = path[index];\n } else if (char === \"/\") {\n break;\n } else {\n char = \"/\";\n }\n if (char === \"/\") {\n if (lastSlash === index - 1 || dots === 1) ; else if (dots === 2) {\n if (res.length < 2 || lastSegmentLength !== 2 || res[res.length - 1] !== \".\" || res[res.length - 2] !== \".\") {\n if (res.length > 2) {\n const lastSlashIndex = res.lastIndexOf(\"/\");\n if (lastSlashIndex === -1) {\n res = \"\";\n lastSegmentLength = 0;\n } else {\n res = res.slice(0, lastSlashIndex);\n lastSegmentLength = res.length - 1 - res.lastIndexOf(\"/\");\n }\n lastSlash = index;\n dots = 0;\n continue;\n } else if (res.length > 0) {\n res = \"\";\n lastSegmentLength = 0;\n lastSlash = index;\n dots = 0;\n continue;\n }\n }\n if (allowAboveRoot) {\n res += res.length > 0 ? \"/..\" : \"..\";\n lastSegmentLength = 2;\n }\n } else {\n if (res.length > 0) {\n res += `/${path.slice(lastSlash + 1, index)}`;\n } else {\n res = path.slice(lastSlash + 1, index);\n }\n lastSegmentLength = index - lastSlash - 1;\n }\n lastSlash = index;\n dots = 0;\n } else if (char === \".\" && dots !== -1) {\n ++dots;\n } else {\n dots = -1;\n }\n }\n return res;\n}\nconst isAbsolute = function(p) {\n return _IS_ABSOLUTE_RE.test(p);\n};\n\nconst CHROME_IE_STACK_REGEXP = /^\\s*at .*(?:\\S:\\d+|\\(native\\))/m;\nconst SAFARI_NATIVE_CODE_REGEXP = /^(?:eval@)?(?:\\[native code\\])?$/;\nconst stackIgnorePatterns = [\n \"node:internal\",\n /\\/packages\\/\\w+\\/dist\\//,\n /\\/@vitest\\/\\w+\\/dist\\//,\n \"/vitest/dist/\",\n \"/vitest/src/\",\n \"/vite-node/dist/\",\n \"/vite-node/src/\",\n \"/node_modules/chai/\",\n \"/node_modules/tinypool/\",\n \"/node_modules/tinyspy/\",\n // browser related deps\n \"/deps/chunk-\",\n \"/deps/@vitest\",\n \"/deps/loupe\",\n \"/deps/chai\",\n /node:\\w+/,\n /__vitest_test__/,\n /__vitest_browser__/,\n /\\/deps\\/vitest_/\n];\nfunction extractLocation(urlLike) {\n if (!urlLike.includes(\":\")) {\n return [urlLike];\n }\n const regExp = /(.+?)(?::(\\d+))?(?::(\\d+))?$/;\n const parts = regExp.exec(urlLike.replace(/^\\(|\\)$/g, \"\"));\n if (!parts) {\n return [urlLike];\n }\n let url = parts[1];\n if (url.startsWith(\"async \")) {\n url = url.slice(6);\n }\n if (url.startsWith(\"http:\") || url.startsWith(\"https:\")) {\n const urlObj = new URL(url);\n url = urlObj.pathname;\n }\n if (url.startsWith(\"/@fs/\")) {\n const isWindows = /^\\/@fs\\/[a-zA-Z]:\\//.test(url);\n url = url.slice(isWindows ? 5 : 4);\n }\n return [url, parts[2] || void 0, parts[3] || void 0];\n}\nfunction parseSingleFFOrSafariStack(raw) {\n let line = raw.trim();\n if (SAFARI_NATIVE_CODE_REGEXP.test(line)) {\n return null;\n }\n if (line.includes(\" > eval\")) {\n line = line.replace(\n / line (\\d+)(?: > eval line \\d+)* > eval:\\d+:\\d+/g,\n \":$1\"\n );\n }\n if (!line.includes(\"@\") && !line.includes(\":\")) {\n return null;\n }\n const functionNameRegex = /((.*\".+\"[^@]*)?[^@]*)(@)/;\n const matches = line.match(functionNameRegex);\n const functionName = matches && matches[1] ? matches[1] : void 0;\n const [url, lineNumber, columnNumber] = extractLocation(\n line.replace(functionNameRegex, \"\")\n );\n if (!url || !lineNumber || !columnNumber) {\n return null;\n }\n return {\n file: url,\n method: functionName || \"\",\n line: Number.parseInt(lineNumber),\n column: Number.parseInt(columnNumber)\n };\n}\nfunction parseSingleStack(raw) {\n const line = raw.trim();\n if (!CHROME_IE_STACK_REGEXP.test(line)) {\n return parseSingleFFOrSafariStack(line);\n }\n return parseSingleV8Stack(line);\n}\nfunction parseSingleV8Stack(raw) {\n let line = raw.trim();\n if (!CHROME_IE_STACK_REGEXP.test(line)) {\n return null;\n }\n if (line.includes(\"(eval \")) {\n line = line.replace(/eval code/g, \"eval\").replace(/(\\(eval at [^()]*)|(,.*$)/g, \"\");\n }\n let sanitizedLine = line.replace(/^\\s+/, \"\").replace(/\\(eval code/g, \"(\").replace(/^.*?\\s+/, \"\");\n const location = sanitizedLine.match(/ (\\(.+\\)$)/);\n sanitizedLine = location ? sanitizedLine.replace(location[0], \"\") : sanitizedLine;\n const [url, lineNumber, columnNumber] = extractLocation(\n location ? location[1] : sanitizedLine\n );\n let method = location && sanitizedLine || \"\";\n let file = url && [\"eval\", \"<anonymous>\"].includes(url) ? void 0 : url;\n if (!file || !lineNumber || !columnNumber) {\n return null;\n }\n if (method.startsWith(\"async \")) {\n method = method.slice(6);\n }\n if (file.startsWith(\"file://\")) {\n file = file.slice(7);\n }\n file = resolve(file);\n if (method) {\n method = method.replace(/__vite_ssr_import_\\d+__\\./g, \"\");\n }\n return {\n method,\n file,\n line: Number.parseInt(lineNumber),\n column: Number.parseInt(columnNumber)\n };\n}\nfunction createStackString(stacks) {\n return stacks.map((stack) => {\n const line = `${stack.file}:${stack.line}:${stack.column}`;\n if (stack.method) {\n return ` at ${stack.method}(${line})`;\n }\n return ` at ${line}`;\n }).join(\"\\n\");\n}\nfunction parseStacktrace(stack, options = {}) {\n const { ignoreStackEntries = stackIgnorePatterns } = options;\n let stacks = !CHROME_IE_STACK_REGEXP.test(stack) ? parseFFOrSafariStackTrace(stack) : parseV8Stacktrace(stack);\n if (ignoreStackEntries.length) {\n stacks = stacks.filter(\n (stack2) => !ignoreStackEntries.some((p) => stack2.file.match(p))\n );\n }\n return stacks.map((stack2) => {\n var _a;\n if (options.getFileName) {\n stack2.file = options.getFileName(stack2.file);\n }\n const map = (_a = options.getSourceMap) == null ? void 0 : _a.call(options, stack2.file);\n if (!map || typeof map !== \"object\" || !map.version) {\n return stack2;\n }\n const traceMap = new TraceMap(map);\n const { line, column } = originalPositionFor(traceMap, stack2);\n if (line != null && column != null) {\n return { ...stack2, line, column };\n }\n return stack2;\n });\n}\nfunction parseFFOrSafariStackTrace(stack) {\n return stack.split(\"\\n\").map((line) => parseSingleFFOrSafariStack(line)).filter(notNullish);\n}\nfunction parseV8Stacktrace(stack) {\n return stack.split(\"\\n\").map((line) => parseSingleV8Stack(line)).filter(notNullish);\n}\nfunction parseErrorStacktrace(e, options = {}) {\n if (!e || isPrimitive(e)) {\n return [];\n }\n if (e.stacks) {\n return e.stacks;\n }\n const stackStr = e.stack || e.stackStr || \"\";\n let stackFrames = parseStacktrace(stackStr, options);\n if (options.frameFilter) {\n stackFrames = stackFrames.filter(\n (f) => options.frameFilter(e, f) !== false\n );\n }\n e.stacks = stackFrames;\n return stackFrames;\n}\n\nexport { TraceMap, createStackString, generatedPositionFor, originalPositionFor, parseErrorStacktrace, parseSingleFFOrSafariStack, parseSingleStack, parseSingleV8Stack, parseStacktrace };\n"],"x_google_ignoreList":[0],"mappings":"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"}